ARM GAS /tmp/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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/ccjvgGVC.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._ZN9MutexLockC2EP14mutex_handle_t.isra.0,"ax",%progbits 837 .align 1 838 .syntax unified 839 .thumb 840 .thumb_func ARM GAS /tmp/ccjvgGVC.s page 41 841 .type _ZN9MutexLockC2EP14mutex_handle_t.isra.0, %function 842 _ZN9MutexLockC2EP14mutex_handle_t.isra.0: 843 .LVL37: 844 .LFB13: 845 .file 4 "/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 **** 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() ARM GAS /tmp/ccjvgGVC.s page 42 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 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; ARM GAS /tmp/ccjvgGVC.s page 43 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 846 .loc 4 116 3 is_stmt 1 view -0 847 .cfi_startproc 848 @ args = 0, pretend = 0, frame = 0 849 @ frame_needed = 0, uses_anonymous_args = 0 850 .LBB17: 851 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 852 .loc 4 116 45 view .LVU200 853 0000 0023 movs r3, #0 @ tmp118, 854 .LBE17: 855 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 856 .loc 4 116 3 view .LVU201 857 0002 10B5 push {r4, lr} @ 858 .LCFI3: 859 .cfi_def_cfa_offset 8 860 .cfi_offset 4, -8 861 .cfi_offset 14, -4 862 .LBB18: 863 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 864 .loc 4 116 34 view .LVU202 865 0004 0160 str r1, [r0] @ tmp124, *this_1(D).mutex 866 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 867 .loc 4 116 45 view .LVU203 868 0006 0371 strb r3, [r0, #4] @ tmp118, *this_1(D).locked 869 .LBE18: 870 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 871 .loc 4 116 3 view .LVU204 872 0008 0446 mov r4, r0 @ this, tmp123 873 .LBB19: 874 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 875 .loc 4 116 84 view .LVU205 876 000a FFF7FEFF bl _Z20scheduler_is_runningv @ 877 .LVL38: 878 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 879 .loc 4 116 60 discriminator 1 view .LVU206 880 000e 20B1 cbz r0, .L76 @ tmp125, 881 .LVL39: 882 .loc 4 116 60 is_stmt 0 discriminator 1 view .LVU207 883 .LBE19: 884 .LBB20: 885 .LBB21: 886 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 887 .loc 4 116 106 is_stmt 1 discriminator 2 view .LVU208 888 0010 2068 ldr r0, [r4] @, *this_1(D).mutex 889 0012 FFF7FEFF bl _Z10mutex_lockP14mutex_handle_t @ 890 .LVL40: 891 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 892 .loc 4 116 122 discriminator 1 view .LVU209 893 0016 0123 movs r3, #1 @ tmp121, 894 0018 2371 strb r3, [r4, #4] @ tmp121, *this_1(D).locked 895 .LVL41: ARM GAS /tmp/ccjvgGVC.s page 44 896 .L76: 897 .loc 4 116 122 is_stmt 0 discriminator 1 view .LVU210 898 .LBE21: 899 .LBE20: 900 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 901 .loc 4 116 129 is_stmt 1 view .LVU211 902 001a 10BD pop {r4, pc} @ 903 .loc 4 116 129 is_stmt 0 view .LVU212 904 .cfi_endproc 905 .LFE13: 906 .size _ZN9MutexLockC2EP14mutex_handle_t.isra.0, .-_ZN9MutexLockC2EP14mutex_handle_t.isra.0 907 .section .text._ZN9MutexLockD2Ev.isra.0,"ax",%progbits 908 .align 1 909 .syntax unified 910 .thumb 911 .thumb_func 912 .type _ZN9MutexLockD2Ev.isra.0, %function 913 _ZN9MutexLockD2Ev.isra.0: 914 .LVL42: 915 .LFB16: 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 916 .loc 4 103 3 is_stmt 1 view -0 917 .cfi_startproc 918 @ args = 0, pretend = 0, frame = 0 919 @ 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;} 920 .loc 4 103 3 is_stmt 0 view .LVU214 921 0000 10B5 push {r4, lr} @ 922 .LCFI4: 923 .cfi_def_cfa_offset 8 924 .cfi_offset 4, -8 925 .cfi_offset 14, -4 926 @ /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;} 927 .loc 4 103 3 is_stmt 1 view .LVU215 928 0002 0446 mov r4, r0 @ this, tmp120 929 .LBB27: 930 @ /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;} 931 .loc 4 103 41 view .LVU216 932 0004 FFF7FEFF bl _Z20scheduler_is_runningv @ 933 .LVL43: 934 @ /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;} 935 .loc 4 103 17 discriminator 1 view .LVU217 936 0008 30B1 cbz r0, .L81 @ tmp121, 937 .LVL44: 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 938 .loc 4 103 17 is_stmt 0 discriminator 1 view .LVU218 939 .LBE27: 940 .LBB28: 941 .LBB29: 942 @ /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;} 943 .loc 4 103 53 is_stmt 1 discriminator 2 view .LVU219 944 000a 2379 ldrb r3, [r4, #4] @ zero_extendqisi2 @ this_2(D)->locked, this_2(D)->locked 945 000c 23B1 cbz r3, .L81 @ this_2(D)->locked, ARM GAS /tmp/ccjvgGVC.s page 45 946 @ /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;} 947 .loc 4 103 76 discriminator 4 view .LVU220 948 000e 2068 ldr r0, [r4] @, this_2(D)->mutex 949 .LBE29: 950 .LBE28: 951 @ /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;} 952 .loc 4 103 84 view .LVU221 953 0010 BDE81040 pop {r4, lr} @ 954 .LCFI5: 955 .cfi_remember_state 956 .cfi_restore 14 957 .cfi_restore 4 958 .cfi_def_cfa_offset 0 959 .LVL45: 960 .LBB31: 961 .LBB30: 962 @ /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;} 963 .loc 4 103 76 discriminator 4 view .LVU222 964 0014 FFF7FEBF b _Z12mutex_unlockP14mutex_handle_t @ 965 .LVL46: 966 .L81: 967 .LCFI6: 968 .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;} 969 .loc 4 103 76 is_stmt 0 discriminator 4 view .LVU223 970 .LBE30: 971 .LBE31: 972 @ /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;} 973 .loc 4 103 84 is_stmt 1 view .LVU224 974 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;} 975 .loc 4 103 84 is_stmt 0 view .LVU225 976 .cfi_endproc 977 .LFE16: 978 .size _ZN9MutexLockD2Ev.isra.0, .-_ZN9MutexLockD2Ev.isra.0 979 .section .text.SDIO_IRQHandler,"ax",%progbits 980 .align 1 981 .global SDIO_IRQHandler 982 .syntax unified 983 .thumb 984 .thumb_func 985 .type SDIO_IRQHandler, %function 986 SDIO_IRQHandler: 987 .LFB18: 988 .file 5 "/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 ARM GAS /tmp/ccjvgGVC.s page 46 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) 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) ARM GAS /tmp/ccjvgGVC.s page 47 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 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; ARM GAS /tmp/ccjvgGVC.s page 48 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) 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 ARM GAS /tmp/ccjvgGVC.s page 49 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 **** 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); ARM GAS /tmp/ccjvgGVC.s page 50 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; 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 ARM GAS /tmp/ccjvgGVC.s page 51 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 52 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) 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) { 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; 386:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 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; 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; ARM GAS /tmp/ccjvgGVC.s page 53 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; 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 **** } ARM GAS /tmp/ccjvgGVC.s page 54 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) { 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 **** ARM GAS /tmp/ccjvgGVC.s page 55 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 **** } 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 **** { 567:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 568:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** switch (ctrl) { 569:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** case GET_SECTOR_COUNT : /* Get number of sectors on the disk (DWORD) */ 570:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = sdio_get_sector_count((DWORD*)buff); 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); ARM GAS /tmp/ccjvgGVC.s page 56 579:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 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; 593:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 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); ARM GAS /tmp/ccjvgGVC.s page 57 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 **** { 989 .loc 5 646 1 is_stmt 1 view -0 990 .cfi_startproc 991 @ args = 0, pretend = 0, frame = 0 992 @ frame_needed = 0, uses_anonymous_args = 0 647:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DEBUG_INTERRUPT(INT_SDIO); 993 .loc 5 647 28 view .LVU227 648:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_SD_IRQHandler(&sdio); 994 .loc 5 648 3 view .LVU228 995 .LBB64: 996 .LBI64: 997 .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: 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; ARM GAS /tmp/ccjvgGVC.s page 58 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: 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 ARM GAS /tmp/ccjvgGVC.s page 59 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). 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 ARM GAS /tmp/ccjvgGVC.s page 60 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. 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. ARM GAS /tmp/ccjvgGVC.s page 61 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 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 ARM GAS /tmp/ccjvgGVC.s page 62 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); 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 **** ============================================================================== ARM GAS /tmp/ccjvgGVC.s page 63 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)); 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 **** ARM GAS /tmp/ccjvgGVC.s page 64 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; 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); ARM GAS /tmp/ccjvgGVC.s page 65 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 **** } 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 **** ARM GAS /tmp/ccjvgGVC.s page 66 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 67 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 **** { 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; ARM GAS /tmp/ccjvgGVC.s page 68 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 **** } 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 **** } ARM GAS /tmp/ccjvgGVC.s page 69 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 **** } 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; ARM GAS /tmp/ccjvgGVC.s page 70 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); 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 ARM GAS /tmp/ccjvgGVC.s page 71 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 **** } 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 **** } ARM GAS /tmp/ccjvgGVC.s page 72 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++) 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 **** ARM GAS /tmp/ccjvgGVC.s page 73 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 **** } 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 **** ARM GAS /tmp/ccjvgGVC.s page 74 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) 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 */ ARM GAS /tmp/ccjvgGVC.s page 75 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); 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 ARM GAS /tmp/ccjvgGVC.s page 76 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 */ 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); ARM GAS /tmp/ccjvgGVC.s page 77 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 **** } 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) ARM GAS /tmp/ccjvgGVC.s page 78 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 **** 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; ARM GAS /tmp/ccjvgGVC.s page 79 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 **** 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 **** ARM GAS /tmp/ccjvgGVC.s page 80 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 */ 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 **** } ARM GAS /tmp/ccjvgGVC.s page 81 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; 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 ARM GAS /tmp/ccjvgGVC.s page 82 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) 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 */ ARM GAS /tmp/ccjvgGVC.s page 83 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; 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) 998 .loc 6 1509 6 view .LVU229 999 .LVL47: 1000 .loc 6 1509 6 is_stmt 0 view .LVU230 1001 .LBE64: 1002 @ /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); 1003 .loc 5 646 1 view .LVU231 1004 0000 70B5 push {r4, r5, r6, lr} @ ARM GAS /tmp/ccjvgGVC.s page 84 1005 .LCFI7: 1006 .cfi_def_cfa_offset 16 1007 .cfi_offset 4, -16 1008 .cfi_offset 5, -12 1009 .cfi_offset 6, -8 1010 .cfi_offset 14, -4 1011 .LBB102: 1012 .LBB65: 1013 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1512: uint3 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; 1014 .loc 6 1512 12 view .LVU232 1015 0002 744C ldr r4, .L166 @ tmp206, 1016 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1515: if((_ 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)) 1017 .loc 6 1515 7 view .LVU233 1018 0004 2568 ldr r5, [r4] @ _4, MEM[(struct SD_HandleTypeDef *)&sdio].Instance 1019 @ /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 **** 1020 .loc 6 1512 12 view .LVU234 1021 0006 266B ldr r6, [r4, #48] @ context, MEM[(struct SD_HandleTypeDef *)&sdio].Context 1022 .LVL48: 1023 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1515: if((_ 1024 .loc 6 1515 7 view .LVU235 1025 0008 6B6B ldr r3, [r5, #52] @ _5, _4->STA 1026 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1515: if((_ 1027 .loc 6 1515 5 view .LVU236 1028 000a 1804 lsls r0, r3, #16 @, _5, 1029 000c 1DD5 bpl .L88 @, 1030 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1515: if((_ 1031 .loc 6 1515 60 discriminator 1 view .LVU237 1032 000e 3107 lsls r1, r6, #28 @, context, 1033 0010 1BD5 bpl .L88 @, 1034 .LBB66: 1035 .LBI66: 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); ARM GAS /tmp/ccjvgGVC.s page 85 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 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 ARM GAS /tmp/ccjvgGVC.s page 86 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 **** } 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 **** ARM GAS /tmp/ccjvgGVC.s page 87 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 **** 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); ARM GAS /tmp/ccjvgGVC.s page 88 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 **** } 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 **** { ARM GAS /tmp/ccjvgGVC.s page 89 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 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; ARM GAS /tmp/ccjvgGVC.s page 90 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) 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; ARM GAS /tmp/ccjvgGVC.s page 91 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); 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; ARM GAS /tmp/ccjvgGVC.s page 92 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) 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 ARM GAS /tmp/ccjvgGVC.s page 93 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) 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); ARM GAS /tmp/ccjvgGVC.s page 94 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); 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 **** ARM GAS /tmp/ccjvgGVC.s page 95 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 **** 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; ARM GAS /tmp/ccjvgGVC.s page 96 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 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) 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); 2218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); ARM GAS /tmp/ccjvgGVC.s page 97 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 **** } 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 **** ARM GAS /tmp/ccjvgGVC.s page 98 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 */ 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 **** ARM GAS /tmp/ccjvgGVC.s page 99 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 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 **** } ARM GAS /tmp/ccjvgGVC.s page 100 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; 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); ARM GAS /tmp/ccjvgGVC.s page 101 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; 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) ARM GAS /tmp/ccjvgGVC.s page 102 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; 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 **** ARM GAS /tmp/ccjvgGVC.s page 103 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); 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 ARM GAS /tmp/ccjvgGVC.s page 104 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 **** } 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) ARM GAS /tmp/ccjvgGVC.s page 105 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; 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 **** ARM GAS /tmp/ccjvgGVC.s page 106 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 **** { 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 **** } ARM GAS /tmp/ccjvgGVC.s page 107 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 **** { 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. ARM GAS /tmp/ccjvgGVC.s page 108 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 **** */ 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); ARM GAS /tmp/ccjvgGVC.s page 109 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; 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 **** } ARM GAS /tmp/ccjvgGVC.s page 110 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. 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)); ARM GAS /tmp/ccjvgGVC.s page 111 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; 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; ARM GAS /tmp/ccjvgGVC.s page 112 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; 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 **** { ARM GAS /tmp/ccjvgGVC.s page 113 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); 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 **** */ ARM GAS /tmp/ccjvgGVC.s page 114 3188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_Read_IT(SD_HandleTypeDef *hsd) 1036 .loc 6 3188 13 is_stmt 1 view .LVU238 1037 .LVL49: 1038 .LBB67: 1039 @ /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; 1040 .loc 6 3194 17 is_stmt 0 view .LVU239 1041 0012 E06A ldr r0, [r4, #44] @ dataremaining, MEM[(struct SD_HandleTypeDef *)&sdio].RxXferSize 1042 .LVL50: 1043 @ /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) 1044 .loc 6 3196 6 view .LVU240 1045 0014 C0B1 cbz r0, .L87 @ dataremaining, 1046 @ /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; 1047 .loc 6 3193 7 view .LVU241 1048 0016 A16A ldr r1, [r4, #40] @ tmp, MEM[(struct SD_HandleTypeDef *)&sdio].pRxBuffPtr 1049 0018 0B1D adds r3, r1, #4 @ ivtmp.38, tmp, 1050 001a 01F12405 add r5, r1, #36 @ _204, tmp, 1051 .LVL51: 1052 .L91: 1053 @ /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); 1054 .loc 6 3201 14 view .LVU242 1055 001e 2268 ldr r2, [r4] @ _72, MEM[(struct SD_HandleTypeDef *)&sdio].Instance 1056 .LVL52: 1057 .LBB68: 1058 .LBI68: 1059 .file 7 "/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 ARM GAS /tmp/ccjvgGVC.s page 115 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 116 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: 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. ARM GAS /tmp/ccjvgGVC.s page 117 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 **** ===================================== 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 **** * @{ ARM GAS /tmp/ccjvgGVC.s page 118 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 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 ARM GAS /tmp/ccjvgGVC.s page 119 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 **** =============================================================================== 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) 1060 .loc 7 265 10 is_stmt 1 view .LVU243 1061 .LBB69: 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); 1062 .loc 7 268 3 view .LVU244 1063 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:268: retu 1064 .loc 7 268 16 is_stmt 0 view .LVU245 1065 0020 D2F88020 ldr r2, [r2, #128] @ _87, _72->FIFO 1066 .LVL53: 1067 .loc 7 268 16 view .LVU246 1068 .LBE69: 1069 .LBE68: 1070 @ /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); 1071 .loc 6 3202 14 view .LVU247 1072 0024 03F8042C strb r2, [r3, #-4] @ _87, MEM[(uint8_t *)_101 + 4294967292B] 1073 .LVL54: 1074 @ /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); 1075 .loc 6 3205 30 view .LVU248 1076 0028 160A lsrs r6, r2, #8 @ _76, _87, 1077 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3205: * 1078 .loc 6 3205 14 view .LVU249 1079 002a 03F8036C strb r6, [r3, #-3] @ _76, MEM[(uint8_t *)_101 + 4294967293B] 1080 .LVL55: 1081 @ /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); 1082 .loc 6 3208 30 view .LVU250 1083 002e 160C lsrs r6, r2, #16 @ _78, _87, 1084 @ /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); ARM GAS /tmp/ccjvgGVC.s page 120 1085 .loc 6 3211 30 view .LVU251 1086 0030 120E lsrs r2, r2, #24 @ _80, _87, 1087 .LVL56: 1088 @ /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++; 1089 .loc 6 3208 14 view .LVU252 1090 0032 03F8026C strb r6, [r3, #-2] @ _78, MEM[(uint8_t *)_101 + 4294967294B] 1091 .LVL57: 1092 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3211: * 1093 .loc 6 3211 14 view .LVU253 1094 0036 03F8012C strb r2, [r3, #-1] @ _80, MEM[(uint8_t *)_101 + 4294967295B] 1095 .LVL58: 1096 @ /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 **** { 1097 .loc 6 3199 27 discriminator 1 view .LVU254 1098 003a 0433 adds r3, r3, #4 @ ivtmp.38, ivtmp.38, 1099 .LVL59: 3199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1100 .loc 6 3199 27 discriminator 1 view .LVU255 1101 003c AB42 cmp r3, r5 @ ivtmp.38, _204 1102 003e EED1 bne .L91 @, 1103 @ /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; 1104 .loc 6 3216 21 view .LVU256 1105 0040 2031 adds r1, r1, #32 @ tmp_91, tmp, 1106 @ /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; 1107 .loc 6 3217 21 view .LVU257 1108 0042 2038 subs r0, r0, #32 @ dataremaining_92, dataremaining, 1109 @ /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; 1110 .loc 6 3216 21 view .LVU258 1111 0044 A162 str r1, [r4, #40] @ tmp_91, MEM[(struct SD_HandleTypeDef *)&sdio].pRxBuffPtr 1112 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3217: hsd 1113 .loc 6 3217 21 view .LVU259 1114 0046 E062 str r0, [r4, #44] @ dataremaining_92, MEM[(struct SD_HandleTypeDef *)&sdio].RxXferSize 1115 .LVL60: 1116 .L87: 1117 .loc 6 3217 21 view .LVU260 1118 .LBE67: 1119 .LBE66: 1120 .LBE65: 1121 .LBE102: 1122 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:649: } 649:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1123 .loc 5 649 1 view .LVU261 1124 0048 70BD pop {r4, r5, r6, pc} @ 1125 .LVL61: 1126 .L88: 1127 .LBB103: 1128 .LBB100: 1129 @ /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 **** { ARM GAS /tmp/ccjvgGVC.s page 121 1130 .loc 6 1520 11 view .LVU262 1131 004a 6B6B ldr r3, [r5, #52] @ _8, _4->STA 1132 @ /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 **** { 1133 .loc 6 1520 10 view .LVU263 1134 004c DA05 lsls r2, r3, #23 @, _8, 1135 004e 41D5 bpl .L92 @, 1136 @ /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 **** 1137 .loc 6 1522 5 view .LVU264 1138 0050 4FF48073 mov r3, #256 @ tmp225, 1139 0054 AB63 str r3, [r5, #56] @ tmp225, _4->ICR 1140 @ /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 |\ 1141 .loc 6 1525 5 view .LVU265 1142 0056 EB6B ldr r3, [r5, #60] @ _10, _4->MASK 1143 0058 23F44343 bic r3, r3, #49920 @ _11, _10, 1144 005c 23F03A03 bic r3, r3, #58 @ _11, _11, 1145 0060 EB63 str r3, [r5, #60] @ _11, _4->MASK 1146 @ /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 **** 1147 .loc 6 1534 18 view .LVU266 1148 0062 EB6A ldr r3, [r5, #44] @ _12, _4->DCTRL 1149 @ /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 **** 1150 .loc 6 1534 26 view .LVU267 1151 0064 23F00103 bic r3, r3, #1 @ _13, _12, 1152 0068 EB62 str r3, [r5, #44] @ _13, _4->DCTRL 1153 @ /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 **** { 1154 .loc 6 1536 7 view .LVU268 1155 006a 3307 lsls r3, r6, #28 @, context, 1156 006c 19D5 bpl .L93 @, 1157 @ /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 **** { 1158 .loc 6 1538 9 view .LVU269 1159 006e 16F0220F tst r6, #34 @ context, 1160 0072 09D0 beq .L95 @, 1161 @ /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) 1162 .loc 6 1540 22 view .LVU270 1163 0074 2846 mov r0, r5 @, _4 1164 0076 FFF7FEFF bl SDMMC_CmdStopTransfer @ 1165 .LVL62: 1166 @ /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 **** { 1167 .loc 6 1541 11 view .LVU271 1168 007a 28B1 cbz r0, .L95 @ errorstate, 1169 @ /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) 1170 .loc 6 1543 14 view .LVU272 1171 007c A36B ldr r3, [r4, #56] @ _17, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1172 @ /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) 1173 .loc 6 1543 26 view .LVU273 1174 007e 1843 orrs r0, r0, r3 @, _18, errorstate, _17 1175 .LVL63: ARM GAS /tmp/ccjvgGVC.s page 122 1176 .LBB70: 1177 .LBB71: 1178 @ /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 **** } 1179 .loc 5 610 15 view .LVU274 1180 0080 554B ldr r3, .L166+4 @ tmp231, 1181 .LBE71: 1182 .LBE70: 1183 @ /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) 1184 .loc 6 1543 26 view .LVU275 1185 0082 A063 str r0, [r4, #56] @ _18, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1186 .LBB73: 1187 .LBI70: 607:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1188 .loc 5 607 17 is_stmt 1 view .LVU276 1189 .LVL64: 1190 .LBB72: 1191 @ /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 **** } 1192 .loc 5 610 15 is_stmt 0 view .LVU277 1193 0084 0222 movs r2, #2 @ tmp232, 1194 0086 1A60 str r2, [r3] @ tmp232, WriteStatus 1195 .LVL65: 1196 .L95: 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1197 .loc 5 610 15 view .LVU278 1198 .LBE72: 1199 .LBE73: 1200 @ /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 **** 1201 .loc 6 1553 7 view .LVU279 1202 0088 40F23A53 movw r3, #1338 @ tmp233, 1203 008c AB63 str r3, [r5, #56] @ tmp233, _4->ICR 1204 @ /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 1205 .loc 6 1556 20 view .LVU280 1206 008e 0022 movs r2, #0 @ tmp238, 1207 @ /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; 1208 .loc 6 1555 18 view .LVU281 1209 0090 0123 movs r3, #1 @ tmp235, 1210 0092 84F83430 strb r3, [r4, #52] @ tmp235, MEM[(struct SD_HandleTypeDef *)&sdio].State 1211 @ /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 1212 .loc 6 1556 20 view .LVU282 1213 0096 2263 str r2, [r4, #48] @ tmp238, MEM[(struct SD_HandleTypeDef *)&sdio].Context 1214 @ /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 **** { 1215 .loc 6 1557 9 view .LVU283 1216 0098 B407 lsls r4, r6, #30 @, context, 1217 009a 19D0 beq .L165 @, 1218 .LBB74: 1219 .LBI74: 625:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1220 .loc 5 625 17 is_stmt 1 view .LVU284 1221 .LVL66: ARM GAS /tmp/ccjvgGVC.s page 123 1222 .LBB75: 1223 @ /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 **** } 1224 .loc 5 628 14 is_stmt 0 view .LVU285 1225 009c 4F4A ldr r2, .L166+8 @ tmp240, 1226 .LVL67: 1227 .L161: 628:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1228 .loc 5 628 14 view .LVU286 1229 .LBE75: 1230 .LBE74: 1231 .LBB76: 1232 .LBB77: 1233 .LBB78: 1234 .LBB79: 1235 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:594: __H 1236 .file 8 "/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 *** ARM GAS /tmp/ccjvgGVC.s page 124 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() 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 ------------------------------------------------------------------*/ ARM GAS /tmp/ccjvgGVC.s page 125 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 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, ARM GAS /tmp/ccjvgGVC.s page 126 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 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 **** ARM GAS /tmp/ccjvgGVC.s page 127 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 **** { 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 */ ARM GAS /tmp/ccjvgGVC.s page 128 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 **** { 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 **** } ARM GAS /tmp/ccjvgGVC.s page 129 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)); 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 **** * ARM GAS /tmp/ccjvgGVC.s page 130 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 ##### 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 **** } ARM GAS /tmp/ccjvgGVC.s page 131 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 **** 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; ARM GAS /tmp/ccjvgGVC.s page 132 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; 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 */ ARM GAS /tmp/ccjvgGVC.s page 133 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 */ 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); 1237 .loc 8 594 5 view .LVU287 1238 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; 1239 .loc 8 597 3 is_stmt 1 view .LVU288 1240 00a0 D2E7 b .L87 @ 1241 .LVL68: 1242 .L93: 1243 .loc 8 597 3 is_stmt 0 view .LVU289 1244 .LBE79: 1245 .LBE78: 1246 .LBE77: 1247 .LBE76: 1248 @ /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 **** { ARM GAS /tmp/ccjvgGVC.s page 134 1249 .loc 6 1574 12 view .LVU290 1250 00a2 3006 lsls r0, r6, #24 @, context, 1251 00a4 D0D5 bpl .L87 @, 1252 @ /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 **** { 1253 .loc 6 1576 9 view .LVU291 1254 00a6 B106 lsls r1, r6, #26 @, context, 1255 00a8 09D5 bpl .L100 @, 1256 @ /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) 1257 .loc 6 1578 22 view .LVU292 1258 00aa 2846 mov r0, r5 @, _4 1259 00ac FFF7FEFF bl SDMMC_CmdStopTransfer @ 1260 .LVL69: 1261 @ /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 **** { 1262 .loc 6 1579 11 view .LVU293 1263 00b0 28B1 cbz r0, .L100 @ errorstate, 1264 @ /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) 1265 .loc 6 1581 14 view .LVU294 1266 00b2 A36B ldr r3, [r4, #56] @ _24, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1267 @ /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) 1268 .loc 6 1581 26 view .LVU295 1269 00b4 1843 orrs r0, r0, r3 @, _25, errorstate, _24 1270 .LVL70: 1271 .LBB85: 1272 .LBB86: 1273 @ /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 **** } 1274 .loc 5 610 15 view .LVU296 1275 00b6 484B ldr r3, .L166+4 @ tmp248, 1276 .LBE86: 1277 .LBE85: 1278 @ /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) 1279 .loc 6 1581 26 view .LVU297 1280 00b8 A063 str r0, [r4, #56] @ _25, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1281 .LBB88: 1282 .LBI85: 607:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1283 .loc 5 607 17 is_stmt 1 view .LVU298 1284 .LVL71: 1285 .LBB87: 1286 @ /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 **** } 1287 .loc 5 610 15 is_stmt 0 view .LVU299 1288 00ba 0222 movs r2, #2 @ tmp249, 1289 00bc 1A60 str r2, [r3] @ tmp249, WriteStatus 1290 .LVL72: 1291 .L100: 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1292 .loc 5 610 15 view .LVU300 1293 .LBE87: 1294 .LBE88: 1295 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1589: i ARM GAS /tmp/ccjvgGVC.s page 135 1589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1296 .loc 6 1589 9 view .LVU301 1297 00be B207 lsls r2, r6, #30 @, context, 1298 00c0 C2D1 bne .L87 @, 1299 @ /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 **** 1300 .loc 6 1593 22 view .LVU302 1301 00c2 EB6A ldr r3, [r5, #44] @ _28, _4->DCTRL 1302 @ /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 **** 1303 .loc 6 1593 30 view .LVU303 1304 00c4 23F00803 bic r3, r3, #8 @ _29, _28, 1305 00c8 EB62 str r3, [r5, #44] @ _29, _4->DCTRL 1306 @ /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 **** 1307 .loc 6 1595 20 view .LVU304 1308 00ca 0123 movs r3, #1 @ tmp252, 1309 00cc 84F83430 strb r3, [r4, #52] @ tmp252, MEM[(struct SD_HandleTypeDef *)&sdio].State 1310 .L165: 1311 .LBB89: 1312 .LBI89: 613:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1313 .loc 5 613 17 is_stmt 1 view .LVU305 1314 .LVL73: 1315 .LBB90: 1316 @ /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 **** } 1317 .loc 5 616 15 is_stmt 0 view .LVU306 1318 00d0 414A ldr r2, .L166+4 @ tmp254, 1319 00d2 E4E7 b .L161 @ 1320 .LVL74: 1321 .L92: 616:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1322 .loc 5 616 15 view .LVU307 1323 .LBE90: 1324 .LBE89: 1325 @ /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 **** { 1326 .loc 6 1610 12 view .LVU308 1327 00d4 6B6B ldr r3, [r5, #52] @ _30, _4->STA 1328 @ /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 **** { 1329 .loc 6 1610 10 view .LVU309 1330 00d6 5B04 lsls r3, r3, #17 @, _30, 1331 00d8 11D5 bpl .L102 @, 1332 @ /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 **** { 1333 .loc 6 1610 65 discriminator 1 view .LVU310 1334 00da 3007 lsls r0, r6, #28 @, context, 1335 00dc 0FD5 bpl .L102 @, 1336 .LBB91: 1337 .LBI91: 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. ARM GAS /tmp/ccjvgGVC.s page 136 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 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) 1338 .loc 6 3227 13 is_stmt 1 view .LVU311 1339 .LVL75: 1340 .LBB92: 1341 @ /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; 1342 .loc 6 3233 17 is_stmt 0 view .LVU312 1343 00de 626A ldr r2, [r4, #36] @ dataremaining, MEM[(struct SD_HandleTypeDef *)&sdio].TxXferSize 1344 .LVL76: 1345 @ /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) 1346 .loc 6 3235 6 view .LVU313 1347 00e0 002A cmp r2, #0 @ dataremaining 1348 00e2 B1D0 beq .L87 @ 1349 @ /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; 1350 .loc 6 3232 7 view .LVU314 1351 00e4 236A ldr r3, [r4, #32] @ tmp, MEM[(struct SD_HandleTypeDef *)&sdio].pTxBuffPtr 1352 00e6 03F12001 add r1, r3, #32 @ _203, tmp, 1353 .LVL77: 1354 .L103: 1355 @ /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); 1356 .loc 6 3249 12 view .LVU315 1357 00ea 53F8040B ldr r0, [r3], #4 @ unaligned @ tmp260, MEM [(uint8_t *)tmp_27] 1358 .LVL78: 1359 .LBB93: 1360 .LBI93: 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 ARM GAS /tmp/ccjvgGVC.s page 137 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) 1361 .loc 7 277 19 is_stmt 1 view .LVU316 1362 .LBB94: 1363 @ /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; 1364 .loc 7 280 15 is_stmt 0 view .LVU317 1365 00ee C5F88000 str r0, [r5, #128] @ tmp260, _4->FIFO 1366 .LVL79: 1367 .loc 7 280 15 view .LVU318 1368 .LBE94: 1369 .LBE93: 1370 @ /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 **** { 1371 .loc 6 3238 27 discriminator 1 view .LVU319 1372 00f2 8B42 cmp r3, r1 @ tmp, _203 1373 00f4 F9D1 bne .L103 @, 1374 @ /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; 1375 .loc 6 3256 21 view .LVU320 1376 00f6 203A subs r2, r2, #32 @ dataremaining_95, dataremaining, 1377 @ /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; 1378 .loc 6 3255 21 view .LVU321 1379 00f8 2362 str r3, [r4, #32] @ tmp, MEM[(struct SD_HandleTypeDef *)&sdio].pTxBuffPtr 1380 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3256: hsd 1381 .loc 6 3256 21 view .LVU322 1382 00fa 6262 str r2, [r4, #36] @ dataremaining_95, MEM[(struct SD_HandleTypeDef *)&sdio].TxXferSize 1383 00fc A4E7 b .L87 @ 1384 .LVL80: 1385 .L102: 1386 .loc 6 3256 21 view .LVU323 1387 .LBE92: 1388 .LBE91: 1389 @ /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 */ 1390 .loc 6 1616 11 view .LVU324 1391 00fe 6A6B ldr r2, [r5, #52] @ _33, _4->STA 1392 @ /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 */ 1393 .loc 6 1616 10 view .LVU325 1394 0100 40F23A23 movw r3, #570 @ tmp264, 1395 0104 1A42 tst r2, r3 @ _33, tmp264 1396 0106 9FD0 beq .L87 @, 1397 @ /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 **** { 1398 .loc 6 1622 8 view .LVU326 1399 0108 6B6B ldr r3, [r5, #52] @ _35, _4->STA ARM GAS /tmp/ccjvgGVC.s page 138 1400 @ /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 **** { 1401 .loc 6 1622 7 view .LVU327 1402 010a 9907 lsls r1, r3, #30 @, _35, 1403 @ /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 **** } 1404 .loc 6 1624 10 view .LVU328 1405 010c 42BF ittt mi 1406 010e A36B ldrmi r3, [r4, #56] @ _37, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1407 @ /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 **** } 1408 .loc 6 1624 22 view .LVU329 1409 0110 43F00203 orrmi r3, r3, #2 @ _38, _37, 1410 0114 A363 strmi r3, [r4, #56] @ _38, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1411 @ /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 **** { 1412 .loc 6 1626 8 view .LVU330 1413 0116 6B6B ldr r3, [r5, #52] @ _39, _4->STA 1414 @ /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 **** { 1415 .loc 6 1626 7 view .LVU331 1416 0118 1A07 lsls r2, r3, #28 @, _39, 1417 @ /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 **** } 1418 .loc 6 1628 10 view .LVU332 1419 011a 42BF ittt mi 1420 011c A36B ldrmi r3, [r4, #56] @ _41, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1421 @ /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 **** } 1422 .loc 6 1628 22 view .LVU333 1423 011e 43F00803 orrmi r3, r3, #8 @ _42, _41, 1424 0122 A363 strmi r3, [r4, #56] @ _42, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1425 @ /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 **** { 1426 .loc 6 1630 8 view .LVU334 1427 0124 6B6B ldr r3, [r5, #52] @ _43, _4->STA 1428 @ /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 **** { 1429 .loc 6 1630 7 view .LVU335 1430 0126 9B06 lsls r3, r3, #26 @, _43, 1431 @ /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 **** } 1432 .loc 6 1632 10 view .LVU336 1433 0128 42BF ittt mi 1434 012a A36B ldrmi r3, [r4, #56] @ _45, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1435 @ /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 **** } 1436 .loc 6 1632 22 view .LVU337 1437 012c 43F02003 orrmi r3, r3, #32 @ _46, _45, 1438 0130 A363 strmi r3, [r4, #56] @ _46, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1439 @ /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 **** { 1440 .loc 6 1634 8 view .LVU338 1441 0132 6B6B ldr r3, [r5, #52] @ _47, _4->STA 1442 @ /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 **** { 1443 .loc 6 1634 7 view .LVU339 ARM GAS /tmp/ccjvgGVC.s page 139 1444 0134 D806 lsls r0, r3, #27 @, _47, 1445 @ /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 **** } 1446 .loc 6 1636 10 view .LVU340 1447 0136 42BF ittt mi 1448 0138 A36B ldrmi r3, [r4, #56] @ _49, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1449 @ /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 **** } 1450 .loc 6 1636 22 view .LVU341 1451 013a 43F01003 orrmi r3, r3, #16 @ _50, _49, 1452 013e A363 strmi r3, [r4, #56] @ _50, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1453 @ /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 **** { 1454 .loc 6 1639 8 view .LVU342 1455 0140 6B6B ldr r3, [r5, #52] @ _51, _4->STA 1456 @ /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 **** { 1457 .loc 6 1639 7 view .LVU343 1458 0142 9905 lsls r1, r3, #22 @, _51, 1459 @ /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 **** } 1460 .loc 6 1641 10 view .LVU344 1461 0144 42BF ittt mi 1462 0146 A36B ldrmi r3, [r4, #56] @ _53, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1463 @ /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 **** } 1464 .loc 6 1641 22 view .LVU345 1465 0148 43F00803 orrmi r3, r3, #8 @ _54, _53, 1466 014c A363 strmi r3, [r4, #56] @ _54, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1467 @ /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 **** 1468 .loc 6 1647 5 view .LVU346 1469 014e 40F23A73 movw r3, #1850 @ tmp281, 1470 0152 AB63 str r3, [r5, #56] @ tmp281, _4->ICR 1471 @ /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); 1472 .loc 6 1650 5 view .LVU347 1473 0154 EB6B ldr r3, [r5, #60] @ _55, _4->MASK 1474 0156 23F44E73 bic r3, r3, #824 @ _56, _55, 1475 015a 23F00203 bic r3, r3, #2 @ _56, _56, 1476 015e EB63 str r3, [r5, #60] @ _56, _4->MASK 1477 @ /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 **** 1478 .loc 6 1661 23 view .LVU348 1479 0160 2846 mov r0, r5 @, _4 1480 0162 FFF7FEFF bl SDMMC_CmdStopTransfer @ 1481 .LVL81: 1482 @ /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 **** 1483 .loc 6 1661 8 discriminator 1 view .LVU349 1484 0166 A36B ldr r3, [r4, #56] @ _58, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1485 @ /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 **** { 1486 .loc 6 1663 7 view .LVU350 1487 0168 3207 lsls r2, r6, #28 @, context, 1488 @ /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 **** ARM GAS /tmp/ccjvgGVC.s page 140 1489 .loc 6 1661 20 discriminator 1 view .LVU351 1490 016a 40EA0300 orr r0, r0, r3 @ _59, tmp324, _58 1491 016e A063 str r0, [r4, #56] @ _59, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1492 @ /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 **** { 1493 .loc 6 1663 7 view .LVU352 1494 0170 08D5 bpl .L109 @, 1495 @ /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; 1496 .loc 6 1666 18 view .LVU353 1497 0172 0123 movs r3, #1 @ tmp287, 1498 0174 84F83430 strb r3, [r4, #52] @ tmp287, MEM[(struct SD_HandleTypeDef *)&sdio].State 1499 @ /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) 1500 .loc 6 1667 20 view .LVU354 1501 0178 0023 movs r3, #0 @ tmp290, 1502 017a 2363 str r3, [r4, #48] @ tmp290, MEM[(struct SD_HandleTypeDef *)&sdio].Context 1503 .LBB95: 1504 .LBI95: 607:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1505 .loc 5 607 17 is_stmt 1 view .LVU355 1506 .LVL82: 1507 .LBB96: 1508 @ /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 **** } 1509 .loc 5 610 15 is_stmt 0 view .LVU356 1510 017c 164B ldr r3, .L166+4 @ tmp291, 1511 017e 0222 movs r2, #2 @ tmp292, 1512 0180 1A60 str r2, [r3] @ tmp292, WriteStatus 1513 .LVL83: 1514 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:611: } 611:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 1515 .loc 5 611 1 view .LVU357 1516 0182 61E7 b .L87 @ 1517 .L109: 1518 .LBE96: 1519 .LBE95: 1520 @ /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 **** { 1521 .loc 6 1674 12 view .LVU358 1522 0184 3306 lsls r3, r6, #24 @, context, 1523 0186 7FF55FAF bpl .L87 @, 1524 @ /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 **** { 1525 .loc 6 1677 9 view .LVU359 1526 018a 16F0300F tst r6, #48 @ context, 1527 018e 0CD0 beq .L110 @, 1528 @ /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 */ 1529 .loc 6 1680 12 view .LVU360 1530 0190 E06B ldr r0, [r4, #60] @ _63, MEM[(struct SD_HandleTypeDef *)&sdio].hdmatx 1531 @ /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 */ 1532 .loc 6 1680 40 view .LVU361 1533 0192 134B ldr r3, .L166+12 @ tmp296, 1534 .LVL84: 1535 .L164: ARM GAS /tmp/ccjvgGVC.s page 141 1536 @ /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 */ 1537 .loc 6 1690 40 view .LVU362 1538 0194 0365 str r3, [r0, #80] @ tmp305, 1539 .LVL85: 1540 .LBB97: 1541 .LBI76: 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1542 .loc 8 581 19 is_stmt 1 view .LVU363 1543 .LBB82: 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1544 .loc 8 583 3 view .LVU364 1545 @ /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 **** { 1546 .loc 8 583 10 is_stmt 0 view .LVU365 1547 0196 90F83530 ldrb r3, [r0, #53] @ zero_extendqisi2 @ _67->State, 1548 @ /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 **** { 1549 .loc 8 583 5 view .LVU366 1550 019a 022B cmp r3, #2 @ _67->State, 1551 019c 0BD0 beq .L113 @, 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1552 .loc 8 585 5 is_stmt 1 view .LVU367 1553 @ /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; 1554 .loc 8 585 21 is_stmt 0 view .LVU368 1555 019e 8023 movs r3, #128 @ tmp309, 1556 .LBE82: 1557 .LBE97: 1558 .LBE100: 1559 .LBE103: 1560 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:649: } 1561 .loc 5 649 1 view .LVU369 1562 01a0 BDE87040 pop {r4, r5, r6, lr} @ 1563 .LCFI8: 1564 .cfi_remember_state 1565 .cfi_restore 14 1566 .cfi_restore 6 1567 .cfi_restore 5 1568 .cfi_restore 4 1569 .cfi_def_cfa_offset 0 1570 .LBB104: 1571 .LBB101: 1572 .LBB98: 1573 .LBB83: 1574 @ /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; 1575 .loc 8 585 21 view .LVU370 1576 01a4 4365 str r3, [r0, #84] @ tmp309, 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1577 .loc 8 586 5 is_stmt 1 view .LVU371 1578 .LVL86: 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1579 .loc 8 586 5 is_stmt 0 view .LVU372 1580 .LBE83: 1581 .LBE98: 1582 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1694: ARM GAS /tmp/ccjvgGVC.s page 142 1694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1583 .loc 6 1694 11 view .LVU373 1584 01a6 FFF7FEBF b SD_DMATxAbort.lto_priv.0 @ 1585 .LVL87: 1586 .L110: 1587 .LCFI9: 1588 .cfi_restore_state 1589 @ /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 **** { 1590 .loc 6 1687 14 view .LVU374 1591 01aa 16F00306 ands r6, r6, #3 @ _66, context, 1592 .LVL88: 1687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1593 .loc 6 1687 14 view .LVU375 1594 01ae 0AD0 beq .L112 @, 1595 @ /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 */ 1596 .loc 6 1690 12 view .LVU376 1597 01b0 206C ldr r0, [r4, #64] @ _67, MEM[(struct SD_HandleTypeDef *)&sdio].hdmarx 1598 @ /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 */ 1599 .loc 6 1690 40 view .LVU377 1600 01b2 0C4B ldr r3, .L166+16 @ tmp305, 1601 01b4 EEE7 b .L164 @ 1602 .LVL89: 1603 .L113: 1604 .LBB99: 1605 .LBB84: 1606 .LBB81: 1607 .LBI78: 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1608 .loc 8 581 19 is_stmt 1 view .LVU378 1609 .LBB80: 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1610 .loc 8 591 5 view .LVU379 1611 @ /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 **** 1612 .loc 8 591 17 is_stmt 0 view .LVU380 1613 01b6 0523 movs r3, #5 @ tmp310, 1614 @ /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 **** } 1615 .loc 8 594 5 view .LVU381 1616 01b8 0268 ldr r2, [r0] @ _123,* _67 1617 @ /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 **** 1618 .loc 8 591 17 view .LVU382 1619 01ba 80F83530 strb r3, [r0, #53] @ tmp310, 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1620 .loc 8 594 5 is_stmt 1 view .LVU383 1621 01be 1368 ldr r3, [r2] @ _124,* _123 1622 01c0 23F00103 bic r3, r3, #1 @ _125, _124, 1623 01c4 6BE7 b .L161 @ 1624 .LVL90: 1625 .L112: 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1626 .loc 8 594 5 is_stmt 0 view .LVU384 1627 .LBE80: ARM GAS /tmp/ccjvgGVC.s page 143 1628 .LBE81: 1629 .LBE84: 1630 .LBE99: 1631 @ /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; 1632 .loc 6 1700 20 view .LVU385 1633 01c6 0123 movs r3, #1 @ tmp315, 1634 @ /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; 1635 .loc 6 1699 24 view .LVU386 1636 01c8 A663 str r6, [r4, #56] @ _66, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1637 @ /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; 1638 .loc 6 1700 20 view .LVU387 1639 01ca 84F83430 strb r3, [r4, #52] @ tmp315, MEM[(struct SD_HandleTypeDef *)&sdio].State 1640 @ /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) 1641 .loc 6 1701 22 view .LVU388 1642 01ce 2663 str r6, [r4, #48] @ _66, MEM[(struct SD_HandleTypeDef *)&sdio].Context 1643 .LVL91: 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) 1644 .loc 6 1701 22 view .LVU389 1645 .LBE101: 1646 .LBE104: 1647 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:649: } 1648 .loc 5 649 1 view .LVU390 1649 01d0 3AE7 b .L87 @ 1650 .L167: 1651 01d2 00BF .align 2 1652 .L166: 1653 01d4 00000000 .word _ZL4sdio.lto_priv.0 1654 01d8 00000000 .word _ZL11WriteStatus.lto_priv.0 1655 01dc 00000000 .word _ZL10ReadStatus.lto_priv.0 1656 01e0 00000000 .word SD_DMATxAbort.lto_priv.0 1657 01e4 00000000 .word SD_DMARxAbort.lto_priv.0 1658 .cfi_endproc 1659 .LFE18: 1660 .size SDIO_IRQHandler, .-SDIO_IRQHandler 1661 .section .text.DMA2_Stream3_IRQHandler,"ax",%progbits 1662 .align 1 1663 .global DMA2_Stream3_IRQHandler 1664 .syntax unified 1665 .thumb 1666 .thumb_func 1667 .type DMA2_Stream3_IRQHandler, %function 1668 DMA2_Stream3_IRQHandler: 1669 .LFB38: 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 **** { 1670 .loc 5 653 1 is_stmt 1 view -0 1671 .cfi_startproc 1672 @ args = 0, pretend = 0, frame = 8 1673 @ frame_needed = 0, uses_anonymous_args = 0 654:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DEBUG_INTERRUPT(INT_SDIO_DMA); 1674 .loc 5 654 32 view .LVU392 ARM GAS /tmp/ccjvgGVC.s page 144 655:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_DMA_IRQHandler(&sdioTxDma); 1675 .loc 5 655 3 view .LVU393 1676 .LBB107: 1677 .LBI107: 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 **** ARM GAS /tmp/ccjvgGVC.s page 145 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)*/ 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 **** ARM GAS /tmp/ccjvgGVC.s page 146 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 **** 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) 1678 .loc 8 747 6 view .LVU394 1679 .LVL92: 1680 .loc 8 747 6 is_stmt 0 view .LVU395 1681 .LBE107: 1682 @ /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); 1683 .loc 5 653 1 view .LVU396 1684 0000 F7B5 push {r0, r1, r2, r4, r5, r6, r7, lr} @ 1685 .LCFI10: 1686 .cfi_def_cfa_offset 32 1687 .cfi_offset 4, -20 1688 .cfi_offset 5, -16 1689 .cfi_offset 6, -12 1690 .cfi_offset 7, -8 1691 .cfi_offset 14, -4 1692 .LBB110: 1693 .LBB108: ARM GAS /tmp/ccjvgGVC.s page 147 1694 @ /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; 750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t count = 0U; 1695 .loc 8 750 17 view .LVU397 1696 0002 0023 movs r3, #0 @ tmp198, 1697 @ /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; 1698 .loc 8 754 56 view .LVU398 1699 0004 5C4C ldr r4, .L259 @ tmp200, 1700 @ /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; 1701 .loc 8 750 17 view .LVU399 1702 0006 0193 str r3, [sp, #4] @ tmp198, count 1703 @ /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; 1704 .loc 8 751 38 view .LVU400 1705 0008 5C4B ldr r3, .L259+4 @ tmp199, 1706 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:754: DMA_B 1707 .loc 8 754 23 view .LVU401 1708 000a A56D ldr r5, [r4, #88] @ regs, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].StreamBaseAddress 1709 @ /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; 1710 .loc 8 751 38 view .LVU402 1711 000c 1F68 ldr r7, [r3] @ _3, SystemCoreClock 1712 .LVL93: 1713 @ /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) 1714 .loc 8 759 42 view .LVU403 1715 000e E36D ldr r3, [r4, #92] @ _8, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].StreamIndex 1716 @ /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 **** 1717 .loc 8 756 10 view .LVU404 1718 0010 2E68 ldr r6, [r5] @ tmpisr, regs_6->ISR 1719 .LVL94: 1720 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:759: if (( 1721 .loc 8 759 35 view .LVU405 1722 0012 0822 movs r2, #8 @ tmp202, 1723 0014 9A40 lsls r2, r2, r3 @ _9, tmp202, _8 1724 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:759: if (( 1725 .loc 8 759 6 view .LVU406 1726 0016 1642 tst r6, r2 @ tmpisr, _9 1727 0018 0CD0 beq .L169 @, 1728 @ /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) 1729 .loc 8 761 8 view .LVU407 1730 001a 2168 ldr r1, [r4] @ _11, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 1731 001c 0868 ldr r0, [r1] @ _12, _11->CR 1732 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:761: if( ARM GAS /tmp/ccjvgGVC.s page 148 1733 .loc 8 761 7 view .LVU408 1734 001e 4007 lsls r0, r0, #29 @, _12, 1735 0020 08D5 bpl .L169 @, 1736 @ /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); 1737 .loc 8 764 21 view .LVU409 1738 0022 0868 ldr r0, [r1] @ _14, _11->CR 1739 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:764: h 1740 .loc 8 764 27 view .LVU410 1741 0024 20F00400 bic r0, r0, #4 @ _15, _14, 1742 0028 0860 str r0, [r1] @ _15, _11->CR 1743 @ /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; 1744 .loc 8 767 18 view .LVU411 1745 002a AA60 str r2, [r5, #8] @ _9, regs_6->IFCR 1746 @ /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; 1747 .loc 8 770 11 view .LVU412 1748 002c 626D ldr r2, [r4, #84] @ _16, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 1749 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:770: h 1750 .loc 8 770 23 view .LVU413 1751 002e 42F00102 orr r2, r2, #1 @ _17, _16, 1752 0032 6265 str r2, [r4, #84] @ _17, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 1753 .L169: 1754 @ /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) 1755 .loc 8 774 35 view .LVU414 1756 0034 0122 movs r2, #1 @ tmp208, 1757 0036 9A40 lsls r2, r2, r3 @ _18, tmp208, _8 1758 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:774: if (( 1759 .loc 8 774 6 view .LVU415 1760 0038 1642 tst r6, r2 @ tmpisr, _18 1761 003a 08D0 beq .L170 @, 1762 @ /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) 1763 .loc 8 776 8 view .LVU416 1764 003c 2168 ldr r1, [r4] @ _20, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 1765 003e 4969 ldr r1, [r1, #20] @ _21, _20->FCR 1766 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:776: if( 1767 .loc 8 776 7 view .LVU417 1768 0040 0906 lsls r1, r1, #24 @, _21, 1769 @ /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; 1770 .loc 8 779 18 view .LVU418 1771 0042 41BF itttt mi ARM GAS /tmp/ccjvgGVC.s page 149 1772 0044 AA60 strmi r2, [r5, #8] @ _18, regs_6->IFCR 1773 @ /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 **** 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; 1774 .loc 8 782 11 view .LVU419 1775 0046 626D ldrmi r2, [r4, #84] @ _23, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 1776 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:782: h 1777 .loc 8 782 23 view .LVU420 1778 0048 42F00202 orrmi r2, r2, #2 @ _24, _23, 1779 004c 6265 strmi r2, [r4, #84] @ _24, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 1780 .L170: 1781 @ /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) 1782 .loc 8 786 36 view .LVU421 1783 004e 0422 movs r2, #4 @ tmp214, 1784 0050 9A40 lsls r2, r2, r3 @ _25, tmp214, _8 1785 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:786: if (( 1786 .loc 8 786 6 view .LVU422 1787 0052 1642 tst r6, r2 @ tmpisr, _25 1788 0054 08D0 beq .L171 @, 1789 @ /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) 1790 .loc 8 788 8 view .LVU423 1791 0056 2168 ldr r1, [r4] @ _27, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 1792 0058 0968 ldr r1, [r1] @ _28, _27->CR 1793 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:788: if( 1794 .loc 8 788 7 view .LVU424 1795 005a 8807 lsls r0, r1, #30 @, _28, 1796 @ /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; 1797 .loc 8 791 18 view .LVU425 1798 005c 41BF itttt mi 1799 005e AA60 strmi r2, [r5, #8] @ _25, regs_6->IFCR 1800 @ /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; 1801 .loc 8 794 11 view .LVU426 1802 0060 626D ldrmi r2, [r4, #84] @ _30, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 1803 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:794: h 1804 .loc 8 794 23 view .LVU427 1805 0062 42F00402 orrmi r2, r2, #4 @ _31, _30, 1806 0066 6265 strmi r2, [r4, #84] @ _31, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 1807 .L171: 1808 @ /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) 1809 .loc 8 798 35 view .LVU428 ARM GAS /tmp/ccjvgGVC.s page 150 1810 0068 1022 movs r2, #16 @ tmp220, 1811 006a 9A40 lsls r2, r2, r3 @ _32, tmp220, _8 1812 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:798: if (( 1813 .loc 8 798 6 view .LVU429 1814 006c 1642 tst r6, r2 @ tmpisr, _32 1815 006e 10D0 beq .L173 @, 1816 @ /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) 1817 .loc 8 800 8 view .LVU430 1818 0070 2368 ldr r3, [r4] @ _34, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 1819 0072 1968 ldr r1, [r3] @ _35, _34->CR 1820 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:800: if( 1821 .loc 8 800 7 view .LVU431 1822 0074 0907 lsls r1, r1, #28 @, _35, 1823 0076 0CD5 bpl .L173 @, 1824 @ /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; 1825 .loc 8 803 18 view .LVU432 1826 0078 AA60 str r2, [r5, #8] @ _32, regs_6->IFCR 1827 @ /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) 1828 .loc 8 806 26 view .LVU433 1829 007a 1A68 ldr r2, [r3] @ _37, _34->CR 1830 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:806: i 1831 .loc 8 806 9 view .LVU434 1832 007c 5003 lsls r0, r2, #13 @, _37, 1833 007e 37D5 bpl .L175 @, 1834 @ /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) 1835 .loc 8 809 27 view .LVU435 1836 0080 1B68 ldr r3, [r3] @ _39, _34->CR 1837 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:809: 1838 .loc 8 809 11 view .LVU436 1839 0082 1903 lsls r1, r3, #12 @, _39, 1840 0084 01D4 bmi .L176 @, 1841 .L177: 1842 @ /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 */ ARM GAS /tmp/ccjvgGVC.s page 151 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 **** } 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) 1843 .loc 8 836 16 view .LVU437 1844 0086 236C ldr r3, [r4, #64] @ _47, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferHalfCpltCallback 1845 0088 00E0 b .L253 @ 1846 .L176: 1847 @ /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 **** { 1848 .loc 8 820 18 view .LVU438 1849 008a A36C ldr r3, [r4, #72] @ _42, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferM1HalfCpltCallback 1850 .L253: 1851 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:836: 1852 .loc 8 836 11 view .LVU439 1853 008c 0BB1 cbz r3, .L173 @ _47, 1854 @ /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); 1855 .loc 8 839 11 view .LVU440 1856 008e 3A48 ldr r0, .L259 @, 1857 0090 9847 blx r3 @ _47 1858 .LVL95: 1859 .L173: 1860 @ /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) 1861 .loc 8 845 42 view .LVU441 1862 0092 E16D ldr r1, [r4, #92] @ _48, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].StreamIndex 1863 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:845: if (( 1864 .loc 8 845 35 view .LVU442 1865 0094 2022 movs r2, #32 @ tmp234, 1866 0096 8A40 lsls r2, r2, r1 @ _49, tmp234, _48 1867 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:845: if (( 1868 .loc 8 845 6 view .LVU443 1869 0098 1642 tst r6, r2 @ tmpisr, _49 1870 009a 3AD0 beq .L179 @, 1871 @ /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) 1872 .loc 8 847 8 view .LVU444 1873 009c 2368 ldr r3, [r4] @ _51, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance ARM GAS /tmp/ccjvgGVC.s page 152 1874 009e 1868 ldr r0, [r3] @ _52, _51->CR 1875 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:847: if( 1876 .loc 8 847 7 view .LVU445 1877 00a0 C606 lsls r6, r0, #27 @, _52, 1878 .LVL96: 1879 .loc 8 847 7 view .LVU446 1880 00a2 36D5 bpl .L179 @, 1881 @ /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; 1882 .loc 8 850 18 view .LVU447 1883 00a4 AA60 str r2, [r5, #8] @ _49, regs_6->IFCR 1884 @ /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) 1885 .loc 8 852 37 view .LVU448 1886 00a6 94F83520 ldrb r2, [r4, #53] @ zero_extendqisi2 @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State, MEM[(st 1887 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:852: i 1888 .loc 8 852 9 view .LVU449 1889 00aa 052A cmp r2, #5 @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State, 1890 @ /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); 1891 .loc 8 855 23 view .LVU450 1892 00ac 1A68 ldr r2, [r3] @ _55,* _51 1893 @ /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 **** { 1894 .loc 8 852 9 view .LVU451 1895 00ae 27D1 bne .L181 @, 1896 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:855: 1897 .loc 8 855 29 view .LVU452 1898 00b0 22F01602 bic r2, r2, #22 @ _56, _55, 1899 00b4 1A60 str r2, [r3] @ _56, _51->CR 1900 @ /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); 1901 .loc 8 856 23 view .LVU453 1902 00b6 5A69 ldr r2, [r3, #20] @ _57, _51->FCR 1903 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:856: 1904 .loc 8 856 29 view .LVU454 1905 00b8 22F08002 bic r2, r2, #128 @ _58, _57, 1906 00bc 5A61 str r2, [r3, #20] @ _58, _51->FCR 1907 @ /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)) 1908 .loc 8 858 11 view .LVU455 1909 00be 226C ldr r2, [r4, #64] @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferHalfCpltCallback, MEM[(struct 1910 00c0 0AB9 cbnz r2, .L182 @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferHalfCpltCallback, 1911 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:858: 1912 .loc 8 858 49 discriminator 1 view .LVU456 1913 00c2 A26C ldr r2, [r4, #72] @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferM1HalfCpltCallback, MEM[(struc 1914 00c4 1AB1 cbz r2, .L183 @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferM1HalfCpltCallback, 1915 .L182: 1916 @ /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); ARM GAS /tmp/ccjvgGVC.s page 153 1917 .loc 8 860 25 view .LVU457 1918 00c6 1A68 ldr r2, [r3] @ _61, _51->CR 1919 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:860: 1920 .loc 8 860 31 view .LVU458 1921 00c8 22F00802 bic r2, r2, #8 @ _62, _61, 1922 00cc 1A60 str r2, [r3] @ _62, _51->CR 1923 .L183: 1924 @ /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; 1925 .loc 8 864 28 view .LVU459 1926 00ce 3F23 movs r3, #63 @ tmp246, 1927 00d0 8B40 lsls r3, r3, r1 @ _63, tmp246, _48 1928 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:864: 1929 .loc 8 864 20 view .LVU460 1930 00d2 AB60 str r3, [r5, #8] @ _63, regs_6->IFCR 1931 @ /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; 1932 .loc 8 867 21 view .LVU461 1933 00d4 0123 movs r3, #1 @ tmp248, 1934 00d6 84F83530 strb r3, [r4, #53] @ tmp248, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State 1935 @ /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); 1936 .loc 8 870 9 view .LVU462 1937 00da 0023 movs r3, #0 @ tmp251, 1938 00dc 84F83430 strb r3, [r4, #52] @ tmp251, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Lock 1939 @ /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) 1940 .loc 8 872 16 view .LVU463 1941 00e0 236D ldr r3, [r4, #80] @ _64, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferAbortCallback 1942 .LVL97: 1943 .L258: 1944 @ /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 **** } ARM GAS /tmp/ccjvgGVC.s page 154 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 **** { 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 */ ARM GAS /tmp/ccjvgGVC.s page 155 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 **** 950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferErrorCallback != NULL) 1945 .loc 8 950 7 view .LVU464 1946 00e2 002B cmp r3, #0 @ _86 1947 00e4 45D0 beq .L168 @ 1948 @ /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); 1949 .loc 8 953 7 view .LVU465 1950 00e6 2448 ldr r0, .L259 @, 1951 .LBE108: 1952 .LBE110: 1953 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:656: } 656:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1954 .loc 5 656 1 view .LVU466 1955 00e8 03B0 add sp, sp, #12 @,, 1956 .LCFI11: 1957 .cfi_remember_state 1958 .cfi_def_cfa_offset 20 1959 @ sp needed @ 1960 00ea BDE8F040 pop {r4, r5, r6, r7, lr} @ 1961 .LCFI12: 1962 .cfi_restore 14 1963 .cfi_restore 7 1964 .cfi_restore 6 1965 .cfi_restore 5 1966 .cfi_restore 4 1967 .cfi_def_cfa_offset 0 1968 .LVL98: 1969 .LBB111: 1970 .LBB109: 1971 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:953: h 1972 .loc 8 953 7 view .LVU467 1973 00ee 1847 bx r3 @ indirect register sibling call @ _86 1974 .LVL99: 1975 .L175: 1976 .LCFI13: 1977 .cfi_restore_state 1978 @ /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 **** { 1979 .loc 8 830 27 view .LVU468 1980 00f0 1A68 ldr r2, [r3] @ _43, _34->CR 1981 @ /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 **** { 1982 .loc 8 830 11 view .LVU469 1983 00f2 D205 lsls r2, r2, #23 @, _43, 1984 @ /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 **** } 1985 .loc 8 833 25 view .LVU470 1986 00f4 5EBF ittt pl 1987 00f6 1A68 ldrpl r2, [r3] @ _45, _34->CR 1988 @ /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 **** } 1989 .loc 8 833 31 view .LVU471 ARM GAS /tmp/ccjvgGVC.s page 156 1990 00f8 22F00802 bicpl r2, r2, #8 @ _46, _45, 1991 00fc 1A60 strpl r2, [r3] @ _46, _34->CR 1992 00fe C2E7 b .L177 @ 1993 .LVL100: 1994 .L181: 1995 @ /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 **** { 1996 .loc 8 879 9 view .LVU472 1997 0100 5003 lsls r0, r2, #13 @, _65, 1998 0102 27D5 bpl .L186 @, 1999 @ /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 **** { 2000 .loc 8 882 27 view .LVU473 2001 0104 1B68 ldr r3, [r3] @ _67, _51->CR 2002 @ /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 **** { 2003 .loc 8 882 11 view .LVU474 2004 0106 1903 lsls r1, r3, #12 @, _67, 2005 0108 31D4 bmi .L188 @, 2006 @ /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 **** { 2007 .loc 8 884 18 view .LVU475 2008 010a 636C ldr r3, [r4, #68] @ _69, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferM1CpltCallback 2009 .L255: 2010 @ /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 **** { 2011 .loc 8 915 11 view .LVU476 2012 010c 0BB1 cbz r3, .L179 @ _75, 2013 @ /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 **** } 2014 .loc 8 918 11 view .LVU477 2015 010e 1A48 ldr r0, .L259 @, 2016 0110 9847 blx r3 @ _75 2017 .LVL101: 2018 .L179: 2019 @ /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 **** { 2020 .loc 8 925 10 view .LVU478 2021 0112 636D ldr r3, [r4, #84] @ _76, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 2022 @ /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 **** { 2023 .loc 8 925 5 view .LVU479 2024 0114 6BB3 cbz r3, .L168 @ _76, 2025 @ /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 **** { 2026 .loc 8 927 13 view .LVU480 2027 0116 636D ldr r3, [r4, #84] @ _77, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 2028 @ /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 **** { 2029 .loc 8 927 7 view .LVU481 2030 0118 DA07 lsls r2, r3, #31 @, _77, 2031 011a 19D5 bpl .L190 @, 2032 @ /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 **** 2033 .loc 8 932 7 view .LVU482 2034 011c 2268 ldr r2, [r4] @ _79, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 2035 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:751: uint3 ARM GAS /tmp/ccjvgGVC.s page 157 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2036 .loc 8 751 12 view .LVU483 2037 011e 4FF41653 mov r3, #9600 @ tmp273, 2038 0122 B7FBF3F7 udiv r7, r7, r3 @ timeout, _3, tmp273 2039 .LVL102: 2040 @ /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 **** 2041 .loc 8 929 19 view .LVU484 2042 0126 0523 movs r3, #5 @ tmp275, 2043 0128 84F83530 strb r3, [r4, #53] @ tmp275, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State 2044 @ /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 **** 2045 .loc 8 932 7 view .LVU485 2046 012c 1368 ldr r3, [r2] @ _80, _79->CR 2047 012e 23F00103 bic r3, r3, #1 @ _81, _80, 2048 0132 1360 str r3, [r2] @ _81, _79->CR 2049 .L192: 2050 @ /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 **** { 2051 .loc 8 936 13 view .LVU486 2052 0134 019B ldr r3, [sp, #4] @ _82, count 2053 0136 0133 adds r3, r3, #1 @ _83, _82, 2054 @ /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 **** { 2055 .loc 8 936 12 view .LVU487 2056 0138 9F42 cmp r7, r3 @ timeout, _83 2057 013a 0193 str r3, [sp, #4] @ _83, count 2058 013c 02D3 bcc .L191 @, 2059 @ /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 **** 2060 .loc 8 941 28 view .LVU488 2061 013e 1368 ldr r3, [r2] @ _84, _79->CR 2062 @ /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 **** 2063 .loc 8 941 48 view .LVU489 2064 0140 DB07 lsls r3, r3, #31 @, _84, 2065 0142 F7D4 bmi .L192 @, 2066 .L191: 2067 @ /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 **** 2068 .loc 8 944 19 view .LVU490 2069 0144 0123 movs r3, #1 @ tmp280, 2070 0146 84F83530 strb r3, [r4, #53] @ tmp280, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State 2071 @ /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 **** } 2072 .loc 8 947 7 view .LVU491 2073 014a 0023 movs r3, #0 @ tmp283, 2074 014c 84F83430 strb r3, [r4, #52] @ tmp283, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Lock 2075 .L190: 2076 @ /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 **** { 2077 .loc 8 950 12 view .LVU492 2078 0150 E36C ldr r3, [r4, #76] @ _86, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferErrorCallback 2079 0152 C6E7 b .L258 @ 2080 .LVL103: 2081 .L186: 2082 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:903: ARM GAS /tmp/ccjvgGVC.s page 158 903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2083 .loc 8 903 27 view .LVU493 2084 0154 1A68 ldr r2, [r3] @ _71, _51->CR 2085 @ /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 **** { 2086 .loc 8 903 11 view .LVU494 2087 0156 12F48072 ands r2, r2, #256 @ _72, _71, 2088 015a 08D1 bne .L188 @, 2089 @ /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 **** 2090 .loc 8 906 25 view .LVU495 2091 015c 1968 ldr r1, [r3] @ _73, _51->CR 2092 @ /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 **** 2093 .loc 8 906 31 view .LVU496 2094 015e 21F01001 bic r1, r1, #16 @ _74, _73, 2095 0162 1960 str r1, [r3] @ _74, _51->CR 2096 @ /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 **** 2097 .loc 8 909 23 view .LVU497 2098 0164 0123 movs r3, #1 @ tmp263, 2099 0166 84F83530 strb r3, [r4, #53] @ tmp263, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State 2100 @ /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 **** } 2101 .loc 8 912 11 view .LVU498 2102 016a 84F83420 strb r2, [r4, #52] @ _72, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Lock 2103 .L188: 2104 @ /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 **** { 2105 .loc 8 915 16 view .LVU499 2106 016e E36B ldr r3, [r4, #60] @ _75, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferCpltCallback 2107 0170 CCE7 b .L255 @ 2108 .LVL104: 2109 .L168: 915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2110 .loc 8 915 16 view .LVU500 2111 .LBE109: 2112 .LBE111: 2113 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:656: } 2114 .loc 5 656 1 view .LVU501 2115 0172 03B0 add sp, sp, #12 @,, 2116 .LCFI14: 2117 .cfi_def_cfa_offset 20 2118 @ sp needed @ 2119 0174 F0BD pop {r4, r5, r6, r7, pc} @ 2120 .LVL105: 2121 .L260: 2122 .loc 5 656 1 view .LVU502 2123 0176 00BF .align 2 2124 .L259: 2125 0178 00000000 .word _ZL9sdioTxDma.lto_priv.0 2126 017c 00000000 .word SystemCoreClock 2127 .cfi_endproc 2128 .LFE38: 2129 .size DMA2_Stream3_IRQHandler, .-DMA2_Stream3_IRQHandler 2130 .section .text.startup._GLOBAL__sub_I__Z10sdio_ioctlhhPv,"ax",%progbits 2131 .align 1 ARM GAS /tmp/ccjvgGVC.s page 159 2132 .syntax unified 2133 .thumb 2134 .thumb_func 2135 .type _GLOBAL__sub_I__Z10sdio_ioctlhhPv, %function 2136 _GLOBAL__sub_I__Z10sdio_ioctlhhPv: 2137 .LFB41: 2138 .loc 5 656 1 is_stmt 1 view -0 2139 .cfi_startproc 2140 @ args = 0, pretend = 0, frame = 0 2141 @ frame_needed = 0, uses_anonymous_args = 0 2142 @ link register save eliminated. 2143 .LVL106: 2144 .LBB119: 2145 .LBB120: 2146 .LBB121: 2147 @ /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; 2148 .loc 5 118 8 view .LVU504 2149 0000 0F4B ldr r3, .L262 @ tmp114, 2150 0002 104A ldr r2, .L262+4 @ tmp115, 2151 0004 1A60 str r2, [r3] @ tmp115, currentSD.periph 2152 0006 02F55C42 add r2, r2, #56320 @ tmp117, tmp117, 2153 000a 0832 adds r2, r2, #8 @ tmp117, tmp117, 2154 000c 5A60 str r2, [r3, #4] @ tmp117, currentSD.D0 2155 000e 0132 adds r2, r2, #1 @ tmp119, tmp119, 2156 0010 9A60 str r2, [r3, #8] @ tmp119, currentSD.D1 2157 0012 0132 adds r2, r2, #1 @ tmp121, tmp121, 2158 0014 DA60 str r2, [r3, #12] @ tmp121, currentSD.D2 2159 0016 0132 adds r2, r2, #1 @ tmp123, tmp123, 2160 0018 1A61 str r2, [r3, #16] @ tmp123, currentSD.D3 2161 001a 02F2F732 addw r2, r2, #1015 @ tmp125, tmp125, 2162 001e 5A61 str r2, [r3, #20] @ tmp125, currentSD.CMD 2163 0020 A2F2F632 subw r2, r2, #1014 @ tmp127, tmp127, 2164 0024 9A61 str r2, [r3, #24] @ tmp127, currentSD.CLK 2165 0026 4FF00C32 mov r2, #202116108 @ tmp129, 2166 002a DA61 str r2, [r3, #28] @ tmp129, MEM [(unsigned char *)¤tSD + 28B] 2167 002c 40F60C42 movw r2, #3084 @ tmp132, 2168 0030 1A84 strh r2, [r3, #32] @ movhi @ tmp132, MEM [(unsigned char *)¤tSD + 32B] 2169 0032 3122 movs r2, #49 @ tmp134, 2170 0034 83F82220 strb r2, [r3, #34] @ tmp134, currentSD.IRQn 2171 0038 0022 movs r2, #0 @ tmp137, 2172 003a 5A62 str r2, [r3, #36] @ tmp137, currentSD.SD_CLK_DIV 2173 .LVL107: 118:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** SD_SDIO_TypeDef* periph = SD_SDIO; 2174 .loc 5 118 8 is_stmt 0 view .LVU505 2175 .LBE121: 2176 .LBE120: 2177 .LBE119: 2178 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:656: } 2179 .loc 5 656 1 is_stmt 1 view .LVU506 2180 003c 7047 bx lr @ 2181 .L263: 2182 003e 00BF .align 2 2183 .L262: 2184 0040 00000000 .word currentSD.lto_priv.0 2185 0044 002C0140 .word 1073818624 2186 .cfi_endproc ARM GAS /tmp/ccjvgGVC.s page 160 2187 .LFE41: 2188 .size _GLOBAL__sub_I__Z10sdio_ioctlhhPv, .-_GLOBAL__sub_I__Z10sdio_ioctlhhPv 2189 .section .init_array,"aw",%init_array 2190 .align 2 2191 0000 00000000 .word _GLOBAL__sub_I__Z10sdio_ioctlhhPv(target1) 2192 .section .text._Z19stm32_i2c_master_txhtPhtm,"ax",%progbits 2193 .align 1 2194 .global _Z19stm32_i2c_master_txhtPhtm 2195 .syntax unified 2196 .thumb 2197 .thumb_func 2198 .type _Z19stm32_i2c_master_txhtPhtm, %function 2199 _Z19stm32_i2c_master_txhtPhtm: 2200 .LVL108: 2201 .LFB46: 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 **** { ARM GAS /tmp/ccjvgGVC.s page 161 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 */ 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); ARM GAS /tmp/ccjvgGVC.s page 162 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 **** /** 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; ARM GAS /tmp/ccjvgGVC.s page 163 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; 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 **** } ARM GAS /tmp/ccjvgGVC.s page 164 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 **** } 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); ARM GAS /tmp/ccjvgGVC.s page 165 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 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 ARM GAS /tmp/ccjvgGVC.s page 166 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 **** } 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 ARM GAS /tmp/ccjvgGVC.s page 167 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 **** 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 **** ARM GAS /tmp/ccjvgGVC.s page 168 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; 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 **** } ARM GAS /tmp/ccjvgGVC.s page 169 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) 569:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 2202 .loc 3 569 1 view -0 2203 .cfi_startproc 2204 @ args = 4, pretend = 0, frame = 24 2205 @ 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); 2206 .loc 3 570 3 view .LVU508 2207 .LBB137: 2208 .LBI137: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 2209 .loc 3 54 27 view .LVU509 2210 .LBB138: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 2211 .loc 3 56 3 view .LVU510 2212 .LBE138: 2213 .LBE137: 2214 @ /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); 2215 .loc 3 569 1 is_stmt 0 view .LVU511 2216 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 2217 .LCFI15: 2218 .cfi_def_cfa_offset 36 2219 .cfi_offset 4, -36 2220 .cfi_offset 5, -32 2221 .cfi_offset 6, -28 2222 .cfi_offset 7, -24 2223 .cfi_offset 8, -20 2224 .cfi_offset 9, -16 2225 .cfi_offset 10, -12 2226 .cfi_offset 11, -8 2227 .cfi_offset 14, -4 2228 0004 89B0 sub sp, sp, #36 @,, 2229 .LCFI16: 2230 .cfi_def_cfa_offset 72 2231 .LBB141: 2232 .LBB139: 2233 @ /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; 2234 .loc 3 56 3 view .LVU512 2235 0006 0128 cmp r0, #1 @ bus, 2236 .LBE139: 2237 .LBE141: 2238 @ /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); 2239 .loc 3 569 1 view .LVU513 2240 0008 CDE90212 strd r1, r2, [sp, #8] @ tmp453, tmp454,, 2241 000c DDF84880 ldr r8, [sp, #72] @ timeout, timeout 2242 0010 0546 mov r5, r0 @ bus, tmp452 2243 0012 9A46 mov r10, r3 @ len, tmp455 2244 .LBB142: 2245 .LBB140: 2246 @ /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; 2247 .loc 3 56 3 view .LVU514 ARM GAS /tmp/ccjvgGVC.s page 170 2248 0014 00F20E81 bhi .L281 @, 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 2249 .loc 3 57 3 is_stmt 1 view .LVU515 2250 @ /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 **** } 2251 .loc 3 57 26 is_stmt 0 view .LVU516 2252 0018 884C ldr r4, .L305 @ tmp201, 2253 001a 4742 rsbs r7, r0, #0 @ tmp200, bus 2254 001c 07F0A807 and r7, r7, #168 @ _173, tmp200, 2255 0020 3E19 adds r6, r7, r4 @ _9, _173, tmp201 2256 .LVL109: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 2257 .loc 3 57 26 view .LVU517 2258 .LBE140: 2259 .LBE142: 571:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 2260 .loc 3 571 3 is_stmt 1 view .LVU518 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); 2261 .loc 3 573 3 view .LVU519 2262 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:573: I2CMutex(bus); 2263 .loc 3 573 3 is_stmt 0 discriminator 1 view .LVU520 2264 0022 3046 mov r0, r6 @, _9 2265 .LVL110: 2266 .loc 3 573 3 discriminator 1 view .LVU521 2267 0024 FFF7FEFF bl _ZL16i2c_ensure_mutexP16stm32_i2c_device @ 2268 .LVL111: 2269 .loc 3 573 3 is_stmt 1 discriminator 2 view .LVU522 2270 .LBB143: 2271 .LBI143: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2272 .loc 4 102 20 view .LVU523 2273 .LBB144: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2274 .loc 4 102 55 view .LVU524 2275 .LBE144: 2276 .LBE143: 2277 .LBB147: 2278 .LBB148: 2279 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1037: if ( 2280 .file 9 "/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 **** [..] ARM GAS /tmp/ccjvgGVC.s page 171 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: 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 ARM GAS /tmp/ccjvgGVC.s page 172 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_ 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() ARM GAS /tmp/ccjvgGVC.s page 173 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() 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() ARM GAS /tmp/ccjvgGVC.s page 174 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 **** ================================= 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. ARM GAS /tmp/ccjvgGVC.s page 175 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. 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 ------------------------------------------------------------------*/ ARM GAS /tmp/ccjvgGVC.s page 176 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 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 ARM GAS /tmp/ccjvgGVC.s page 177 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, 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 ARM GAS /tmp/ccjvgGVC.s page 178 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 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 ARM GAS /tmp/ccjvgGVC.s page 179 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) 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 ---------------------*/ ARM GAS /tmp/ccjvgGVC.s page 180 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 **** 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 **** ARM GAS /tmp/ccjvgGVC.s page 181 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 **** 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 **** */ ARM GAS /tmp/ccjvgGVC.s page 182 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; 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; ARM GAS /tmp/ccjvgGVC.s page 183 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; 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: ARM GAS /tmp/ccjvgGVC.s page 184 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 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 : ARM GAS /tmp/ccjvgGVC.s page 185 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 186 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. 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 ARM GAS /tmp/ccjvgGVC.s page 187 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; 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() ARM GAS /tmp/ccjvgGVC.s page 188 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() 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) 2281 .loc 9 1037 11 is_stmt 0 view .LVU525 2282 0028 4FF0A809 mov r9, #168 @ tmp209, 2283 .LBE148: 2284 .LBE147: 2285 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:573: I2CMutex(bus); ARM GAS /tmp/ccjvgGVC.s page 189 2286 .loc 3 573 3 discriminator 3 view .LVU526 2287 002c 07F15801 add r1, r7, #88 @ _110, _173, 2288 .LBB173: 2289 .LBB145: 2290 @ /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);} 2291 .loc 4 102 75 view .LVU527 2292 0030 2144 add r1, r1, r4 @, tmp201 2293 0032 06A8 add r0, sp, #24 @,, 2294 .LBE145: 2295 .LBE173: 2296 .LBB174: 2297 .LBB166: 2298 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1037: if ( 2299 .loc 9 1037 11 view .LVU528 2300 0034 09FB05F9 mul r9, r9, r5 @ tmp208, tmp209, bus 2301 .LBE166: 2302 .LBE174: 2303 .LBB175: 2304 .LBB146: 2305 @ /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);} 2306 .loc 4 102 75 view .LVU529 2307 0038 FFF7FEFF bl _ZN9MutexLockC2EP14mutex_handle_t.isra.0 @ 2308 .LVL112: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2309 .loc 4 102 75 view .LVU530 2310 .LBE146: 2311 .LBE175: 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) { 2312 .loc 3 574 3 is_stmt 1 view .LVU531 2313 .LBB176: 2314 .LBI147: 1032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2315 .loc 9 1032 19 view .LVU532 2316 .LBB167: 1035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2317 .loc 9 1035 3 view .LVU533 2318 .LBB149: 2319 .LBI149: 2320 .file 10 "/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, ARM GAS /tmp/ccjvgGVC.s page 190 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. 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) 2321 .loc 10 25 21 view .LVU534 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(); 2322 .loc 10 27 5 view .LVU535 2323 .LBB150: 2324 .LBI150: 2325 .file 11 "/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 **** * 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; ARM GAS /tmp/ccjvgGVC.s page 191 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() 2326 .loc 11 54 10 view .LVU536 2327 .LBB151: 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; 2328 .loc 11 56 3 view .LVU537 2329 .LBE151: 2330 .LBE150: 2331 .LBE149: 2332 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1037: if ( 2333 .loc 9 1037 11 is_stmt 0 view .LVU538 2334 003c 04EB090B add fp, r4, r9 @ tmp210, tmp201, tmp208 2335 .LBB154: 2336 .LBB153: 2337 .LBB152: 2338 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 2339 .loc 11 56 10 view .LVU539 2340 0040 7F4B ldr r3, .L305+4 @ tmp206, 2341 0042 1F68 ldr r7, [r3] @ _77, _ms_ticks 2342 .LVL113: 2343 .loc 11 56 10 view .LVU540 2344 .LBE152: 2345 .LBE153: 2346 .LBE154: 2347 .loc 9 1037 3 is_stmt 1 view .LVU541 2348 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1037: if ( 2349 .loc 9 1037 11 is_stmt 0 view .LVU542 2350 0044 9BF83D30 ldrb r3, [fp, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 2351 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1037: if ( 2352 .loc 9 1037 6 view .LVU543 2353 0048 202B cmp r3, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handl 2354 004a 08D0 beq .L266 @, 2355 .LVL114: 2356 .L274: 2357 .loc 9 1037 6 view .LVU544 2358 .LBE167: 2359 .LBE176: 2360 @ /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; 2361 .loc 3 575 13 view .LVU545 2362 004c 4FF0FF34 mov r4, #-1 @ , 2363 .L267: 2364 @ /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 **** ARM GAS /tmp/ccjvgGVC.s page 192 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 **** } 2365 .loc 3 579 1 view .LVU546 2366 0050 06A8 add r0, sp, #24 @,, 2367 0052 FFF7FEFF bl _ZN9MutexLockD2Ev.isra.0 @ 2368 .LVL115: 2369 .L264: 2370 .loc 3 579 1 view .LVU547 2371 0056 2046 mov r0, r4 @, 2372 0058 09B0 add sp, sp, #36 @,, 2373 .LCFI17: 2374 .cfi_remember_state 2375 .cfi_def_cfa_offset 36 2376 @ sp needed @ 2377 005a BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 2378 .LVL116: 2379 .L266: 2380 .LCFI18: 2381 .cfi_restore_state 2382 .LBB177: 2383 .LBB168: 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 2384 .loc 9 1040 5 is_stmt 1 view .LVU548 2385 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1040: if 2386 .loc 9 1040 9 is_stmt 0 view .LVU549 2387 005e 7949 ldr r1, .L305+8 @, 2388 0060 0097 str r7, [sp] @ _77, 2389 0062 1923 movs r3, #25 @, 2390 0064 0122 movs r2, #1 @, 2391 0066 3046 mov r0, r6 @, _9 2392 0068 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 2393 .LVL117: 2394 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1040: if 2395 .loc 9 1040 8 discriminator 1 view .LVU550 2396 006c 0028 cmp r0, #0 @ tmp456 2397 006e EDD1 bne .L274 @ 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); 2398 .loc 9 1046 5 is_stmt 1 view .LVU551 2399 .loc 9 1046 5 view .LVU552 2400 0070 9BF83C30 ldrb r3, [fp, #60] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 2401 0074 012B cmp r3, #1 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handle 2402 0076 E9D0 beq .L274 @, 2403 .loc 9 1046 5 discriminator 2 view .LVU553 2404 @ /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) 2405 .loc 9 1049 14 is_stmt 0 view .LVU554 2406 0078 54F80920 ldr r2, [r4, r9] @ _31, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 2407 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1046: __ ARM GAS /tmp/ccjvgGVC.s page 193 1046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2408 .loc 9 1046 5 discriminator 2 view .LVU555 2409 007c 0123 movs r3, #1 @ tmp227, 2410 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 **** 2411 .loc 9 1046 5 is_stmt 1 view .LVU556 2412 .loc 9 1049 5 view .LVU557 2413 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1049: if 2414 .loc 9 1049 24 is_stmt 0 view .LVU558 2415 0082 1368 ldr r3, [r2] @ _32, _31->CR1 2416 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1049: if 2417 .loc 9 1049 8 view .LVU559 2418 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); 2419 .loc 9 1052 7 is_stmt 1 view .LVU560 2420 0086 5EBF ittt pl 2421 0088 1368 ldrpl r3, [r2] @ _34, _31->CR1 2422 008a 43F00103 orrpl r3, r3, #1 @ _35, _34, 2423 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); 2424 .loc 9 1056 5 view .LVU561 2425 0090 1368 ldr r3, [r2] @ _36, _31->CR1 2426 0092 23F40063 bic r3, r3, #2048 @ _37, _36, 2427 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; 2428 .loc 9 1058 5 view .LVU562 2429 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1058: hi 2430 .loc 9 1058 23 is_stmt 0 view .LVU563 2431 0098 A823 movs r3, #168 @ tmp236, 2432 009a 03FB0543 mla r3, r3, r5, r4 @ tmp237, tmp236, bus, tmp201 2433 009e 2121 movs r1, #33 @ tmp239, 2434 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; 2435 .loc 9 1059 5 is_stmt 1 view .LVU564 2436 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1059: hi 2437 .loc 9 1059 23 is_stmt 0 view .LVU565 2438 00a4 1021 movs r1, #16 @ tmp246, 2439 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; 2440 .loc 9 1060 5 is_stmt 1 view .LVU566 2441 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1060: hi 2442 .loc 9 1060 23 is_stmt 0 view .LVU567 2443 00aa 0021 movs r1, #0 @ tmp253, 2444 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; 2445 .loc 9 1063 5 is_stmt 1 view .LVU568 2446 @ /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; 2447 .loc 9 1064 23 is_stmt 0 view .LVU569 ARM GAS /tmp/ccjvgGVC.s page 194 2448 00ae A3F82AA0 strh r10, [r3, #42] @ movhi @ len, MEM [(struct I2C_HandleTypeDef *)& 2449 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1063: hi 1063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 2450 .loc 9 1063 23 view .LVU570 2451 00b2 0399 ldr r1, [sp, #12] @ data, %sfp 2452 00b4 5962 str r1, [r3, #36] @ data, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2453 .loc 9 1064 5 is_stmt 1 view .LVU571 1065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2454 .loc 9 1065 5 view .LVU572 2455 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1065: hi 2456 .loc 9 1065 29 is_stmt 0 view .LVU573 2457 00b6 598D ldrh r1, [r3, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 2458 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1065: hi 2459 .loc 9 1065 23 view .LVU574 2460 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; 2461 .loc 9 1066 5 is_stmt 1 view .LVU575 2462 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1066: hi 2463 .loc 9 1066 23 is_stmt 0 view .LVU576 2464 00ba 6349 ldr r1, .L305+12 @ tmp282, 2465 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) 2466 .loc 9 1069 5 is_stmt 1 view .LVU577 2467 .LVL118: 2468 .LBB155: 2469 .LBI155: 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--; ARM GAS /tmp/ccjvgGVC.s page 195 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)) 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*/ ARM GAS /tmp/ccjvgGVC.s page 196 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 **** 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); ARM GAS /tmp/ccjvgGVC.s page 197 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) 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 */ ARM GAS /tmp/ccjvgGVC.s page 198 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 **** 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 */ ARM GAS /tmp/ccjvgGVC.s page 199 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--; 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 **** { ARM GAS /tmp/ccjvgGVC.s page 200 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 **** } 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 **** ARM GAS /tmp/ccjvgGVC.s page 201 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); 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 **** ARM GAS /tmp/ccjvgGVC.s page 202 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); 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; ARM GAS /tmp/ccjvgGVC.s page 203 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 */ 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 **** { ARM GAS /tmp/ccjvgGVC.s page 204 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); 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 **** ARM GAS /tmp/ccjvgGVC.s page 205 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 **** } 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 ARM GAS /tmp/ccjvgGVC.s page 206 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 **** */ 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 ARM GAS /tmp/ccjvgGVC.s page 207 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 */ 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; ARM GAS /tmp/ccjvgGVC.s page 208 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; 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; ARM GAS /tmp/ccjvgGVC.s page 209 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; 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; ARM GAS /tmp/ccjvgGVC.s page 210 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 **** 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; ARM GAS /tmp/ccjvgGVC.s page 211 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 **** 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); ARM GAS /tmp/ccjvgGVC.s page 212 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 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 **** ARM GAS /tmp/ccjvgGVC.s page 213 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) 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 **** { ARM GAS /tmp/ccjvgGVC.s page 214 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); 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 **** { ARM GAS /tmp/ccjvgGVC.s page 215 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 **** } 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; ARM GAS /tmp/ccjvgGVC.s page 216 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; 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 **** { ARM GAS /tmp/ccjvgGVC.s page 217 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 **** } 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; ARM GAS /tmp/ccjvgGVC.s page 218 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; 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 **** { ARM GAS /tmp/ccjvgGVC.s page 219 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 **** } 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 */ ARM GAS /tmp/ccjvgGVC.s page 220 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 **** { 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; ARM GAS /tmp/ccjvgGVC.s page 221 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 **** 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; ARM GAS /tmp/ccjvgGVC.s page 222 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 **** 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 **** { ARM GAS /tmp/ccjvgGVC.s page 223 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) 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 **** ARM GAS /tmp/ccjvgGVC.s page 224 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); 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 **** ARM GAS /tmp/ccjvgGVC.s page 225 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--; 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 ARM GAS /tmp/ccjvgGVC.s page 226 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--; 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 **** ARM GAS /tmp/ccjvgGVC.s page 227 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 **** } 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 **** } ARM GAS /tmp/ccjvgGVC.s page 228 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 */ 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 ARM GAS /tmp/ccjvgGVC.s page 229 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; 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; ARM GAS /tmp/ccjvgGVC.s page 230 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 **** 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 */ ARM GAS /tmp/ccjvgGVC.s page 231 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 **** 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 **** } ARM GAS /tmp/ccjvgGVC.s page 232 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 **** /** 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); ARM GAS /tmp/ccjvgGVC.s page 233 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; 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 **** ARM GAS /tmp/ccjvgGVC.s page 234 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); 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; ARM GAS /tmp/ccjvgGVC.s page 235 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 **** } 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 **** ARM GAS /tmp/ccjvgGVC.s page 236 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); 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 */ ARM GAS /tmp/ccjvgGVC.s page 237 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 238 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 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 **** ARM GAS /tmp/ccjvgGVC.s page 239 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; 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) ARM GAS /tmp/ccjvgGVC.s page 240 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 */ 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; ARM GAS /tmp/ccjvgGVC.s page 241 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 */ 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 **** } ARM GAS /tmp/ccjvgGVC.s page 242 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 **** { 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 ARM GAS /tmp/ccjvgGVC.s page 243 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 **** */ 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; ARM GAS /tmp/ccjvgGVC.s page 244 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; 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 **** ARM GAS /tmp/ccjvgGVC.s page 245 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 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 **** } ARM GAS /tmp/ccjvgGVC.s page 246 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 */ 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 **** ARM GAS /tmp/ccjvgGVC.s page 247 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; 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 **** ARM GAS /tmp/ccjvgGVC.s page 248 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); 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 ARM GAS /tmp/ccjvgGVC.s page 249 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 **** */ 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 **** } ARM GAS /tmp/ccjvgGVC.s page 250 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 **** /** 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 **** { ARM GAS /tmp/ccjvgGVC.s page 251 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 **** { 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 **** ARM GAS /tmp/ccjvgGVC.s page 252 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 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 **** { ARM GAS /tmp/ccjvgGVC.s page 253 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 **** } 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 ARM GAS /tmp/ccjvgGVC.s page 254 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 **** 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; ARM GAS /tmp/ccjvgGVC.s page 255 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 */ 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 **** ARM GAS /tmp/ccjvgGVC.s page 256 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 **** { 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; ARM GAS /tmp/ccjvgGVC.s page 257 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 */ 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 **** { ARM GAS /tmp/ccjvgGVC.s page 258 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; 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; ARM GAS /tmp/ccjvgGVC.s page 259 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 */ 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 ----------------------------------------------------------------*/ ARM GAS /tmp/ccjvgGVC.s page 260 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 **** { 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, ARM GAS /tmp/ccjvgGVC.s page 261 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); 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); ARM GAS /tmp/ccjvgGVC.s page 262 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 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; ARM GAS /tmp/ccjvgGVC.s page 263 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 */ 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) ARM GAS /tmp/ccjvgGVC.s page 264 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 */ 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 **** /** ARM GAS /tmp/ccjvgGVC.s page 265 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 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 **** */ ARM GAS /tmp/ccjvgGVC.s page 266 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 **** { 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 **** ARM GAS /tmp/ccjvgGVC.s page 267 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 **** * @{ 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) ARM GAS /tmp/ccjvgGVC.s page 268 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 */ 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 **** { ARM GAS /tmp/ccjvgGVC.s page 269 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 **** { 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 */ ARM GAS /tmp/ccjvgGVC.s page 270 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 **** { 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 ARM GAS /tmp/ccjvgGVC.s page 271 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) 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); ARM GAS /tmp/ccjvgGVC.s page 272 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 */ 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))) ARM GAS /tmp/ccjvgGVC.s page 273 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) 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 **** ARM GAS /tmp/ccjvgGVC.s page 274 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; 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 */ ARM GAS /tmp/ccjvgGVC.s page 275 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 **** 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; ARM GAS /tmp/ccjvgGVC.s page 276 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); 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 **** { ARM GAS /tmp/ccjvgGVC.s page 277 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 **** } 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 ARM GAS /tmp/ccjvgGVC.s page 278 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 **** */ 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 */ ARM GAS /tmp/ccjvgGVC.s page 279 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 **** } 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); ARM GAS /tmp/ccjvgGVC.s page 280 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 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; ARM GAS /tmp/ccjvgGVC.s page 281 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 */ 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 */ ARM GAS /tmp/ccjvgGVC.s page 282 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 **** 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 **** { ARM GAS /tmp/ccjvgGVC.s page 283 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 **** } 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 **** { ARM GAS /tmp/ccjvgGVC.s page 284 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 **** 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 */ ARM GAS /tmp/ccjvgGVC.s page 285 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 **** { 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) ARM GAS /tmp/ccjvgGVC.s page 286 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; 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; ARM GAS /tmp/ccjvgGVC.s page 287 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; 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 **** } ARM GAS /tmp/ccjvgGVC.s page 288 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) 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++; ARM GAS /tmp/ccjvgGVC.s page 289 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 **** 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 **** ARM GAS /tmp/ccjvgGVC.s page 290 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; 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 2470 .loc 9 6554 26 view .LVU578 2471 .LBB156: 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; 2472 .loc 9 6557 3 view .LVU579 2473 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6557: uint 2474 .loc 9 6557 12 is_stmt 0 view .LVU580 2475 00be D96A ldr r1, [r3, #44] @ CurrentXferOptions, MEM [(struct I2C_HandleTypeDe 2476 .LVL119: 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) | 2477 .loc 9 6560 3 is_stmt 1 view .LVU581 2478 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6560: if ( 2479 .loc 9 6560 6 is_stmt 0 view .LVU582 ARM GAS /tmp/ccjvgGVC.s page 291 2480 00c0 0829 cmp r1, #8 @ CurrentXferOptions, 2481 00c2 04D0 beq .L303 @, 2482 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6560: if ( 2483 .loc 9 6560 56 discriminator 1 view .LVU583 2484 00c4 0129 cmp r1, #1 @ CurrentXferOptions, 2485 00c6 02D0 beq .L303 @, 2486 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6560: if ( 2487 .loc 9 6560 99 discriminator 2 view .LVU584 2488 00c8 11F5803F cmn r1, #65536 @ CurrentXferOptions, 2489 00cc 04D1 bne .L271 @, 2490 .L303: 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); 2491 .loc 9 6568 5 is_stmt 1 view .LVU585 2492 00ce 1368 ldr r3, [r2] @ _84,* _31 2493 00d0 43F48073 orr r3, r3, #256 @ _85, _84, 2494 00d4 1360 str r3, [r2] @ _85,* _31 2495 .LVL120: 2496 .loc 9 6568 5 is_stmt 0 view .LVU586 2497 00d6 02E0 b .L272 @ 2498 .LVL121: 2499 .L271: 6565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2500 .loc 9 6565 8 is_stmt 1 view .LVU587 2501 @ /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 **** { 2502 .loc 9 6565 16 is_stmt 0 view .LVU588 2503 00d8 1B6B ldr r3, [r3, #48] @ _82, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2504 @ /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 **** { 2505 .loc 9 6565 11 view .LVU589 2506 00da 122B cmp r3, #18 @ _82, 2507 00dc F7D0 beq .L303 @, 2508 .LVL122: 2509 .L272: 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 **** } 2510 .loc 9 6573 3 is_stmt 1 view .LVU590 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) 2511 .loc 9 6576 3 view .LVU591 2512 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6576: if ( 2513 .loc 9 6576 7 is_stmt 0 view .LVU592 2514 00de 4346 mov r3, r8 @, timeout 2515 00e0 0022 movs r2, #0 @, 2516 00e2 0097 str r7, [sp] @ _77, 2517 00e4 4FF00111 mov r1, #65537 @, ARM GAS /tmp/ccjvgGVC.s page 292 2518 .LVL123: 2519 .loc 9 6576 7 view .LVU593 2520 00e8 3046 mov r0, r6 @, _9 2521 00ea FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 2522 .LVL124: 2523 @ /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) 2524 .loc 9 6578 9 view .LVU594 2525 00ee 4FF0A80A mov r10, #168 @ tmp297, 2526 .LVL125: 2527 .loc 9 6578 9 view .LVU595 2528 00f2 0AFB05FA mul r10, r10, r5 @ tmp296, tmp297, bus 2529 00f6 04EB0A03 add r3, r4, r10 @ tmp298, tmp201, tmp296 2530 00fa 54F80A20 ldr r2, [r4, r10] @ pretmp_170, MEM [(struct I2C_HandleTypeDef *)&_i2 2531 @ /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 **** { 2532 .loc 9 6576 6 discriminator 1 view .LVU596 2533 00fe 30B1 cbz r0, .L273 @ tmp457, 2534 .loc 9 6578 5 is_stmt 1 view .LVU597 2535 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6578: if 2536 .loc 9 6578 9 is_stmt 0 view .LVU598 2537 0100 1268 ldr r2, [r2] @ _88, pretmp_170->CR1 2538 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6578: if 2539 .loc 9 6578 8 view .LVU599 2540 0102 D205 lsls r2, r2, #23 @, _88, 2541 0104 A2D5 bpl .L274 @, 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; 2542 .loc 9 6580 7 is_stmt 1 view .LVU600 2543 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6580: 2544 .loc 9 6580 23 is_stmt 0 view .LVU601 2545 0106 4FF40072 mov r2, #512 @ tmp305, 2546 010a 1A64 str r2, [r3, #64] @ tmp305, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 2547 .LVL126: 2548 .loc 9 6580 23 view .LVU602 2549 .LBE156: 2550 .LBE155: 2551 .LBE168: 2552 .LBE177: 2553 010c 9EE7 b .L274 @ 2554 .LVL127: 2555 .L273: 2556 @ /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; 2557 .loc 3 574 30 view .LVU603 2558 010e 0299 ldr r1, [sp, #8] @ addr, %sfp 2559 .LBB178: 2560 .LBB169: 2561 .LBB161: 2562 .LBB157: 2563 @ /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) ARM GAS /tmp/ccjvgGVC.s page 293 2564 .loc 9 6585 6 view .LVU604 2565 0110 1B69 ldr r3, [r3, #16] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 2566 .LBE157: 2567 .LBE161: 2568 .LBE169: 2569 .LBE178: 2570 @ /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; 2571 .loc 3 574 30 view .LVU605 2572 0112 4FEA4109 lsl r9, r1, #1 @ tmp306, addr, 2573 .LBB179: 2574 .LBB170: 2575 .LBB162: 2576 .LBB158: 2577 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6585: if ( 2578 .loc 9 6585 6 view .LVU606 2579 0116 B3F5804F cmp r3, #16384 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].ha 2580 .LBE158: 2581 .LBE162: 2582 .LBE170: 2583 .LBE179: 2584 @ /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; 2585 .loc 3 574 30 view .LVU607 2586 011a 1FFA89F9 uxth r9, r9 @ _2, tmp306 2587 .LBB180: 2588 .LBB171: 2589 .LBB163: 2590 .LBB159: 2591 .loc 9 6585 3 is_stmt 1 view .LVU608 2592 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6585: if ( 2593 .loc 9 6585 6 is_stmt 0 view .LVU609 2594 011e 2AD1 bne .L275 @, 2595 .L304: 2596 @ /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); 2597 .loc 9 6602 26 view .LVU610 2598 0120 5FFA89F3 uxtb r3, r9 @ _105, _2 2599 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6602: hi 2600 .loc 9 6602 24 view .LVU611 2601 0124 1361 str r3, [r2, #16] @ _105, ARM GAS /tmp/ccjvgGVC.s page 294 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 **** 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) 2602 .loc 9 6606 3 is_stmt 1 view .LVU612 2603 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6606: if ( 2604 .loc 9 6606 7 is_stmt 0 view .LVU613 2605 0126 4949 ldr r1, .L305+16 @, 2606 0128 3B46 mov r3, r7 @, _77 2607 012a 4246 mov r2, r8 @, timeout 2608 012c 3046 mov r0, r6 @, _9 2609 012e FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 2610 .LVL128: 2611 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6606: if ( 2612 .loc 9 6606 6 discriminator 1 view .LVU614 2613 0132 0028 cmp r0, #0 @ tmp325 2614 0134 8AD1 bne .L274 @ 2615 .LVL129: 2616 .loc 9 6606 6 discriminator 1 view .LVU615 2617 .LBE159: 2618 .LBE163: 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2619 .loc 9 1075 5 is_stmt 1 view .LVU616 2620 .LBB164: 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2621 .loc 9 1075 5 view .LVU617 2622 0136 4FF0A80A mov r10, #168 @ tmp329, 2623 013a 0AFB05FA mul r10, r10, r5 @ tmp328, tmp329, bus 2624 013e 0590 str r0, [sp, #20] @ tmp325, tmpreg 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2625 .loc 9 1075 5 view .LVU618 2626 0140 54F80A30 ldr r3, [r4, r10] @ _40, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2627 0144 5A69 ldr r2, [r3, #20] @ _41, _40->SR1 2628 0146 0592 str r2, [sp, #20] @ _41, tmpreg 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2629 .loc 9 1075 5 view .LVU619 2630 0148 9B69 ldr r3, [r3, #24] @ _42, _40->SR2 2631 014a 0593 str r3, [sp, #20] @ _42, tmpreg 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2632 .loc 9 1075 5 view .LVU620 2633 014c 059B ldr r3, [sp, #20] @ _43, tmpreg 2634 .LBE164: 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2635 .loc 9 1075 5 view .LVU621 1077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2636 .loc 9 1077 5 view .LVU622 2637 @ /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 **** { 2638 .loc 9 1077 16 is_stmt 0 view .LVU623 2639 014e 04EB0A09 add r9, r4, r10 @ tmp421, tmp201, tmp328 2640 .L277: 1077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2641 .loc 9 1077 27 is_stmt 1 view .LVU624 2642 0152 B9F82800 ldrh r0, [r9, #40] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 2643 0156 08BB cbnz r0, .L280 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].ha 1126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2644 .loc 9 1126 5 view .LVU625 ARM GAS /tmp/ccjvgGVC.s page 295 2645 0158 54F80A20 ldr r2, [r4, r10] @ _72, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2646 015c 1368 ldr r3, [r2] @ _73, _72->CR1 2647 015e 43F40073 orr r3, r3, #512 @ _74, _73, 2648 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; 2649 .loc 9 1128 5 view .LVU626 2650 @ /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; 2651 .loc 9 1128 17 is_stmt 0 view .LVU627 2652 0164 2023 movs r3, #32 @ tmp433, 2653 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 **** 2654 .loc 9 1129 5 is_stmt 1 view .LVU628 2655 @ /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 **** 2656 .loc 9 1132 5 is_stmt 0 view .LVU629 2657 016a 89F83C00 strb r0, [r9, #60] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 2658 @ /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 **** 2659 .loc 9 1129 16 view .LVU630 2660 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 **** 2661 .loc 9 1132 5 is_stmt 1 view .LVU631 1132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2662 .loc 9 1132 5 view .LVU632 1132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2663 .loc 9 1132 5 view .LVU633 1134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2664 .loc 9 1134 5 view .LVU634 2665 .LVL130: 1134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2666 .loc 9 1134 5 is_stmt 0 view .LVU635 2667 .LBE171: 2668 .LBE180: 2669 @ /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 **** } 2670 .loc 3 578 10 view .LVU636 2671 0172 0446 mov r4, r0 @ , MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_ 2672 0174 6CE7 b .L267 @ 2673 .LVL131: 2674 .L275: 2675 .LBB181: 2676 .LBB172: 2677 .LBB165: 2678 .LBB160: 6593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2679 .loc 9 6593 5 is_stmt 1 view .LVU637 2680 @ /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 **** 2681 .loc 9 6593 26 is_stmt 0 view .LVU638 2682 0176 4FEAE913 asr r3, r9, #7 @ _96, _2, 2683 017a 03F00603 and r3, r3, #6 @ tmp315, _96, 2684 017e 43F0F003 orr r3, r3, #240 @ _101, tmp315, 2685 @ /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 **** 2686 .loc 9 6593 24 view .LVU639 2687 0182 1361 str r3, [r2, #16] @ _101, pretmp_170->DR ARM GAS /tmp/ccjvgGVC.s page 296 6596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2688 .loc 9 6596 5 is_stmt 1 view .LVU640 2689 @ /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 **** { 2690 .loc 9 6596 9 is_stmt 0 view .LVU641 2691 0184 3249 ldr r1, .L305+20 @, 2692 0186 3B46 mov r3, r7 @, _77 2693 0188 4246 mov r2, r8 @, timeout 2694 018a 3046 mov r0, r6 @, _9 2695 018c FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 2696 .LVL132: 2697 @ /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 **** { 2698 .loc 9 6596 8 discriminator 1 view .LVU642 2699 0190 0028 cmp r0, #0 @ tmp458 2700 0192 7FF45BAF bne .L274 @ 6602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2701 .loc 9 6602 5 is_stmt 1 view .LVU643 2702 @ /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 **** } 2703 .loc 9 6602 9 is_stmt 0 view .LVU644 2704 0196 54F80A20 ldr r2, [r4, r10] @ _104, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2705 019a C1E7 b .L304 @ 2706 .LVL133: 2707 .L280: 6602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2708 .loc 9 6602 9 view .LVU645 2709 .LBE160: 2710 .LBE165: 1080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2711 .loc 9 1080 7 is_stmt 1 view .LVU646 2712 @ /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 **** { 2713 .loc 9 1080 11 is_stmt 0 view .LVU647 2714 019c 3A46 mov r2, r7 @, _77 2715 019e 4146 mov r1, r8 @, timeout 2716 01a0 3046 mov r0, r6 @, _9 2717 01a2 FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 2718 .LVL134: 2719 @ /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 **** { 2720 .loc 9 1080 10 discriminator 1 view .LVU648 2721 01a6 58B1 cbz r0, .L278 @ tmp460, 1082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2722 .loc 9 1082 9 is_stmt 1 view .LVU649 2723 @ /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 **** { 2724 .loc 9 1082 17 is_stmt 0 view .LVU650 2725 01a8 D9F84030 ldr r3, [r9, #64] @ _45, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2726 @ /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 **** { 2727 .loc 9 1082 12 view .LVU651 2728 01ac 042B cmp r3, #4 @ _45, 2729 01ae 7FF44DAF bne .L274 @, 1085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2730 .loc 9 1085 11 is_stmt 1 view .LVU652 2731 01b2 54F80A20 ldr r2, [r4, r10] @ _46, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] ARM GAS /tmp/ccjvgGVC.s page 297 2732 .L302: 2733 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1119: 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2734 .loc 9 1119 11 is_stmt 0 view .LVU653 2735 01b6 1368 ldr r3, [r2] @ _69,* _68 2736 01b8 43F40073 orr r3, r3, #512 @ _70, _69, 2737 01bc 1360 str r3, [r2] @ _70,* _68 2738 .LVL135: 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2739 .loc 9 1119 11 view .LVU654 2740 01be 45E7 b .L274 @ 2741 .LVL136: 2742 .L278: 1091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2743 .loc 9 1091 7 is_stmt 1 view .LVU655 2744 @ /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 **** 2745 .loc 9 1091 33 is_stmt 0 view .LVU656 2746 01c0 D9F82430 ldr r3, [r9, #36] @ _49, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2747 @ /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 **** 2748 .loc 9 1091 11 view .LVU657 2749 01c4 D9F80000 ldr r0, [r9] @ _51, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 2750 @ /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 **** 2751 .loc 9 1091 28 view .LVU658 2752 01c8 1A46 mov r2, r3 @ _53, _49 2753 01ca 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2 @ _52, *_49 2754 @ /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 **** 2755 .loc 9 1091 26 view .LVU659 2756 01ce 0161 str r1, [r0, #16] @ _52, _51->DR 1094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2757 .loc 9 1094 7 is_stmt 1 view .LVU660 2758 @ /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 **** 2759 .loc 9 1094 21 is_stmt 0 view .LVU661 2760 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--; 2761 .loc 9 1097 7 is_stmt 1 view .LVU662 2762 @ /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--; 2763 .loc 9 1097 11 is_stmt 0 view .LVU663 2764 01d4 B9F82A20 ldrh r2, [r9, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 2765 @ /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--; 2766 .loc 9 1097 22 view .LVU664 2767 01d8 013A subs r2, r2, #1 @ tmp362, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2768 01da 92B2 uxth r2, r2 @ _55, tmp362 2769 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 **** 2770 .loc 9 1098 7 is_stmt 1 view .LVU665 2771 @ /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 **** 2772 .loc 9 1098 11 is_stmt 0 view .LVU666 2773 01e0 B9F82820 ldrh r2, [r9, #40] @ _56, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2774 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1100: ARM GAS /tmp/ccjvgGVC.s page 298 1100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2775 .loc 9 1100 12 view .LVU667 2776 01e4 D0F814C0 ldr ip, [r0, #20] @ _58, _51->SR1 2777 @ /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 **** 2778 .loc 9 1098 21 view .LVU668 2779 01e8 511E subs r1, r2, #1 @ tmp374, _56, 2780 01ea 89B2 uxth r1, r1 @ _57, tmp374 2781 @ /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 **** { 2782 .loc 9 1100 10 view .LVU669 2783 01ec 1CF0040F tst ip, #4 @ _58, 2784 @ /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 **** 2785 .loc 9 1098 21 view .LVU670 2786 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 **** { 2787 .loc 9 1100 7 is_stmt 1 view .LVU671 2788 @ /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 **** { 2789 .loc 9 1100 10 is_stmt 0 view .LVU672 2790 01f4 0ED0 beq .L279 @, 2791 @ /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 **** { 2792 .loc 9 1100 59 discriminator 1 view .LVU673 2793 01f6 69B1 cbz r1, .L279 @ _57, 1103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2794 .loc 9 1103 9 is_stmt 1 view .LVU674 2795 @ /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 **** 2796 .loc 9 1103 30 is_stmt 0 view .LVU675 2797 01f8 5978 ldrb r1, [r3, #1] @ zero_extendqisi2 @ _61, MEM[(uint8_t *)_49 + 1B] 2798 @ /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 **** 2799 .loc 9 1103 28 view .LVU676 2800 01fa 0161 str r1, [r0, #16] @ _61, _51->DR 1106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2801 .loc 9 1106 9 is_stmt 1 view .LVU677 2802 @ /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 **** 2803 .loc 9 1106 23 is_stmt 0 view .LVU678 2804 01fc 0233 adds r3, r3, #2 @ _62, _49, 2805 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--; 2806 .loc 9 1109 9 is_stmt 1 view .LVU679 2807 @ /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--; 2808 .loc 9 1109 13 is_stmt 0 view .LVU680 2809 0202 B9F82A30 ldrh r3, [r9, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 2810 @ /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--; 2811 .loc 9 1109 24 view .LVU681 2812 0206 013B subs r3, r3, #1 @ tmp394, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2813 0208 9BB2 uxth r3, r3 @ _64, tmp394 2814 @ /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 **** } 2815 .loc 9 1110 23 view .LVU682 ARM GAS /tmp/ccjvgGVC.s page 299 2816 020a 023A subs r2, r2, #2 @ tmp406, _56, 2817 @ /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--; 2818 .loc 9 1109 24 view .LVU683 2819 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 **** } 2820 .loc 9 1110 9 is_stmt 1 view .LVU684 2821 @ /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 **** } 2822 .loc 9 1110 23 is_stmt 0 view .LVU685 2823 0210 A9F82820 strh r2, [r9, #40] @ movhi @ tmp406, MEM [(struct I2C_HandleTypeDef * 2824 .L279: 1114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2825 .loc 9 1114 7 is_stmt 1 view .LVU686 2826 @ /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 **** { 2827 .loc 9 1114 11 is_stmt 0 view .LVU687 2828 0214 3A46 mov r2, r7 @, _77 2829 0216 4146 mov r1, r8 @, timeout 2830 0218 3046 mov r0, r6 @, _9 2831 021a FFF7FEFF bl I2C_WaitOnBTFFlagUntilTimeout.lto_priv.0 @ 2832 .LVL137: 2833 @ /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 **** { 2834 .loc 9 1114 10 discriminator 1 view .LVU688 2835 021e 0028 cmp r0, #0 @ tmp461 2836 0220 97D0 beq .L277 @ 1116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2837 .loc 9 1116 9 is_stmt 1 view .LVU689 2838 @ /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 **** { 2839 .loc 9 1116 17 is_stmt 0 view .LVU690 2840 0222 A823 movs r3, #168 @ tmp411, 2841 0224 6B43 muls r3, r5, r3 @ tmp410, bus 2842 0226 E218 adds r2, r4, r3 @ tmp412, tmp201, tmp410 2843 0228 126C ldr r2, [r2, #64] @ _67, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2844 @ /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 **** { 2845 .loc 9 1116 12 view .LVU691 2846 022a 042A cmp r2, #4 @ _67, 2847 022c 7FF40EAF bne .L274 @, 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2848 .loc 9 1119 11 is_stmt 1 view .LVU692 2849 0230 E258 ldr r2, [r4, r3] @ _68, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 2850 0232 C0E7 b .L302 @ 2851 .LVL138: 2852 .L281: 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2853 .loc 9 1119 11 is_stmt 0 view .LVU693 2854 .LBE172: 2855 .LBE181: 2856 @ /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 **** 2857 .loc 3 571 19 discriminator 1 view .LVU694 2858 0234 4FF0FF34 mov r4, #-1 @ , 2859 .LVL139: 571:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ARM GAS /tmp/ccjvgGVC.s page 300 2860 .loc 3 571 19 discriminator 1 view .LVU695 2861 0238 0DE7 b .L264 @ 2862 .L306: 2863 023a 00BF .align 2 2864 .L305: 2865 023c 00000000 .word _ZL9_i2c_devs 2866 0240 00000000 .word _ZL9_ms_ticks.lto_priv.0 2867 0244 02001000 .word 1048578 2868 0248 0000FFFF .word -65536 2869 024c 02000100 .word 65538 2870 0250 08000100 .word 65544 2871 .cfi_endproc 2872 .LFE46: 2873 .size _Z19stm32_i2c_master_txhtPhtm, .-_Z19stm32_i2c_master_txhtPhtm 2874 .section .text._Z19stm32_i2c_master_rxhtPhtm,"ax",%progbits 2875 .align 1 2876 .global _Z19stm32_i2c_master_rxhtPhtm 2877 .syntax unified 2878 .thumb 2879 .thumb_func 2880 .type _Z19stm32_i2c_master_rxhtPhtm, %function 2881 _Z19stm32_i2c_master_rxhtPhtm: 2882 .LVL140: 2883 .LFB51: 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 **** { 2884 .loc 3 583 1 is_stmt 1 view -0 2885 .cfi_startproc 2886 @ args = 4, pretend = 0, frame = 40 2887 @ 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); 2888 .loc 3 584 3 view .LVU697 2889 .LBB201: 2890 .LBI201: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 2891 .loc 3 54 27 view .LVU698 2892 .LBB202: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 2893 .loc 3 56 3 view .LVU699 2894 .LBE202: 2895 .LBE201: 2896 @ /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); 2897 .loc 3 583 1 is_stmt 0 view .LVU700 2898 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 2899 .LCFI19: 2900 .cfi_def_cfa_offset 36 2901 .cfi_offset 4, -36 2902 .cfi_offset 5, -32 2903 .cfi_offset 6, -28 2904 .cfi_offset 7, -24 2905 .cfi_offset 8, -20 2906 .cfi_offset 9, -16 2907 .cfi_offset 10, -12 2908 .cfi_offset 11, -8 ARM GAS /tmp/ccjvgGVC.s page 301 2909 .cfi_offset 14, -4 2910 0004 8DB0 sub sp, sp, #52 @,, 2911 .LCFI20: 2912 .cfi_def_cfa_offset 88 2913 .LBB205: 2914 .LBB203: 2915 @ /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; 2916 .loc 3 56 3 view .LVU701 2917 0006 0128 cmp r0, #1 @ bus, 2918 .LBE203: 2919 .LBE205: 2920 @ /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); 2921 .loc 3 583 1 view .LVU702 2922 0008 CDE90212 strd r1, r2, [sp, #8] @ tmp866, tmp867,, 2923 000c DDF85880 ldr r8, [sp, #88] @ timeout, timeout 2924 0010 8146 mov r9, r0 @ bus, tmp865 2925 0012 9A46 mov r10, r3 @ len, tmp868 2926 .LBB206: 2927 .LBB204: 2928 @ /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; 2929 .loc 3 56 3 view .LVU703 2930 0014 00F29681 bhi .L331 @, 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 2931 .loc 3 57 3 is_stmt 1 view .LVU704 2932 @ /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 **** } 2933 .loc 3 57 26 is_stmt 0 view .LVU705 2934 0018 964C ldr r4, .L359 @ tmp299, 2935 001a 4542 rsbs r5, r0, #0 @ tmp298, bus 2936 001c 05F0A805 and r5, r5, #168 @ _214, tmp298, 2937 0020 2E19 adds r6, r5, r4 @ _9, _214, tmp299 2938 .LVL141: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 2939 .loc 3 57 26 view .LVU706 2940 .LBE204: 2941 .LBE206: 585:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 2942 .loc 3 585 3 is_stmt 1 view .LVU707 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); 2943 .loc 3 587 3 view .LVU708 2944 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:587: I2CMutex(bus); 2945 .loc 3 587 3 is_stmt 0 discriminator 1 view .LVU709 2946 0022 3046 mov r0, r6 @, _9 2947 .LVL142: 2948 .loc 3 587 3 discriminator 1 view .LVU710 2949 0024 FFF7FEFF bl _ZL16i2c_ensure_mutexP16stm32_i2c_device @ 2950 .LVL143: 2951 .loc 3 587 3 is_stmt 1 discriminator 2 view .LVU711 2952 .LBB207: 2953 .LBI207: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2954 .loc 4 102 20 view .LVU712 2955 .LBB208: ARM GAS /tmp/ccjvgGVC.s page 302 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2956 .loc 4 102 55 view .LVU713 2957 .LBE208: 2958 .LBE207: 2959 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:587: I2CMutex(bus); 2960 .loc 3 587 3 is_stmt 0 discriminator 3 view .LVU714 2961 0028 05F15801 add r1, r5, #88 @ _3, _214, 2962 .LBB211: 2963 .LBB212: 2964 @ /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 **** { 2965 .loc 9 1158 11 view .LVU715 2966 002c A825 movs r5, #168 @ tmp307, 2967 .LVL144: 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2968 .loc 9 1158 11 view .LVU716 2969 .LBE212: 2970 .LBE211: 2971 .LBB238: 2972 .LBB209: 2973 @ /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);} 2974 .loc 4 102 75 view .LVU717 2975 002e 2144 add r1, r1, r4 @, tmp299 2976 .LVL145: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2977 .loc 4 102 75 view .LVU718 2978 0030 0AA8 add r0, sp, #40 @,, 2979 .LBE209: 2980 .LBE238: 2981 .LBB239: 2982 .LBB233: 2983 @ /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 **** { 2984 .loc 9 1158 11 view .LVU719 2985 0032 05FB09F5 mul r5, r5, r9 @ tmp306, tmp307, bus 2986 .LBE233: 2987 .LBE239: 2988 .LBB240: 2989 .LBB210: 2990 @ /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);} 2991 .loc 4 102 75 view .LVU720 2992 0036 FFF7FEFF bl _ZN9MutexLockC2EP14mutex_handle_t.isra.0 @ 2993 .LVL146: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2994 .loc 4 102 75 view .LVU721 2995 .LBE210: 2996 .LBE240: 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) { 2997 .loc 3 588 3 is_stmt 1 view .LVU722 2998 .LBB241: 2999 .LBI211: 1153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3000 .loc 9 1153 19 view .LVU723 3001 .LBB234: 1156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccjvgGVC.s page 303 3002 .loc 9 1156 3 view .LVU724 3003 .LBB213: 3004 .LBI213: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 3005 .loc 10 25 21 view .LVU725 3006 .loc 10 27 5 view .LVU726 3007 .LBB214: 3008 .LBI214: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 3009 .loc 11 54 10 view .LVU727 3010 .LBB215: 3011 .loc 11 56 3 view .LVU728 3012 .LBE215: 3013 .LBE214: 3014 .LBE213: 3015 @ /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 **** { 3016 .loc 9 1158 11 is_stmt 0 view .LVU729 3017 003a 04EB050B add fp, r4, r5 @ tmp308, tmp299, tmp306 3018 .LBB218: 3019 .LBB217: 3020 .LBB216: 3021 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 3022 .loc 11 56 10 view .LVU730 3023 003e 8E4B ldr r3, .L359+4 @ tmp304, 3024 0040 1F68 ldr r7, [r3] @ _162, _ms_ticks 3025 .LVL147: 3026 .loc 11 56 10 view .LVU731 3027 .LBE216: 3028 .LBE217: 3029 .LBE218: 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3030 .loc 9 1158 3 is_stmt 1 view .LVU732 3031 @ /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 **** { 3032 .loc 9 1158 11 is_stmt 0 view .LVU733 3033 0042 9BF83D30 ldrb r3, [fp, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 3034 @ /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 **** { 3035 .loc 9 1158 6 view .LVU734 3036 0046 202B cmp r3, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handl 3037 0048 5AD1 bne .L310 @, 1161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3038 .loc 9 1161 5 is_stmt 1 view .LVU735 3039 @ /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 **** { 3040 .loc 9 1161 9 is_stmt 0 view .LVU736 3041 004a 8C49 ldr r1, .L359+8 @, 3042 004c 0097 str r7, [sp] @ _162, 3043 004e 1923 movs r3, #25 @, 3044 0050 0122 movs r2, #1 @, 3045 0052 3046 mov r0, r6 @, _9 3046 0054 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 3047 .LVL148: 3048 @ /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 **** { 3049 .loc 9 1161 8 discriminator 1 view .LVU737 ARM GAS /tmp/ccjvgGVC.s page 304 3050 0058 0028 cmp r0, #0 @ tmp869 3051 005a 51D1 bne .L310 @ 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3052 .loc 9 1167 5 is_stmt 1 view .LVU738 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3053 .loc 9 1167 5 view .LVU739 3054 005c 9BF83C30 ldrb r3, [fp, #60] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 3055 0060 012B cmp r3, #1 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handle 3056 0062 4DD0 beq .L310 @, 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3057 .loc 9 1167 5 discriminator 2 view .LVU740 3058 @ /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 **** { 3059 .loc 9 1170 14 is_stmt 0 view .LVU741 3060 0064 6259 ldr r2, [r4, r5] @ _31, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 3061 @ /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 **** 3062 .loc 9 1167 5 discriminator 2 view .LVU742 3063 0066 0123 movs r3, #1 @ tmp325, 3064 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 **** 3065 .loc 9 1167 5 is_stmt 1 view .LVU743 1170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3066 .loc 9 1170 5 view .LVU744 3067 @ /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 **** { 3068 .loc 9 1170 24 is_stmt 0 view .LVU745 3069 006c 1368 ldr r3, [r2] @ _32, _31->CR1 3070 @ /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 **** { 3071 .loc 9 1170 8 view .LVU746 3072 006e DD07 lsls r5, r3, #31 @, _32, 1173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3073 .loc 9 1173 7 is_stmt 1 view .LVU747 3074 0070 5EBF ittt pl 3075 0072 1368 ldrpl r3, [r2] @ _34, _31->CR1 3076 0074 43F00103 orrpl r3, r3, #1 @ _35, _34, 3077 0078 1360 strpl r3, [r2] @ _35, _31->CR1 1177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3078 .loc 9 1177 5 view .LVU748 3079 007a 1368 ldr r3, [r2] @ _36, _31->CR1 3080 007c 23F40063 bic r3, r3, #2048 @ _37, _36, 3081 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; 3082 .loc 9 1179 5 view .LVU749 3083 @ /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; 3084 .loc 9 1179 23 is_stmt 0 view .LVU750 3085 0082 A823 movs r3, #168 @ tmp334, 3086 0084 03FB0943 mla r3, r3, r9, r4 @ tmp335, tmp334, bus, tmp299 3087 0088 2221 movs r1, #34 @ tmp337, 3088 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; 3089 .loc 9 1180 5 is_stmt 1 view .LVU751 3090 @ /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; 3091 .loc 9 1180 23 is_stmt 0 view .LVU752 ARM GAS /tmp/ccjvgGVC.s page 305 3092 008e 1021 movs r1, #16 @ tmp344, 3093 0090 83F83E10 strb r1, [r3, #62] @ tmp344, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 1181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3094 .loc 9 1181 5 is_stmt 1 view .LVU753 3095 @ /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 **** 3096 .loc 9 1181 23 is_stmt 0 view .LVU754 3097 0094 0021 movs r1, #0 @ tmp351, 3098 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; 3099 .loc 9 1184 5 is_stmt 1 view .LVU755 3100 @ /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; 3101 .loc 9 1185 23 is_stmt 0 view .LVU756 3102 0098 A3F82AA0 strh r10, [r3, #42] @ movhi @ len, MEM [(struct I2C_HandleTypeDef *)& 3103 @ /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; 3104 .loc 9 1184 23 view .LVU757 3105 009c 0399 ldr r1, [sp, #12] @ data, %sfp 3106 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; 3107 .loc 9 1185 5 is_stmt 1 view .LVU758 1186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3108 .loc 9 1186 5 view .LVU759 3109 @ /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; 3110 .loc 9 1186 29 is_stmt 0 view .LVU760 3111 00a0 598D ldrh r1, [r3, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3112 @ /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; 3113 .loc 9 1186 23 view .LVU761 3114 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 **** 3115 .loc 9 1187 5 is_stmt 1 view .LVU762 3116 @ /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 **** 3117 .loc 9 1187 23 is_stmt 0 view .LVU763 3118 00a4 7649 ldr r1, .L359+12 @ tmp380, 3119 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 **** { 3120 .loc 9 1190 5 is_stmt 1 view .LVU764 3121 .LVL149: 3122 .LBB219: 3123 .LBI219: 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 ARM GAS /tmp/ccjvgGVC.s page 306 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 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 3124 .loc 9 6624 26 view .LVU765 3125 .LBB220: 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; 3126 .loc 9 6627 3 view .LVU766 3127 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6627: uint 3128 .loc 9 6627 12 is_stmt 0 view .LVU767 3129 00a8 D96A ldr r1, [r3, #44] @ CurrentXferOptions, MEM [(struct I2C_HandleTypeDe 3130 .LVL150: 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); 3131 .loc 9 6630 3 is_stmt 1 view .LVU768 3132 00aa 1068 ldr r0, [r2] @ _165, _31->CR1 3133 @ /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) 3134 .loc 9 6633 6 is_stmt 0 view .LVU769 3135 00ac 0829 cmp r1, #8 @ CurrentXferOptions, 3136 @ /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 **** 3137 .loc 9 6630 3 view .LVU770 3138 00ae 40F48060 orr r0, r0, #1024 @ _166, _165, 3139 00b2 1060 str r0, [r2] @ _166, _31->CR1 3140 .loc 9 6633 3 is_stmt 1 view .LVU771 3141 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6633: if ( 3142 .loc 9 6633 6 is_stmt 0 view .LVU772 3143 00b4 04D0 beq .L350 @, 3144 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6633: if ( 3145 .loc 9 6633 56 discriminator 1 view .LVU773 3146 00b6 0129 cmp r1, #1 @ CurrentXferOptions, 3147 00b8 02D0 beq .L350 @, 3148 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6633: if ( 3149 .loc 9 6633 100 discriminator 2 view .LVU774 3150 00ba 11F5803F cmn r1, #65536 @ CurrentXferOptions, 3151 00be 04D1 bne .L314 @, 3152 .L350: 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); 3153 .loc 9 6641 5 is_stmt 1 view .LVU775 3154 00c0 1368 ldr r3, [r2] @ _170,* _31 3155 00c2 43F48073 orr r3, r3, #256 @ _171, _170, 3156 00c6 1360 str r3, [r2] @ _171,* _31 3157 .LVL151: ARM GAS /tmp/ccjvgGVC.s page 307 3158 .loc 9 6641 5 is_stmt 0 view .LVU776 3159 00c8 02E0 b .L315 @ 3160 .LVL152: 3161 .L314: 6638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3162 .loc 9 6638 8 is_stmt 1 view .LVU777 3163 @ /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 **** { 3164 .loc 9 6638 16 is_stmt 0 view .LVU778 3165 00ca 1B6B ldr r3, [r3, #48] @ _169, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3166 @ /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 **** { 3167 .loc 9 6638 11 view .LVU779 3168 00cc 112B cmp r3, #17 @ _169, 3169 00ce F7D0 beq .L350 @, 3170 .LVL153: 3171 .L315: 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 **** } 3172 .loc 9 6646 3 is_stmt 1 view .LVU780 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) 3173 .loc 9 6649 3 view .LVU781 3174 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6649: if ( 3175 .loc 9 6649 7 is_stmt 0 view .LVU782 3176 00d0 4346 mov r3, r8 @, timeout 3177 00d2 0097 str r7, [sp] @ _162, 3178 00d4 0022 movs r2, #0 @, 3179 00d6 4FF00111 mov r1, #65537 @, 3180 .LVL154: 3181 .loc 9 6649 7 view .LVU783 3182 00da 3046 mov r0, r6 @, _9 3183 00dc FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 3184 .LVL155: 3185 @ /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) 3186 .loc 9 6651 9 view .LVU784 3187 00e0 4FF0A80A mov r10, #168 @ tmp395, 3188 .LVL156: 3189 .loc 9 6651 9 view .LVU785 3190 00e4 0AFB09FA mul r10, r10, r9 @ tmp394, tmp395, bus 3191 00e8 04EB0A0B add fp, r4, r10 @ tmp396, tmp299, tmp394 3192 00ec 54F80A30 ldr r3, [r4, r10] @ pretmp_253, MEM [(struct I2C_HandleTypeDef *)&_i2 3193 @ /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 **** { 3194 .loc 9 6649 6 discriminator 1 view .LVU786 3195 00f0 78B1 cbz r0, .L316 @ tmp870, 3196 .loc 9 6651 5 is_stmt 1 view .LVU787 3197 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6651: if 3198 .loc 9 6651 9 is_stmt 0 view .LVU788 3199 00f2 1B68 ldr r3, [r3] @ _174, pretmp_253->CR1 3200 .LVL157: ARM GAS /tmp/ccjvgGVC.s page 308 3201 .L356: 3202 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6651: if 3203 .loc 9 6651 8 view .LVU789 3204 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; 3205 .loc 9 6653 7 is_stmt 1 view .LVU790 3206 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6653: 3207 .loc 9 6653 23 is_stmt 0 view .LVU791 3208 00f6 44BF itt mi 3209 00f8 4FF40073 movmi r3, #512 @ tmp403, 3210 00fc CBF84030 strmi r3, [fp, #64] @ tmp403, 3211 .LVL158: 3212 .L310: 3213 .loc 9 6653 23 view .LVU792 3214 .LBE220: 3215 .LBE219: 3216 .LBE234: 3217 .LBE241: 3218 @ /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; 3219 .loc 3 589 13 view .LVU793 3220 0100 4FF0FF34 mov r4, #-1 @ , 3221 .LVL159: 3222 .L317: 3223 @ /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 **** } 3224 .loc 3 593 1 view .LVU794 3225 0104 0AA8 add r0, sp, #40 @,, 3226 0106 FFF7FEFF bl _ZN9MutexLockD2Ev.isra.0 @ 3227 .LVL160: 3228 .L307: 3229 .loc 3 593 1 view .LVU795 3230 010a 2046 mov r0, r4 @, 3231 010c 0DB0 add sp, sp, #52 @,, 3232 .LCFI21: 3233 .cfi_remember_state 3234 .cfi_def_cfa_offset 36 3235 @ sp needed @ 3236 010e BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 3237 .LVL161: 3238 .L316: 3239 .LCFI22: 3240 .cfi_restore_state 3241 @ /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; 3242 .loc 3 588 29 view .LVU796 3243 0112 029A ldr r2, [sp, #8] @ addr, %sfp 3244 0114 5500 lsls r5, r2, #1 @ tmp404, addr, 3245 .LBB242: 3246 .LBB235: 3247 .LBB225: 3248 .LBB222: 3249 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6658: if ( ARM GAS /tmp/ccjvgGVC.s page 309 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; 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) 3250 .loc 9 6658 6 view .LVU797 3251 0116 DBF81020 ldr r2, [fp, #16] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 3252 011a B2F5804F cmp r2, #16384 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].ha 3253 .LBE222: 3254 .LBE225: 3255 .LBE235: 3256 .LBE242: 3257 @ /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; 3258 .loc 3 588 29 view .LVU798 3259 011e ADB2 uxth r5, r5 @ _2, tmp404 3260 .LBB243: 3261 .LBB236: 3262 .LBB226: 3263 .LBB223: 3264 .loc 9 6658 3 is_stmt 1 view .LVU799 3265 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6658: if ( 3266 .loc 9 6658 6 is_stmt 0 view .LVU800 3267 0120 2CD1 bne .L318 @, 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); 3268 .loc 9 6661 5 is_stmt 1 view .LVU801 3269 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6661: hi 3270 .loc 9 6661 26 is_stmt 0 view .LVU802 3271 0122 45F00105 orr r5, r5, #1 @ tmp412, _2, 3272 0126 EDB2 uxtb r5, r5 @ _180, tmp412 3273 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6661: hi 3274 .loc 9 6661 24 view .LVU803 3275 0128 1D61 str r5, [r3, #16] @ _180, pretmp_253->DR 3276 .LVL162: 3277 .L319: 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 **** } ARM GAS /tmp/ccjvgGVC.s page 310 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 */ 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) 3278 .loc 9 6704 3 is_stmt 1 view .LVU804 3279 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6704: if ( 3280 .loc 9 6704 7 is_stmt 0 view .LVU805 3281 012a 5649 ldr r1, .L359+16 @, 3282 012c 3B46 mov r3, r7 @, _162 3283 012e 4246 mov r2, r8 @, timeout 3284 0130 3046 mov r0, r6 @, _9 3285 0132 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 3286 .LVL163: 3287 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6704: if ( 3288 .loc 9 6704 6 discriminator 1 view .LVU806 3289 0136 0028 cmp r0, #0 @ tmp444 3290 0138 E2D1 bne .L310 @ 3291 .LVL164: 3292 .loc 9 6704 6 discriminator 1 view .LVU807 3293 .LBE223: 3294 .LBE226: 1195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3295 .loc 9 1195 5 is_stmt 1 view .LVU808 3296 @ /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 **** { 3297 .loc 9 1195 13 is_stmt 0 view .LVU809 3298 013a A823 movs r3, #168 @ tmp447, 3299 013c 03FB09F3 mul r3, r3, r9 @ tmp446, tmp447, bus 3300 0140 E218 adds r2, r4, r3 @ tmp448, tmp299, tmp446 3301 .LBB227: 3302 @ /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 **** 3303 .loc 9 1198 7 view .LVU810 3304 0142 E358 ldr r3, [r4, r3] @ pretmp_318, MEM [(struct I2C_HandleTypeDef *)&_i2c 3305 .LBE227: 3306 @ /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 **** { 3307 .loc 9 1195 13 view .LVU811 ARM GAS /tmp/ccjvgGVC.s page 311 3308 0144 128D ldrh r2, [r2, #40] @ _40, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3309 @ /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 **** { 3310 .loc 9 1195 8 view .LVU812 3311 0146 002A cmp r2, #0 @ _40 3312 0148 51D1 bne .L321 @ 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3313 .loc 9 1198 7 is_stmt 1 view .LVU813 3314 .LBB228: 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3315 .loc 9 1198 7 view .LVU814 3316 014a 0892 str r2, [sp, #32] @ _40, tmpreg 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3317 .loc 9 1198 7 view .LVU815 3318 014c 5A69 ldr r2, [r3, #20] @ _42, pretmp_318->SR1 3319 014e 0892 str r2, [sp, #32] @ _42, tmpreg 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3320 .loc 9 1198 7 view .LVU816 3321 0150 9A69 ldr r2, [r3, #24] @ _43, pretmp_318->SR2 3322 0152 0892 str r2, [sp, #32] @ _43, tmpreg 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3323 .loc 9 1198 7 view .LVU817 3324 0154 089A ldr r2, [sp, #32] @ _44, tmpreg 3325 .L352: 3326 .LBE228: 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3327 .loc 9 1198 7 view .LVU818 1201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3328 .loc 9 1201 7 view .LVU819 3329 0156 1A68 ldr r2, [r3] @ _45,* pretmp_318 3330 0158 42F40072 orr r2, r2, #512 @ _46, _45, 3331 015c 1A60 str r2, [r3] @ _46,* pretmp_318 3332 .L324: 3333 @ /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 **** { 3334 .loc 9 1234 16 is_stmt 0 view .LVU820 3335 015e A823 movs r3, #168 @ tmp837, 3336 0160 03FB0944 mla r4, r3, r9, r4 @ tmp838, tmp837, bus, tmp299 3337 .LVL165: 3338 .L322: 1234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3339 .loc 9 1234 27 is_stmt 1 view .LVU821 3340 @ /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 **** { 3341 .loc 9 1234 16 is_stmt 0 view .LVU822 3342 0164 208D ldrh r0, [r4, #40] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3343 @ /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 **** { 3344 .loc 9 1234 27 view .LVU823 3345 0166 0028 cmp r0, #0 @ _69 3346 0168 69D1 bne .L330 @ 1374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3347 .loc 9 1374 5 is_stmt 1 view .LVU824 3348 @ /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; 3349 .loc 9 1374 17 is_stmt 0 view .LVU825 3350 016a 2023 movs r3, #32 @ tmp845, ARM GAS /tmp/ccjvgGVC.s page 312 3351 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 **** 3352 .loc 9 1375 5 is_stmt 1 view .LVU826 3353 @ /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 **** 3354 .loc 9 1378 5 is_stmt 0 view .LVU827 3355 0170 84F83C00 strb r0, [r4, #60] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3356 @ /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 **** 3357 .loc 9 1375 16 view .LVU828 3358 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 **** 3359 .loc 9 1378 5 is_stmt 1 view .LVU829 1378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3360 .loc 9 1378 5 view .LVU830 1378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3361 .loc 9 1378 5 view .LVU831 1380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3362 .loc 9 1380 5 view .LVU832 3363 .LVL166: 1380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3364 .loc 9 1380 5 is_stmt 0 view .LVU833 3365 .LBE236: 3366 .LBE243: 3367 @ /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 **** } 3368 .loc 3 592 10 view .LVU834 3369 0178 0446 mov r4, r0 @ , _69 3370 017a C3E7 b .L317 @ 3371 .LVL167: 3372 .L318: 3373 .LBB244: 3374 .LBB237: 3375 .LBB229: 3376 .LBB224: 6666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3377 .loc 9 6666 5 is_stmt 1 view .LVU835 3378 @ /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 **** 3379 .loc 9 6666 26 is_stmt 0 view .LVU836 3380 017c EA11 asrs r2, r5, #7 @ _182, _2, 3381 017e 02F00602 and r2, r2, #6 @ _184, _182, 3382 0182 0292 str r2, [sp, #8] @ _184, %sfp 3383 .LVL168: 6666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3384 .loc 9 6666 26 view .LVU837 3385 0184 42F0F002 orr r2, r2, #240 @ _187, _184, 3386 @ /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 **** 3387 .loc 9 6666 24 view .LVU838 3388 0188 1A61 str r2, [r3, #16] @ _187, pretmp_253->DR 6669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3389 .loc 9 6669 5 is_stmt 1 view .LVU839 3390 @ /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 **** { 3391 .loc 9 6669 9 is_stmt 0 view .LVU840 3392 018a 3F49 ldr r1, .L359+20 @, ARM GAS /tmp/ccjvgGVC.s page 313 3393 018c 3B46 mov r3, r7 @, _162 3394 018e 4246 mov r2, r8 @, timeout 3395 0190 3046 mov r0, r6 @, _9 3396 0192 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 3397 .LVL169: 3398 @ /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 **** { 3399 .loc 9 6669 8 discriminator 1 view .LVU841 3400 0196 0028 cmp r0, #0 @ tmp871 3401 0198 B2D1 bne .L310 @ 6675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3402 .loc 9 6675 5 is_stmt 1 view .LVU842 3403 @ /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 **** 3404 .loc 9 6675 9 is_stmt 0 view .LVU843 3405 019a 54F80A30 ldr r3, [r4, r10] @ _190, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3406 @ /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 **** { 3407 .loc 9 6678 9 view .LVU844 3408 019e 3949 ldr r1, .L359+16 @, 3409 @ /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 **** 3410 .loc 9 6675 26 view .LVU845 3411 01a0 EDB2 uxtb r5, r5 @ _191, _2 3412 @ /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 **** 3413 .loc 9 6675 24 view .LVU846 3414 01a2 1D61 str r5, [r3, #16] @ _191, _190->DR 6678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3415 .loc 9 6678 5 is_stmt 1 view .LVU847 3416 @ /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 **** { 3417 .loc 9 6678 9 is_stmt 0 view .LVU848 3418 01a4 4246 mov r2, r8 @, timeout 3419 01a6 3B46 mov r3, r7 @, _162 3420 01a8 3046 mov r0, r6 @, _9 3421 01aa FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 3422 .LVL170: 3423 @ /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 **** { 3424 .loc 9 6678 8 discriminator 1 view .LVU849 3425 01ae 0246 mov r2, r0 @ tmp424, tmp872 3426 01b0 0028 cmp r0, #0 @ tmp424 3427 01b2 A5D1 bne .L310 @ 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3428 .loc 9 6684 5 is_stmt 1 view .LVU850 3429 .LBB221: 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3430 .loc 9 6684 5 view .LVU851 3431 01b4 54F80A30 ldr r3, [r4, r10] @ _193, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3432 01b8 0990 str r0, [sp, #36] @ tmp424, tmpreg 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3433 .loc 9 6684 5 view .LVU852 3434 01ba 5969 ldr r1, [r3, #20] @ _194, _193->SR1 3435 01bc 0991 str r1, [sp, #36] @ _194, tmpreg 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3436 .loc 9 6684 5 view .LVU853 ARM GAS /tmp/ccjvgGVC.s page 314 3437 01be 9969 ldr r1, [r3, #24] @ _195, _193->SR2 3438 01c0 0991 str r1, [sp, #36] @ _195, tmpreg 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3439 .loc 9 6684 5 view .LVU854 3440 01c2 0999 ldr r1, [sp, #36] @ _196, tmpreg 3441 .LBE221: 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3442 .loc 9 6684 5 view .LVU855 6687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3443 .loc 9 6687 5 view .LVU856 3444 01c4 1968 ldr r1, [r3] @ _197, _193->CR1 3445 01c6 41F48071 orr r1, r1, #256 @ _198, _197, 3446 01ca 1960 str r1, [r3] @ _198, _193->CR1 6690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3447 .loc 9 6690 5 view .LVU857 3448 @ /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 **** { 3449 .loc 9 6690 9 is_stmt 0 view .LVU858 3450 01cc 3046 mov r0, r6 @, _9 3451 01ce 0097 str r7, [sp] @ _162, 3452 01d0 4346 mov r3, r8 @, timeout 3453 01d2 4FF00111 mov r1, #65537 @, 3454 01d6 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 3455 .LVL171: 3456 @ /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 **** { 3457 .loc 9 6692 11 view .LVU859 3458 01da 54F80A20 ldr r2, [r4, r10] @ pretmp_320, MEM [(struct I2C_HandleTypeDef *)&_i2 3459 @ /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 **** { 3460 .loc 9 6690 8 discriminator 1 view .LVU860 3461 01de 08B1 cbz r0, .L320 @ tmp873, 6692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3462 .loc 9 6692 7 is_stmt 1 view .LVU861 3463 @ /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 **** { 3464 .loc 9 6692 11 is_stmt 0 view .LVU862 3465 01e0 1368 ldr r3, [r2] @ _201, pretmp_320->CR1 3466 01e2 87E7 b .L356 @ 3467 .L320: 6700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3468 .loc 9 6700 5 is_stmt 1 view .LVU863 3469 @ /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 **** } 3470 .loc 9 6700 26 is_stmt 0 view .LVU864 3471 01e4 029B ldr r3, [sp, #8] @ _184, %sfp 3472 01e6 43F0F103 orr r3, r3, #241 @ _205, _184, 3473 @ /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 **** } 3474 .loc 9 6700 24 view .LVU865 3475 01ea 1361 str r3, [r2, #16] @ _205, pretmp_320->DR 3476 01ec 9DE7 b .L319 @ 3477 .LVL172: 3478 .L321: 6700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3479 .loc 9 6700 24 view .LVU866 3480 .LBE224: ARM GAS /tmp/ccjvgGVC.s page 315 3481 .LBE229: 1203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3482 .loc 9 1203 10 is_stmt 1 view .LVU867 3483 @ /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 **** { 3484 .loc 9 1203 13 is_stmt 0 view .LVU868 3485 01ee 012A cmp r2, #1 @ _40, 3486 01f0 0AD1 bne .L323 @, 1206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3487 .loc 9 1206 7 is_stmt 1 view .LVU869 3488 01f2 1A68 ldr r2, [r3] @ _48, pretmp_318->CR1 3489 01f4 22F48062 bic r2, r2, #1024 @ _49, _48, 3490 01f8 1A60 str r2, [r3] @ _49, pretmp_318->CR1 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3491 .loc 9 1209 7 view .LVU870 3492 .LBB230: 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3493 .loc 9 1209 7 view .LVU871 3494 01fa 0790 str r0, [sp, #28] @ tmp444, tmpreg 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3495 .loc 9 1209 7 view .LVU872 3496 01fc 5A69 ldr r2, [r3, #20] @ _50, pretmp_318->SR1 3497 01fe 0792 str r2, [sp, #28] @ _50, tmpreg 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3498 .loc 9 1209 7 view .LVU873 3499 0200 9A69 ldr r2, [r3, #24] @ _51, pretmp_318->SR2 3500 0202 0792 str r2, [sp, #28] @ _51, tmpreg 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3501 .loc 9 1209 7 view .LVU874 3502 0204 079A ldr r2, [sp, #28] @ _52, tmpreg 3503 .LBE230: 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3504 .loc 9 1209 7 view .LVU875 1212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3505 .loc 9 1212 7 view .LVU876 3506 0206 A6E7 b .L352 @ 3507 .L323: 1214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3508 .loc 9 1214 10 view .LVU877 3509 @ /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 **** { 3510 .loc 9 1214 13 is_stmt 0 view .LVU878 3511 0208 022A cmp r2, #2 @ _40, 3512 @ /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 **** 3513 .loc 9 1217 7 view .LVU879 3514 020a 1A68 ldr r2, [r3] @ _56,* pretmp_318 3515 @ /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 **** { 3516 .loc 9 1214 13 view .LVU880 3517 020c 0DD1 bne .L325 @, 1217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3518 .loc 9 1217 7 is_stmt 1 view .LVU881 3519 020e 22F48062 bic r2, r2, #1024 @ _57, _56, 3520 0212 1A60 str r2, [r3] @ _57, pretmp_318->CR1 1220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3521 .loc 9 1220 7 view .LVU882 ARM GAS /tmp/ccjvgGVC.s page 316 3522 0214 1A68 ldr r2, [r3] @ _58, pretmp_318->CR1 3523 0216 42F40062 orr r2, r2, #2048 @ _59, _58, 3524 021a 1A60 str r2, [r3] @ _59, pretmp_318->CR1 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3525 .loc 9 1223 7 view .LVU883 3526 .LBB231: 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3527 .loc 9 1223 7 view .LVU884 3528 021c 0690 str r0, [sp, #24] @ tmp444, tmpreg 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3529 .loc 9 1223 7 view .LVU885 3530 021e 5A69 ldr r2, [r3, #20] @ _60, pretmp_318->SR1 3531 0220 0692 str r2, [sp, #24] @ _60, tmpreg 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3532 .loc 9 1223 7 view .LVU886 3533 0222 9B69 ldr r3, [r3, #24] @ _61, pretmp_318->SR2 3534 0224 0693 str r3, [sp, #24] @ _61, tmpreg 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3535 .loc 9 1223 7 view .LVU887 3536 0226 069B ldr r3, [sp, #24] @ _62, tmpreg 3537 .LBE231: 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3538 .loc 9 1223 7 view .LVU888 3539 0228 99E7 b .L324 @ 3540 .L325: 1228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3541 .loc 9 1228 7 view .LVU889 3542 022a 42F48062 orr r2, r2, #1024 @ _65, _64, 3543 022e 1A60 str r2, [r3] @ _65, pretmp_318->CR1 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3544 .loc 9 1231 7 view .LVU890 3545 .LBB232: 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3546 .loc 9 1231 7 view .LVU891 3547 0230 0590 str r0, [sp, #20] @ tmp444, tmpreg 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3548 .loc 9 1231 7 view .LVU892 3549 0232 5A69 ldr r2, [r3, #20] @ _66, pretmp_318->SR1 3550 0234 0592 str r2, [sp, #20] @ _66, tmpreg 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3551 .loc 9 1231 7 view .LVU893 3552 0236 9B69 ldr r3, [r3, #24] @ _67, pretmp_318->SR2 3553 0238 0593 str r3, [sp, #20] @ _67, tmpreg 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3554 .loc 9 1231 7 view .LVU894 3555 023a 059B ldr r3, [sp, #20] @ _68, tmpreg 3556 023c 8FE7 b .L324 @ 3557 .LVL173: 3558 .L330: 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3559 .loc 9 1231 7 is_stmt 0 view .LVU895 3560 .LBE232: 1236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3561 .loc 9 1236 7 is_stmt 1 view .LVU896 3562 @ /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 **** { 3563 .loc 9 1236 10 is_stmt 0 view .LVU897 ARM GAS /tmp/ccjvgGVC.s page 317 3564 023e 0328 cmp r0, #3 @ _69, 3565 0240 64D8 bhi .L326 @, 1239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3566 .loc 9 1239 9 is_stmt 1 view .LVU898 3567 @ /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 **** { 3568 .loc 9 1239 12 is_stmt 0 view .LVU899 3569 0242 0128 cmp r0, #1 @ _69, 3570 0244 22D1 bne .L327 @, 1242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3571 .loc 9 1242 11 is_stmt 1 view .LVU900 3572 @ /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 **** { 3573 .loc 9 1242 15 is_stmt 0 view .LVU901 3574 0246 3A46 mov r2, r7 @, _162 3575 0248 4146 mov r1, r8 @, timeout 3576 024a 3046 mov r0, r6 @, _9 3577 024c FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 @ 3578 .LVL174: 3579 @ /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 **** { 3580 .loc 9 1242 14 discriminator 1 view .LVU902 3581 0250 0028 cmp r0, #0 @ tmp875 3582 0252 7FF455AF bne .L310 @ 1248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3583 .loc 9 1248 11 is_stmt 1 view .LVU903 3584 @ /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 **** 3585 .loc 9 1248 42 is_stmt 0 view .LVU904 3586 0256 2368 ldr r3, [r4] @ _71, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 3587 @ /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 **** 3588 .loc 9 1248 52 view .LVU905 3589 0258 1A69 ldr r2, [r3, #16] @ _72, _71->DR 3590 @ /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 **** 3591 .loc 9 1248 16 view .LVU906 3592 025a 636A ldr r3, [r4, #36] @ _73, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 3593 @ /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 **** 3594 .loc 9 1248 29 view .LVU907 3595 025c 1A70 strb r2, [r3] @ _72, *_73 1251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3596 .loc 9 1251 11 is_stmt 1 view .LVU908 3597 .L353: 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3598 .loc 9 1365 11 view .LVU909 3599 @ /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 **** 3600 .loc 9 1365 25 is_stmt 0 view .LVU910 3601 025e 636A ldr r3, [r4, #36] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 3602 0260 0133 adds r3, r3, #1 @ _155, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 3603 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--; 3604 .loc 9 1368 11 is_stmt 1 view .LVU911 3605 @ /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--; ARM GAS /tmp/ccjvgGVC.s page 318 3606 .loc 9 1368 25 is_stmt 0 view .LVU912 3607 0264 238D ldrh r3, [r4, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3608 0266 013B subs r3, r3, #1 @ tmp820, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3609 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 **** } 3610 .loc 9 1369 11 is_stmt 1 view .LVU913 3611 @ /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 **** } 3612 .loc 9 1369 15 is_stmt 0 view .LVU914 3613 026a 638D ldrh r3, [r4, #42] @, 3614 @ /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 **** } 3615 .loc 9 1369 26 view .LVU915 3616 026c 013B subs r3, r3, #1 @ tmp828, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3617 026e 9BB2 uxth r3, r3 @ _159, tmp828 3618 0270 6385 strh r3, [r4, #42] @ movhi @ _159, 3619 0272 77E7 b .L322 @ 3620 .L360: 3621 .align 2 3622 .L359: 3623 0274 00000000 .word _ZL9_i2c_devs 3624 0278 00000000 .word _ZL9_ms_ticks.lto_priv.0 3625 027c 02001000 .word 1048578 3626 0280 0000FFFF .word -65536 3627 0284 02000100 .word 65538 3628 0288 08000100 .word 65544 3629 .L327: 1258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3630 .loc 9 1258 14 is_stmt 1 view .LVU916 3631 @ /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 **** { 3632 .loc 9 1258 17 is_stmt 0 view .LVU917 3633 028c 0228 cmp r0, #2 @ _69, 3634 @ /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 **** { 3635 .loc 9 1261 15 view .LVU918 3636 028e 2F49 ldr r1, .L361 @, 3637 0290 0097 str r7, [sp] @ _162, 3638 0292 4346 mov r3, r8 @, timeout 3639 0294 4FF00002 mov r2, #0 @, 3640 0298 3046 mov r0, r6 @, _9 3641 @ /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 **** { 3642 .loc 9 1258 17 view .LVU919 3643 029a 1AD1 bne .L329 @, 3644 .LVL175: 3645 .L358: 3646 @ /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 **** { 3647 .loc 9 1312 15 view .LVU920 3648 029c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 3649 .LVL176: 3650 @ /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 **** { 3651 .loc 9 1312 14 discriminator 1 view .LVU921 3652 02a0 0028 cmp r0, #0 @ tmp878 3653 02a2 7FF42DAF bne .L310 @ ARM GAS /tmp/ccjvgGVC.s page 319 1318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3654 .loc 9 1318 11 is_stmt 1 view .LVU922 3655 02a6 2368 ldr r3, [r4] @ _117, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 3656 02a8 1A68 ldr r2, [r3] @ _118,* _117 3657 02aa 42F40072 orr r2, r2, #512 @ _119, _118, 3658 02ae 1A60 str r2, [r3] @ _119,* _117 1321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3659 .loc 9 1321 11 view .LVU923 3660 @ /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 **** 3661 .loc 9 1321 52 is_stmt 0 view .LVU924 3662 02b0 1A69 ldr r2, [r3, #16] @ _120, 3663 @ /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 **** 3664 .loc 9 1321 16 view .LVU925 3665 02b2 636A ldr r3, [r4, #36] @ _121, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3666 @ /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 **** 3667 .loc 9 1321 29 view .LVU926 3668 02b4 1A70 strb r2, [r3] @ _120,* _121 1324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3669 .loc 9 1324 11 is_stmt 1 view .LVU927 3670 @ /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 **** 3671 .loc 9 1324 15 is_stmt 0 view .LVU928 3672 02b6 626A ldr r2, [r4, #36] @ _123, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3673 @ /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 **** 3674 .loc 9 1324 25 view .LVU929 3675 02b8 531C adds r3, r2, #1 @ _124, _123, 3676 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--; 3677 .loc 9 1327 11 is_stmt 1 view .LVU930 3678 @ /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--; 3679 .loc 9 1327 25 is_stmt 0 view .LVU931 3680 02bc 238D ldrh r3, [r4, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3681 02be 013B subs r3, r3, #1 @ tmp685, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3682 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 **** 3683 .loc 9 1328 11 is_stmt 1 view .LVU932 3684 @ /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 **** 3685 .loc 9 1328 15 is_stmt 0 view .LVU933 3686 02c2 638D ldrh r3, [r4, #42] @, 3687 @ /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 **** 3688 .loc 9 1328 26 view .LVU934 3689 02c4 013B subs r3, r3, #1 @ tmp693, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3690 02c6 9BB2 uxth r3, r3 @ _128, tmp693 3691 02c8 6385 strh r3, [r4, #42] @ movhi @ _128, 1331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3692 .loc 9 1331 11 is_stmt 1 view .LVU935 3693 @ /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 **** 3694 .loc 9 1331 42 is_stmt 0 view .LVU936 3695 02ca 2368 ldr r3, [r4] @ _129, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 ARM GAS /tmp/ccjvgGVC.s page 320 3696 .L354: 1362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3697 .loc 9 1362 11 is_stmt 1 view .LVU937 3698 @ /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 **** 3699 .loc 9 1362 52 is_stmt 0 view .LVU938 3700 02cc 1B69 ldr r3, [r3, #16] @ _152, 3701 @ /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 **** 3702 .loc 9 1362 29 view .LVU939 3703 02ce 5370 strb r3, [r2, #1] @ _152, 3704 02d0 C5E7 b .L353 @ 3705 .LVL177: 3706 .L329: 1293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3707 .loc 9 1293 11 is_stmt 1 view .LVU940 3708 @ /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 **** { 3709 .loc 9 1293 15 is_stmt 0 view .LVU941 3710 02d2 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 3711 .LVL178: 3712 @ /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 **** { 3713 .loc 9 1293 14 discriminator 1 view .LVU942 3714 02d6 0246 mov r2, r0 @ tmp602, tmp877 3715 02d8 0028 cmp r0, #0 @ tmp602 3716 02da 7FF411AF bne .L310 @ 1299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3717 .loc 9 1299 11 is_stmt 1 view .LVU943 3718 02de 2368 ldr r3, [r4] @ _104, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 3719 02e0 1968 ldr r1, [r3] @ _105, _104->CR1 3720 02e2 21F48061 bic r1, r1, #1024 @ _106, _105, 3721 02e6 1960 str r1, [r3] @ _106, _104->CR1 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3722 .loc 9 1302 11 view .LVU944 3723 @ /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 **** 3724 .loc 9 1302 52 is_stmt 0 view .LVU945 3725 02e8 1969 ldr r1, [r3, #16] @ _107, _104->DR 3726 @ /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 **** 3727 .loc 9 1302 16 view .LVU946 3728 02ea 636A ldr r3, [r4, #36] @ _108, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3729 @ /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 **** 3730 .loc 9 1302 29 view .LVU947 3731 02ec 1970 strb r1, [r3] @ _107, *_108 1305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3732 .loc 9 1305 11 is_stmt 1 view .LVU948 3733 @ /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 **** 3734 .loc 9 1305 25 is_stmt 0 view .LVU949 3735 02ee 636A ldr r3, [r4, #36] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 3736 @ /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 **** { 3737 .loc 9 1312 15 view .LVU950 3738 02f0 1649 ldr r1, .L361 @, ARM GAS /tmp/ccjvgGVC.s page 321 3739 @ /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 **** 3740 .loc 9 1305 25 view .LVU951 3741 02f2 0133 adds r3, r3, #1 @ _111, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 3742 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--; 3743 .loc 9 1308 11 is_stmt 1 view .LVU952 3744 @ /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--; 3745 .loc 9 1308 25 is_stmt 0 view .LVU953 3746 02f6 238D ldrh r3, [r4, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3747 02f8 013B subs r3, r3, #1 @ tmp636, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3748 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 **** 3749 .loc 9 1309 11 is_stmt 1 view .LVU954 3750 @ /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 **** 3751 .loc 9 1309 15 is_stmt 0 view .LVU955 3752 02fc 638D ldrh r3, [r4, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3753 @ /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 **** 3754 .loc 9 1309 26 view .LVU956 3755 02fe 013B subs r3, r3, #1 @ tmp644, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3756 0300 9BB2 uxth r3, r3 @ _115, tmp644 3757 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 **** { 3758 .loc 9 1312 11 is_stmt 1 view .LVU957 3759 @ /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 **** { 3760 .loc 9 1312 15 is_stmt 0 view .LVU958 3761 0304 3046 mov r0, r6 @, _9 3762 0306 0097 str r7, [sp] @ _162, 3763 0308 4346 mov r3, r8 @, timeout 3764 030a C7E7 b .L358 @ 3765 .L326: 1344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3766 .loc 9 1344 9 is_stmt 1 view .LVU959 3767 @ /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 **** { 3768 .loc 9 1344 13 is_stmt 0 view .LVU960 3769 030c 3A46 mov r2, r7 @, _162 3770 030e 4146 mov r1, r8 @, timeout 3771 0310 3046 mov r0, r6 @, _9 3772 0312 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 @ 3773 .LVL179: 3774 @ /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 **** { 3775 .loc 9 1344 12 discriminator 1 view .LVU961 3776 0316 0028 cmp r0, #0 @ tmp879 3777 0318 7FF4F2AE bne .L310 @ 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3778 .loc 9 1350 9 is_stmt 1 view .LVU962 3779 @ /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 **** 3780 .loc 9 1350 40 is_stmt 0 view .LVU963 3781 031c 2368 ldr r3, [r4] @ _139, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 3782 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1350: ARM GAS /tmp/ccjvgGVC.s page 322 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3783 .loc 9 1350 50 view .LVU964 3784 031e 1A69 ldr r2, [r3, #16] @ _140, _139->DR 3785 @ /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 **** 3786 .loc 9 1350 14 view .LVU965 3787 0320 636A ldr r3, [r4, #36] @ _141, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3788 @ /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 **** 3789 .loc 9 1350 27 view .LVU966 3790 0322 1A70 strb r2, [r3] @ _140, *_141 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3791 .loc 9 1353 9 is_stmt 1 view .LVU967 3792 @ /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 **** 3793 .loc 9 1353 13 is_stmt 0 view .LVU968 3794 0324 626A ldr r2, [r4, #36] @ _143, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3795 @ /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 **** 3796 .loc 9 1353 23 view .LVU969 3797 0326 531C adds r3, r2, #1 @ _144, _143, 3798 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--; 3799 .loc 9 1356 9 is_stmt 1 view .LVU970 3800 @ /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--; 3801 .loc 9 1356 23 is_stmt 0 view .LVU971 3802 032a 238D ldrh r3, [r4, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3803 032c 013B subs r3, r3, #1 @ tmp776, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3804 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 **** 3805 .loc 9 1357 9 is_stmt 1 view .LVU972 3806 @ /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 **** 3807 .loc 9 1357 13 is_stmt 0 view .LVU973 3808 0330 638D ldrh r3, [r4, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3809 @ /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 **** 3810 .loc 9 1357 24 view .LVU974 3811 0332 013B subs r3, r3, #1 @ tmp784, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3812 0334 9BB2 uxth r3, r3 @ _148, tmp784 3813 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 **** { 3814 .loc 9 1359 9 is_stmt 1 view .LVU975 3815 @ /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 **** { 3816 .loc 9 1359 13 is_stmt 0 view .LVU976 3817 0338 2368 ldr r3, [r4] @ _149, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 3818 033a 5969 ldr r1, [r3, #20] @ _150, _149->SR1 3819 @ /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 **** { 3820 .loc 9 1359 12 view .LVU977 3821 033c 4907 lsls r1, r1, #29 @, _150, 3822 033e 7FF511AF bpl .L322 @, 3823 0342 C3E7 b .L354 @ 3824 .LVL180: 3825 .L331: ARM GAS /tmp/ccjvgGVC.s page 323 1359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3826 .loc 9 1359 12 view .LVU978 3827 .LBE237: 3828 .LBE244: 3829 @ /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 **** 3830 .loc 3 585 19 discriminator 1 view .LVU979 3831 0344 4FF0FF34 mov r4, #-1 @ , 3832 .LVL181: 585:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 3833 .loc 3 585 19 discriminator 1 view .LVU980 3834 0348 DFE6 b .L307 @ 3835 .L362: 3836 034a 00BF .align 2 3837 .L361: 3838 034c 04000100 .word 65540 3839 .cfi_endproc 3840 .LFE51: 3841 .size _Z19stm32_i2c_master_rxhtPhtm, .-_Z19stm32_i2c_master_rxhtPhtm 3842 .section .text._Z14stm32_i2c_readhtttPhtm,"ax",%progbits 3843 .align 1 3844 .global _Z14stm32_i2c_readhtttPhtm 3845 .syntax unified 3846 .thumb 3847 .thumb_func 3848 .type _Z14stm32_i2c_readhtttPhtm, %function 3849 _Z14stm32_i2c_readhtttPhtm: 3850 .LVL182: 3851 .LFB54: 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 **** { 3852 .loc 3 597 1 is_stmt 1 view -0 3853 .cfi_startproc 3854 @ args = 12, pretend = 0, frame = 40 3855 @ 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); 3856 .loc 3 598 3 view .LVU982 3857 .LBB264: 3858 .LBI264: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 3859 .loc 3 54 27 view .LVU983 3860 .LBB265: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 3861 .loc 3 56 3 view .LVU984 3862 .LBE265: 3863 .LBE264: 3864 @ /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); 3865 .loc 3 597 1 is_stmt 0 view .LVU985 3866 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 3867 .LCFI23: 3868 .cfi_def_cfa_offset 36 3869 .cfi_offset 4, -36 3870 .cfi_offset 5, -32 3871 .cfi_offset 6, -28 ARM GAS /tmp/ccjvgGVC.s page 324 3872 .cfi_offset 7, -24 3873 .cfi_offset 8, -20 3874 .cfi_offset 9, -16 3875 .cfi_offset 10, -12 3876 .cfi_offset 11, -8 3877 .cfi_offset 14, -4 3878 0004 8DB0 sub sp, sp, #52 @,, 3879 .LCFI24: 3880 .cfi_def_cfa_offset 88 3881 .LBB268: 3882 .LBB266: 3883 @ /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; 3884 .loc 3 56 3 view .LVU986 3885 0006 0128 cmp r0, #1 @ bus, 3886 .LBE266: 3887 .LBE268: 3888 @ /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); 3889 .loc 3 597 1 view .LVU987 3890 0008 CDE90223 strd r2, r3, [sp, #8] @ tmp891, tmp892,, 3891 000c 189F ldr r7, [sp, #96] @ timeout, timeout 3892 000e 8146 mov r9, r0 @ bus, tmp889 3893 0010 8B46 mov fp, r1 @ addr, tmp890 3894 .LBB269: 3895 .LBB267: 3896 @ /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; 3897 .loc 3 56 3 view .LVU988 3898 0012 00F2B581 bhi .L387 @, 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 3899 .loc 3 57 3 is_stmt 1 view .LVU989 3900 @ /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 **** } 3901 .loc 3 57 26 is_stmt 0 view .LVU990 3902 0016 DFF8A482 ldr r8, .L409+8 @ tmp307, 3903 001a 4542 rsbs r5, r0, #0 @ tmp306, bus 3904 001c 05F0A805 and r5, r5, #168 @ _223, tmp306, 3905 0020 05EB0804 add r4, r5, r8 @ _9, _223, tmp307 3906 .LVL183: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 3907 .loc 3 57 26 view .LVU991 3908 .LBE267: 3909 .LBE269: 599:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 3910 .loc 3 599 3 is_stmt 1 view .LVU992 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); 3911 .loc 3 601 3 view .LVU993 3912 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:601: I2CMutex(bus); 3913 .loc 3 601 3 is_stmt 0 discriminator 1 view .LVU994 3914 0024 2046 mov r0, r4 @, _9 3915 .LVL184: 3916 .loc 3 601 3 discriminator 1 view .LVU995 3917 0026 FFF7FEFF bl _ZL16i2c_ensure_mutexP16stm32_i2c_device @ 3918 .LVL185: 3919 .loc 3 601 3 is_stmt 1 discriminator 2 view .LVU996 ARM GAS /tmp/ccjvgGVC.s page 325 3920 .LBB270: 3921 .LBI270: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 3922 .loc 4 102 20 view .LVU997 3923 .LBB271: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 3924 .loc 4 102 55 view .LVU998 3925 .LBE271: 3926 .LBE270: 3927 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:601: I2CMutex(bus); 3928 .loc 3 601 3 is_stmt 0 discriminator 3 view .LVU999 3929 002a 05F15801 add r1, r5, #88 @ _163, _223, 3930 .LBB274: 3931 .LBB275: 3932 @ /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 **** { 3933 .loc 9 2615 11 view .LVU1000 3934 002e A825 movs r5, #168 @ tmp315, 3935 .LVL186: 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3936 .loc 9 2615 11 view .LVU1001 3937 .LBE275: 3938 .LBE274: 3939 .LBB297: 3940 .LBB272: 3941 @ /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);} 3942 .loc 4 102 75 view .LVU1002 3943 0030 4144 add r1, r1, r8 @, tmp307 3944 .LVL187: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 3945 .loc 4 102 75 view .LVU1003 3946 0032 0AA8 add r0, sp, #40 @,, 3947 .LBE272: 3948 .LBE297: 3949 .LBB298: 3950 .LBB293: 3951 @ /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 **** { 3952 .loc 9 2615 11 view .LVU1004 3953 0034 05FB09F5 mul r5, r5, r9 @ tmp314, tmp315, bus 3954 .LBE293: 3955 .LBE298: 3956 .LBB299: 3957 .LBB273: 3958 @ /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);} 3959 .loc 4 102 75 view .LVU1005 3960 0038 FFF7FEFF bl _ZN9MutexLockC2EP14mutex_handle_t.isra.0 @ 3961 .LVL188: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 3962 .loc 4 102 75 view .LVU1006 3963 .LBE273: 3964 .LBE299: 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) { 3965 .loc 3 602 3 is_stmt 1 view .LVU1007 3966 .LBB300: ARM GAS /tmp/ccjvgGVC.s page 326 3967 .LBI274: 2607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3968 .loc 9 2607 19 view .LVU1008 3969 .LBB294: 2610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3970 .loc 9 2610 3 view .LVU1009 3971 .LBB276: 3972 .LBI276: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 3973 .loc 10 25 21 view .LVU1010 3974 .loc 10 27 5 view .LVU1011 3975 .LBB277: 3976 .LBI277: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 3977 .loc 11 54 10 view .LVU1012 3978 .LBB278: 3979 .loc 11 56 3 view .LVU1013 3980 .LBE278: 3981 .LBE277: 3982 .LBE276: 3983 @ /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 **** { 3984 .loc 9 2615 11 is_stmt 0 view .LVU1014 3985 003c 08EB050A add r10, r8, r5 @ tmp316, tmp307, tmp314 3986 .LBB281: 3987 .LBB280: 3988 .LBB279: 3989 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 3990 .loc 11 56 10 view .LVU1015 3991 0040 9C4B ldr r3, .L409 @ tmp312, 3992 0042 1E68 ldr r6, [r3] @ _162, _ms_ticks 3993 .LVL189: 3994 .loc 11 56 10 view .LVU1016 3995 .LBE279: 3996 .LBE280: 3997 .LBE281: 2613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3998 .loc 9 2613 3 is_stmt 1 view .LVU1017 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3999 .loc 9 2615 3 view .LVU1018 4000 @ /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 **** { 4001 .loc 9 2615 11 is_stmt 0 view .LVU1019 4002 0044 9AF83D30 ldrb r3, [r10, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeD 4003 @ /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 **** { 4004 .loc 9 2615 6 view .LVU1020 4005 0048 202B cmp r3, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handl 4006 004a 54D1 bne .L366 @, 2618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4007 .loc 9 2618 5 is_stmt 1 view .LVU1021 4008 @ /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 **** { 4009 .loc 9 2618 9 is_stmt 0 view .LVU1022 4010 004c 9A49 ldr r1, .L409+4 @, 4011 004e 0096 str r6, [sp] @ _162, 4012 0050 1923 movs r3, #25 @, ARM GAS /tmp/ccjvgGVC.s page 327 4013 0052 0122 movs r2, #1 @, 4014 0054 2046 mov r0, r4 @, _9 4015 0056 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 4016 .LVL190: 4017 @ /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 **** { 4018 .loc 9 2618 8 discriminator 1 view .LVU1023 4019 005a 0028 cmp r0, #0 @ tmp893 4020 005c 4BD1 bne .L366 @ 2624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4021 .loc 9 2624 5 is_stmt 1 view .LVU1024 2624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4022 .loc 9 2624 5 view .LVU1025 4023 005e 9AF83C30 ldrb r3, [r10, #60] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeD 4024 0062 012B cmp r3, #1 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handle 4025 0064 47D0 beq .L366 @, 2624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4026 .loc 9 2624 5 discriminator 2 view .LVU1026 4027 0066 0123 movs r3, #1 @ tmp333, 4028 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 **** 4029 .loc 9 2624 5 view .LVU1027 2627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4030 .loc 9 2627 5 view .LVU1028 4031 @ /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 **** { 4032 .loc 9 2627 14 is_stmt 0 view .LVU1029 4033 006c 58F80530 ldr r3, [r8, r5] @ _33, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 4034 @ /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; 4035 .loc 9 2641 23 view .LVU1030 4036 0070 1699 ldr r1, [sp, #88] @ data, data 4037 @ /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 **** { 4038 .loc 9 2627 24 view .LVU1031 4039 0072 1A68 ldr r2, [r3] @ _34, _33->CR1 4040 @ /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 **** { 4041 .loc 9 2627 8 view .LVU1032 4042 0074 D507 lsls r5, r2, #31 @, _34, 2630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4043 .loc 9 2630 7 is_stmt 1 view .LVU1033 4044 0076 58BF it pl 4045 0078 1A68 ldrpl r2, [r3] @ _36, _33->CR1 4046 @ /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; 4047 .loc 9 2636 21 is_stmt 0 view .LVU1034 4048 007a 904D ldr r5, .L409+8 @ tmp340, 4049 @ /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 **** } 4050 .loc 9 2630 7 view .LVU1035 4051 007c 5CBF itt pl 4052 007e 42F00102 orrpl r2, r2, #1 @ _37, _36, 4053 0082 1A60 strpl r2, [r3] @ _37, _33->CR1 2634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4054 .loc 9 2634 5 is_stmt 1 view .LVU1036 4055 0084 1A68 ldr r2, [r3] @ _38, _33->CR1 ARM GAS /tmp/ccjvgGVC.s page 328 4056 @ /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; 4057 .loc 9 2636 21 is_stmt 0 view .LVU1037 4058 0086 4FF0A80A mov r10, #168 @ tmp342, 4059 008a 0AFB09FA mul r10, r10, r9 @ tmp341, tmp342, bus 4060 008e 05EB0A08 add r8, r5, r10 @ tmp343, tmp340, tmp341 4061 @ /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 **** 4062 .loc 9 2634 5 view .LVU1038 4063 0092 22F40062 bic r2, r2, #2048 @ _39, _38, 4064 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; 4065 .loc 9 2636 5 is_stmt 1 view .LVU1039 4066 @ /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; 4067 .loc 9 2636 21 is_stmt 0 view .LVU1040 4068 0098 2222 movs r2, #34 @ tmp345, 4069 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; 4070 .loc 9 2637 5 is_stmt 1 view .LVU1041 4071 @ /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; 4072 .loc 9 2637 21 is_stmt 0 view .LVU1042 4073 009e 4022 movs r2, #64 @ tmp352, 4074 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 **** 4075 .loc 9 2638 5 is_stmt 1 view .LVU1043 4076 @ /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; 4077 .loc 9 2641 23 is_stmt 0 view .LVU1044 4078 00a4 C8F82410 str r1, [r8, #36] @ data, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4079 @ /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 **** 4080 .loc 9 2638 21 view .LVU1045 4081 00a8 0022 movs r2, #0 @ tmp359, 4082 @ /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; 4083 .loc 9 2642 23 view .LVU1046 4084 00aa BDF85C10 ldrh r1, [sp, #92] @ len, len 4085 @ /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 **** 4086 .loc 9 2638 21 view .LVU1047 4087 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; 4088 .loc 9 2641 5 is_stmt 1 view .LVU1048 2642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4089 .loc 9 2642 5 view .LVU1049 4090 @ /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; 4091 .loc 9 2642 23 is_stmt 0 view .LVU1050 4092 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; 4093 .loc 9 2643 5 is_stmt 1 view .LVU1051 4094 @ /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; 4095 .loc 9 2643 29 is_stmt 0 view .LVU1052 4096 00b6 B8F82A10 ldrh r1, [r8, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 ARM GAS /tmp/ccjvgGVC.s page 329 4097 @ /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; 4098 .loc 9 2643 23 view .LVU1053 4099 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 **** 4100 .loc 9 2644 5 is_stmt 1 view .LVU1054 4101 @ /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 **** 4102 .loc 9 2644 23 is_stmt 0 view .LVU1055 4103 00be 8049 ldr r1, .L409+12 @ tmp388, 4104 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 **** { 4105 .loc 9 2647 5 is_stmt 1 view .LVU1056 4106 .LVL191: 4107 .LBB282: 4108 .LBI282: 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; ARM GAS /tmp/ccjvgGVC.s page 330 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 331 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 4109 .loc 9 6804 26 view .LVU1057 4110 .LBB283: 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); 4111 .loc 9 6807 3 view .LVU1058 4112 00c4 1968 ldr r1, [r3] @ _164, _33->CR1 4113 00c6 41F48061 orr r1, r1, #1024 @ _165, _164, 4114 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); 4115 .loc 9 6810 3 view .LVU1059 4116 00cc 1968 ldr r1, [r3] @ _166, _33->CR1 4117 00ce 41F48071 orr r1, r1, #256 @ _167, _166, 4118 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) 4119 .loc 9 6813 3 view .LVU1060 4120 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6813: if ( 4121 .loc 9 6813 7 is_stmt 0 view .LVU1061 4122 00d4 2046 mov r0, r4 @, _9 4123 00d6 3B46 mov r3, r7 @, timeout 4124 00d8 0096 str r6, [sp] @ _162, 4125 00da 4FF00111 mov r1, #65537 @, 4126 00de FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 4127 .LVL192: 4128 @ /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) 4129 .loc 9 6815 9 view .LVU1062 4130 00e2 55F80A30 ldr r3, [r5, r10] @ pretmp_343, MEM [(struct I2C_HandleTypeDef *)&_i2 4131 @ /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 **** { 4132 .loc 9 6813 6 discriminator 1 view .LVU1063 4133 00e6 78B1 cbz r0, .L369 @ tmp894, 4134 .loc 9 6815 5 is_stmt 1 view .LVU1064 4135 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6815: if 4136 .loc 9 6815 9 is_stmt 0 view .LVU1065 4137 00e8 1B68 ldr r3, [r3] @ _170, pretmp_343->CR1 4138 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6815: if 4139 .loc 9 6815 8 view .LVU1066 4140 00ea DC05 lsls r4, r3, #23 @, _170, 4141 .LVL193: 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; 4142 .loc 9 6817 7 is_stmt 1 view .LVU1067 4143 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6817: 4144 .loc 9 6817 23 is_stmt 0 view .LVU1068 4145 00ec 44BF itt mi 4146 00ee 4FF40073 movmi r3, #512 @ tmp400, 4147 00f2 C8F84030 strmi r3, [r8, #64] @ tmp400, MEM [(struct I2C_HandleTypeDef *)&_i2c_ 4148 .LVL194: 4149 .L366: ARM GAS /tmp/ccjvgGVC.s page 332 4150 .loc 9 6817 23 view .LVU1069 4151 .LBE283: 4152 .LBE282: 4153 .LBE294: 4154 .LBE300: 4155 @ /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; 4156 .loc 3 603 13 view .LVU1070 4157 00f6 4FF0FF34 mov r4, #-1 @ , 4158 .LVL195: 4159 .L370: 4160 @ /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 **** } 4161 .loc 3 607 1 view .LVU1071 4162 00fa 0AA8 add r0, sp, #40 @,, 4163 00fc FFF7FEFF bl _ZN9MutexLockD2Ev.isra.0 @ 4164 .LVL196: 4165 .L363: 4166 .loc 3 607 1 view .LVU1072 4167 0100 2046 mov r0, r4 @, 4168 0102 0DB0 add sp, sp, #52 @,, 4169 .LCFI25: 4170 .cfi_remember_state 4171 .cfi_def_cfa_offset 36 4172 @ sp needed @ 4173 0104 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 4174 .LVL197: 4175 .L369: 4176 .LCFI26: 4177 .cfi_restore_state 4178 .LBB301: 4179 .LBB295: 4180 .LBB287: 4181 .LBB286: 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); 4182 .loc 9 6823 3 is_stmt 1 view .LVU1073 4183 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6823: hi2c 4184 .loc 9 6823 24 is_stmt 0 view .LVU1074 4185 0108 4FEA4B0B lsl fp, fp, #1 @ tmp402, addr, 4186 .LVL198: 4187 .loc 9 6823 24 view .LVU1075 4188 010c 5FFA8BFB uxtb fp, fp @ _172, tmp402 4189 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6823: hi2c 4190 .loc 9 6823 22 view .LVU1076 4191 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) 4192 .loc 9 6826 3 is_stmt 1 view .LVU1077 ARM GAS /tmp/ccjvgGVC.s page 333 4193 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6826: if ( 4194 .loc 9 6826 7 is_stmt 0 view .LVU1078 4195 0114 6B49 ldr r1, .L409+16 @, 4196 0116 3346 mov r3, r6 @, _162 4197 0118 3A46 mov r2, r7 @, timeout 4198 011a 2046 mov r0, r4 @, _9 4199 011c FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 4200 .LVL199: 4201 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6826: if ( 4202 .loc 9 6826 6 discriminator 1 view .LVU1079 4203 0120 0028 cmp r0, #0 @ tmp404 4204 0122 E8D1 bne .L366 @ 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); 4205 .loc 9 6832 3 is_stmt 1 view .LVU1080 4206 .LBB284: 4207 .loc 9 6832 3 view .LVU1081 4208 0124 55F80A30 ldr r3, [r5, r10] @ _177, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4209 0128 0990 str r0, [sp, #36] @ tmp404, tmpreg 4210 .loc 9 6832 3 view .LVU1082 4211 012a 5A69 ldr r2, [r3, #20] @ _178, _177->SR1 4212 012c 0992 str r2, [sp, #36] @ _178, tmpreg 4213 .loc 9 6832 3 view .LVU1083 4214 012e 9B69 ldr r3, [r3, #24] @ _179, _177->SR2 4215 0130 0993 str r3, [sp, #36] @ _179, tmpreg 4216 .loc 9 6832 3 view .LVU1084 4217 .LBE284: 4218 @ /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) 4219 .loc 9 6835 7 is_stmt 0 view .LVU1085 4220 0132 3246 mov r2, r6 @, _162 4221 0134 3946 mov r1, r7 @, timeout 4222 0136 2046 mov r0, r4 @, _9 4223 .LBB285: 4224 @ /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 **** 4225 .loc 9 6832 3 view .LVU1086 4226 0138 099B ldr r3, [sp, #36] @ _180, tmpreg 4227 .LBE285: 6832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4228 .loc 9 6832 3 is_stmt 1 view .LVU1087 4229 .loc 9 6835 3 view .LVU1088 4230 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6835: if ( 4231 .loc 9 6835 7 is_stmt 0 view .LVU1089 4232 013a FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 4233 .LVL200: 4234 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6835: if ( 4235 .loc 9 6835 6 discriminator 1 view .LVU1090 4236 013e 50B1 cbz r0, .L371 @ tmp896, 4237 .L406: 6836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccjvgGVC.s page 334 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 **** { 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) 4238 .loc 9 6860 7 is_stmt 1 view .LVU1091 4239 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6860: 4240 .loc 9 6860 15 is_stmt 0 view .LVU1092 4241 0140 D8F84030 ldr r3, [r8, #64] @ _193, 4242 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6860: 4243 .loc 9 6860 10 view .LVU1093 4244 0144 042B cmp r3, #4 @ _193, 4245 0146 D6D1 bne .L366 @, 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); 4246 .loc 9 6863 9 is_stmt 1 view .LVU1094 4247 0148 55F80A20 ldr r2, [r5, r10] @ _194, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4248 .L400: 4249 @ /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); 4250 .loc 9 6878 7 is_stmt 0 view .LVU1095 4251 014c 1368 ldr r3, [r2] @ _203,* _202 4252 014e 43F40073 orr r3, r3, #512 @ _204, _203, ARM GAS /tmp/ccjvgGVC.s page 335 4253 0152 1360 str r3, [r2] @ _204,* _202 4254 .LVL201: 4255 .loc 9 6878 7 view .LVU1096 4256 0154 CFE7 b .L366 @ 4257 .LVL202: 4258 .L371: 6846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4259 .loc 9 6846 3 is_stmt 1 view .LVU1097 4260 @ /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 **** { 4261 .loc 9 6846 6 is_stmt 0 view .LVU1098 4262 0156 039A ldr r2, [sp, #12] @ reg_size, %sfp 4263 @ /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 **** } 4264 .loc 9 6840 7 view .LVU1099 4265 0158 55F80A30 ldr r3, [r5, r10] @ pretmp_337, MEM [(struct I2C_HandleTypeDef *)&_i2 4266 @ /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 **** { 4267 .loc 9 6846 6 view .LVU1100 4268 015c 012A cmp r2, #1 @ reg_size, 4269 015e 15D1 bne .L372 @, 6849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4270 .loc 9 6849 5 is_stmt 1 view .LVU1101 4271 @ /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 **** } 4272 .loc 9 6849 26 is_stmt 0 view .LVU1102 4273 0160 9DF80820 ldrb r2, [sp, #8] @ zero_extendqisi2 @ _188, %sfp 4274 @ /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 **** } 4275 .loc 9 6849 24 view .LVU1103 4276 0164 1A61 str r2, [r3, #16] @ _188, pretmp_337->DR 4277 .L373: 6873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4278 .loc 9 6873 3 is_stmt 1 view .LVU1104 4279 @ /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 **** { 4280 .loc 9 6873 7 is_stmt 0 view .LVU1105 4281 0166 3246 mov r2, r6 @, _162 4282 0168 3946 mov r1, r7 @, timeout 4283 016a 2046 mov r0, r4 @, _9 4284 016c FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 4285 .LVL203: 4286 0170 4FF0A808 mov r8, #168 @ tmp887, 4287 @ /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 **** { 4288 .loc 9 6873 6 discriminator 1 view .LVU1106 4289 0174 0246 mov r2, r0 @ tmp439, tmp898 4290 @ /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 **** { 4291 .loc 9 6875 13 view .LVU1107 4292 0176 08FB09F8 mul r8, r8, r9 @ tmp441, tmp887, bus 4293 @ /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 **** { 4294 .loc 9 6873 6 discriminator 1 view .LVU1108 4295 017a B8B1 cbz r0, .L375 @ tmp439, 6875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4296 .loc 9 6875 5 is_stmt 1 view .LVU1109 ARM GAS /tmp/ccjvgGVC.s page 336 4297 @ /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 **** { 4298 .loc 9 6875 13 is_stmt 0 view .LVU1110 4299 017c 05EB0803 add r3, r5, r8 @ tmp443, tmp340, tmp441 4300 0180 1B6C ldr r3, [r3, #64] @ _201, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4301 @ /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 **** { 4302 .loc 9 6875 8 view .LVU1111 4303 0182 042B cmp r3, #4 @ _201, 4304 0184 B7D1 bne .L366 @, 4305 .loc 9 6878 7 is_stmt 1 view .LVU1112 4306 0186 55F80820 ldr r2, [r5, r8] @ _202, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 4307 018a DFE7 b .L400 @ 4308 .L372: 6855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4309 .loc 9 6855 5 view .LVU1113 4310 @ /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 **** 4311 .loc 9 6855 26 is_stmt 0 view .LVU1114 4312 018c 029A ldr r2, [sp, #8] @ reg, %sfp 4313 018e 120A lsrs r2, r2, #8 @ _191, reg, 4314 @ /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 **** 4315 .loc 9 6855 24 view .LVU1115 4316 0190 1A61 str r2, [r3, #16] @ _191, pretmp_337->DR 6858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4317 .loc 9 6858 5 is_stmt 1 view .LVU1116 4318 @ /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 **** { 4319 .loc 9 6858 9 is_stmt 0 view .LVU1117 4320 0192 3946 mov r1, r7 @, timeout 4321 0194 3246 mov r2, r6 @, _162 4322 0196 2046 mov r0, r4 @, _9 4323 0198 FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 4324 .LVL204: 4325 @ /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 **** { 4326 .loc 9 6858 8 discriminator 1 view .LVU1118 4327 019c 0028 cmp r0, #0 @ tmp897 4328 019e CFD1 bne .L406 @ 6869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4329 .loc 9 6869 5 is_stmt 1 view .LVU1119 4330 @ /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 **** } 4331 .loc 9 6869 9 is_stmt 0 view .LVU1120 4332 01a0 55F80A20 ldr r2, [r5, r10] @ _198, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4333 @ /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 **** } 4334 .loc 9 6869 26 view .LVU1121 4335 01a4 9DF80830 ldrb r3, [sp, #8] @ zero_extendqisi2 @ _199, %sfp 4336 @ /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 **** } 4337 .loc 9 6869 24 view .LVU1122 4338 01a8 1361 str r3, [r2, #16] @ _199, _198->DR 4339 01aa DCE7 b .L373 @ 4340 .L375: 6879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccjvgGVC.s page 337 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 **** } 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); 4341 .loc 9 6884 3 is_stmt 1 view .LVU1123 4342 01ac 55F80810 ldr r1, [r5, r8] @ _205, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 4343 01b0 0B68 ldr r3, [r1] @ _206, _205->CR1 4344 01b2 43F48073 orr r3, r3, #256 @ _207, _206, 4345 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) 4346 .loc 9 6887 3 view .LVU1124 4347 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6887: if ( 4348 .loc 9 6887 7 is_stmt 0 view .LVU1125 4349 01b8 2046 mov r0, r4 @, _9 4350 01ba 0096 str r6, [sp] @ _162, 4351 01bc 3B46 mov r3, r7 @, timeout 4352 01be 4FF00111 mov r1, #65537 @, 4353 01c2 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 4354 .LVL205: 4355 @ /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 **** 4356 .loc 9 6884 3 view .LVU1126 4357 01c6 05EB080A add r10, r5, r8 @ tmp452, tmp340, tmp450 4358 @ /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) 4359 .loc 9 6889 9 view .LVU1127 4360 01ca 55F80820 ldr r2, [r5, r8] @ pretmp_335, MEM [(struct I2C_HandleTypeDef *)&_i2c 4361 @ /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 **** { 4362 .loc 9 6887 6 discriminator 1 view .LVU1128 4363 01ce 38B1 cbz r0, .L376 @ tmp899, 4364 .loc 9 6889 5 is_stmt 1 view .LVU1129 4365 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6889: if 4366 .loc 9 6889 9 is_stmt 0 view .LVU1130 4367 01d0 1368 ldr r3, [r2] @ _210, pretmp_335->CR1 4368 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6889: if 4369 .loc 9 6889 8 view .LVU1131 4370 01d2 D805 lsls r0, r3, #23 @, _210, 4371 01d4 8FD5 bpl .L366 @, 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; 4372 .loc 9 6891 7 is_stmt 1 view .LVU1132 4373 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6891: 4374 .loc 9 6891 23 is_stmt 0 view .LVU1133 4375 01d6 4FF40073 mov r3, #512 @ tmp464, 4376 01da CAF84030 str r3, [r10, #64] @ tmp464, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 4377 .LVL206: 4378 .loc 9 6891 23 view .LVU1134 4379 01de 8AE7 b .L366 @ 4380 .LVL207: 4381 .L376: 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; ARM GAS /tmp/ccjvgGVC.s page 338 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 **** 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); 4382 .loc 9 6897 3 is_stmt 1 view .LVU1135 4383 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6897: hi2c 4384 .loc 9 6897 24 is_stmt 0 view .LVU1136 4385 01e0 4BF00103 orr r3, fp, #1 @ _214, _172, 4386 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6897: hi2c 4387 .loc 9 6897 22 view .LVU1137 4388 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) 4389 .loc 9 6900 3 is_stmt 1 view .LVU1138 4390 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6900: if ( 4391 .loc 9 6900 7 is_stmt 0 view .LVU1139 4392 01e6 3749 ldr r1, .L409+16 @, 4393 01e8 3346 mov r3, r6 @, _162 4394 01ea 3A46 mov r2, r7 @, timeout 4395 01ec 2046 mov r0, r4 @, _9 4396 01ee FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 4397 .LVL208: 4398 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6900: if ( 4399 .loc 9 6900 6 discriminator 1 view .LVU1140 4400 01f2 0028 cmp r0, #0 @ tmp467 4401 01f4 7FF47FAF bne .L366 @ 4402 .LVL209: 4403 .loc 9 6900 6 discriminator 1 view .LVU1141 4404 .LBE286: 4405 .LBE287: 2652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4406 .loc 9 2652 5 is_stmt 1 view .LVU1142 4407 @ /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 **** { 4408 .loc 9 2652 13 is_stmt 0 view .LVU1143 4409 01f8 BAF82820 ldrh r2, [r10, #40] @ _42, MEM [(struct I2C_HandleTypeDef *)&_i2c_dev 4410 .LBB288: 4411 @ /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 **** 4412 .loc 9 2655 7 view .LVU1144 4413 01fc 55F80830 ldr r3, [r5, r8] @ pretmp_339, MEM [(struct I2C_HandleTypeDef *)&_i2c 4414 .LBE288: 4415 @ /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 **** { 4416 .loc 9 2652 8 view .LVU1145 4417 0200 C2B9 cbnz r2, .L377 @ _42, 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4418 .loc 9 2655 7 is_stmt 1 view .LVU1146 4419 .LBB289: 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4420 .loc 9 2655 7 view .LVU1147 4421 0202 0892 str r2, [sp, #32] @ _42, tmpreg 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4422 .loc 9 2655 7 view .LVU1148 4423 0204 5A69 ldr r2, [r3, #20] @ _44, pretmp_339->SR1 4424 0206 0892 str r2, [sp, #32] @ _44, tmpreg ARM GAS /tmp/ccjvgGVC.s page 339 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4425 .loc 9 2655 7 view .LVU1149 4426 0208 9A69 ldr r2, [r3, #24] @ _45, pretmp_339->SR2 4427 020a 0892 str r2, [sp, #32] @ _45, tmpreg 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4428 .loc 9 2655 7 view .LVU1150 4429 020c 089A ldr r2, [sp, #32] @ _46, tmpreg 4430 .L402: 4431 .LBE289: 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4432 .loc 9 2655 7 view .LVU1151 2658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4433 .loc 9 2658 7 view .LVU1152 4434 020e 1A68 ldr r2, [r3] @ _47,* pretmp_339 4435 0210 42F40072 orr r2, r2, #512 @ _48, _47, 4436 0214 1A60 str r2, [r3] @ _48,* pretmp_339 4437 .LVL210: 4438 .L380: 4439 @ /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 **** { 4440 .loc 9 2688 16 is_stmt 0 view .LVU1153 4441 0216 A823 movs r3, #168 @ tmp860, 4442 0218 03FB0955 mla r5, r3, r9, r5 @ tmp861, tmp860, bus, tmp340 4443 .LVL211: 4444 .L378: 2688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4445 .loc 9 2688 27 is_stmt 1 view .LVU1154 4446 @ /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 **** { 4447 .loc 9 2688 16 is_stmt 0 view .LVU1155 4448 021c 288D ldrh r0, [r5, #40] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4449 @ /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 **** { 4450 .loc 9 2688 27 view .LVU1156 4451 021e 0028 cmp r0, #0 @ _69 4452 0220 2DD1 bne .L386 @ 2828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4453 .loc 9 2828 5 is_stmt 1 view .LVU1157 4454 @ /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; 4455 .loc 9 2828 17 is_stmt 0 view .LVU1158 4456 0222 2023 movs r3, #32 @ tmp868, 4457 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 **** 4458 .loc 9 2829 5 is_stmt 1 view .LVU1159 4459 @ /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 **** 4460 .loc 9 2832 5 is_stmt 0 view .LVU1160 4461 0228 85F83C00 strb r0, [r5, #60] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4462 @ /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 **** 4463 .loc 9 2829 16 view .LVU1161 4464 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 **** 4465 .loc 9 2832 5 is_stmt 1 view .LVU1162 2832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4466 .loc 9 2832 5 view .LVU1163 ARM GAS /tmp/ccjvgGVC.s page 340 2832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4467 .loc 9 2832 5 view .LVU1164 2834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4468 .loc 9 2834 5 view .LVU1165 4469 .LVL212: 2834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4470 .loc 9 2834 5 is_stmt 0 view .LVU1166 4471 .LBE295: 4472 .LBE301: 4473 @ /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 **** } 4474 .loc 3 606 10 view .LVU1167 4475 0230 0446 mov r4, r0 @ , _69 4476 .LVL213: 606:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 4477 .loc 3 606 10 view .LVU1168 4478 0232 62E7 b .L370 @ 4479 .LVL214: 4480 .L377: 4481 .LBB302: 4482 .LBB296: 2660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4483 .loc 9 2660 10 is_stmt 1 view .LVU1169 4484 @ /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 **** { 4485 .loc 9 2660 13 is_stmt 0 view .LVU1170 4486 0234 012A cmp r2, #1 @ _42, 4487 0236 0AD1 bne .L379 @, 2663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4488 .loc 9 2663 7 is_stmt 1 view .LVU1171 4489 0238 1A68 ldr r2, [r3] @ _50, pretmp_339->CR1 4490 023a 22F48062 bic r2, r2, #1024 @ _51, _50, 4491 023e 1A60 str r2, [r3] @ _51, pretmp_339->CR1 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4492 .loc 9 2666 7 view .LVU1172 4493 .LBB290: 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4494 .loc 9 2666 7 view .LVU1173 4495 0240 0790 str r0, [sp, #28] @ tmp467, tmpreg 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4496 .loc 9 2666 7 view .LVU1174 4497 0242 5A69 ldr r2, [r3, #20] @ _52, pretmp_339->SR1 4498 0244 0792 str r2, [sp, #28] @ _52, tmpreg 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4499 .loc 9 2666 7 view .LVU1175 4500 0246 9A69 ldr r2, [r3, #24] @ _53, pretmp_339->SR2 4501 0248 0792 str r2, [sp, #28] @ _53, tmpreg 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4502 .loc 9 2666 7 view .LVU1176 4503 024a 079A ldr r2, [sp, #28] @ _54, tmpreg 4504 .LBE290: 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4505 .loc 9 2666 7 view .LVU1177 2669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4506 .loc 9 2669 7 view .LVU1178 4507 024c DFE7 b .L402 @ 4508 .L379: ARM GAS /tmp/ccjvgGVC.s page 341 2671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4509 .loc 9 2671 10 view .LVU1179 4510 @ /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 **** { 4511 .loc 9 2671 13 is_stmt 0 view .LVU1180 4512 024e 022A cmp r2, #2 @ _42, 4513 0250 0ED1 bne .L381 @, 2674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4514 .loc 9 2674 7 is_stmt 1 view .LVU1181 4515 0252 1A68 ldr r2, [r3] @ _58, pretmp_339->CR1 4516 0254 22F48062 bic r2, r2, #1024 @ _59, _58, 4517 0258 1A60 str r2, [r3] @ _59, pretmp_339->CR1 2677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4518 .loc 9 2677 7 view .LVU1182 4519 025a 1A68 ldr r2, [r3] @ _60, pretmp_339->CR1 4520 025c 42F40062 orr r2, r2, #2048 @ _61, _60, 4521 0260 1A60 str r2, [r3] @ _61, pretmp_339->CR1 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4522 .loc 9 2680 7 view .LVU1183 4523 .LBB291: 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4524 .loc 9 2680 7 view .LVU1184 4525 0262 0690 str r0, [sp, #24] @ tmp467, tmpreg 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4526 .loc 9 2680 7 view .LVU1185 4527 0264 5A69 ldr r2, [r3, #20] @ _62, pretmp_339->SR1 4528 0266 0692 str r2, [sp, #24] @ _62, tmpreg 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4529 .loc 9 2680 7 view .LVU1186 4530 0268 9B69 ldr r3, [r3, #24] @ _63, pretmp_339->SR2 4531 026a 0693 str r3, [sp, #24] @ _63, tmpreg 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4532 .loc 9 2680 7 view .LVU1187 4533 026c 069B ldr r3, [sp, #24] @ _64, tmpreg 4534 .LBE291: 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4535 .loc 9 2680 7 view .LVU1188 4536 026e D2E7 b .L380 @ 4537 .L381: 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4538 .loc 9 2685 7 view .LVU1189 4539 .LBB292: 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4540 .loc 9 2685 7 view .LVU1190 4541 0270 0590 str r0, [sp, #20] @ tmp467, tmpreg 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4542 .loc 9 2685 7 view .LVU1191 4543 0272 5A69 ldr r2, [r3, #20] @ _66, pretmp_339->SR1 4544 0274 0592 str r2, [sp, #20] @ _66, tmpreg 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4545 .loc 9 2685 7 view .LVU1192 4546 0276 9B69 ldr r3, [r3, #24] @ _67, pretmp_339->SR2 4547 0278 0593 str r3, [sp, #20] @ _67, tmpreg 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4548 .loc 9 2685 7 view .LVU1193 4549 027a 059B ldr r3, [sp, #20] @ _68, tmpreg 4550 027c CBE7 b .L380 @ ARM GAS /tmp/ccjvgGVC.s page 342 4551 .LVL215: 4552 .L386: 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4553 .loc 9 2685 7 is_stmt 0 view .LVU1194 4554 .LBE292: 2690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4555 .loc 9 2690 7 is_stmt 1 view .LVU1195 4556 @ /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 **** { 4557 .loc 9 2690 10 is_stmt 0 view .LVU1196 4558 027e 0328 cmp r0, #3 @ _69, 4559 0280 62D8 bhi .L382 @, 2693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4560 .loc 9 2693 9 is_stmt 1 view .LVU1197 4561 @ /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 **** { 4562 .loc 9 2693 12 is_stmt 0 view .LVU1198 4563 0282 0128 cmp r0, #1 @ _69, 4564 0284 20D1 bne .L383 @, 2696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4565 .loc 9 2696 11 is_stmt 1 view .LVU1199 4566 @ /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 **** { 4567 .loc 9 2696 15 is_stmt 0 view .LVU1200 4568 0286 3246 mov r2, r6 @, _162 4569 0288 3946 mov r1, r7 @, timeout 4570 028a 2046 mov r0, r4 @, _9 4571 028c FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 @ 4572 .LVL216: 4573 @ /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 **** { 4574 .loc 9 2696 14 discriminator 1 view .LVU1201 4575 0290 0028 cmp r0, #0 @ tmp901 4576 0292 7FF430AF bne .L366 @ 2702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4577 .loc 9 2702 11 is_stmt 1 view .LVU1202 4578 @ /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 **** 4579 .loc 9 2702 42 is_stmt 0 view .LVU1203 4580 0296 2B68 ldr r3, [r5] @ _71, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 4581 @ /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 **** 4582 .loc 9 2702 52 view .LVU1204 4583 0298 1A69 ldr r2, [r3, #16] @ _72, _71->DR 4584 @ /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 **** 4585 .loc 9 2702 16 view .LVU1205 4586 029a 6B6A ldr r3, [r5, #36] @ _73, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 4587 @ /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 **** 4588 .loc 9 2702 29 view .LVU1206 4589 029c 1A70 strb r2, [r3] @ _72, *_73 2705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4590 .loc 9 2705 11 is_stmt 1 view .LVU1207 4591 .L403: 2819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4592 .loc 9 2819 11 view .LVU1208 ARM GAS /tmp/ccjvgGVC.s page 343 4593 @ /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 **** 4594 .loc 9 2819 25 is_stmt 0 view .LVU1209 4595 029e 6B6A ldr r3, [r5, #36] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 4596 02a0 0133 adds r3, r3, #1 @ _155, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 4597 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--; 4598 .loc 9 2822 11 is_stmt 1 view .LVU1210 4599 @ /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--; 4600 .loc 9 2822 25 is_stmt 0 view .LVU1211 4601 02a4 2B8D ldrh r3, [r5, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4602 02a6 013B subs r3, r3, #1 @ tmp843, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4603 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 **** } 4604 .loc 9 2823 11 is_stmt 1 view .LVU1212 4605 @ /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 **** } 4606 .loc 9 2823 15 is_stmt 0 view .LVU1213 4607 02aa 6B8D ldrh r3, [r5, #42] @, 4608 @ /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 **** } 4609 .loc 9 2823 26 view .LVU1214 4610 02ac 013B subs r3, r3, #1 @ tmp851, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4611 02ae 9BB2 uxth r3, r3 @ _159, tmp851 4612 02b0 6B85 strh r3, [r5, #42] @ movhi @ _159, 4613 02b2 B3E7 b .L378 @ 4614 .L410: 4615 .align 2 4616 .L409: 4617 02b4 00000000 .word _ZL9_ms_ticks.lto_priv.0 4618 02b8 02001000 .word 1048578 4619 02bc 00000000 .word _ZL9_i2c_devs 4620 02c0 0000FFFF .word -65536 4621 02c4 02000100 .word 65538 4622 .L383: 2712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4623 .loc 9 2712 14 is_stmt 1 view .LVU1215 4624 @ /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 **** { 4625 .loc 9 2712 17 is_stmt 0 view .LVU1216 4626 02c8 0228 cmp r0, #2 @ _69, 4627 @ /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 **** { 4628 .loc 9 2715 15 view .LVU1217 4629 02ca 2F49 ldr r1, .L411 @, 4630 02cc 0096 str r6, [sp] @ _162, 4631 02ce 3B46 mov r3, r7 @, timeout 4632 02d0 4FF00002 mov r2, #0 @, 4633 02d4 2046 mov r0, r4 @, _9 4634 @ /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 **** { 4635 .loc 9 2712 17 view .LVU1218 4636 02d6 1AD1 bne .L385 @, 4637 .LVL217: 4638 .L408: 4639 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2766: ARM GAS /tmp/ccjvgGVC.s page 344 2766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4640 .loc 9 2766 15 view .LVU1219 4641 02d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 4642 .LVL218: 4643 @ /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 **** { 4644 .loc 9 2766 14 discriminator 1 view .LVU1220 4645 02dc 0028 cmp r0, #0 @ tmp904 4646 02de 7FF40AAF bne .L366 @ 2772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4647 .loc 9 2772 11 is_stmt 1 view .LVU1221 4648 02e2 2B68 ldr r3, [r5] @ _117, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 4649 02e4 1A68 ldr r2, [r3] @ _118,* _117 4650 02e6 42F40072 orr r2, r2, #512 @ _119, _118, 4651 02ea 1A60 str r2, [r3] @ _119,* _117 2775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4652 .loc 9 2775 11 view .LVU1222 4653 @ /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 **** 4654 .loc 9 2775 52 is_stmt 0 view .LVU1223 4655 02ec 1A69 ldr r2, [r3, #16] @ _120, 4656 @ /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 **** 4657 .loc 9 2775 16 view .LVU1224 4658 02ee 6B6A ldr r3, [r5, #36] @ _121, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4659 @ /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 **** 4660 .loc 9 2775 29 view .LVU1225 4661 02f0 1A70 strb r2, [r3] @ _120,* _121 2778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4662 .loc 9 2778 11 is_stmt 1 view .LVU1226 4663 @ /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 **** 4664 .loc 9 2778 15 is_stmt 0 view .LVU1227 4665 02f2 6A6A ldr r2, [r5, #36] @ _123, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4666 @ /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 **** 4667 .loc 9 2778 25 view .LVU1228 4668 02f4 531C adds r3, r2, #1 @ _124, _123, 4669 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--; 4670 .loc 9 2781 11 is_stmt 1 view .LVU1229 4671 @ /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--; 4672 .loc 9 2781 25 is_stmt 0 view .LVU1230 4673 02f8 2B8D ldrh r3, [r5, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4674 02fa 013B subs r3, r3, #1 @ tmp708, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4675 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 **** 4676 .loc 9 2782 11 is_stmt 1 view .LVU1231 4677 @ /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 **** 4678 .loc 9 2782 15 is_stmt 0 view .LVU1232 4679 02fe 6B8D ldrh r3, [r5, #42] @, 4680 @ /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 **** 4681 .loc 9 2782 26 view .LVU1233 ARM GAS /tmp/ccjvgGVC.s page 345 4682 0300 013B subs r3, r3, #1 @ tmp716, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4683 0302 9BB2 uxth r3, r3 @ _128, tmp716 4684 0304 6B85 strh r3, [r5, #42] @ movhi @ _128, 2785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4685 .loc 9 2785 11 is_stmt 1 view .LVU1234 4686 @ /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 **** 4687 .loc 9 2785 42 is_stmt 0 view .LVU1235 4688 0306 2B68 ldr r3, [r5] @ _129, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 4689 .L404: 2816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4690 .loc 9 2816 11 is_stmt 1 view .LVU1236 4691 @ /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 **** 4692 .loc 9 2816 52 is_stmt 0 view .LVU1237 4693 0308 1B69 ldr r3, [r3, #16] @ _152, 4694 @ /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 **** 4695 .loc 9 2816 29 view .LVU1238 4696 030a 5370 strb r3, [r2, #1] @ _152, 4697 030c C7E7 b .L403 @ 4698 .LVL219: 4699 .L385: 2747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4700 .loc 9 2747 11 is_stmt 1 view .LVU1239 4701 @ /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 **** { 4702 .loc 9 2747 15 is_stmt 0 view .LVU1240 4703 030e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 4704 .LVL220: 4705 @ /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 **** { 4706 .loc 9 2747 14 discriminator 1 view .LVU1241 4707 0312 0246 mov r2, r0 @ tmp625, tmp903 4708 0314 0028 cmp r0, #0 @ tmp625 4709 0316 7FF4EEAE bne .L366 @ 2753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4710 .loc 9 2753 11 is_stmt 1 view .LVU1242 4711 031a 2B68 ldr r3, [r5] @ _104, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 4712 031c 1968 ldr r1, [r3] @ _105, _104->CR1 4713 031e 21F48061 bic r1, r1, #1024 @ _106, _105, 4714 0322 1960 str r1, [r3] @ _106, _104->CR1 2756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4715 .loc 9 2756 11 view .LVU1243 4716 @ /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 **** 4717 .loc 9 2756 52 is_stmt 0 view .LVU1244 4718 0324 1969 ldr r1, [r3, #16] @ _107, _104->DR 4719 @ /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 **** 4720 .loc 9 2756 16 view .LVU1245 4721 0326 6B6A ldr r3, [r5, #36] @ _108, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4722 @ /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 **** 4723 .loc 9 2756 29 view .LVU1246 4724 0328 1970 strb r1, [r3] @ _107, *_108 2759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccjvgGVC.s page 346 4725 .loc 9 2759 11 is_stmt 1 view .LVU1247 4726 @ /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 **** 4727 .loc 9 2759 25 is_stmt 0 view .LVU1248 4728 032a 6B6A ldr r3, [r5, #36] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 4729 @ /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 **** { 4730 .loc 9 2766 15 view .LVU1249 4731 032c 1649 ldr r1, .L411 @, 4732 @ /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 **** 4733 .loc 9 2759 25 view .LVU1250 4734 032e 0133 adds r3, r3, #1 @ _111, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 4735 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--; 4736 .loc 9 2762 11 is_stmt 1 view .LVU1251 4737 @ /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--; 4738 .loc 9 2762 25 is_stmt 0 view .LVU1252 4739 0332 2B8D ldrh r3, [r5, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4740 0334 013B subs r3, r3, #1 @ tmp659, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4741 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 **** 4742 .loc 9 2763 11 is_stmt 1 view .LVU1253 4743 @ /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 **** 4744 .loc 9 2763 15 is_stmt 0 view .LVU1254 4745 0338 6B8D ldrh r3, [r5, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4746 @ /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 **** 4747 .loc 9 2763 26 view .LVU1255 4748 033a 013B subs r3, r3, #1 @ tmp667, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4749 033c 9BB2 uxth r3, r3 @ _115, tmp667 4750 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 **** { 4751 .loc 9 2766 11 is_stmt 1 view .LVU1256 4752 @ /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 **** { 4753 .loc 9 2766 15 is_stmt 0 view .LVU1257 4754 0340 2046 mov r0, r4 @, _9 4755 0342 0096 str r6, [sp] @ _162, 4756 0344 3B46 mov r3, r7 @, timeout 4757 0346 C7E7 b .L408 @ 4758 .L382: 2798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4759 .loc 9 2798 9 is_stmt 1 view .LVU1258 4760 @ /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 **** { 4761 .loc 9 2798 13 is_stmt 0 view .LVU1259 4762 0348 3246 mov r2, r6 @, _162 4763 034a 3946 mov r1, r7 @, timeout 4764 034c 2046 mov r0, r4 @, _9 4765 034e FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 @ 4766 .LVL221: 4767 @ /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 **** { 4768 .loc 9 2798 12 discriminator 1 view .LVU1260 ARM GAS /tmp/ccjvgGVC.s page 347 4769 0352 0028 cmp r0, #0 @ tmp905 4770 0354 7FF4CFAE bne .L366 @ 2804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4771 .loc 9 2804 9 is_stmt 1 view .LVU1261 4772 @ /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 **** 4773 .loc 9 2804 40 is_stmt 0 view .LVU1262 4774 0358 2B68 ldr r3, [r5] @ _139, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 4775 @ /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 **** 4776 .loc 9 2804 50 view .LVU1263 4777 035a 1A69 ldr r2, [r3, #16] @ _140, _139->DR 4778 @ /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 **** 4779 .loc 9 2804 14 view .LVU1264 4780 035c 6B6A ldr r3, [r5, #36] @ _141, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4781 @ /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 **** 4782 .loc 9 2804 27 view .LVU1265 4783 035e 1A70 strb r2, [r3] @ _140, *_141 2807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4784 .loc 9 2807 9 is_stmt 1 view .LVU1266 4785 @ /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 **** 4786 .loc 9 2807 13 is_stmt 0 view .LVU1267 4787 0360 6A6A ldr r2, [r5, #36] @ _143, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4788 @ /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 **** 4789 .loc 9 2807 23 view .LVU1268 4790 0362 531C adds r3, r2, #1 @ _144, _143, 4791 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--; 4792 .loc 9 2810 9 is_stmt 1 view .LVU1269 4793 @ /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--; 4794 .loc 9 2810 23 is_stmt 0 view .LVU1270 4795 0366 2B8D ldrh r3, [r5, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4796 0368 013B subs r3, r3, #1 @ tmp799, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4797 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 **** 4798 .loc 9 2811 9 is_stmt 1 view .LVU1271 4799 @ /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 **** 4800 .loc 9 2811 13 is_stmt 0 view .LVU1272 4801 036c 6B8D ldrh r3, [r5, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4802 @ /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 **** 4803 .loc 9 2811 24 view .LVU1273 4804 036e 013B subs r3, r3, #1 @ tmp807, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4805 0370 9BB2 uxth r3, r3 @ _148, tmp807 4806 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 **** { 4807 .loc 9 2813 9 is_stmt 1 view .LVU1274 4808 @ /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 **** { 4809 .loc 9 2813 13 is_stmt 0 view .LVU1275 4810 0374 2B68 ldr r3, [r5] @ _149, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 ARM GAS /tmp/ccjvgGVC.s page 348 4811 0376 5969 ldr r1, [r3, #20] @ _150, _149->SR1 4812 @ /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 **** { 4813 .loc 9 2813 12 view .LVU1276 4814 0378 4907 lsls r1, r1, #29 @, _150, 4815 037a 7FF54FAF bpl .L378 @, 4816 037e C3E7 b .L404 @ 4817 .LVL222: 4818 .L387: 2813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4819 .loc 9 2813 12 view .LVU1277 4820 .LBE296: 4821 .LBE302: 4822 @ /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 **** 4823 .loc 3 599 19 discriminator 1 view .LVU1278 4824 0380 4FF0FF34 mov r4, #-1 @ , 4825 .LVL223: 599:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 4826 .loc 3 599 19 discriminator 1 view .LVU1279 4827 0384 BCE6 b .L363 @ 4828 .L412: 4829 0386 00BF .align 2 4830 .L411: 4831 0388 04000100 .word 65540 4832 .cfi_endproc 4833 .LFE54: 4834 .size _Z14stm32_i2c_readhtttPhtm, .-_Z14stm32_i2c_readhtttPhtm 4835 .section .text._Z15stm32_i2c_writehtttPhtm,"ax",%progbits 4836 .align 1 4837 .global _Z15stm32_i2c_writehtttPhtm 4838 .syntax unified 4839 .thumb 4840 .thumb_func 4841 .type _Z15stm32_i2c_writehtttPhtm, %function 4842 _Z15stm32_i2c_writehtttPhtm: 4843 .LVL224: 4844 .LFB57: 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 **** { 4845 .loc 3 611 1 is_stmt 1 view -0 4846 .cfi_startproc 4847 @ args = 12, pretend = 0, frame = 24 4848 @ 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); 4849 .loc 3 612 3 view .LVU1281 4850 .LBB318: 4851 .LBI318: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 4852 .loc 3 54 27 view .LVU1282 4853 .LBB319: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 4854 .loc 3 56 3 view .LVU1283 4855 .LBE319: 4856 .LBE318: ARM GAS /tmp/ccjvgGVC.s page 349 4857 @ /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); 4858 .loc 3 611 1 is_stmt 0 view .LVU1284 4859 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 4860 .LCFI27: 4861 .cfi_def_cfa_offset 36 4862 .cfi_offset 4, -36 4863 .cfi_offset 5, -32 4864 .cfi_offset 6, -28 4865 .cfi_offset 7, -24 4866 .cfi_offset 8, -20 4867 .cfi_offset 9, -16 4868 .cfi_offset 10, -12 4869 .cfi_offset 11, -8 4870 .cfi_offset 14, -4 4871 0004 89B0 sub sp, sp, #36 @,, 4872 .LCFI28: 4873 .cfi_def_cfa_offset 72 4874 .LBB322: 4875 .LBB320: 4876 @ /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; 4877 .loc 3 56 3 view .LVU1285 4878 0006 0128 cmp r0, #1 @ bus, 4879 .LBE320: 4880 .LBE322: 4881 @ /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); 4882 .loc 3 611 1 view .LVU1286 4883 0008 DDF850B0 ldr fp, [sp, #80] @ timeout, timeout 4884 000c 0291 str r1, [sp, #8] @ tmp460, %sfp 4885 000e 8246 mov r10, r0 @ bus, tmp459 4886 0010 1646 mov r6, r2 @ reg, tmp461 4887 0012 0393 str r3, [sp, #12] @ tmp462, %sfp 4888 .LBB323: 4889 .LBB321: 4890 @ /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; 4891 .loc 3 56 3 view .LVU1287 4892 0014 00F2E080 bhi .L430 @, 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 4893 .loc 3 57 3 is_stmt 1 view .LVU1288 4894 @ /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 **** } 4895 .loc 3 57 26 is_stmt 0 view .LVU1289 4896 0018 714D ldr r5, .L451 @ tmp206, 4897 001a 4442 rsbs r4, r0, #0 @ tmp205, bus 4898 001c 04F0A804 and r4, r4, #168 @ _187, tmp205, 4899 0020 04EB0508 add r8, r4, r5 @ _9, _187, tmp206 4900 .LVL225: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 4901 .loc 3 57 26 view .LVU1290 4902 .LBE321: 4903 .LBE323: 613:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 4904 .loc 3 613 3 is_stmt 1 view .LVU1291 614:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ARM GAS /tmp/ccjvgGVC.s page 350 615:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2CMutex(bus); 4905 .loc 3 615 3 view .LVU1292 4906 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:615: I2CMutex(bus); 4907 .loc 3 615 3 is_stmt 0 discriminator 1 view .LVU1293 4908 0024 4046 mov r0, r8 @, _9 4909 .LVL226: 4910 .loc 3 615 3 discriminator 1 view .LVU1294 4911 0026 FFF7FEFF bl _ZL16i2c_ensure_mutexP16stm32_i2c_device @ 4912 .LVL227: 4913 .loc 3 615 3 is_stmt 1 discriminator 2 view .LVU1295 4914 .LBB324: 4915 .LBI324: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 4916 .loc 4 102 20 view .LVU1296 4917 .LBB325: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 4918 .loc 4 102 55 view .LVU1297 4919 .LBE325: 4920 .LBE324: 4921 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:615: I2CMutex(bus); 4922 .loc 3 615 3 is_stmt 0 discriminator 3 view .LVU1298 4923 002a 04F15801 add r1, r4, #88 @ _123, _187, 4924 .LBB328: 4925 .LBB329: 4926 @ /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 **** { 4927 .loc 9 2492 11 view .LVU1299 4928 002e A824 movs r4, #168 @ tmp214, 4929 .LVL228: 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4930 .loc 9 2492 11 view .LVU1300 4931 .LBE329: 4932 .LBE328: 4933 .LBB351: 4934 .LBB326: 4935 @ /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);} 4936 .loc 4 102 75 view .LVU1301 4937 0030 2944 add r1, r1, r5 @, tmp206 4938 .LVL229: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 4939 .loc 4 102 75 view .LVU1302 4940 0032 06A8 add r0, sp, #24 @,, 4941 .LBE326: 4942 .LBE351: 4943 .LBB352: 4944 .LBB346: 4945 @ /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 **** { 4946 .loc 9 2492 11 view .LVU1303 4947 0034 04FB0AF4 mul r4, r4, r10 @ tmp213, tmp214, bus 4948 .LBE346: 4949 .LBE352: 4950 .LBB353: 4951 .LBB327: 4952 @ /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);} ARM GAS /tmp/ccjvgGVC.s page 351 4953 .loc 4 102 75 view .LVU1304 4954 0038 FFF7FEFF bl _ZN9MutexLockC2EP14mutex_handle_t.isra.0 @ 4955 .LVL230: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 4956 .loc 4 102 75 view .LVU1305 4957 .LBE327: 4958 .LBE353: 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) { 4959 .loc 3 616 3 is_stmt 1 view .LVU1306 4960 .LBB354: 4961 .LBI328: 2484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4962 .loc 9 2484 19 view .LVU1307 4963 .LBB347: 2487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4964 .loc 9 2487 3 view .LVU1308 4965 .LBB330: 4966 .LBI330: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 4967 .loc 10 25 21 view .LVU1309 4968 .loc 10 27 5 view .LVU1310 4969 .LBB331: 4970 .LBI331: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 4971 .loc 11 54 10 view .LVU1311 4972 .LBB332: 4973 .loc 11 56 3 view .LVU1312 4974 .LBE332: 4975 .LBE331: 4976 .LBE330: 4977 @ /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 **** { 4978 .loc 9 2492 11 is_stmt 0 view .LVU1313 4979 003c 2F19 adds r7, r5, r4 @ tmp215, tmp206, tmp213 4980 .LBB335: 4981 .LBB334: 4982 .LBB333: 4983 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 4984 .loc 11 56 10 view .LVU1314 4985 003e 694B ldr r3, .L451+4 @ tmp211, 4986 0040 D3F80090 ldr r9, [r3] @ _75, _ms_ticks 4987 .LVL231: 4988 .loc 11 56 10 view .LVU1315 4989 .LBE333: 4990 .LBE334: 4991 .LBE335: 2490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4992 .loc 9 2490 3 is_stmt 1 view .LVU1316 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4993 .loc 9 2492 3 view .LVU1317 4994 @ /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 **** { 4995 .loc 9 2492 11 is_stmt 0 view .LVU1318 4996 0044 97F83D30 ldrb r3, [r7, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 4997 @ /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 **** { 4998 .loc 9 2492 6 view .LVU1319 ARM GAS /tmp/ccjvgGVC.s page 352 4999 0048 202B cmp r3, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handl 5000 004a 08D0 beq .L415 @, 5001 .LVL232: 5002 .L420: 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5003 .loc 9 2492 6 view .LVU1320 5004 .LBE347: 5005 .LBE354: 5006 @ /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; 5007 .loc 3 617 13 view .LVU1321 5008 004c 4FF0FF34 mov r4, #-1 @ , 5009 .L416: 5010 @ /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 **** } 5011 .loc 3 621 1 view .LVU1322 5012 0050 06A8 add r0, sp, #24 @,, 5013 0052 FFF7FEFF bl _ZN9MutexLockD2Ev.isra.0 @ 5014 .LVL233: 5015 .L413: 5016 .loc 3 621 1 view .LVU1323 5017 0056 2046 mov r0, r4 @, 5018 0058 09B0 add sp, sp, #36 @,, 5019 .LCFI29: 5020 .cfi_remember_state 5021 .cfi_def_cfa_offset 36 5022 @ sp needed @ 5023 005a BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 5024 .LVL234: 5025 .L415: 5026 .LCFI30: 5027 .cfi_restore_state 5028 .LBB355: 5029 .LBB348: 2495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5030 .loc 9 2495 5 is_stmt 1 view .LVU1324 5031 @ /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 **** { 5032 .loc 9 2495 9 is_stmt 0 view .LVU1325 5033 005e 6249 ldr r1, .L451+8 @, 5034 0060 CDF80090 str r9, [sp] @ _75, 5035 0064 1923 movs r3, #25 @, 5036 0066 0122 movs r2, #1 @, 5037 0068 4046 mov r0, r8 @, _9 5038 006a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 5039 .LVL235: 5040 @ /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 **** { 5041 .loc 9 2495 8 discriminator 1 view .LVU1326 5042 006e 0028 cmp r0, #0 @ tmp463 5043 0070 ECD1 bne .L420 @ 2501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5044 .loc 9 2501 5 is_stmt 1 view .LVU1327 2501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccjvgGVC.s page 353 5045 .loc 9 2501 5 view .LVU1328 5046 0072 97F83C30 ldrb r3, [r7, #60] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 5047 0076 012B cmp r3, #1 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handle 5048 0078 E8D0 beq .L420 @, 2501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5049 .loc 9 2501 5 discriminator 2 view .LVU1329 5050 007a 0123 movs r3, #1 @ tmp232, 5051 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 **** 5052 .loc 9 2501 5 view .LVU1330 2504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5053 .loc 9 2504 5 view .LVU1331 5054 @ /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 **** { 5055 .loc 9 2504 14 is_stmt 0 view .LVU1332 5056 0080 2B59 ldr r3, [r5, r4] @ _33, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 5057 @ /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; 5058 .loc 9 2513 21 view .LVU1333 5059 0082 574C ldr r4, .L451 @ tmp239, 5060 @ /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 **** { 5061 .loc 9 2504 24 view .LVU1334 5062 0084 1A68 ldr r2, [r3] @ _34, _33->CR1 5063 @ /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; 5064 .loc 9 2518 23 view .LVU1335 5065 0086 1299 ldr r1, [sp, #72] @ data, data 5066 @ /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 **** { 5067 .loc 9 2504 8 view .LVU1336 5068 0088 D007 lsls r0, r2, #31 @, _34, 2507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5069 .loc 9 2507 7 is_stmt 1 view .LVU1337 5070 008a 5EBF ittt pl 5071 008c 1A68 ldrpl r2, [r3] @ _36, _33->CR1 5072 008e 42F00102 orrpl r2, r2, #1 @ _37, _36, 5073 0092 1A60 strpl r2, [r3] @ _37, _33->CR1 2511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5074 .loc 9 2511 5 view .LVU1338 5075 0094 1A68 ldr r2, [r3] @ _38, _33->CR1 5076 @ /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; 5077 .loc 9 2513 21 is_stmt 0 view .LVU1339 5078 0096 A827 movs r7, #168 @ tmp241, 5079 0098 07FB0AF7 mul r7, r7, r10 @ tmp240, tmp241, bus 5080 009c E519 adds r5, r4, r7 @ tmp242, tmp239, tmp240 5081 @ /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 **** 5082 .loc 9 2511 5 view .LVU1340 5083 009e 22F40062 bic r2, r2, #2048 @ _39, _38, 5084 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; 5085 .loc 9 2513 5 is_stmt 1 view .LVU1341 5086 @ /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; 5087 .loc 9 2513 21 is_stmt 0 view .LVU1342 ARM GAS /tmp/ccjvgGVC.s page 354 5088 00a4 2122 movs r2, #33 @ tmp244, 5089 00a6 85F83D20 strb r2, [r5, #61] @ tmp244, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 2514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5090 .loc 9 2514 5 is_stmt 1 view .LVU1343 5091 @ /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; 5092 .loc 9 2514 21 is_stmt 0 view .LVU1344 5093 00aa 4022 movs r2, #64 @ tmp251, 5094 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 **** 5095 .loc 9 2515 5 is_stmt 1 view .LVU1345 5096 @ /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; 5097 .loc 9 2518 23 is_stmt 0 view .LVU1346 5098 00b0 6962 str r1, [r5, #36] @ data, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5099 @ /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 **** 5100 .loc 9 2515 21 view .LVU1347 5101 00b2 0022 movs r2, #0 @ tmp258, 5102 @ /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; 5103 .loc 9 2519 23 view .LVU1348 5104 00b4 BDF84C10 ldrh r1, [sp, #76] @ len, len 5105 @ /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 **** 5106 .loc 9 2515 21 view .LVU1349 5107 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; 5108 .loc 9 2518 5 is_stmt 1 view .LVU1350 2519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5109 .loc 9 2519 5 view .LVU1351 5110 @ /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; 5111 .loc 9 2519 23 is_stmt 0 view .LVU1352 5112 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; 5113 .loc 9 2520 5 is_stmt 1 view .LVU1353 5114 @ /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; 5115 .loc 9 2520 29 is_stmt 0 view .LVU1354 5116 00bc 698D ldrh r1, [r5, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 5117 @ /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; 5118 .loc 9 2520 23 view .LVU1355 5119 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 **** 5120 .loc 9 2521 5 is_stmt 1 view .LVU1356 5121 @ /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 **** 5122 .loc 9 2521 23 is_stmt 0 view .LVU1357 5123 00c0 4A49 ldr r1, .L451+12 @ tmp287, 5124 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 **** { 5125 .loc 9 2524 5 is_stmt 1 view .LVU1358 5126 .LVL236: 5127 .LBB336: 5128 .LBI336: ARM GAS /tmp/ccjvgGVC.s page 355 6724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5129 .loc 9 6724 26 view .LVU1359 5130 .LBB337: 6727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5131 .loc 9 6727 3 view .LVU1360 5132 00c4 1968 ldr r1, [r3] @ _77, _33->CR1 5133 00c6 41F48071 orr r1, r1, #256 @ _78, _77, 5134 00ca 1960 str r1, [r3] @ _78, _33->CR1 6730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5135 .loc 9 6730 3 view .LVU1361 5136 @ /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 **** { 5137 .loc 9 6730 7 is_stmt 0 view .LVU1362 5138 00cc 4046 mov r0, r8 @, _9 5139 00ce CDF80090 str r9, [sp] @ _75, 5140 00d2 5B46 mov r3, fp @, timeout 5141 00d4 4FF00111 mov r1, #65537 @, 5142 00d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 5143 .LVL237: 5144 @ /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 **** { 5145 .loc 9 6732 9 view .LVU1363 5146 00dc E259 ldr r2, [r4, r7] @ pretmp_178, MEM [(struct I2C_HandleTypeDef *)&_i2c 5147 @ /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 **** { 5148 .loc 9 6730 6 discriminator 1 view .LVU1364 5149 00de 30B1 cbz r0, .L419 @ tmp464, 6732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5150 .loc 9 6732 5 is_stmt 1 view .LVU1365 5151 @ /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 **** { 5152 .loc 9 6732 9 is_stmt 0 view .LVU1366 5153 00e0 1368 ldr r3, [r2] @ _81, pretmp_178->CR1 5154 @ /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 **** { 5155 .loc 9 6732 8 view .LVU1367 5156 00e2 D905 lsls r1, r3, #23 @, _81, 5157 00e4 B2D5 bpl .L420 @, 6734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5158 .loc 9 6734 7 is_stmt 1 view .LVU1368 5159 @ /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 **** } 5160 .loc 9 6734 23 is_stmt 0 view .LVU1369 5161 00e6 4FF40073 mov r3, #512 @ tmp299, 5162 00ea 2B64 str r3, [r5, #64] @ tmp299, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 5163 .LVL238: 6734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5164 .loc 9 6734 23 view .LVU1370 5165 .LBE337: 5166 .LBE336: 5167 .LBE348: 5168 .LBE355: 5169 00ec AEE7 b .L420 @ 5170 .LVL239: 5171 .L419: 5172 .LBB356: 5173 .LBB349: ARM GAS /tmp/ccjvgGVC.s page 356 5174 .LBB343: 5175 .LBB340: 6740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5176 .loc 9 6740 3 is_stmt 1 view .LVU1371 5177 @ /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 **** 5178 .loc 9 6740 24 is_stmt 0 view .LVU1372 5179 00ee 029B ldr r3, [sp, #8] @ addr, %sfp 5180 @ /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 **** { 5181 .loc 9 6743 7 view .LVU1373 5182 00f0 3F49 ldr r1, .L451+16 @, 5183 @ /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 **** 5184 .loc 9 6740 24 view .LVU1374 5185 00f2 5B00 lsls r3, r3, #1 @ tmp301, addr, 5186 00f4 DBB2 uxtb r3, r3 @ _86, tmp301 5187 @ /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 **** 5188 .loc 9 6740 22 view .LVU1375 5189 00f6 1361 str r3, [r2, #16] @ _86, pretmp_178->DR 6743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5190 .loc 9 6743 3 is_stmt 1 view .LVU1376 5191 @ /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 **** { 5192 .loc 9 6743 7 is_stmt 0 view .LVU1377 5193 00f8 4046 mov r0, r8 @, _9 5194 00fa 4B46 mov r3, r9 @, _75 5195 00fc 5A46 mov r2, fp @, timeout 5196 00fe FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 5197 .LVL240: 5198 @ /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 **** { 5199 .loc 9 6743 6 discriminator 1 view .LVU1378 5200 0102 0028 cmp r0, #0 @ tmp303 5201 0104 A2D1 bne .L420 @ 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5202 .loc 9 6749 3 is_stmt 1 view .LVU1379 5203 .LBB338: 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5204 .loc 9 6749 3 view .LVU1380 5205 0106 E359 ldr r3, [r4, r7] @ _88, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 5206 0108 0590 str r0, [sp, #20] @ tmp303, tmpreg 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5207 .loc 9 6749 3 view .LVU1381 5208 010a 5A69 ldr r2, [r3, #20] @ _89, _88->SR1 5209 010c 0592 str r2, [sp, #20] @ _89, tmpreg 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5210 .loc 9 6749 3 view .LVU1382 5211 010e 9B69 ldr r3, [r3, #24] @ _90, _88->SR2 5212 0110 0593 str r3, [sp, #20] @ _90, tmpreg 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5213 .loc 9 6749 3 view .LVU1383 5214 .LBE338: 5215 @ /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 **** { 5216 .loc 9 6752 7 is_stmt 0 view .LVU1384 ARM GAS /tmp/ccjvgGVC.s page 357 5217 0112 4A46 mov r2, r9 @, _75 5218 0114 5946 mov r1, fp @, timeout 5219 0116 4046 mov r0, r8 @, _9 5220 .LBB339: 5221 @ /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 **** 5222 .loc 9 6749 3 view .LVU1385 5223 0118 059B ldr r3, [sp, #20] @ _91, tmpreg 5224 .LBE339: 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5225 .loc 9 6749 3 is_stmt 1 view .LVU1386 6752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5226 .loc 9 6752 3 view .LVU1387 5227 @ /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 **** { 5228 .loc 9 6752 7 is_stmt 0 view .LVU1388 5229 011a FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 5230 .LVL241: 5231 @ /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 **** { 5232 .loc 9 6752 6 discriminator 1 view .LVU1389 5233 011e 40B1 cbz r0, .L421 @ tmp466, 5234 .L447: 6777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5235 .loc 9 6777 7 is_stmt 1 view .LVU1390 5236 @ /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 **** { 5237 .loc 9 6777 15 is_stmt 0 view .LVU1391 5238 0120 2B6C ldr r3, [r5, #64] @ _104, 5239 @ /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 **** { 5240 .loc 9 6777 10 view .LVU1392 5241 0122 042B cmp r3, #4 @ _104, 5242 0124 92D1 bne .L420 @, 6780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5243 .loc 9 6780 9 is_stmt 1 view .LVU1393 5244 0126 E259 ldr r2, [r4, r7] @ _105, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 5245 .LVL242: 5246 .L444: 6780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5247 .loc 9 6780 9 is_stmt 0 view .LVU1394 5248 .LBE340: 5249 .LBE343: 5250 @ /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 **** } 5251 .loc 9 2572 9 view .LVU1395 5252 0128 1368 ldr r3, [r2] @ _68,* _67 5253 012a 43F40073 orr r3, r3, #512 @ _69, _68, 5254 012e 1360 str r3, [r2] @ _69,* _67 5255 .LVL243: 2572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5256 .loc 9 2572 9 view .LVU1396 5257 0130 8CE7 b .L420 @ 5258 .LVL244: 5259 .L421: 5260 .LBB344: 5261 .LBB341: ARM GAS /tmp/ccjvgGVC.s page 358 6763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5262 .loc 9 6763 3 is_stmt 1 view .LVU1397 5263 @ /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 **** { 5264 .loc 9 6763 6 is_stmt 0 view .LVU1398 5265 0132 039A ldr r2, [sp, #12] @ reg_size, %sfp 5266 @ /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 **** } 5267 .loc 9 6757 7 view .LVU1399 5268 0134 E359 ldr r3, [r4, r7] @ pretmp_172, MEM [(struct I2C_HandleTypeDef *)&_i2c 5269 @ /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 **** { 5270 .loc 9 6763 6 view .LVU1400 5271 0136 012A cmp r2, #1 @ reg_size, 5272 0138 1BD1 bne .L422 @, 5273 .L448: 5274 @ /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 **** } 5275 .loc 9 6786 26 view .LVU1401 5276 013a F6B2 uxtb r6, r6 @ _110, reg 5277 .LVL245: 5278 @ /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 **** } 5279 .loc 9 6786 24 view .LVU1402 5280 013c 1E61 str r6, [r3, #16] @ _110, 5281 .LVL246: 6786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5282 .loc 9 6786 24 view .LVU1403 5283 .LBE341: 5284 .LBE344: 5285 @ /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 **** { 5286 .loc 9 2529 16 view .LVU1404 5287 013e A826 movs r6, #168 @ tmp417, 5288 0140 06FB0AF6 mul r6, r6, r10 @ tmp416, tmp417, bus 5289 0144 A519 adds r5, r4, r6 @ tmp418, tmp239, tmp416 5290 .L425: 2529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5291 .loc 9 2529 27 is_stmt 1 view .LVU1405 5292 0146 2B8D ldrh r3, [r5, #40] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 5293 @ /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 **** { 5294 .loc 9 2532 11 is_stmt 0 view .LVU1406 5295 0148 4A46 mov r2, r9 @, _75 5296 014a 5946 mov r1, fp @, timeout 5297 014c 4046 mov r0, r8 @, _9 5298 @ /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 **** { 5299 .loc 9 2529 27 view .LVU1407 5300 014e DBB9 cbnz r3, .L428 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].ha 5301 .LVL247: 2567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5302 .loc 9 2567 5 is_stmt 1 view .LVU1408 5303 @ /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 **** { 5304 .loc 9 2567 9 is_stmt 0 view .LVU1409 5305 0150 FFF7FEFF bl I2C_WaitOnBTFFlagUntilTimeout.lto_priv.0 @ ARM GAS /tmp/ccjvgGVC.s page 359 5306 .LVL248: 5307 @ /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 **** { 5308 .loc 9 2567 8 discriminator 1 view .LVU1410 5309 0154 D8B9 cbnz r0, .L450 @ tmp421, 2578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5310 .loc 9 2578 5 is_stmt 1 view .LVU1411 5311 0156 A259 ldr r2, [r4, r6] @ _70, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 5312 0158 1368 ldr r3, [r2] @ _71, _70->CR1 5313 015a 43F40073 orr r3, r3, #512 @ _72, _71, 5314 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; 5315 .loc 9 2580 5 view .LVU1412 5316 @ /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; 5317 .loc 9 2580 17 is_stmt 0 view .LVU1413 5318 0160 2023 movs r3, #32 @ tmp440, 5319 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 **** 5320 .loc 9 2581 5 is_stmt 1 view .LVU1414 5321 @ /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 **** 5322 .loc 9 2584 5 is_stmt 0 view .LVU1415 5323 0166 85F83C00 strb r0, [r5, #60] @ tmp421, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 5324 @ /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 **** 5325 .loc 9 2581 16 view .LVU1416 5326 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 **** 5327 .loc 9 2584 5 is_stmt 1 view .LVU1417 2584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5328 .loc 9 2584 5 view .LVU1418 2584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5329 .loc 9 2584 5 view .LVU1419 2586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5330 .loc 9 2586 5 view .LVU1420 5331 .LVL249: 2586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5332 .loc 9 2586 5 is_stmt 0 view .LVU1421 5333 .LBE349: 5334 .LBE356: 5335 @ /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 **** } 5336 .loc 3 620 10 view .LVU1422 5337 016e 0446 mov r4, r0 @ , tmp421 5338 0170 6EE7 b .L416 @ 5339 .LVL250: 5340 .L422: 5341 .LBB357: 5342 .LBB350: 5343 .LBB345: 5344 .LBB342: 6772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5345 .loc 9 6772 5 is_stmt 1 view .LVU1423 5346 @ /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 **** 5347 .loc 9 6772 26 is_stmt 0 view .LVU1424 ARM GAS /tmp/ccjvgGVC.s page 360 5348 0172 320A lsrs r2, r6, #8 @ _102, reg, 5349 @ /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 **** 5350 .loc 9 6772 24 view .LVU1425 5351 0174 1A61 str r2, [r3, #16] @ _102, pretmp_172->DR 6775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5352 .loc 9 6775 5 is_stmt 1 view .LVU1426 5353 @ /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 **** { 5354 .loc 9 6775 9 is_stmt 0 view .LVU1427 5355 0176 5946 mov r1, fp @, timeout 5356 0178 4A46 mov r2, r9 @, _75 5357 017a 4046 mov r0, r8 @, _9 5358 017c FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 5359 .LVL251: 5360 @ /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 **** { 5361 .loc 9 6775 8 discriminator 1 view .LVU1428 5362 0180 0028 cmp r0, #0 @ tmp467 5363 0182 CDD1 bne .L447 @ 6786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5364 .loc 9 6786 5 is_stmt 1 view .LVU1429 5365 @ /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 **** } 5366 .loc 9 6786 9 is_stmt 0 view .LVU1430 5367 0184 E359 ldr r3, [r4, r7] @ _109, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 5368 0186 D8E7 b .L448 @ 5369 .LVL252: 5370 .L428: 6786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5371 .loc 9 6786 9 view .LVU1431 5372 .LBE342: 5373 .LBE345: 2532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5374 .loc 9 2532 7 is_stmt 1 view .LVU1432 5375 @ /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 **** { 5376 .loc 9 2532 11 is_stmt 0 view .LVU1433 5377 0188 FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 5378 .LVL253: 5379 @ /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 **** { 5380 .loc 9 2532 10 discriminator 1 view .LVU1434 5381 018c 28B1 cbz r0, .L426 @ tmp468, 5382 .L450: 2569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5383 .loc 9 2569 7 is_stmt 1 view .LVU1435 5384 @ /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 **** { 5385 .loc 9 2569 15 is_stmt 0 view .LVU1436 5386 018e 2B6C ldr r3, [r5, #64] @ _66, 5387 @ /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 **** { 5388 .loc 9 2569 10 view .LVU1437 5389 0190 042B cmp r3, #4 @ _66, 5390 0192 7FF45BAF bne .L420 @, 2572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccjvgGVC.s page 361 5391 .loc 9 2572 9 is_stmt 1 view .LVU1438 5392 0196 A259 ldr r2, [r4, r6] @ _67, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 5393 0198 C6E7 b .L444 @ 5394 .L426: 2543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5395 .loc 9 2543 7 view .LVU1439 5396 @ /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 **** 5397 .loc 9 2543 33 is_stmt 0 view .LVU1440 5398 019a 6B6A ldr r3, [r5, #36] @ _47, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 5399 @ /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 **** 5400 .loc 9 2543 11 view .LVU1441 5401 019c 2F68 ldr r7, [r5] @ _49, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 5402 @ /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 **** 5403 .loc 9 2543 28 view .LVU1442 5404 019e 1A46 mov r2, r3 @ _51, _47 5405 01a0 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2 @ _50, *_47 5406 @ /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 **** 5407 .loc 9 2543 26 view .LVU1443 5408 01a4 3961 str r1, [r7, #16] @ _50, _49->DR 2546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5409 .loc 9 2546 7 is_stmt 1 view .LVU1444 5410 @ /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 **** 5411 .loc 9 2546 21 is_stmt 0 view .LVU1445 5412 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--; 5413 .loc 9 2549 7 is_stmt 1 view .LVU1446 5414 @ /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 **** 5415 .loc 9 2550 11 is_stmt 0 view .LVU1447 5416 01a8 6A8D ldrh r2, [r5, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 5417 @ /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--; 5418 .loc 9 2549 11 view .LVU1448 5419 01aa 298D ldrh r1, [r5, #40] @ _52, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5420 @ /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 **** 5421 .loc 9 2550 22 view .LVU1449 5422 01ac 013A subs r2, r2, #1 @ tmp381, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5423 01ae 92B2 uxth r2, r2 @ _55, tmp381 5424 01b0 6A85 strh r2, [r5, #42] @ movhi @ _55, MEM [(struct I2C_HandleTypeDef *)&_ 5425 @ /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 **** { 5426 .loc 9 2552 12 view .LVU1450 5427 01b2 7A69 ldr r2, [r7, #20] @ _56, _49->SR1 5428 @ /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--; 5429 .loc 9 2549 21 view .LVU1451 5430 01b4 481E subs r0, r1, #1 @ tmp368, _52, 5431 01b6 80B2 uxth r0, r0 @ _53, tmp368 5432 @ /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 **** { 5433 .loc 9 2552 10 view .LVU1452 ARM GAS /tmp/ccjvgGVC.s page 362 5434 01b8 5207 lsls r2, r2, #29 @, _56, 5435 @ /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--; 5436 .loc 9 2549 21 view .LVU1453 5437 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 **** 5438 .loc 9 2550 7 is_stmt 1 view .LVU1454 2552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5439 .loc 9 2552 7 view .LVU1455 5440 @ /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 **** { 5441 .loc 9 2552 10 is_stmt 0 view .LVU1456 5442 01bc C3D5 bpl .L425 @, 5443 @ /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 **** { 5444 .loc 9 2552 59 discriminator 1 view .LVU1457 5445 01be 0028 cmp r0, #0 @ _53 5446 01c0 C1D0 beq .L425 @ 2555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5447 .loc 9 2555 9 is_stmt 1 view .LVU1458 5448 @ /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 **** 5449 .loc 9 2555 30 is_stmt 0 view .LVU1459 5450 01c2 5A78 ldrb r2, [r3, #1] @ zero_extendqisi2 @ _59, MEM[(uint8_t *)_47 + 1B] 5451 @ /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 **** 5452 .loc 9 2555 28 view .LVU1460 5453 01c4 3A61 str r2, [r7, #16] @ _59, _49->DR 2558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5454 .loc 9 2558 9 is_stmt 1 view .LVU1461 5455 @ /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 **** 5456 .loc 9 2558 23 is_stmt 0 view .LVU1462 5457 01c6 0233 adds r3, r3, #2 @ _60, _47, 5458 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--; 5459 .loc 9 2561 9 is_stmt 1 view .LVU1463 5460 @ /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 **** } 5461 .loc 9 2562 13 is_stmt 0 view .LVU1464 5462 01ca 6B8D ldrh r3, [r5, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 5463 @ /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 **** } 5464 .loc 9 2562 24 view .LVU1465 5465 01cc 013B subs r3, r3, #1 @ tmp408, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5466 @ /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--; 5467 .loc 9 2561 23 view .LVU1466 5468 01ce 0239 subs r1, r1, #2 @ tmp400, _52, 5469 @ /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 **** } 5470 .loc 9 2562 24 view .LVU1467 5471 01d0 9BB2 uxth r3, r3 @ _63, tmp408 5472 @ /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--; 5473 .loc 9 2561 23 view .LVU1468 5474 01d2 2985 strh r1, [r5, #40] @ movhi @ tmp400, MEM [(struct I2C_HandleTypeDef * ARM GAS /tmp/ccjvgGVC.s page 363 2562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5475 .loc 9 2562 9 is_stmt 1 view .LVU1469 5476 @ /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 **** } 5477 .loc 9 2562 24 is_stmt 0 view .LVU1470 5478 01d4 6B85 strh r3, [r5, #42] @ movhi @ _63, MEM [(struct I2C_HandleTypeDef *)&_ 5479 01d6 B6E7 b .L425 @ 5480 .LVL254: 5481 .L430: 2562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5482 .loc 9 2562 24 view .LVU1471 5483 .LBE350: 5484 .LBE357: 5485 @ /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 **** 5486 .loc 3 613 19 discriminator 1 view .LVU1472 5487 01d8 4FF0FF34 mov r4, #-1 @ , 5488 .LVL255: 613:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 5489 .loc 3 613 19 discriminator 1 view .LVU1473 5490 01dc 3BE7 b .L413 @ 5491 .L452: 5492 01de 00BF .align 2 5493 .L451: 5494 01e0 00000000 .word _ZL9_i2c_devs 5495 01e4 00000000 .word _ZL9_ms_ticks.lto_priv.0 5496 01e8 02001000 .word 1048578 5497 01ec 0000FFFF .word -65536 5498 01f0 02000100 .word 65538 5499 .cfi_endproc 5500 .LFE57: 5501 .size _Z15stm32_i2c_writehtttPhtm, .-_Z15stm32_i2c_writehtttPhtm 5502 .section .text._Z22stm32_i2c_is_dev_readyhtmm,"ax",%progbits 5503 .align 1 5504 .global _Z22stm32_i2c_is_dev_readyhtmm 5505 .syntax unified 5506 .thumb 5507 .thumb_func 5508 .type _Z22stm32_i2c_is_dev_readyhtmm, %function 5509 _Z22stm32_i2c_is_dev_readyhtmm: 5510 .LVL256: 5511 .LFB60: 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 **** { 5512 .loc 3 624 1 is_stmt 1 view -0 5513 .cfi_startproc 5514 @ args = 0, pretend = 0, frame = 24 5515 @ 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); 5516 .loc 3 625 3 view .LVU1475 5517 .LBB379: 5518 .LBI379: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 5519 .loc 3 54 27 view .LVU1476 5520 .LBB380: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; ARM GAS /tmp/ccjvgGVC.s page 364 5521 .loc 3 56 3 view .LVU1477 5522 .LBE380: 5523 .LBE379: 5524 @ /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); 5525 .loc 3 624 1 is_stmt 0 view .LVU1478 5526 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 5527 .LCFI31: 5528 .cfi_def_cfa_offset 36 5529 .cfi_offset 4, -36 5530 .cfi_offset 5, -32 5531 .cfi_offset 6, -28 5532 .cfi_offset 7, -24 5533 .cfi_offset 8, -20 5534 .cfi_offset 9, -16 5535 .cfi_offset 10, -12 5536 .cfi_offset 11, -8 5537 .cfi_offset 14, -4 5538 .LBB384: 5539 .LBB381: 5540 @ /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; 5541 .loc 3 56 3 view .LVU1479 5542 0004 0128 cmp r0, #1 @ bus, 5543 .LBE381: 5544 .LBE384: 5545 @ /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); 5546 .loc 3 624 1 view .LVU1480 5547 0006 89B0 sub sp, sp, #36 @,, 5548 .LCFI32: 5549 .cfi_def_cfa_offset 72 5550 @ /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); 5551 .loc 3 624 1 view .LVU1481 5552 0008 CDE90212 strd r1, r2, [sp, #8] @ tmp324, tmp325,, 5553 000c 0546 mov r5, r0 @ bus, tmp323 5554 000e 1F46 mov r7, r3 @ timeout, tmp326 5555 .LBB385: 5556 .LBB382: 5557 @ /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; 5558 .loc 3 56 3 view .LVU1482 5559 0010 00F2C480 bhi .L468 @, 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5560 .loc 3 57 3 is_stmt 1 view .LVU1483 5561 @ /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 **** } 5562 .loc 3 57 26 is_stmt 0 view .LVU1484 5563 0014 DFF89481 ldr r8, .L479+8 @ tmp179, 5564 .LBE382: 5565 .LBE385: 5566 .LBB386: 5567 .LBB387: 5568 .LBB388: 5569 .LBB389: 5570 .LBB390: ARM GAS /tmp/ccjvgGVC.s page 365 5571 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 5572 .loc 11 56 10 view .LVU1485 5573 0018 DFF88CB1 ldr fp, .L479+4 @ tmp184, 5574 001c 4442 rsbs r4, r0, #0 @ tmp178, bus 5575 001e 04F0A804 and r4, r4, #168 @ _15, tmp178, 5576 .LBE390: 5577 .LBE389: 5578 .LBE388: 5579 .LBE387: 5580 .LBE386: 5581 .LBB411: 5582 .LBB383: 5583 @ /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 **** } 5584 .loc 3 57 26 view .LVU1486 5585 0022 04EB0806 add r6, r4, r8 @ _8, _15, tmp179 5586 .LVL257: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5587 .loc 3 57 26 view .LVU1487 5588 .LBE383: 5589 .LBE411: 626:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 5590 .loc 3 626 3 is_stmt 1 view .LVU1488 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); 5591 .loc 3 628 3 view .LVU1489 5592 .LBB412: 5593 .LBB404: 5594 @ /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 **** { 5595 .loc 9 3428 11 is_stmt 0 view .LVU1490 5596 0026 4FF0A809 mov r9, #168 @ tmp187, 5597 .LBE404: 5598 .LBE412: 5599 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:628: I2CMutex(bus); 5600 .loc 3 628 3 discriminator 1 view .LVU1491 5601 002a 3046 mov r0, r6 @, _8 5602 .LVL258: 5603 .LBB413: 5604 .LBB405: 5605 @ /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 **** { 5606 .loc 9 3428 11 view .LVU1492 5607 002c 09FB05F9 mul r9, r9, r5 @ tmp186, tmp187, bus 5608 .LBE405: 5609 .LBE413: 5610 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:628: I2CMutex(bus); 5611 .loc 3 628 3 discriminator 1 view .LVU1493 5612 0030 FFF7FEFF bl _ZL16i2c_ensure_mutexP16stm32_i2c_device @ 5613 .LVL259: 5614 .loc 3 628 3 is_stmt 1 discriminator 2 view .LVU1494 5615 .LBB414: 5616 .LBI414: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5617 .loc 4 102 20 view .LVU1495 5618 .LBB415: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} ARM GAS /tmp/ccjvgGVC.s page 366 5619 .loc 4 102 55 view .LVU1496 5620 .LBE415: 5621 .LBE414: 5622 .LBB417: 5623 .LBB406: 5624 @ /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 **** { 5625 .loc 9 3428 11 is_stmt 0 view .LVU1497 5626 0034 08EB090A add r10, r8, r9 @ tmp188, tmp179, tmp186 5627 .LBE406: 5628 .LBE417: 5629 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:628: I2CMutex(bus); 5630 .loc 3 628 3 discriminator 3 view .LVU1498 5631 0038 04F15801 add r1, r4, #88 @ _133, _15, 5632 .LBB418: 5633 .LBB416: 5634 @ /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);} 5635 .loc 4 102 75 view .LVU1499 5636 003c 4144 add r1, r1, r8 @, tmp179 5637 003e 06A8 add r0, sp, #24 @,, 5638 0040 FFF7FEFF bl _ZN9MutexLockC2EP14mutex_handle_t.isra.0 @ 5639 .LVL260: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5640 .loc 4 102 75 view .LVU1500 5641 .LBE416: 5642 .LBE418: 629:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** HAL_StatusTypeDef err = HAL_I2C_IsDeviceReady(h, addr << 1, retries, timeout); 5643 .loc 3 629 3 is_stmt 1 view .LVU1501 5644 .LBB419: 5645 .LBI386: 3420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5646 .loc 9 3420 19 view .LVU1502 5647 .LBB407: 3423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t I2C_Trials = 1U; 5648 .loc 9 3423 3 view .LVU1503 5649 .LBB393: 5650 .LBI388: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 5651 .loc 10 25 21 view .LVU1504 5652 .loc 10 27 5 view .LVU1505 5653 .LBB392: 5654 .LBI389: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 5655 .loc 11 54 10 view .LVU1506 5656 .LBB391: 5657 .loc 11 56 3 view .LVU1507 5658 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 5659 .loc 11 56 10 is_stmt 0 view .LVU1508 5660 0044 DBF80040 ldr r4, [fp] @ tickstart, _ms_ticks 5661 .LVL261: 5662 .loc 11 56 10 view .LVU1509 5663 .LBE391: 5664 .LBE392: 5665 .LBE393: 3424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** FlagStatus tmp1; 5666 .loc 9 3424 3 is_stmt 1 view .LVU1510 ARM GAS /tmp/ccjvgGVC.s page 367 3425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** FlagStatus tmp2; 5667 .loc 9 3425 3 view .LVU1511 3426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5668 .loc 9 3426 3 view .LVU1512 3428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5669 .loc 9 3428 3 view .LVU1513 5670 @ /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 **** { 5671 .loc 9 3428 11 is_stmt 0 view .LVU1514 5672 0048 9AF83D30 ldrb r3, [r10, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeD 5673 @ /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 **** { 5674 .loc 9 3428 6 view .LVU1515 5675 004c 202B cmp r3, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_10].handl 5676 004e 08D0 beq .L455 @, 5677 .LVL262: 5678 .L460: 3428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5679 .loc 9 3428 6 view .LVU1516 5680 .LBE407: 5681 .LBE419: 5682 @ /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; 5683 .loc 3 630 30 discriminator 1 view .LVU1517 5684 0050 4FF0FF34 mov r4, #-1 @ , 5685 .L456: 5686 @ /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 **** } 5687 .loc 3 633 1 view .LVU1518 5688 0054 06A8 add r0, sp, #24 @,, 5689 0056 FFF7FEFF bl _ZN9MutexLockD2Ev.isra.0 @ 5690 .LVL263: 5691 .L453: 5692 .loc 3 633 1 view .LVU1519 5693 005a 2046 mov r0, r4 @, 5694 005c 09B0 add sp, sp, #36 @,, 5695 .LCFI33: 5696 .cfi_remember_state 5697 .cfi_def_cfa_offset 36 5698 @ sp needed @ 5699 005e BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 5700 .LVL264: 5701 .L455: 5702 .LCFI34: 5703 .cfi_restore_state 5704 .LBB420: 5705 .LBB408: 3431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5706 .loc 9 3431 5 is_stmt 1 view .LVU1520 5707 @ /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 **** { 5708 .loc 9 3431 9 is_stmt 0 view .LVU1521 5709 0062 5049 ldr r1, .L479 @, 5710 0064 0094 str r4, [sp] @ tickstart, 5711 0066 1923 movs r3, #25 @, ARM GAS /tmp/ccjvgGVC.s page 368 5712 0068 0122 movs r2, #1 @, 5713 006a 3046 mov r0, r6 @, _8 5714 006c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 5715 .LVL265: 5716 @ /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 **** { 5717 .loc 9 3431 8 discriminator 1 view .LVU1522 5718 0070 0028 cmp r0, #0 @ tmp327 5719 0072 EDD1 bne .L460 @ 3437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5720 .loc 9 3437 5 is_stmt 1 view .LVU1523 3437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5721 .loc 9 3437 5 view .LVU1524 5722 0074 9AF83C30 ldrb r3, [r10, #60] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeD 5723 0078 012B cmp r3, #1 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_10].handle 5724 007a E9D0 beq .L460 @, 3437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5725 .loc 9 3437 5 discriminator 2 view .LVU1525 5726 007c 0123 movs r3, #1 @ tmp205, 5727 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 **** 5728 .loc 9 3437 5 view .LVU1526 3440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5729 .loc 9 3440 5 view .LVU1527 5730 @ /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 **** { 5731 .loc 9 3440 14 is_stmt 0 view .LVU1528 5732 0082 58F80930 ldr r3, [r8, r9] @ _30, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 5733 @ /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 **** { 5734 .loc 9 3440 24 view .LVU1529 5735 0086 1A68 ldr r2, [r3] @ _31, _30->CR1 5736 @ /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 **** { 5737 .loc 9 3440 8 view .LVU1530 5738 0088 D207 lsls r2, r2, #31 @, _31, 3443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5739 .loc 9 3443 7 is_stmt 1 view .LVU1531 5740 008a 5EBF ittt pl 5741 008c 1A68 ldrpl r2, [r3] @ _33, _30->CR1 5742 008e 42F00102 orrpl r2, r2, #1 @ _34, _33, 5743 0092 1A60 strpl r2, [r3] @ _34, _30->CR1 3447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5744 .loc 9 3447 5 view .LVU1532 5745 0094 1A68 ldr r2, [r3] @ _35, _30->CR1 5746 0096 22F40062 bic r2, r2, #2048 @ _36, _35, 5747 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; 5748 .loc 9 3449 5 view .LVU1533 5749 @ /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; 5750 .loc 9 3449 17 is_stmt 0 view .LVU1534 5751 009c A823 movs r3, #168 @ tmp214, 5752 009e 03FB0585 mla r5, r3, r5, r8 @ tmp215, tmp214, bus, tmp179 5753 00a2 2423 movs r3, #36 @ tmp217, 5754 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; ARM GAS /tmp/ccjvgGVC.s page 369 5755 .loc 9 3450 5 is_stmt 1 view .LVU1535 5756 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3450: hi 3450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5757 .loc 9 3450 21 is_stmt 0 view .LVU1536 5758 00a8 0023 movs r3, #0 @ tmp224, 5759 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 **** 5760 .loc 9 3451 5 is_stmt 1 view .LVU1537 5761 @ /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 **** 5762 .loc 9 3451 23 is_stmt 0 view .LVU1538 5763 00ac A3F58033 sub r3, r3, #65536 @ tmp230, tmp230, 5764 00b0 EB62 str r3, [r5, #44] @ tmp230, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 5765 @ /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; 5766 .loc 9 3424 12 view .LVU1539 5767 00b2 4FF00109 mov r9, #1 @ I2C_Trials, 5768 .LVL266: 5769 .L467: 3453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5770 .loc 9 3453 5 is_stmt 1 view .LVU1540 3456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5771 .loc 9 3456 7 view .LVU1541 5772 00b6 2A68 ldr r2, [r5] @ _37, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_10] 5773 00b8 1368 ldr r3, [r2] @ _38, _37->CR1 5774 00ba 43F48073 orr r3, r3, #256 @ _39, _38, 5775 00be 1360 str r3, [r2] @ _39, _37->CR1 3459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5776 .loc 9 3459 7 view .LVU1542 5777 @ /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 **** { 5778 .loc 9 3459 11 is_stmt 0 view .LVU1543 5779 00c0 4FF00111 mov r1, #65537 @, 5780 00c4 3B46 mov r3, r7 @, timeout 5781 00c6 0094 str r4, [sp] @ tickstart, 5782 00c8 0022 movs r2, #0 @, 5783 00ca 3046 mov r0, r6 @, _8 5784 00cc FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 5785 .LVL267: 5786 @ /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 **** { 5787 .loc 9 3461 13 view .LVU1544 5788 00d0 2B68 ldr r3, [r5] @ pretmp_73, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5789 @ /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 **** { 5790 .loc 9 3459 10 discriminator 1 view .LVU1545 5791 00d2 30B1 cbz r0, .L459 @ tmp328, 3461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5792 .loc 9 3461 9 is_stmt 1 view .LVU1546 5793 @ /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 **** { 5794 .loc 9 3461 13 is_stmt 0 view .LVU1547 5795 00d4 1B68 ldr r3, [r3] @ _43, pretmp_73->CR1 5796 @ /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 **** { 5797 .loc 9 3461 12 view .LVU1548 5798 00d6 DB05 lsls r3, r3, #23 @, _43, ARM GAS /tmp/ccjvgGVC.s page 370 5799 00d8 BAD5 bpl .L460 @, 3463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5800 .loc 9 3463 11 is_stmt 1 view .LVU1549 5801 @ /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 **** } 5802 .loc 9 3463 27 is_stmt 0 view .LVU1550 5803 00da 4FF40073 mov r3, #512 @ tmp246, 5804 00de 2B64 str r3, [r5, #64] @ tmp246, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 5805 .LVL268: 3463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5806 .loc 9 3463 27 view .LVU1551 5807 .LBE408: 5808 .LBE420: 630:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 5809 .loc 3 630 3 is_stmt 1 view .LVU1552 5810 00e0 B6E7 b .L460 @ 5811 .LVL269: 5812 .L459: 5813 .LBB421: 5814 .LBB409: 3469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5815 .loc 9 3469 7 view .LVU1553 5816 @ /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 **** 5817 .loc 9 3469 28 is_stmt 0 view .LVU1554 5818 00e2 029A ldr r2, [sp, #8] @ addr, %sfp 5819 .LBB394: 5820 .LBB395: 5821 .LBB396: 5822 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 5823 .loc 11 56 10 view .LVU1555 5824 00e4 3048 ldr r0, .L479+4 @ tmp320, 5825 .LBE396: 5826 .LBE395: 5827 .LBE394: 5828 @ /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 **** 5829 .loc 9 3469 28 view .LVU1556 5830 00e6 5200 lsls r2, r2, #1 @ tmp248, addr, 5831 00e8 D2B2 uxtb r2, r2 @ _48, tmp248 5832 @ /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 **** 5833 .loc 9 3469 26 view .LVU1557 5834 00ea 1A61 str r2, [r3, #16] @ _48, pretmp_73->DR 3473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5835 .loc 9 3473 7 is_stmt 1 view .LVU1558 5836 .LBB399: 5837 .LBI399: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 5838 .loc 10 25 21 view .LVU1559 5839 .loc 10 27 5 view .LVU1560 5840 .LBB400: 5841 .LBI400: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 5842 .loc 11 54 10 view .LVU1561 5843 .LBB401: 5844 .loc 11 56 3 view .LVU1562 ARM GAS /tmp/ccjvgGVC.s page 371 5845 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 5846 .loc 11 56 10 is_stmt 0 view .LVU1563 5847 00ec DBF80040 ldr r4, [fp] @ tickstart, _ms_ticks 5848 .LVL270: 5849 .loc 11 56 10 view .LVU1564 5850 .LBE401: 5851 .LBE400: 5852 .LBE399: 3475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 5853 .loc 9 3475 7 is_stmt 1 view .LVU1565 5854 @ /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); 5855 .loc 9 3475 14 is_stmt 0 view .LVU1566 5856 00f0 5969 ldr r1, [r3, #20] @ _51, pretmp_73->SR1 5857 @ /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)) 5858 .loc 9 3476 14 view .LVU1567 5859 00f2 5A69 ldr r2, [r3, #20] @ _55, pretmp_73->SR1 5860 @ /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); 5861 .loc 9 3475 12 view .LVU1568 5862 00f4 C1F34001 ubfx r1, r1, #1, #1 @ tmp1, _51,, 5863 .LVL271: 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)) 5864 .loc 9 3476 7 is_stmt 1 view .LVU1569 5865 @ /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)) 5866 .loc 9 3476 12 is_stmt 0 view .LVU1570 5867 00f8 C2F38022 ubfx r2, r2, #10, #1 @ tmp2, _55,, 5868 .LVL272: 3477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5869 .loc 9 3477 7 is_stmt 1 view .LVU1571 5870 @ /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 **** } 5871 .loc 9 3481 23 is_stmt 0 view .LVU1572 5872 00fc 4FF0A00C mov ip, #160 @ tmp321, 5873 .LVL273: 5874 .L461: 3477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5875 .loc 9 3477 72 is_stmt 1 view .LVU1573 5876 @ /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 **** { 5877 .loc 9 3477 19 is_stmt 0 view .LVU1574 5878 0100 95F83DE0 ldrb lr, [r5, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 5879 @ /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 **** { 5880 .loc 9 3477 72 view .LVU1575 5881 0104 BEF1A00F cmp lr, #160 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_10].hand 5882 0108 01D0 beq .L464 @, 5883 @ /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 **** { 5884 .loc 9 3477 53 discriminator 1 view .LVU1576 5885 010a 0A43 orrs r2, r2, r1 @ tmp331, tmp2, tmp1 5886 .LVL274: 3477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5887 .loc 9 3477 53 discriminator 1 view .LVU1577 5888 010c 21D0 beq .L465 @, ARM GAS /tmp/ccjvgGVC.s page 372 5889 .L464: 3487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5890 .loc 9 3487 7 is_stmt 1 view .LVU1578 5891 @ /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 **** 5892 .loc 9 3487 19 is_stmt 0 view .LVU1579 5893 010e 4FF02008 mov r8, #32 @ tmp278, 5894 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 **** { 5895 .loc 9 3490 7 is_stmt 1 view .LVU1580 5896 @ /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 **** { 5897 .loc 9 3490 11 is_stmt 0 view .LVU1581 5898 0116 5A69 ldr r2, [r3, #20] @ _74, pretmp_73->SR1 5899 @ /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 **** { 5900 .loc 9 3490 10 view .LVU1582 5901 0118 12F0020F tst r2, #2 @ _74, 5902 @ /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 **** 5903 .loc 9 3493 9 view .LVU1583 5904 011c 1A68 ldr r2, [r3] @ _76,* pretmp_73 5905 011e 42F40072 orr r2, r2, #512 @ _77, _76, 5906 0122 1A60 str r2, [r3] @ _77,* pretmp_73 5907 @ /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 **** { 5908 .loc 9 3490 10 view .LVU1584 5909 0124 23D0 beq .L466 @, 3493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5910 .loc 9 3493 9 is_stmt 1 view .LVU1585 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5911 .loc 9 3496 9 view .LVU1586 5912 .LBB402: 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5913 .loc 9 3496 9 view .LVU1587 5914 0126 0022 movs r2, #0 @ tmp281, 5915 0128 0592 str r2, [sp, #20] @ tmp281, tmpreg 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5916 .loc 9 3496 9 view .LVU1588 5917 012a 5A69 ldr r2, [r3, #20] @ _78, pretmp_73->SR1 5918 012c 0592 str r2, [sp, #20] @ _78, tmpreg 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5919 .loc 9 3496 9 view .LVU1589 5920 012e 9B69 ldr r3, [r3, #24] @ _79, pretmp_73->SR2 5921 0130 0593 str r3, [sp, #20] @ _79, tmpreg 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5922 .loc 9 3496 9 view .LVU1590 5923 0132 059B ldr r3, [sp, #20] @ _80, tmpreg 5924 .LBE402: 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5925 .loc 9 3496 9 view .LVU1591 3499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5926 .loc 9 3499 9 view .LVU1592 5927 @ /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 **** { 5928 .loc 9 3499 13 is_stmt 0 view .LVU1593 5929 0134 0094 str r4, [sp] @ tickstart, ARM GAS /tmp/ccjvgGVC.s page 373 5930 0136 1B49 ldr r1, .L479 @, 5931 .LVL275: 3499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5932 .loc 9 3499 13 view .LVU1594 5933 0138 1923 movs r3, #25 @, 5934 013a 0122 movs r2, #1 @, 5935 013c 3046 mov r0, r6 @, _8 5936 013e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 5937 .LVL276: 5938 @ /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 **** { 5939 .loc 9 3499 12 discriminator 1 view .LVU1595 5940 0142 0446 mov r4, r0 @ tmp283, tmp329 5941 .LVL277: 3499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5942 .loc 9 3499 12 discriminator 1 view .LVU1596 5943 0144 0028 cmp r0, #0 @ tmp283 5944 0146 83D1 bne .L460 @ 3504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5945 .loc 9 3504 9 is_stmt 1 view .LVU1597 5946 @ /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 **** 5947 .loc 9 3504 21 is_stmt 0 view .LVU1598 5948 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 **** 5949 .loc 9 3507 9 is_stmt 1 view .LVU1599 3507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5950 .loc 9 3507 9 view .LVU1600 5951 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 **** 5952 .loc 9 3507 9 view .LVU1601 3509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5953 .loc 9 3509 9 view .LVU1602 5954 .LVL278: 3509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5955 .loc 9 3509 9 is_stmt 0 view .LVU1603 5956 .LBE409: 5957 .LBE421: 630:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 5958 .loc 3 630 3 is_stmt 1 view .LVU1604 5959 0150 80E7 b .L456 @ 5960 .LVL279: 5961 .L465: 5962 .LBB422: 5963 .LBB410: 3479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5964 .loc 9 3479 9 view .LVU1605 5965 .LBB403: 5966 .LBI394: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 5967 .loc 10 25 21 view .LVU1606 5968 .loc 10 27 5 view .LVU1607 5969 .LBB398: 5970 .LBI395: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 5971 .loc 11 54 10 view .LVU1608 5972 .LBB397: ARM GAS /tmp/ccjvgGVC.s page 374 5973 .loc 11 56 3 view .LVU1609 5974 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 5975 .loc 11 56 10 is_stmt 0 view .LVU1610 5976 0152 0268 ldr r2, [r0] @ _93, _ms_ticks 5977 .LBE397: 5978 .LBE398: 5979 .LBE403: 5980 @ /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 **** { 5981 .loc 9 3479 29 discriminator 1 view .LVU1611 5982 0154 121B subs r2, r2, r4 @ _60, _93, tickstart 5983 @ /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 **** { 5984 .loc 9 3479 12 discriminator 1 view .LVU1612 5985 0156 9742 cmp r7, r2 @ timeout, _60 5986 0158 00D3 bcc .L462 @, 5987 @ /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 **** { 5988 .loc 9 3479 53 discriminator 1 view .LVU1613 5989 015a 0FB9 cbnz r7, .L463 @ timeout, 5990 .L462: 3481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5991 .loc 9 3481 11 is_stmt 1 view .LVU1614 5992 @ /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 **** } 5993 .loc 9 3481 23 is_stmt 0 view .LVU1615 5994 015c 85F83DC0 strb ip, [r5, #61] @ tmp321, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 5995 .L463: 3483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 5996 .loc 9 3483 9 is_stmt 1 view .LVU1616 5997 @ /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); 5998 .loc 9 3483 16 is_stmt 0 view .LVU1617 5999 0160 5969 ldr r1, [r3, #20] @ _62, pretmp_73->SR1 6000 .LVL280: 6001 @ /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 **** } 6002 .loc 9 3484 16 view .LVU1618 6003 0162 5A69 ldr r2, [r3, #20] @ _66, pretmp_73->SR1 6004 @ /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); 6005 .loc 9 3483 14 view .LVU1619 6006 0164 C1F34001 ubfx r1, r1, #1, #1 @ tmp1, _62,, 3484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6007 .loc 9 3484 9 is_stmt 1 view .LVU1620 6008 @ /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 **** } 6009 .loc 9 3484 14 is_stmt 0 view .LVU1621 6010 0168 C2F38022 ubfx r2, r2, #10, #1 @ tmp2, _66,, 6011 016c C8E7 b .L461 @ 6012 .LVL281: 6013 .L466: 3514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6014 .loc 9 3514 9 is_stmt 1 view .LVU1622 3517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6015 .loc 9 3517 9 view .LVU1623 6016 016e 6FF48062 mvn r2, #1024 @ tmp298, ARM GAS /tmp/ccjvgGVC.s page 375 6017 0172 5A61 str r2, [r3, #20] @ tmp298, pretmp_73->SR1 3520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6018 .loc 9 3520 9 view .LVU1624 6019 @ /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 **** { 6020 .loc 9 3520 13 is_stmt 0 view .LVU1625 6021 0174 0B49 ldr r1, .L479 @, 6022 .LVL282: 3520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6023 .loc 9 3520 13 view .LVU1626 6024 0176 0094 str r4, [sp] @ tickstart, 6025 0178 1923 movs r3, #25 @, 6026 017a 0122 movs r2, #1 @, 6027 017c 3046 mov r0, r6 @, _8 6028 017e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 6029 .LVL283: 6030 @ /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 **** { 6031 .loc 9 3520 12 discriminator 1 view .LVU1627 6032 0182 0028 cmp r0, #0 @ tmp300 6033 0184 7FF464AF bne .L460 @ 3527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6034 .loc 9 3527 7 is_stmt 1 view .LVU1628 6035 @ /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 **** 6036 .loc 9 3529 23 is_stmt 0 view .LVU1629 6037 0188 039B ldr r3, [sp, #12] @ retries, %sfp 6038 @ /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 **** } 6039 .loc 9 3527 17 view .LVU1630 6040 018a 09F10109 add r9, r9, #1 @ I2C_Trials, I2C_Trials, 6041 .LVL284: 3529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6042 .loc 9 3529 23 is_stmt 1 view .LVU1631 6043 018e 4B45 cmp r3, r9 @ retries, I2C_Trials 6044 0190 91D8 bhi .L467 @, 3531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6045 .loc 9 3531 5 view .LVU1632 6046 @ /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 **** 6047 .loc 9 3531 17 is_stmt 0 view .LVU1633 6048 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 **** 6049 .loc 9 3534 5 is_stmt 1 view .LVU1634 3534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6050 .loc 9 3534 5 view .LVU1635 6051 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 **** 6052 .loc 9 3534 5 view .LVU1636 3536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6053 .loc 9 3536 5 view .LVU1637 6054 .LVL285: 3536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6055 .loc 9 3536 5 is_stmt 0 view .LVU1638 6056 .LBE410: 6057 .LBE422: 630:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ARM GAS /tmp/ccjvgGVC.s page 376 6058 .loc 3 630 3 is_stmt 1 view .LVU1639 6059 019a 59E7 b .L460 @ 6060 .LVL286: 6061 .L468: 6062 @ /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 **** 6063 .loc 3 626 19 is_stmt 0 discriminator 1 view .LVU1640 6064 019c 4FF0FF34 mov r4, #-1 @ , 6065 .LVL287: 626:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 6066 .loc 3 626 19 discriminator 1 view .LVU1641 6067 01a0 5BE7 b .L453 @ 6068 .L480: 6069 01a2 00BF .align 2 6070 .L479: 6071 01a4 02001000 .word 1048578 6072 01a8 00000000 .word _ZL9_ms_ticks.lto_priv.0 6073 01ac 00000000 .word _ZL9_i2c_devs 6074 .cfi_endproc 6075 .LFE60: 6076 .size _Z22stm32_i2c_is_dev_readyhtmm, .-_Z22stm32_i2c_is_dev_readyhtmm 6077 .section .text._ZL34sdio_check_card_state_with_timeoutm.constprop.0,"ax",%progbits 6078 .align 1 6079 .global _ZL34sdio_check_card_state_with_timeoutm.constprop.0 6080 .hidden _ZL34sdio_check_card_state_with_timeoutm.constprop.0 6081 .syntax unified 6082 .thumb 6083 .thumb_func 6084 .type _ZL34sdio_check_card_state_with_timeoutm.constprop.0, %function 6085 _ZL34sdio_check_card_state_with_timeoutm.constprop.0: 6086 .LFB63: 374:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 6087 .loc 5 374 12 is_stmt 1 view -0 6088 .cfi_startproc 6089 @ args = 0, pretend = 0, frame = 0 6090 @ frame_needed = 0, uses_anonymous_args = 0 6091 .LVL288: 374:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 6092 .loc 5 374 12 is_stmt 0 view .LVU1643 6093 0000 38B5 push {r3, r4, r5, lr} @ 6094 .LCFI35: 6095 .cfi_def_cfa_offset 16 6096 .cfi_offset 3, -16 6097 .cfi_offset 4, -12 6098 .cfi_offset 5, -8 6099 .cfi_offset 14, -4 6100 .LBB435: 6101 .LBB436: 6102 .LBB437: 6103 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 6104 .loc 11 56 10 is_stmt 1 view .LVU1644 6105 0002 0C4C ldr r4, .L488 @ tmp122, 6106 0004 2568 ldr r5, [r4] @ _14, _ms_ticks 6107 .LVL289: 6108 .L482: 6109 .loc 11 56 10 is_stmt 0 view .LVU1645 6110 .LBE437: ARM GAS /tmp/ccjvgGVC.s page 377 6111 .LBE436: 6112 .LBE435: 6113 .LBB438: 6114 .LBB439: 6115 .LBB440: 6116 0006 2368 ldr r3, [r4] @ _18, _ms_ticks 6117 .LBE440: 6118 .LBE439: 6119 .LBE438: 6120 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:378: while(HAL_GetTick() 378:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** auto state = sdio_check_card_state(); 6121 .loc 5 378 23 is_stmt 1 discriminator 1 view .LVU1646 6122 0008 5B1B subs r3, r3, r5 @ _4, _18, _14 6123 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:378: while(HAL_GetTick() 378:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** auto state = sdio_check_card_state(); 6124 .loc 5 378 31 discriminator 1 view .LVU1647 6125 000a B3F5967F cmp r3, #300 @ _4, 6126 000e 02D3 bcc .L485 @, 6127 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:385: return -1; 385:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6128 .loc 5 385 11 view .LVU1648 6129 0010 4FF0FF30 mov r0, #-1 @ , 6130 0014 0AE0 b .L481 @ 6131 .L485: 6132 .LBB441: 6133 .LBB442: 6134 .LBB443: 6135 @ /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 **** 6136 .loc 5 362 58 view .LVU1649 6137 0016 0848 ldr r0, .L488+4 @, 6138 0018 FFF7FEFF bl HAL_SD_GetCardState @ 6139 .LVL290: 6140 @ /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; 6141 .loc 5 364 3 view .LVU1650 6142 001c 0428 cmp r0, #4 @ cardstate, 6143 001e 06D0 beq .L486 @, 6144 @ /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; 6145 .loc 5 367 8 view .LVU1651 6146 0020 FF28 cmp r0, #255 @ cardstate, 6147 0022 F0D1 bne .L482 @, 6148 @ /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 **** } 6149 .loc 5 368 12 view .LVU1652 6150 0024 0220 movs r0, #2 @ _2, 6151 .LVL291: 6152 .L483: 368:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6153 .loc 5 368 12 is_stmt 0 view .LVU1653 6154 .LBE443: 6155 .LBE442: 6156 @ /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 **** } 6157 .loc 5 381 38 is_stmt 1 view .LVU1654 6158 0026 C0F34000 ubfx r0, r0, #1, #1 @ _21, _2,, ARM GAS /tmp/ccjvgGVC.s page 378 6159 002a 4042 rsbs r0, r0, #0 @ , _21 6160 .L481: 6161 .LBE441: 6162 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:386: } 386:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 6163 .loc 5 386 1 view .LVU1655 6164 002c 38BD pop {r3, r4, r5, pc} @ 6165 .LVL292: 6166 .L486: 6167 .LBB446: 6168 .LBB445: 6169 .LBB444: 6170 @ /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 **** } 6171 .loc 5 365 12 view .LVU1656 6172 002e 0020 movs r0, #0 @ _2, 6173 .LVL293: 365:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6174 .loc 5 365 12 is_stmt 0 view .LVU1657 6175 0030 F9E7 b .L483 @ 6176 .L489: 6177 0032 00BF .align 2 6178 .L488: 6179 0034 00000000 .word _ZL9_ms_ticks.lto_priv.0 6180 0038 00000000 .word _ZL4sdio.lto_priv.0 6181 .LBE444: 6182 .LBE445: 6183 .LBE446: 6184 .cfi_endproc 6185 .LFE63: 6186 .size _ZL34sdio_check_card_state_with_timeoutm.constprop.0, .-_ZL34sdio_check_card_state_with_time 6187 .section .text._Z10sdio_ioctlhhPv,"ax",%progbits 6188 .align 1 6189 .global _Z10sdio_ioctlhhPv 6190 .hidden _Z10sdio_ioctlhhPv 6191 .syntax unified 6192 .thumb 6193 .thumb_func 6194 .type _Z10sdio_ioctlhhPv, %function 6195 _Z10sdio_ioctlhhPv: 6196 .LVL294: 6197 .LFB65: 566:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 6198 .loc 5 566 1 is_stmt 1 view -0 6199 .cfi_startproc 6200 @ args = 0, pretend = 0, frame = 0 6201 @ frame_needed = 0, uses_anonymous_args = 0 567:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** switch (ctrl) { 6202 .loc 5 567 3 view .LVU1659 568:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** case GET_SECTOR_COUNT : /* Get number of sectors on the disk (DWORD) */ 6203 .loc 5 568 3 view .LVU1660 6204 @ /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; 6205 .loc 5 566 1 is_stmt 0 view .LVU1661 6206 0000 08B5 push {r3, lr} @ 6207 .LCFI36: 6208 .cfi_def_cfa_offset 8 ARM GAS /tmp/ccjvgGVC.s page 379 6209 .cfi_offset 3, -8 6210 .cfi_offset 14, -4 6211 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:568: switch (ctrl) { 568:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** case GET_SECTOR_COUNT : /* Get number of sectors on the disk (DWORD) */ 6212 .loc 5 568 3 view .LVU1662 6213 0002 0329 cmp r1, #3 @ tmp132, 6214 0004 06D8 bhi .L491 @ 6215 0006 DFE801F0 tbb [pc, r1] @ tmp132 6216 .L493: 6217 000a 0E .byte (.L496-.L493)/2 6218 000b 02 .byte (.L495-.L493)/2 6219 000c 07 .byte (.L494-.L493)/2 6220 000d 0A .byte (.L492-.L493)/2 6221 .p2align 1 6222 .L495: 569:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = sdio_get_sector_count((DWORD*)buff); 6223 .loc 5 569 5 is_stmt 1 view .LVU1663 570:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 6224 .loc 5 570 7 view .LVU1664 6225 .LVL295: 6226 .LBB461: 6227 .LBI461: 533:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 6228 .loc 5 533 16 view .LVU1665 6229 .LBB462: 535:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if(HAL_SD_GetCardInfo(&sdio, &cardInfo) != HAL_OK) { 6230 .loc 5 535 3 view .LVU1666 536:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 6231 .loc 5 536 3 view .LVU1667 6232 .LBB463: 6233 .LBI463: 2209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 6234 .loc 6 2209 19 view .LVU1668 6235 .LBB464: 6236 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:2217: pCard 2217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); 6237 .loc 6 2217 51 is_stmt 0 view .LVU1669 6238 000e 094B ldr r3, .L500 @ tmp124, 6239 0010 DB6D ldr r3, [r3, #92] @ _30, MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockNbr 6240 .LVL296: 2217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); 6241 .loc 6 2217 51 view .LVU1670 6242 .LBE464: 6243 .LBE463: 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 6244 .loc 5 540 3 is_stmt 1 view .LVU1671 6245 .L499: 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 6246 .loc 5 540 3 is_stmt 0 view .LVU1672 6247 .LBE462: 6248 .LBE461: 6249 .LBB465: 6250 .LBB466: 6251 @ /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 **** } 6252 .loc 5 560 17 view .LVU1673 6253 0012 1360 str r3, [r2] @ _45, MEM[(DWORD *)buff_7(D)] ARM GAS /tmp/ccjvgGVC.s page 380 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6254 .loc 5 562 3 is_stmt 1 view .LVU1674 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6255 .loc 5 562 3 is_stmt 0 view .LVU1675 6256 .LBE466: 6257 .LBE465: 579:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 6258 .loc 5 579 7 is_stmt 1 view .LVU1676 6259 .L491: 6260 @ /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; 6261 .loc 5 566 1 is_stmt 0 view .LVU1677 6262 0014 0020 movs r0, #0 @ , 6263 .LVL297: 6264 .L497: 592:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6265 .loc 5 592 3 is_stmt 1 view .LVU1678 6266 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:593: } 593:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** const diskio_driver_t sdio_diskio_driver = { 6267 .loc 5 593 1 is_stmt 0 view .LVU1679 6268 0016 08BD pop {r3, pc} @ 6269 .LVL298: 6270 .L494: 573:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = sdio_get_sector_size((DWORD*)buff); 6271 .loc 5 573 5 is_stmt 1 view .LVU1680 574:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 6272 .loc 5 574 7 view .LVU1681 6273 .LBB475: 6274 .LBI475: 544:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 6275 .loc 5 544 16 view .LVU1682 6276 .LBB476: 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if(HAL_SD_GetCardInfo(&sdio, &cardInfo) != HAL_OK) { 6277 .loc 5 546 3 view .LVU1683 547:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 6278 .loc 5 547 3 view .LVU1684 6279 .LBB477: 6280 .LBI477: 2209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 6281 .loc 6 2209 19 view .LVU1685 6282 .LBB478: 6283 @ /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 **** 6284 .loc 6 2218 51 is_stmt 0 view .LVU1686 6285 0018 064B ldr r3, .L500 @ tmp125, 6286 001a 1B6E ldr r3, [r3, #96] @ _42, MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockSize 6287 .LVL299: 2218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 6288 .loc 6 2218 51 view .LVU1687 6289 .LBE478: 6290 .LBE477: 551:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 6291 .loc 5 551 3 is_stmt 1 view .LVU1688 6292 001c F9E7 b .L499 @ 6293 .LVL300: 6294 .L492: 551:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; ARM GAS /tmp/ccjvgGVC.s page 381 6295 .loc 5 551 3 is_stmt 0 view .LVU1689 6296 .LBE476: 6297 .LBE475: 577:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = sdio_get_block_size((DWORD*)buff); 6298 .loc 5 577 5 is_stmt 1 view .LVU1690 578:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 6299 .loc 5 578 7 view .LVU1691 6300 .LBB479: 6301 .LBI465: 555:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 6302 .loc 5 555 16 view .LVU1692 6303 .LBB474: 557:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = sdio_get_sector_size(§or_size); 6304 .loc 5 557 3 view .LVU1693 558:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res == RES_OK) { 6305 .loc 5 558 3 view .LVU1694 6306 .LBB467: 6307 .LBI467: 544:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 6308 .loc 5 544 16 view .LVU1695 6309 .LBB468: 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if(HAL_SD_GetCardInfo(&sdio, &cardInfo) != HAL_OK) { 6310 .loc 5 546 3 view .LVU1696 547:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 6311 .loc 5 547 3 view .LVU1697 6312 .LBB469: 6313 .LBI469: 2209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 6314 .loc 6 2209 19 view .LVU1698 2209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 6315 .loc 6 2209 19 is_stmt 0 view .LVU1699 6316 .LBE469: 551:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 6317 .loc 5 551 3 is_stmt 1 view .LVU1700 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6318 .loc 5 552 3 view .LVU1701 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6319 .loc 5 552 3 is_stmt 0 view .LVU1702 6320 .LBE468: 6321 .LBE467: 559:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** *block_size = sector_size / BLOCK_SIZE; 6322 .loc 5 559 3 is_stmt 1 view .LVU1703 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6323 .loc 5 560 5 view .LVU1704 6324 .LBB473: 6325 .LBB472: 6326 .LBB471: 6327 .LBB470: 6328 @ /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 **** 6329 .loc 6 2218 51 is_stmt 0 view .LVU1705 6330 001e 054B ldr r3, .L500 @ tmp126, 6331 .LBE470: 6332 .LBE471: 6333 .LBE472: 6334 .LBE473: 6335 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:560: *block_size = sect ARM GAS /tmp/ccjvgGVC.s page 382 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6336 .loc 5 560 31 view .LVU1706 6337 0020 1B6E ldr r3, [r3, #96] @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockSize, MEM[(struct SD_Hand 6338 0022 5B0A lsrs r3, r3, #9 @ _45, MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockSize, 6339 0024 F5E7 b .L499 @ 6340 .LVL301: 6341 .L496: 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 6342 .loc 5 560 31 view .LVU1707 6343 .LBE474: 6344 .LBE479: 581:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /* Complete pending write process */ 6345 .loc 5 581 5 is_stmt 1 view .LVU1708 583:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = RES_ERROR; 6346 .loc 5 583 7 view .LVU1709 6347 @ /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; 6348 .loc 5 583 45 is_stmt 0 view .LVU1710 6349 0026 FFF7FEFF bl _ZL34sdio_check_card_state_with_timeoutm.constprop.0 @ 6350 .LVL302: 6351 @ /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; 6352 .loc 5 583 7 discriminator 1 view .LVU1711 6353 002a 431C adds r3, r0, #1 @, tmp134, 6354 002c 5842 rsbs r0, r3, #0 @ ,, 6355 002e 5841 adcs r0, r0, r3 @ , , 6356 0030 F1E7 b .L497 @ 6357 .L501: 6358 0032 00BF .align 2 6359 .L500: 6360 0034 00000000 .word _ZL4sdio.lto_priv.0 6361 .cfi_endproc 6362 .LFE65: 6363 .size _Z10sdio_ioctlhhPv, .-_Z10sdio_ioctlhhPv 6364 .section .text.USBD_GetString.part.0.constprop.0,"ax",%progbits 6365 .align 1 6366 .global USBD_GetString.part.0.constprop.0 6367 .hidden USBD_GetString.part.0.constprop.0 6368 .syntax unified 6369 .thumb 6370 .thumb_func 6371 .type USBD_GetString.part.0.constprop.0, %function 6372 USBD_GetString.part.0.constprop.0: 6373 .LVL303: 6374 .LFB72: 6375 .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 **** * ARM GAS /tmp/ccjvgGVC.s page 383 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 **** 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 **** */ ARM GAS /tmp/ccjvgGVC.s page 384 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); 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 **** ARM GAS /tmp/ccjvgGVC.s page 385 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; 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 **** ARM GAS /tmp/ccjvgGVC.s page 386 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 */ 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) ARM GAS /tmp/ccjvgGVC.s page 387 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)) 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); ARM GAS /tmp/ccjvgGVC.s page 388 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 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; ARM GAS /tmp/ccjvgGVC.s page 389 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); 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; ARM GAS /tmp/ccjvgGVC.s page 390 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 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 **** } ARM GAS /tmp/ccjvgGVC.s page 391 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; 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) ARM GAS /tmp/ccjvgGVC.s page 392 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 **** } 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 **** ARM GAS /tmp/ccjvgGVC.s page 393 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++; 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 ARM GAS /tmp/ccjvgGVC.s page 394 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; 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 **** { ARM GAS /tmp/ccjvgGVC.s page 395 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 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); ARM GAS /tmp/ccjvgGVC.s page 396 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; 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 **** } ARM GAS /tmp/ccjvgGVC.s page 397 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 **** { 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 **** } ARM GAS /tmp/ccjvgGVC.s page 398 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 **** 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 **** { ARM GAS /tmp/ccjvgGVC.s page 399 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; 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 **** { ARM GAS /tmp/ccjvgGVC.s page 400 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 **** */ 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) 6376 .loc 12 996 6 is_stmt 1 view -0 6377 .cfi_startproc 6378 @ args = 0, pretend = 0, frame = 0 6379 @ frame_needed = 0, uses_anonymous_args = 0 6380 .loc 12 996 6 is_stmt 0 view .LVU1713 6381 0000 38B5 push {r3, r4, r5, lr} @ 6382 .LCFI37: 6383 .cfi_def_cfa_offset 16 6384 .cfi_offset 3, -16 6385 .cfi_offset 4, -12 6386 .cfi_offset 5, -8 6387 .cfi_offset 14, -4 6388 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:996: void 6389 .loc 12 996 6 is_stmt 1 view .LVU1714 6390 0002 0446 mov r4, r0 @ desc, tmp157 6391 .LVL304: 6392 .loc 12 996 6 is_stmt 0 view .LVU1715 6393 0004 0D46 mov r5, r1 @ len, tmp158 6394 .LBB482: 6395 .LBB483: 6396 @ /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; ARM GAS /tmp/ccjvgGVC.s page 401 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 **** */ 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') 6397 .loc 12 1037 10 is_stmt 1 view .LVU1716 6398 0006 FFF7FEFF bl strlen @ 6399 .LVL305: 6400 .loc 12 1037 10 is_stmt 0 view .LVU1717 6401 .LBE483: 6402 .LBE482: 6403 @ /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 **** 6404 .loc 12 1007 10 is_stmt 1 discriminator 1 view .LVU1718 6405 000a C0B2 uxtb r0, r0 @ _15, tmp159 6406 000c 0130 adds r0, r0, #1 @ _4, _15, 6407 000e 4300 lsls r3, r0, #1 @ _5, _4, 6408 @ /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 **** 6409 .loc 12 1007 8 discriminator 1 view .LVU1719 6410 0010 3128 cmp r0, #49 @ _4, 6411 @ /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++; 6412 .loc 12 1009 16 view .LVU1720 6413 0012 0B4A ldr r2, .L507 @ tmp139, 6414 @ /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 **** 6415 .loc 12 1007 8 discriminator 1 view .LVU1721 6416 0014 94BF ite ls 6417 0016 9BB2 uxthls r3, r3 @ _8, _5 6418 @ /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 **** 6419 .loc 12 1007 8 is_stmt 0 discriminator 2 view .LVU1722 6420 0018 6223 movhi r3, #98 @ _8, 6421 @ /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 **** 6422 .loc 12 1007 8 discriminator 4 view .LVU1723 6423 001a 2B80 strh r3, [r5] @ movhi @ _8, *len_9(D) 6424 @ /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++; 6425 .loc 12 1009 16 is_stmt 1 view .LVU1724 ARM GAS /tmp/ccjvgGVC.s page 402 6426 001c 1370 strb r3, [r2] @ _8, MEM[(uint8_t *)&USBD_StrDesc] 6427 .LVL306: 6428 @ /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++; 6429 .loc 12 1011 16 view .LVU1725 6430 001e 0323 movs r3, #3 @ tmp142, 6431 0020 5370 strb r3, [r2, #1] @ tmp142, MEM[(uint8_t *)&USBD_StrDesc + 1B] 6432 .LVL307: 1011:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 6433 .loc 12 1011 16 is_stmt 0 view .LVU1726 6434 0022 601E subs r0, r4, #1 @ ivtmp.98, desc, 6435 @ /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 **** 6436 .loc 12 1012 6 is_stmt 1 view .LVU1727 6437 0024 0223 movs r3, #2 @ idx, 6438 @ /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++; 6439 .loc 12 1020 18 view .LVU1728 6440 0026 0024 movs r4, #0 @ tmp156, 6441 .LVL308: 6442 .L504: 6443 @ /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 **** { 6444 .loc 12 1014 10 view .LVU1729 6445 0028 10F8011F ldrb r1, [r0, #1]! @ zero_extendqisi2 @ _14, MEM[(uint8_t *)_29] 6446 .LVL309: 6447 @ /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 **** { 6448 .loc 12 1014 17 view .LVU1730 6449 002c 01B9 cbnz r1, .L505 @ _14, 6450 @ /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 **** 6451 .loc 12 1023 1 view .LVU1731 6452 002e 38BD pop {r3, r4, r5, pc} @ 6453 .LVL310: 6454 .L505: 6455 @ /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++; 6456 .loc 12 1016 18 view .LVU1732 6457 0030 D154 strb r1, [r2, r3] @ _14, *_13 6458 .LVL311: 6459 @ /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 **** 6460 .loc 12 1018 8 view .LVU1733 6461 0032 591C adds r1, r3, #1 @ tmp147, idx, 6462 @ /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++; 6463 .loc 12 1020 12 view .LVU1734 6464 0034 C9B2 uxtb r1, r1 @ _18, tmp147 6465 @ /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 **** } 6466 .loc 12 1021 8 view .LVU1735 6467 0036 0233 adds r3, r3, #2 @ tmp153, idx, 6468 .LVL312: 6469 @ /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++; 6470 .loc 12 1020 18 view .LVU1736 ARM GAS /tmp/ccjvgGVC.s page 403 6471 0038 5454 strb r4, [r2, r1] @ tmp156, *_19 6472 @ /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 **** } 6473 .loc 12 1021 8 view .LVU1737 6474 003a DBB2 uxtb r3, r3 @ idx, tmp153 6475 003c F4E7 b .L504 @ 6476 .L508: 6477 003e 00BF .align 2 6478 .L507: 6479 0040 00000000 .word USBD_StrDesc 6480 .cfi_endproc 6481 .LFE72: 6482 .size USBD_GetString.part.0.constprop.0, .-USBD_GetString.part.0.constprop.0 6483 .section .text.USBD_LL_Start.constprop.0,"ax",%progbits 6484 .align 1 6485 .global USBD_LL_Start.constprop.0 6486 .hidden USBD_LL_Start.constprop.0 6487 .syntax unified 6488 .thumb 6489 .thumb_func 6490 .type USBD_LL_Start.constprop.0, %function 6491 USBD_LL_Start.constprop.0: 6492 .LFB75: 6493 .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 **** ARM GAS /tmp/ccjvgGVC.s page 404 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){} 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 */ ARM GAS /tmp/ccjvgGVC.s page 405 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 */ 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 ARM GAS /tmp/ccjvgGVC.s page 406 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 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. ARM GAS /tmp/ccjvgGVC.s page 407 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 **** } 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. ARM GAS /tmp/ccjvgGVC.s page 408 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 **** } 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 **** { ARM GAS /tmp/ccjvgGVC.s page 409 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); 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; ARM GAS /tmp/ccjvgGVC.s page 410 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; 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) 6494 .loc 13 431 20 view -0 ARM GAS /tmp/ccjvgGVC.s page 411 6495 .cfi_startproc 6496 @ args = 0, pretend = 0, frame = 0 6497 @ frame_needed = 0, uses_anonymous_args = 0 6498 .LVL313: 6499 .loc 13 431 20 is_stmt 0 view .LVU1739 6500 0000 08B5 push {r3, lr} @ 6501 .LCFI38: 6502 .cfi_def_cfa_offset 8 6503 .cfi_offset 3, -8 6504 .cfi_offset 14, -4 6505 @ /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 **** 436:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_Start(pdev->pData); 6506 .loc 13 436 34 is_stmt 1 view .LVU1740 6507 0002 124B ldr r3, .L516 @ tmp125, 6508 0004 D3F8C822 ldr r2, [r3, #712] @ _1, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pData 6509 .LVL314: 6510 .LBB488: 6511 .LBB489: 6512 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1005: __HA 6513 .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 ARM GAS /tmp/ccjvgGVC.s page 412 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 **** * 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) ARM GAS /tmp/ccjvgGVC.s page 413 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 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; ARM GAS /tmp/ccjvgGVC.s page 414 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 **** } 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; ARM GAS /tmp/ccjvgGVC.s page 415 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) 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) ARM GAS /tmp/ccjvgGVC.s page 416 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 **** } 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 ARM GAS /tmp/ccjvgGVC.s page 417 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) 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; ARM GAS /tmp/ccjvgGVC.s page 418 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) 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 ARM GAS /tmp/ccjvgGVC.s page 419 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 */ 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 */ ARM GAS /tmp/ccjvgGVC.s page 420 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 **** 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 */ ARM GAS /tmp/ccjvgGVC.s page 421 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 */ 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; ARM GAS /tmp/ccjvgGVC.s page 422 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) 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 **** ARM GAS /tmp/ccjvgGVC.s page 423 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); 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); ARM GAS /tmp/ccjvgGVC.s page 424 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 **** 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 **** ARM GAS /tmp/ccjvgGVC.s page 425 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 **** } 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 ARM GAS /tmp/ccjvgGVC.s page 426 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; 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 ARM GAS /tmp/ccjvgGVC.s page 427 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 **** /** 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 ARM GAS /tmp/ccjvgGVC.s page 428 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 **** } 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 **** { ARM GAS /tmp/ccjvgGVC.s page 429 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); 6514 .loc 14 1005 3 view .LVU1741 6515 0008 92F8BC33 ldrb r3, [r2, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_1].Lock, MEM[(struct PCD 6516 @ /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 **** 6517 .loc 14 1003 26 view .LVU1742 6518 000c 1068 ldr r0, [r2] @ USBx, MEM[(struct PCD_HandleTypeDef *)_1].Instance 6519 .LVL315: 6520 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1005: __HA 6521 .loc 14 1005 3 view .LVU1743 6522 000e 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_1].Lock, 6523 0010 19D0 beq .L512 @, 6524 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1005: __HA 6525 .loc 14 1005 3 is_stmt 0 discriminator 2 view .LVU1744 6526 0012 0123 movs r3, #1 @ tmp127, 6527 0014 82F8BC33 strb r3, [r2, #956] @ tmp127, MEM[(struct PCD_HandleTypeDef *)_1].Lock 6528 @ /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) && 6529 .loc 14 1007 6 is_stmt 1 view .LVU1745 6530 0018 936A ldr r3, [r2, #40] @ MEM[(struct PCD_HandleTypeDef *)_1].Init.battery_charging_enable, MEM[(struct 6531 001a 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_1].Init.battery_charging_enable, 6532 001c 06D1 bne .L511 @, 6533 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1007: if ( 6534 .loc 14 1007 50 discriminator 1 view .LVU1746 6535 001e 9369 ldr r3, [r2, #24] @ MEM[(struct PCD_HandleTypeDef *)_1].Init.phy_itface, MEM[(struct PCD_HandleTyp 6536 0020 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_1].Init.phy_itface, 6537 @ /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; 6538 .loc 14 1011 9 view .LVU1747 6539 0022 1EBF ittt ne 6540 0024 836B ldrne r3, [r0, #56] @ _10, USBx_6->GCCFG 6541 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1011: US 6542 .loc 14 1011 17 view .LVU1748 6543 0026 43F48033 orrne r3, r3, #65536 @ _11, _10, 6544 002a 8363 strne r3, [r0, #56] @ _11, USBx_6->GCCFG 6545 .L511: 6546 .LVL316: 6547 .LBB490: 6548 .LBB491: 6549 @ /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; 6550 .loc 2 224 7 view .LVU1749 6551 002c 8368 ldr r3, [r0, #8] @ _14, USBx_6->GAHBCFG 6552 @ /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; 6553 .loc 2 224 17 view .LVU1750 6554 002e 43F00103 orr r3, r3, #1 @ _15, _14, 6555 0032 8360 str r3, [r0, #8] @ _15, USBx_6->GAHBCFG 6556 .LVL317: 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 6557 .loc 2 224 17 is_stmt 0 view .LVU1751 ARM GAS /tmp/ccjvgGVC.s page 430 6558 .LBE491: 6559 .LBE490: 6560 @ /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); 6561 .loc 14 1015 9 is_stmt 1 view .LVU1752 6562 0034 FFF7FEFF bl USB_DevConnect.isra.0 @ 6563 .LVL318: 6564 @ /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); 6565 .loc 14 1016 3 view .LVU1753 6566 0038 0020 movs r0, #0 @ tmp131, 6567 .LVL319: 6568 .loc 14 1016 3 is_stmt 0 view .LVU1754 6569 003a 82F8BC03 strb r0, [r2, #956] @ tmp131, MEM[(struct PCD_HandleTypeDef *)_1].Lock 6570 .L510: 6571 .LVL320: 6572 .loc 14 1016 3 view .LVU1755 6573 .LBE489: 6574 .LBE488: 6575 @ /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 **** } 6576 .loc 13 441 1 is_stmt 1 view .LVU1756 6577 003e BDE80840 pop {r3, lr} @ 6578 .LCFI39: 6579 .cfi_remember_state 6580 .cfi_restore 14 6581 .cfi_restore 3 6582 .cfi_def_cfa_offset 0 6583 @ /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 **** 6584 .loc 13 438 17 view .LVU1757 6585 0042 FFF7FEBF b USBD_Get_USB_Status @ 6586 .LVL321: 6587 .L512: 6588 .LCFI40: 6589 .cfi_restore_state 6590 .LBB493: 6591 .LBB492: 6592 @ /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 **** 6593 .loc 14 1005 3 discriminator 1 view .LVU1758 6594 0046 0220 movs r0, #2 @ _13, 6595 .LVL322: 1005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 6596 .loc 14 1005 3 is_stmt 0 discriminator 1 view .LVU1759 6597 0048 F9E7 b .L510 @ 6598 .L517: 6599 004a 00BF .align 2 6600 .L516: 6601 004c 00000000 .word hUsbDevice ARM GAS /tmp/ccjvgGVC.s page 431 6602 .LBE492: 6603 .LBE493: 6604 .cfi_endproc 6605 .LFE75: 6606 .size USBD_LL_Start.constprop.0, .-USBD_LL_Start.constprop.0 6607 .section .text.USBD_LL_Init.part.0.constprop.0,"ax",%progbits 6608 .align 1 6609 .global USBD_LL_Init.part.0.constprop.0 6610 .hidden USBD_LL_Init.part.0.constprop.0 6611 .syntax unified 6612 .thumb 6613 .thumb_func 6614 .type USBD_LL_Init.part.0.constprop.0, %function 6615 USBD_LL_Init.part.0.constprop.0: 6616 .LFB80: 345:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 6617 .loc 13 345 20 is_stmt 1 view -0 6618 .cfi_startproc 6619 @ args = 0, pretend = 0, frame = 16 6620 @ frame_needed = 0, uses_anonymous_args = 0 6621 .LVL323: 345:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 6622 .loc 13 345 20 is_stmt 0 view .LVU1761 6623 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 6624 .LCFI41: 6625 .cfi_def_cfa_offset 36 6626 .cfi_offset 4, -36 6627 .cfi_offset 5, -32 6628 .cfi_offset 6, -28 6629 .cfi_offset 7, -24 6630 .cfi_offset 8, -20 6631 .cfi_offset 9, -16 6632 .cfi_offset 10, -12 6633 .cfi_offset 11, -8 6634 .cfi_offset 14, -4 6635 @ /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; 6636 .loc 13 375 24 is_stmt 1 view .LVU1762 6637 0004 5D4B ldr r3, .L573 @ tmp230, 6638 0006 5E4C ldr r4, .L573+4 @ tmp229, 6639 @ /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 **** { 6640 .loc 13 345 20 view .LVU1763 6641 0008 85B0 sub sp, sp, #20 @,, 6642 .LCFI42: 6643 .cfi_def_cfa_offset 56 6644 @ /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; 6645 .loc 13 379 37 view .LVU1764 6646 000a 4FF0A040 mov r0, #1342177280 @ tmp234, 6647 @ /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; 6648 .loc 13 375 24 view .LVU1765 6649 000e C4F80434 str r3, [r4, #1028] @ tmp230, hpcd_USB_OTG.pData 6650 @ /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 **** 6651 .loc 13 376 17 view .LVU1766 ARM GAS /tmp/ccjvgGVC.s page 432 6652 0012 C3F8C842 str r4, [r3, #712] @ tmp229, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pData 6653 @ /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; 6654 .loc 13 379 37 view .LVU1767 6655 0016 0423 movs r3, #4 @ tmp236, 6656 @ /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; 6657 .loc 13 381 34 view .LVU1768 6658 0018 0222 movs r2, #2 @ tmp238, 6659 @ /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; 6660 .loc 13 379 37 view .LVU1769 6661 001a C4E90003 strd r0, r3, [r4] @ tmp234, tmp236, tmp229 6662 @ /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; 6663 .loc 13 388 34 view .LVU1770 6664 001e 0121 movs r1, #1 @ tmp244, 6665 @ /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; 6666 .loc 13 381 34 view .LVU1771 6667 0020 0023 movs r3, #0 @ tmp240, 6668 0022 C4E90323 strd r2, r3, [r4, #12] @ tmp238, tmp240, tmp229, 6669 @ /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; 6670 .loc 13 389 40 view .LVU1772 6671 0026 C4E90713 strd r1, r3, [r4, #28] @ tmp244, tmp240, tmp229, 6672 @ /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) 6673 .loc 13 396 41 view .LVU1773 6674 002a C4E90B33 strd r3, r3, [r4, #44] @ tmp240, tmp240, tmp229, 6675 .LVL324: 6676 @ /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) 6677 .loc 13 390 34 view .LVU1774 6678 002e 6362 str r3, [r4, #36] @ tmp240, hpcd_USB_OTG.Init.lpm_enable 6679 .LBB544: 6680 .LBB545: 6681 @ /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 **** { 6682 .loc 14 139 11 view .LVU1775 6683 0030 94F8BD33 ldrb r3, [r4, #957] @ zero_extendqisi2 @ hpcd_USB_OTG.State, hpcd_USB_OTG.State 6684 .LBE545: 6685 .LBE544: 6686 @ /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) 6687 .loc 13 382 34 view .LVU1776 6688 0034 A261 str r2, [r4, #24] @ tmp238, hpcd_USB_OTG.Init.phy_itface 6689 .LBB585: 6690 .LBB583: 6691 @ /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 **** { 6692 .loc 14 139 6 view .LVU1777 6693 0036 03F0FF05 and r5, r3, #255 @ _63, hpcd_USB_OTG.State, 6694 003a 002B cmp r3, #0 @ hpcd_USB_OTG.State 6695 003c 3DD1 bne .L519 @ 6696 .LVL325: 6697 .LBB546: ARM GAS /tmp/ccjvgGVC.s page 433 6698 .LBB547: 6699 @ /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 **** 6700 .loc 13 103 5 view .LVU1778 6701 003e 514B ldr r3, .L573+8 @ tmp257, 6702 0040 5A6B ldr r2, [r3, #52] @ _95, MEM[(struct RCC_TypeDef *)1073887232B].AHB2ENR 6703 0042 42F08002 orr r2, r2, #128 @ _96, _95, 6704 0046 5A63 str r2, [r3, #52] @ _96, MEM[(struct RCC_TypeDef *)1073887232B].AHB2ENR 6705 .LBB548: 6706 0048 0395 str r5, [sp, #12] @ _63, tmpreg 6707 004a 5A6C ldr r2, [r3, #68] @ _97, MEM[(struct RCC_TypeDef *)1073887232B].APB2ENR 6708 004c 42F48042 orr r2, r2, #16384 @ _98, _97, 6709 0050 5A64 str r2, [r3, #68] @ _98, MEM[(struct RCC_TypeDef *)1073887232B].APB2ENR 6710 0052 5B6C ldr r3, [r3, #68] @ _99, MEM[(struct RCC_TypeDef *)1073887232B].APB2ENR 6711 0054 03F48043 and r3, r3, #16384 @ _100, _99, 6712 0058 0393 str r3, [sp, #12] @ _100, tmpreg 6713 005a 039B ldr r3, [sp, #12] @ _101, tmpreg 6714 .LVL326: 103:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 6715 .loc 13 103 5 is_stmt 0 view .LVU1779 6716 .LBE548: 6717 .LBB549: 6718 .LBB550: 6719 @ /workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h:1820: NVIC->IP[((uint32_t)IR 6720 .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 ARM GAS /tmp/ccjvgGVC.s page 434 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: '{...}'.
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 ARM GAS /tmp/ccjvgGVC.s page 435 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 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 ARM GAS /tmp/ccjvgGVC.s page 436 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 437 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 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 **** { ARM GAS /tmp/ccjvgGVC.s page 438 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 */ 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 **** { ARM GAS /tmp/ccjvgGVC.s page 439 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 */ 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 **** { ARM GAS /tmp/ccjvgGVC.s page 440 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 441 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 */ 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 ARM GAS /tmp/ccjvgGVC.s page 442 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 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 ARM GAS /tmp/ccjvgGVC.s page 443 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 444 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 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 ARM GAS /tmp/ccjvgGVC.s page 445 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 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 **** /** ARM GAS /tmp/ccjvgGVC.s page 446 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: 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 **** ARM GAS /tmp/ccjvgGVC.s page 447 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 */ 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 */ ARM GAS /tmp/ccjvgGVC.s page 448 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; 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 */ ARM GAS /tmp/ccjvgGVC.s page 449 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 **** 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 **** ARM GAS /tmp/ccjvgGVC.s page 450 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 451 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 */ 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 **** /** ARM GAS /tmp/ccjvgGVC.s page 452 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]; 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 ARM GAS /tmp/ccjvgGVC.s page 453 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 **** 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 */ ARM GAS /tmp/ccjvgGVC.s page 454 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 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 ARM GAS /tmp/ccjvgGVC.s page 455 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 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 **** ARM GAS /tmp/ccjvgGVC.s page 456 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 457 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 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 ARM GAS /tmp/ccjvgGVC.s page 458 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 **** /** 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 **** ARM GAS /tmp/ccjvgGVC.s page 459 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 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 ARM GAS /tmp/ccjvgGVC.s page 460 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. 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 **** ARM GAS /tmp/ccjvgGVC.s page 461 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: 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" ARM GAS /tmp/ccjvgGVC.s page 462 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 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. ARM GAS /tmp/ccjvgGVC.s page 463 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. 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 **** */ ARM GAS /tmp/ccjvgGVC.s page 464 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 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 **** } ARM GAS /tmp/ccjvgGVC.s page 465 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. 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 6721 .loc 15 1820 46 is_stmt 1 view .LVU1780 6722 005c 4A4B ldr r3, .L573+12 @ tmp263, 6723 005e B022 movs r2, #176 @ tmp264, 6724 0060 83F84323 strb r2, [r3, #835] @ tmp264, MEM[(struct NVIC_Type *)3758153984B].IP[67] 6725 .LVL327: 6726 .loc 15 1820 46 is_stmt 0 view .LVU1781 6727 .LBE550: 6728 .LBE549: 6729 .LBB551: 6730 .LBB552: 6731 @ /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 **** } 6732 .loc 15 1692 43 is_stmt 1 view .LVU1782 6733 0064 0822 movs r2, #8 @ tmp267, 6734 0066 9A60 str r2, [r3, #8] @ tmp267, MEM[(struct NVIC_Type *)3758153984B].ISER[2] 6735 .LVL328: 1692:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 6736 .loc 15 1692 43 is_stmt 0 view .LVU1783 6737 .LBE552: 6738 .LBE551: 6739 .LBB553: 6740 .LBB554: 6741 @ /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 **** ARM GAS /tmp/ccjvgGVC.s page 466 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 **** 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; ARM GAS /tmp/ccjvgGVC.s page 467 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) 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 **** ARM GAS /tmp/ccjvgGVC.s page 468 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 **** } 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 **** { ARM GAS /tmp/ccjvgGVC.s page 469 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) 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 **** { ARM GAS /tmp/ccjvgGVC.s page 470 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) 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; ARM GAS /tmp/ccjvgGVC.s page 471 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 | 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 **** ARM GAS /tmp/ccjvgGVC.s page 472 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 */ 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 ARM GAS /tmp/ccjvgGVC.s page 473 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) 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 **** */ ARM GAS /tmp/ccjvgGVC.s page 474 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 **** */ 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. ARM GAS /tmp/ccjvgGVC.s page 475 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. 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 **** ARM GAS /tmp/ccjvgGVC.s page 476 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 477 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); 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); 6742 .loc 14 1686 3 is_stmt 1 discriminator 2 view .LVU1784 6743 0068 84F8BC13 strb r1, [r4, #956] @ tmp244, hpcd_USB_OTG.Lock 6744 @ /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); 6745 .loc 14 1687 9 view .LVU1785 6746 006c FFF7FEFF bl USB_DevDisconnect.isra.0 @ 6747 .LVL329: 6748 @ /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) && 6749 .loc 14 1689 18 view .LVU1786 6750 0070 A56A ldr r5, [r4, #40] @ _111, hpcd_USB_OTG.Init.battery_charging_enable 6751 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1689: if ( 6752 .loc 14 1689 6 view .LVU1787 6753 0072 8D42 cmp r5, r1 @ _111, 6754 0074 06D1 bne .L520 @, 6755 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1689: if ( 6756 .loc 14 1689 50 discriminator 1 view .LVU1788 6757 0076 A369 ldr r3, [r4, #24] @ hpcd_USB_OTG.Init.phy_itface, hpcd_USB_OTG.Init.phy_itface 6758 0078 8B42 cmp r3, r1 @ hpcd_USB_OTG.Init.phy_itface, 6759 @ /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); 6760 .loc 14 1693 9 view .LVU1789 6761 007a 1EBF ittt ne ARM GAS /tmp/ccjvgGVC.s page 478 6762 007c 836B ldrne r3, [r0, #56] @ _113, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6763 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1693: US 6764 .loc 14 1693 17 view .LVU1790 6765 007e 23F48033 bicne r3, r3, #65536 @ _114, _113, 6766 0082 8363 strne r3, [r0, #56] @ _114, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6767 .L520: 6768 @ /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); 6769 .loc 14 1696 3 view .LVU1791 6770 0084 0023 movs r3, #0 @ tmp277, 6771 .LBE554: 6772 .LBE553: 6773 @ /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); 6774 .loc 13 115 3 view .LVU1792 6775 0086 3220 movs r0, #50 @, 6776 .LBB556: 6777 .LBB555: 6778 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1696: __HA 6779 .loc 14 1696 3 view .LVU1793 6780 0088 84F8BC33 strb r3, [r4, #956] @ tmp277, hpcd_USB_OTG.Lock 6781 .LVL330: 6782 .loc 14 1696 3 is_stmt 0 view .LVU1794 6783 .LBE555: 6784 .LBE556: 6785 @ /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); 6786 .loc 13 115 3 is_stmt 1 view .LVU1795 6787 008c FFF7FEFF bl HAL_Delay @ 6788 .LVL331: 6789 .LBB557: 6790 .LBB558: 6791 @ /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 **** 6792 .loc 14 1663 3 discriminator 2 view .LVU1796 6793 0090 0123 movs r3, #1 @ tmp280, 6794 @ /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)) 6795 .loc 14 1665 6 view .LVU1797 6796 0092 9D42 cmp r5, r3 @ _111, 6797 @ /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 **** 6798 .loc 14 1663 3 discriminator 2 view .LVU1798 6799 0094 84F8BC33 strb r3, [r4, #956] @ tmp280, hpcd_USB_OTG.Lock 6800 @ /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)) 6801 .loc 14 1665 6 view .LVU1799 6802 0098 08D1 bne .L521 @, 6803 @ /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)) 6804 .loc 14 1665 50 discriminator 1 view .LVU1800 6805 009a A369 ldr r3, [r4, #24] @ hpcd_USB_OTG.Init.phy_itface, hpcd_USB_OTG.Init.phy_itface 6806 009c 012B cmp r3, #1 @ hpcd_USB_OTG.Init.phy_itface, 6807 @ /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 **** } ARM GAS /tmp/ccjvgGVC.s page 479 6808 .loc 14 1669 9 view .LVU1801 6809 009e 1FBF itttt ne 6810 00a0 4FF0A042 movne r2, #1342177280 @ tmp284, 6811 00a4 936B ldrne r3, [r2, #56] @ _106, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6812 @ /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 **** } 6813 .loc 14 1669 17 view .LVU1802 6814 00a6 43F48033 orrne r3, r3, #65536 @ _107, _106, 6815 00aa 9363 strne r3, [r2, #56] @ _107, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6816 .L521: 6817 @ /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); 6818 .loc 14 1671 9 view .LVU1803 6819 00ac 4FF0A040 mov r0, #1342177280 @, 6820 00b0 FFF7FEFF bl USB_DevConnect.isra.0 @ 6821 .LVL332: 6822 @ /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 **** 6823 .loc 14 1672 3 view .LVU1804 6824 00b4 0023 movs r3, #0 @ tmp287, 6825 00b6 84F8BC33 strb r3, [r4, #956] @ tmp287, hpcd_USB_OTG.Lock 6826 .LVL333: 6827 .L519: 1672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 6828 .loc 14 1672 3 is_stmt 0 view .LVU1805 6829 .LBE558: 6830 .LBE557: 6831 .LBE547: 6832 .LBE546: 6833 @ /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 **** { 6834 .loc 14 175 12 is_stmt 1 view .LVU1806 6835 00ba 4FF0A045 mov r5, #1342177280 @ tmp292, 6836 @ /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 **** 6837 .loc 14 172 15 view .LVU1807 6838 00be 0323 movs r3, #3 @ tmp290, 6839 00c0 84F8BD33 strb r3, [r4, #957] @ tmp290, hpcd_USB_OTG.State 6840 @ /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 **** { 6841 .loc 14 175 12 view .LVU1808 6842 00c4 EB6B ldr r3, [r5, #60] @ _64, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].CID 6843 @ /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 **** { 6844 .loc 14 175 6 view .LVU1809 6845 00c6 13F48073 ands r3, r3, #256 @ _65, _64, 6846 @ /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 **** } 6847 .loc 14 177 27 view .LVU1810 6848 00ca 08BF it eq 6849 00cc 2361 streq r3, [r4, #16] @ _65, hpcd_USB_OTG.Init.dma_enable 6850 .LVL334: 6851 .LBB559: 6852 .LBB560: 6853 @ /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; 6854 .loc 2 236 7 view .LVU1811 ARM GAS /tmp/ccjvgGVC.s page 480 6855 00ce AB68 ldr r3, [r5, #8] @ _141, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6856 @ /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; 6857 .loc 2 236 17 view .LVU1812 6858 00d0 23F00103 bic r3, r3, #1 @ _142, _141, 6859 00d4 AB60 str r3, [r5, #8] @ _142, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6860 .LVL335: 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 6861 .loc 2 236 17 is_stmt 0 view .LVU1813 6862 .LBE560: 6863 .LBE559: 6864 .LBB561: 6865 .LBB562: 6866 @ /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 **** { 6867 .loc 2 86 6 is_stmt 1 view .LVU1814 6868 00d6 A369 ldr r3, [r4, #24] @ MEM[(unsigned int *)&hpcd_USB_OTG + 24B], MEM[(unsigned int *)&hpcd_USB_OTG + 6869 00d8 2669 ldr r6, [r4, #16] @ _84, MEM[(unsigned int *)&hpcd_USB_OTG + 16B] 6870 .LVL336: 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 6871 .loc 2 86 6 is_stmt 0 view .LVU1815 6872 00da 012B cmp r3, #1 @ MEM[(unsigned int *)&hpcd_USB_OTG + 24B], 6873 00dc 3BD1 bne .L523 @, 6874 @ /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 **** 6875 .loc 2 88 9 is_stmt 1 view .LVU1816 6876 00de AB6B ldr r3, [r5, #56] @ _117, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6877 00e0 626B ldr r2, [r4, #52] @ _87, MEM[(unsigned int *)&hpcd_USB_OTG + 52B] 6878 @ /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 **** 6879 .loc 2 88 17 view .LVU1817 6880 00e2 23F48033 bic r3, r3, #65536 @ _118, _117, 6881 00e6 AB63 str r3, [r5, #56] @ _118, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6882 @ /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 **** 6883 .loc 2 91 9 view .LVU1818 6884 00e8 EB68 ldr r3, [r5, #12] @ _119, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6885 @ /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 **** 6886 .loc 2 91 19 view .LVU1819 6887 00ea 23F48403 bic r3, r3, #4325376 @ _120, _119, 6888 00ee 23F04003 bic r3, r3, #64 @ _120, _120, 6889 00f2 EB60 str r3, [r5, #12] @ _120, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6890 @ /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) 6891 .loc 2 94 9 view .LVU1820 6892 00f4 EB68 ldr r3, [r5, #12] @ _121, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6893 @ /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) 6894 .loc 2 94 19 view .LVU1821 6895 00f6 23F44013 bic r3, r3, #3145728 @ _122, _121, 6896 00fa EB60 str r3, [r5, #12] @ _122, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6897 @ /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 **** { 6898 .loc 2 95 8 view .LVU1822 6899 00fc 012A cmp r2, #1 @ _87, 6900 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:97: USB ARM GAS /tmp/ccjvgGVC.s page 481 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 6901 .loc 2 97 11 view .LVU1823 6902 00fe 02BF ittt eq 6903 0100 EB68 ldreq r3, [r5, #12] @ _124, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6904 @ /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 **** } 6905 .loc 2 97 21 view .LVU1824 6906 0102 43F48013 orreq r3, r3, #1048576 @ _125, _124, 6907 0106 EB60 streq r3, [r5, #12] @ _125, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6908 @ /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 **** } 6909 .loc 2 101 11 view .LVU1825 6910 0108 4FF0A040 mov r0, #1342177280 @, 6911 010c FFF7FEFF bl USB_CoreReset.lto_priv.0 @ 6912 .LVL337: 6913 .L525: 6914 @ /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 **** { 6915 .loc 2 123 6 view .LVU1826 6916 0110 012E cmp r6, #1 @ _84, 6917 0112 09D1 bne .L528 @, 6918 @ /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; 6919 .loc 2 125 9 view .LVU1827 6920 0114 4FF0A043 mov r3, #1342177280 @ tmp320, 6921 0118 9A68 ldr r2, [r3, #8] @ _136, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6922 @ /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; 6923 .loc 2 125 19 view .LVU1828 6924 011a 42F00602 orr r2, r2, #6 @ _137, _136, 6925 011e 9A60 str r2, [r3, #8] @ _137, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6926 @ /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 **** } 6927 .loc 2 126 9 view .LVU1829 6928 0120 9A68 ldr r2, [r3, #8] @ _138, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6929 @ /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 **** } 6930 .loc 2 126 19 view .LVU1830 6931 0122 42F02002 orr r2, r2, #32 @ _139, _138, 6932 0126 9A60 str r2, [r3, #8] @ _139, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6933 .L528: 6934 .LVL338: 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 6935 .loc 2 126 19 is_stmt 0 view .LVU1831 6936 .LBE562: 6937 .LBE561: 6938 @ /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 **** { 6939 .loc 14 184 6 is_stmt 1 discriminator 1 view .LVU1832 6940 0128 80B3 cbz r0, .L529 @ ret, 6941 .L572: 6942 @ /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; 6943 .loc 14 221 17 view .LVU1833 6944 012a 0223 movs r3, #2 @ tmp490, 6945 012c 84F8BD33 strb r3, [r4, #957] @ tmp490, 6946 .L530: ARM GAS /tmp/ccjvgGVC.s page 482 6947 .LVL339: 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 6948 .loc 14 221 17 is_stmt 0 view .LVU1834 6949 .LBE583: 6950 .LBE585: 6951 .LBB586: 6952 .LBB587: 6953 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:115: hp 6954 .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 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 **** */ ARM GAS /tmp/ccjvgGVC.s page 483 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) 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 **** } ARM GAS /tmp/ccjvgGVC.s page 484 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; 6955 .loc 16 115 27 is_stmt 1 view .LVU1835 6956 0130 4FF0A043 mov r3, #1342177280 @ tmp498, 6957 0134 8022 movs r2, #128 @ tmp499, 6958 0136 5A62 str r2, [r3, #36] @ tmp499, MEM[(struct PCD_TypeDef *)1342177280B].GRXFSIZ 6959 .LVL340: 6960 .loc 16 115 27 is_stmt 0 view .LVU1836 6961 .LBE587: 6962 .LBE586: 6963 .LBB588: 6964 .LBB589: 6965 @ /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 **** 6966 .loc 16 86 13 is_stmt 1 view .LVU1837 6967 0138 5A6A ldr r2, [r3, #36] @ Tx_Offset, MEM[(struct PCD_TypeDef *)1342177280B].GRXFSIZ 6968 .LVL341: 6969 @ /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 **** } 6970 .loc 16 90 65 view .LVU1838 6971 013a 42F48002 orr r2, r2, #4194304 @ _43, Tx_Offset, 6972 .LVL342: 6973 @ /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 **** } 6974 .loc 16 90 40 view .LVU1839 6975 013e 9A62 str r2, [r3, #40] @ _43, MEM[(struct PCD_TypeDef *)1342177280B].DIEPTXF0_HNPTXFSIZ 6976 .LVL343: 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 6977 .loc 16 90 40 is_stmt 0 view .LVU1840 6978 .LBE589: 6979 .LBE588: 6980 .LBB590: 6981 .LBB591: 6982 @ /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 **** 6983 .loc 16 86 13 is_stmt 1 view .LVU1841 6984 0140 5A6A ldr r2, [r3, #36] @ Tx_Offset, MEM[(struct PCD_TypeDef *)1342177280B].GRXFSIZ 6985 .LVL344: 6986 @ /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++) 6987 .loc 16 94 33 view .LVU1842 6988 0142 996A ldr r1, [r3, #40] @ _23, MEM[(struct PCD_TypeDef *)1342177280B].DIEPTXF0_HNPTXFSIZ 6989 .LVL345: 6990 @ /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++) 6991 .loc 16 94 15 view .LVU1843 6992 0144 02EB1142 add r2, r2, r1, lsr #16 @ Tx_Offset_25, Tx_Offset, _23, 6993 .LVL346: 6994 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:101: ARM GAS /tmp/ccjvgGVC.s page 485 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 6995 .loc 16 101 65 view .LVU1844 6996 0148 42F40002 orr r2, r2, #8388608 @ _38, Tx_Offset_25, 6997 .LVL347: 6998 @ /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 **** } 6999 .loc 16 101 40 view .LVU1845 7000 014c C3F80421 str r2, [r3, #260] @ _38, MEM[(struct PCD_TypeDef *)1342177280B].DIEPTXF[0] 7001 .LVL348: 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 7002 .loc 16 101 40 is_stmt 0 view .LVU1846 7003 .LBE591: 7004 .LBE590: 7005 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:407: } 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 7006 .loc 13 407 1 is_stmt 1 view .LVU1847 7007 0150 05B0 add sp, sp, #20 @,, 7008 .LCFI43: 7009 .cfi_remember_state 7010 .cfi_def_cfa_offset 36 7011 @ sp needed @ 7012 0152 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 7013 .LVL349: 7014 .L523: 7015 .LCFI44: 7016 .cfi_restore_state 7017 .LBB592: 7018 .LBB584: 7019 .LBB564: 7020 .LBB563: 7021 @ /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 **** 7022 .loc 2 106 9 view .LVU1848 7023 0156 EB68 ldr r3, [r5, #12] @ _127, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7024 0158 A76A ldr r7, [r4, #40] @ _86, MEM[(unsigned int *)&hpcd_USB_OTG + 40B] 7025 @ /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 **** 7026 .loc 2 106 19 view .LVU1849 7027 015a 43F04003 orr r3, r3, #64 @ _128, _127, 7028 015e EB60 str r3, [r5, #12] @ _128, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7029 @ /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 **** 7030 .loc 2 109 11 view .LVU1850 7031 0160 4FF0A040 mov r0, #1342177280 @, 7032 0164 FFF7FEFF bl USB_CoreReset.lto_priv.0 @ 7033 .LVL350: 7034 @ /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 **** } 7035 .loc 2 114 11 view .LVU1851 7036 0168 AB6B ldr r3, [r5, #56] @ _131, 7037 @ /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 **** { 7038 .loc 2 111 8 view .LVU1852 7039 016a 1FB9 cbnz r7, .L526 @ _86, 7040 @ /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 **** } 7041 .loc 2 114 19 view .LVU1853 ARM GAS /tmp/ccjvgGVC.s page 486 7042 016c 43F48033 orr r3, r3, #65536 @ _132, _131, 7043 .L569: 7044 @ /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 **** } 7045 .loc 2 119 19 view .LVU1854 7046 0170 AB63 str r3, [r5, #56] @ _134, 7047 0172 CDE7 b .L525 @ 7048 .L526: 7049 0174 23F48033 bic r3, r3, #65536 @ _134, _133, 7050 0178 FAE7 b .L569 @ 7051 .L574: 7052 017a 00BF .align 2 7053 .L573: 7054 017c 00000000 .word hUsbDevice 7055 0180 00000000 .word hpcd_USB_OTG 7056 0184 00380240 .word 1073887232 7057 0188 00E100E0 .word -536813312 7058 .LVL351: 7059 .L529: 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7060 .loc 2 119 19 is_stmt 0 view .LVU1855 7061 .LBE563: 7062 .LBE564: 7063 .LBB565: 7064 .LBB566: 7065 @ /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 **** 7066 .loc 2 253 7 is_stmt 1 view .LVU1856 7067 018c 4FF0A045 mov r5, #1342177280 @ tmp327, 7068 @ /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 **** 7069 .loc 2 267 19 view .LVU1857 7070 0190 3226 movs r6, #50 @ ivtmp_162, 7071 @ /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 **** 7072 .loc 2 253 7 view .LVU1858 7073 0192 EB68 ldr r3, [r5, #12] @ _143, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7074 @ /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 **** 7075 .loc 2 253 17 view .LVU1859 7076 0194 23F0C043 bic r3, r3, #1610612736 @ _144, _143, 7077 0198 EB60 str r3, [r5, #12] @ _144, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7078 @ /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 **** 7079 .loc 2 267 9 view .LVU1860 7080 019a EB68 ldr r3, [r5, #12] @ _151, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7081 @ /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 **** 7082 .loc 2 267 19 view .LVU1861 7083 019c 43F08043 orr r3, r3, #1073741824 @ _152, _151, 7084 01a0 EB60 str r3, [r5, #12] @ _152, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7085 .LVL352: 7086 .L533: 7087 @ /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++; 7088 .loc 2 271 7 view .LVU1862 7089 01a2 0120 movs r0, #1 @, ARM GAS /tmp/ccjvgGVC.s page 487 7090 01a4 FFF7FEFF bl HAL_Delay @ 7091 .LVL353: 7092 .LBB567: 7093 .LBB568: 7094 @ /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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 488 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 **** /** 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 **** { ARM GAS /tmp/ccjvgGVC.s page 489 1303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((USBx->GINTSTS) & 0x1U); 7095 .loc 2 1303 16 view .LVU1863 7096 01a8 6B69 ldr r3, [r5, #20] @ _155, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTSTS 7097 .LVL354: 7098 .loc 2 1303 16 is_stmt 0 view .LVU1864 7099 .LBE568: 7100 .LBE567: 7101 @ /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 **** } 7102 .loc 2 273 63 is_stmt 1 discriminator 2 view .LVU1865 7103 01aa DB07 lsls r3, r3, #31 @, _155, 7104 01ac 00F1A780 bmi .L531 @, 7105 .LVL355: 7106 .L534: 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7107 .loc 2 273 63 is_stmt 0 discriminator 2 view .LVU1866 7108 .LBE566: 7109 .LBE565: 7110 @ /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 **** { 7111 .loc 14 194 30 is_stmt 1 discriminator 1 view .LVU1867 7112 01b0 0021 movs r1, #0 @ ivtmp.138, 7113 01b2 6568 ldr r5, [r4, #4] @ _75, hpcd_USB_OTG.Init.dev_endpoints 7114 @ /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; 7115 .loc 14 197 26 view .LVU1868 7116 01b4 1C26 movs r6, #28 @ tmp523, 7117 01b6 0127 movs r7, #1 @ tmp524, 7118 @ /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; 7119 .loc 14 201 25 view .LVU1869 7120 01b8 0846 mov r0, r1 @ tmp525, ivtmp.138 7121 .LVL356: 7122 .L532: 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U; 7123 .loc 14 201 25 is_stmt 0 view .LVU1870 7124 01ba CAB2 uxtb r2, r1 @ _108, ivtmp.138 7125 .LVL357: 7126 @ /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 **** { 7127 .loc 14 194 18 is_stmt 1 discriminator 1 view .LVU1871 7128 01bc 9542 cmp r5, r2 @ _75, _108 7129 01be 01F10101 add r1, r1, #1 @ ivtmp.138, ivtmp.138, 7130 01c2 00F2A080 bhi .L535 @, 7131 01c6 0021 movs r1, #0 @ ivtmp.132, 7132 @ /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; 7133 .loc 14 209 27 view .LVU1872 7134 01c8 1C26 movs r6, #28 @ tmp521, 7135 01ca 0A46 mov r2, r1 @ tmp522, ivtmp.132 7136 .LVL358: 7137 .L536: 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 7138 .loc 14 209 27 is_stmt 0 view .LVU1873 7139 01cc C8B2 uxtb r0, r1 @ _115, ivtmp.132 7140 .LVL359: 7141 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:207: for ( ARM GAS /tmp/ccjvgGVC.s page 490 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 7142 .loc 14 207 18 is_stmt 1 discriminator 1 view .LVU1874 7143 01ce 8542 cmp r5, r0 @ _75, _115 7144 01d0 01F10101 add r1, r1, #1 @ ivtmp.132, ivtmp.132, 7145 01d4 00F2A580 bhi .L537 @, 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 7146 .loc 14 207 18 is_stmt 0 discriminator 1 view .LVU1875 7147 01d8 D4E906C3 ldrd ip, r3, [r4, #24] @ _91, _92, tmp229, 7148 01dc D4E90307 ldrd r0, r7, [r4, #12] @ _89, _90, tmp229, 7149 .LVL360: 7150 .LBB570: 7151 .LBB571: 7152 @ /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 **** { 7153 .loc 2 302 10 is_stmt 1 view .LVU1876 7154 01e0 0022 movs r2, #0 @ i, 7155 01e2 E66A ldr r6, [r4, #44] @ _93, MEM[(unsigned int *)&hpcd_USB_OTG + 44B] 7156 .LVL361: 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7157 .loc 2 302 10 is_stmt 0 view .LVU1877 7158 01e4 0193 str r3, [sp, #4] @ _92, %sfp 7159 @ /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 **** } 7160 .loc 2 304 22 is_stmt 1 view .LVU1878 7161 01e6 9646 mov lr, r2 @ tmp425, i 7162 01e8 4FF0A043 mov r3, #1342177280 @ tmp421, 7163 .LVL362: 7164 .L538: 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7165 .loc 2 304 22 is_stmt 0 view .LVU1879 7166 01ec 9100 lsls r1, r2, #2 @ tmp424, i, 7167 01ee 01F1A041 add r1, r1, #1342177280 @ tmp423, tmp424, 7168 @ /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 **** { 7169 .loc 2 302 26 is_stmt 1 discriminator 3 view .LVU1880 7170 01f2 0132 adds r2, r2, #1 @ i, i, 7171 .LVL363: 7172 @ /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 **** { 7173 .loc 2 302 18 discriminator 1 view .LVU1881 7174 01f4 0F2A cmp r2, #15 @ i, 7175 @ /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 **** } 7176 .loc 2 304 22 view .LVU1882 7177 01f6 C1F804E1 str lr, [r1, #260] @ tmp425, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].DIEPTXF[i_261] 7178 @ /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 **** { 7179 .loc 2 302 18 discriminator 1 view .LVU1883 7180 01fa F7D1 bne .L538 @, 7181 @ /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 **** { 7182 .loc 2 327 6 view .LVU1884 7183 01fc 002E cmp r6, #0 @ _93 7184 01fe 40F09D80 bne .L539 @ 7185 @ /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; 7186 .loc 2 333 16 view .LVU1885 ARM GAS /tmp/ccjvgGVC.s page 491 7187 0202 6E49 ldr r1, .L575 @ tmp426, 7188 0204 4A68 ldr r2, [r1, #4] @ _166, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DCTL 7189 .LVL364: 7190 @ /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; 7191 .loc 2 333 23 view .LVU1886 7192 0206 42F00202 orr r2, r2, #2 @ _167, _166, 7193 020a 4A60 str r2, [r1, #4] @ _167, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DCTL 7194 @ /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; 7195 .loc 2 334 9 view .LVU1887 7196 020c 9A6B ldr r2, [r3, #56] @ _168, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7197 @ /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; 7198 .loc 2 334 17 view .LVU1888 7199 020e 42F40012 orr r2, r2, #2097152 @ _169, _168, 7200 0212 9A63 str r2, [r3, #56] @ _169, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7201 @ /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; 7202 .loc 2 335 9 view .LVU1889 7203 0214 9A6B ldr r2, [r3, #56] @ _170, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7204 @ /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; 7205 .loc 2 335 17 view .LVU1890 7206 0216 22F40022 bic r2, r2, #524288 @ _171, _170, 7207 021a 9A63 str r2, [r3, #56] @ _171, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7208 @ /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 **** } 7209 .loc 2 336 9 view .LVU1891 7210 021c 9A6B ldr r2, [r3, #56] @ _172, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7211 @ /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 **** } 7212 .loc 2 336 17 view .LVU1892 7213 021e 22F48022 bic r2, r2, #262144 @ _173, _172, 7214 .L570: 7215 @ /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 **** } 7216 .loc 2 342 17 view .LVU1893 7217 0222 9A63 str r2, [r3, #56] @ _177, 7218 @ /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 **** 7219 .loc 2 347 16 view .LVU1894 7220 0224 4FF0A043 mov r3, #1342177280 @ tmp438, 7221 0228 0022 movs r2, #0 @ tmp439, 7222 022a C3F8002E str r2, [r3, #3584] @ tmp439, MEM[(volatile uint32_t *)1342180864B] 7223 @ /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 **** 7224 .loc 2 350 14 view .LVU1895 7225 022e D3F80028 ldr r2, [r3, #2048] @ _182, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DCFG 7226 @ /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 **** 7227 .loc 2 350 21 view .LVU1896 7228 0232 C3F80028 str r2, [r3, #2048] @ _182, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DCFG 7229 @ /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 **** { 7230 .loc 2 352 6 view .LVU1897 7231 0236 BCF1010F cmp ip, #1 @ _91, ARM GAS /tmp/ccjvgGVC.s page 492 7232 @ /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 **** 7233 .loc 2 350 14 view .LVU1898 7234 023a 03F50063 add r3, r3, #2048 @ tmp440, tmp440, 7235 .LBB572: 7236 .LBB573: 7237 @ /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; 7238 .loc 2 526 14 view .LVU1899 7239 023e 1A68 ldr r2, [r3] @ _220, 7240 .LBE573: 7241 .LBE572: 7242 @ /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 **** { 7243 .loc 2 352 6 view .LVU1900 7244 0240 40F08780 bne .L541 @, 7245 @ /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 **** { 7246 .loc 2 354 8 view .LVU1901 7247 0244 0028 cmp r0, #0 @ _89 7248 0246 40F08180 bne .L542 @ 7249 .L571: 7250 .LBB574: 7251 .LBB575: 7252 @ /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; 7253 .loc 2 526 21 view .LVU1902 7254 024a 1A60 str r2, [r3] @ _234, 7255 .LBE575: 7256 .LBE574: 7257 @ /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 **** { 7258 .loc 2 372 7 view .LVU1903 7259 024c 1021 movs r1, #16 @, 7260 024e 4FF0A040 mov r0, #1342177280 @, 7261 0252 FFF7FEFF bl USB_FlushTxFifo @ 7262 .LVL365: 7263 0256 8046 mov r8, r0 @ tmp448, tmp532 7264 .LVL366: 7265 @ /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 **** { 7266 .loc 2 377 7 view .LVU1904 7267 0258 4FF0A040 mov r0, #1342177280 @, 7268 025c FFF7FEFF bl USB_FlushRxFifo @ 7269 .LVL367: 7270 @ /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; 7271 .loc 2 383 24 view .LVU1905 7272 0260 5649 ldr r1, .L575 @ tmp451, 7273 0262 0023 movs r3, #0 @ tmp452, 7274 0264 48EA0002 orr r2, r8, r0 @ tmp450, tmp448, tmp533 7275 @ /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 **** } 7276 .loc 2 393 31 view .LVU1906 7277 0268 5548 ldr r0, .L575+4 @ tmp518, 7278 @ /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; ARM GAS /tmp/ccjvgGVC.s page 493 7279 .loc 2 383 24 view .LVU1907 7280 026a 0B61 str r3, [r1, #16] @ tmp452, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DIEPMSK 7281 026c D2B2 uxtb r2, r2 @ _104, tmp450 7282 .LVL368: 7283 @ /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; 7284 .loc 2 384 24 view .LVU1908 7285 026e 4B61 str r3, [r1, #20] @ tmp452, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DOEPMSK 7286 @ /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 **** } 7287 .loc 2 402 29 view .LVU1909 7288 0270 9C46 mov ip, r3 @ tmp516, i 7289 @ /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 **** 7290 .loc 2 385 25 view .LVU1910 7291 0272 CB61 str r3, [r1, #28] @ tmp452, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DAINTMSK 7292 .LVL369: 7293 @ /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 **** } 7294 .loc 2 397 31 view .LVU1911 7295 0274 4FF09048 mov r8, #1207959552 @ tmp517, 7296 @ /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 **** } 7297 .loc 2 393 31 view .LVU1912 7298 0278 4FF00069 mov r9, #134217728 @ tmp519, 7299 @ /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 **** } 7300 .loc 2 406 28 view .LVU1913 7301 027c 4FF67F3A movw r10, #64383 @ tmp520, 7302 .LVL370: 7303 .L544: 7304 @ /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 **** { 7305 .loc 2 387 18 discriminator 1 view .LVU1914 7306 0280 9D42 cmp r5, r3 @ _75, i 7307 0282 69D1 bne .L548 @, 7308 @ /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 **** { 7309 .loc 2 409 10 view .LVU1915 7310 0284 0021 movs r1, #0 @ i, 7311 @ /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 **** } 7312 .loc 2 415 32 view .LVU1916 7313 0286 4F4D ldr r5, .L575+8 @ tmp513, 7314 @ /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 **** } 7315 .loc 2 424 30 view .LVU1917 7316 0288 8C46 mov ip, r1 @ tmp511, i 7317 @ /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 **** } 7318 .loc 2 419 32 view .LVU1918 7319 028a 4FF09048 mov r8, #1207959552 @ tmp512, 7320 @ /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 **** } 7321 .loc 2 415 32 view .LVU1919 7322 028e 4FF00069 mov r9, #134217728 @ tmp514, 7323 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:428: USBx ARM GAS /tmp/ccjvgGVC.s page 494 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7324 .loc 2 428 29 view .LVU1920 7325 0292 4FF67F3A movw r10, #64383 @ tmp515, 7326 .LVL371: 7327 .L549: 7328 @ /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 **** { 7329 .loc 2 409 18 discriminator 1 view .LVU1921 7330 0296 8B42 cmp r3, r1 @ i, i 7331 0298 77D1 bne .L553 @, 7332 @ /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 **** 7333 .loc 2 431 14 view .LVU1922 7334 029a 4849 ldr r1, .L575 @ tmp473, 7335 029c 0B69 ldr r3, [r1, #16] @ _203, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DIEPMSK 7336 @ /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 **** 7337 .loc 2 431 24 view .LVU1923 7338 029e 23F48073 bic r3, r3, #256 @ _204, _203, 7339 02a2 0B61 str r3, [r1, #16] @ _204, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DIEPMSK 7340 @ /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 **** 7341 .loc 2 434 17 view .LVU1924 7342 02a4 4FF0A043 mov r3, #1342177280 @ tmp475, 7343 02a8 0021 movs r1, #0 @ tmp476, 7344 02aa 9961 str r1, [r3, #24] @ tmp476, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7345 @ /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 **** 7346 .loc 2 437 17 view .LVU1925 7347 02ac 6FF08041 mvn r1, #1073741824 @ tmp478, 7348 02b0 5961 str r1, [r3, #20] @ tmp478, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTSTS 7349 @ /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 **** { 7350 .loc 2 440 6 view .LVU1926 7351 02b2 1FB9 cbnz r7, .L554 @ _90, 7352 @ /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 **** } 7353 .loc 2 442 9 view .LVU1927 7354 02b4 9969 ldr r1, [r3, #24] @ _206, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7355 @ /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 **** } 7356 .loc 2 442 19 view .LVU1928 7357 02b6 41F01001 orr r1, r1, #16 @ _207, _206, 7358 02ba 9961 str r1, [r3, #24] @ _207, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7359 .L554: 7360 @ /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 | 7361 .loc 2 446 7 view .LVU1929 7362 02bc 9869 ldr r0, [r3, #24] @ _208, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7363 @ /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 | 7364 .loc 2 446 17 view .LVU1930 7365 02be 4249 ldr r1, .L575+12 @ _209, 7366 02c0 0143 orrs r1, r1, r0 @, _209, _209, _208 7367 02c2 9961 str r1, [r3, #24] @ _209, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7368 @ /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 **** { ARM GAS /tmp/ccjvgGVC.s page 495 7369 .loc 2 451 6 view .LVU1931 7370 02c4 0199 ldr r1, [sp, #4] @ _92, %sfp 7371 02c6 19B1 cbz r1, .L555 @ _92, 7372 @ /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 **** } 7373 .loc 2 453 9 view .LVU1932 7374 02c8 9969 ldr r1, [r3, #24] @ _211, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7375 @ /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 **** } 7376 .loc 2 453 19 view .LVU1933 7377 02ca 41F00801 orr r1, r1, #8 @ _212, _211, 7378 02ce 9961 str r1, [r3, #24] @ _212, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7379 .L555: 7380 @ /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 **** { 7381 .loc 2 456 6 view .LVU1934 7382 02d0 012E cmp r6, #1 @ _93, 7383 02d2 07D1 bne .L556 @, 7384 @ /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 **** } 7385 .loc 2 458 9 view .LVU1935 7386 02d4 4FF0A041 mov r1, #1342177280 @ tmp486, 7387 02d8 8B69 ldr r3, [r1, #24] @ _213, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7388 @ /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 **** } 7389 .loc 2 458 19 view .LVU1936 7390 02da 43F08043 orr r3, r3, #1073741824 @ _214, _213, 7391 02de 43F00403 orr r3, r3, #4 @ _214, _214, 7392 02e2 8B61 str r3, [r1, #24] @ _214, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7393 .L556: 7394 .LVL372: 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7395 .loc 2 458 19 is_stmt 0 view .LVU1937 7396 .LBE571: 7397 .LBE570: 7398 @ /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 **** { 7399 .loc 14 219 6 is_stmt 1 discriminator 1 view .LVU1938 7400 02e4 002A cmp r2, #0 @ _104 7401 02e6 7FF420AF bne .L572 @ 7402 @ /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) || 7403 .loc 14 226 15 view .LVU1939 7404 02ea 0123 movs r3, #1 @ tmp496, 7405 @ /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 **** 7406 .loc 14 234 9 view .LVU1940 7407 02ec 4FF0A040 mov r0, #1342177280 @, 7408 @ /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; 7409 .loc 14 225 21 view .LVU1941 7410 02f0 84F83820 strb r2, [r4, #56] @ _104, hpcd_USB_OTG.USB_Address 7411 @ /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) || 7412 .loc 14 226 15 view .LVU1942 7413 02f4 84F8BD33 strb r3, [r4, #957] @ tmp496, hpcd_USB_OTG.State 7414 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:234: (void ARM GAS /tmp/ccjvgGVC.s page 496 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 7415 .loc 14 234 9 view .LVU1943 7416 02f8 FFF7FEFF bl USB_DevDisconnect.isra.0 @ 7417 .LVL373: 7418 @ /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 **** } 7419 .loc 14 236 10 view .LVU1944 7420 02fc 18E7 b .L530 @ 7421 .LVL374: 7422 .L531: 7423 .LBB581: 7424 .LBB569: 7425 @ /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 **** } 7426 .loc 2 273 63 discriminator 1 view .LVU1945 7427 02fe 013E subs r6, r6, #1 @ ivtmp_162, ivtmp_162, 7428 .LVL375: 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7429 .loc 2 273 63 is_stmt 0 discriminator 1 view .LVU1946 7430 0300 7FF44FAF bne .L533 @, 7431 0304 54E7 b .L534 @ 7432 .LVL376: 7433 .L535: 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7434 .loc 2 273 63 discriminator 1 view .LVU1947 7435 .LBE569: 7436 .LBE581: 7437 @ /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; 7438 .loc 14 197 26 is_stmt 1 view .LVU1948 7439 0306 06FB0243 mla r3, r6, r2, r4 @ tmp337, tmp523, _108, tmp229 7440 @ /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; 7441 .loc 14 203 30 view .LVU1949 7442 030a C3E91100 strd r0, r0, [r3, #68] @ tmp525, tmp525, tmp337, 7443 @ /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; 7444 .loc 14 197 26 view .LVU1950 7445 030e 83F83D70 strb r7, [r3, #61] @ tmp524, hpcd_USB_OTG.IN_ep[_71].is_in 7446 @ /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; 7447 .loc 14 198 24 view .LVU1951 7448 0312 83F83C20 strb r2, [r3, #60] @ _108, hpcd_USB_OTG.IN_ep[_71].num 7449 @ /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 */ 7450 .loc 14 199 32 view .LVU1952 7451 0316 A3F84220 strh r2, [r3, #66] @ movhi @ _108, hpcd_USB_OTG.IN_ep[_71].tx_fifo_num 7452 @ /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; 7453 .loc 14 201 25 view .LVU1953 7454 031a 83F83F00 strb r0, [r3, #63] @ tmp525, hpcd_USB_OTG.IN_ep[_71].type 7455 @ /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 **** } 7456 .loc 14 204 29 view .LVU1954 7457 031e 1865 str r0, [r3, #80] @ tmp525, hpcd_USB_OTG.IN_ep[_71].xfer_len 7458 .LVL377: 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccjvgGVC.s page 497 7459 .loc 14 204 29 is_stmt 0 view .LVU1955 7460 0320 4BE7 b .L532 @ 7461 .LVL378: 7462 .L537: 7463 @ /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; 7464 .loc 14 209 27 is_stmt 1 view .LVU1956 7465 0322 06FB0043 mla r3, r6, r0, r4 @ tmp381, tmp521, _115, tmp229 7466 @ /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; 7467 .loc 14 214 31 view .LVU1957 7468 0326 C3E98122 strd r2, r2, [r3, #516] @ tmp522, tmp522, tmp381, 7469 @ /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; 7470 .loc 14 209 27 view .LVU1958 7471 032a 83F8FD21 strb r2, [r3, #509] @ tmp522, hpcd_USB_OTG.OUT_ep[_77].is_in 7472 @ /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 */ 7473 .loc 14 210 25 view .LVU1959 7474 032e 83F8FC01 strb r0, [r3, #508] @ _115, hpcd_USB_OTG.OUT_ep[_77].num 7475 @ /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; 7476 .loc 14 212 26 view .LVU1960 7477 0332 83F8FF21 strb r2, [r3, #511] @ tmp522, hpcd_USB_OTG.OUT_ep[_77].type 7478 @ /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 **** } 7479 .loc 14 215 30 view .LVU1961 7480 0336 C3F81022 str r2, [r3, #528] @ tmp522, hpcd_USB_OTG.OUT_ep[_77].xfer_len 7481 .LVL379: 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 7482 .loc 14 215 30 is_stmt 0 view .LVU1962 7483 033a 47E7 b .L536 @ 7484 .LVL380: 7485 .L539: 7486 .LBB582: 7487 .LBB580: 7488 @ /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; 7489 .loc 2 341 9 is_stmt 1 view .LVU1963 7490 033c 9A6B ldr r2, [r3, #56] @ _174, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7491 .LVL381: 7492 @ /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; 7493 .loc 2 341 17 view .LVU1964 7494 033e 22F40012 bic r2, r2, #2097152 @ _175, _174, 7495 0342 9A63 str r2, [r3, #56] @ _175, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7496 @ /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 **** } 7497 .loc 2 342 9 view .LVU1965 7498 0344 9A6B ldr r2, [r3, #56] @ _176, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7499 @ /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 **** } 7500 .loc 2 342 17 view .LVU1966 7501 0346 42F40022 orr r2, r2, #524288 @ _177, _176, 7502 034a 6AE7 b .L570 @ 7503 .L542: 7504 .LVL382: ARM GAS /tmp/ccjvgGVC.s page 498 7505 .LBB577: 7506 .LBB578: 7507 @ /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; 7508 .loc 2 526 21 view .LVU1967 7509 034c 42F00102 orr r2, r2, #1 @ _228, _226, 7510 0350 7BE7 b .L571 @ 7511 .LVL383: 7512 .L541: 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 7513 .loc 2 526 21 is_stmt 0 view .LVU1968 7514 .LBE578: 7515 .LBE577: 7516 .LBB579: 7517 .LBB576: 7518 0352 42F00302 orr r2, r2, #3 @ _234, _232, 7519 0356 78E7 b .L571 @ 7520 .LVL384: 7521 .L548: 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 7522 .loc 2 526 21 view .LVU1969 7523 .LBE576: 7524 .LBE579: 7525 @ /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 **** { 7526 .loc 2 389 10 is_stmt 1 view .LVU1970 7527 0358 5901 lsls r1, r3, #5 @ _83, i, 7528 035a 01F1A041 add r1, r1, #1342177280 @ tmp458, _83, 7529 035e 01F5106E add lr, r1, #2304 @ _191, tmp458, 7530 @ /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 **** { 7531 .loc 2 389 22 view .LVU1971 7532 0362 D1F800B9 ldr fp, [r1, #2304] @ _192, _191->DIEPCTL 7533 @ /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 **** { 7534 .loc 2 389 8 view .LVU1972 7535 0366 BBF1000F cmp fp, #0 @ _192, 7536 036a 0BDA bge .L545 @, 7537 @ /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 **** { 7538 .loc 2 391 10 view .LVU1973 7539 036c 3BB9 cbnz r3, .L546 @ i, 7540 @ /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 **** } 7541 .loc 2 393 31 view .LVU1974 7542 036e C0F80090 str r9, [r0] @ tmp519, MEM[(struct USB_OTG_INEndpointTypeDef *)1342179584B].DIEPCTL 7543 .L547: 7544 @ /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; 7545 .loc 2 405 28 view .LVU1975 7546 0372 CEF810C0 str ip, [lr, #16] @ tmp516, _191->DIEPTSIZ 7547 @ /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 **** { 7548 .loc 2 387 40 discriminator 2 view .LVU1976 7549 0376 0133 adds r3, r3, #1 @ i, i, 7550 .LVL385: 7551 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:406: USBx ARM GAS /tmp/ccjvgGVC.s page 499 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7552 .loc 2 406 28 view .LVU1977 7553 0378 CEF808A0 str r10, [lr, #8] @ tmp520, _191->DIEPINT 7554 037c 80E7 b .L544 @ 7555 .LVL386: 7556 .L546: 7557 @ /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 **** } 7558 .loc 2 397 31 view .LVU1978 7559 037e C1F80089 str r8, [r1, #2304] @ tmp517, _191->DIEPCTL 7560 0382 F6E7 b .L547 @ 7561 .L545: 7562 @ /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 **** } 7563 .loc 2 402 29 view .LVU1979 7564 0384 C1F800C9 str ip, [r1, #2304] @ tmp516, _191->DIEPCTL 7565 0388 F3E7 b .L547 @ 7566 .LVL387: 7567 .L553: 7568 @ /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 **** { 7569 .loc 2 411 10 view .LVU1980 7570 038a 4801 lsls r0, r1, #5 @ _215, i, 7571 038c 00F1A040 add r0, r0, #1342177280 @ tmp466, _215, 7572 0390 00F5306E add lr, r0, #2816 @ _199, tmp466, 7573 @ /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 **** { 7574 .loc 2 411 23 view .LVU1981 7575 0394 D0F800BB ldr fp, [r0, #2816] @ _200, _199->DOEPCTL 7576 @ /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 **** { 7577 .loc 2 411 8 view .LVU1982 7578 0398 BBF1000F cmp fp, #0 @ _200, 7579 039c 0BDA bge .L550 @, 7580 @ /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 **** { 7581 .loc 2 413 10 view .LVU1983 7582 039e 39B9 cbnz r1, .L551 @ i, 7583 @ /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 **** } 7584 .loc 2 415 32 view .LVU1984 7585 03a0 C5F80090 str r9, [r5] @ tmp514, MEM[(struct USB_OTG_OUTEndpointTypeDef *)1342180096B].DOEPCTL 7586 .L552: 7587 @ /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; 7588 .loc 2 427 29 view .LVU1985 7589 03a4 CEF810C0 str ip, [lr, #16] @ tmp511, _199->DOEPTSIZ 7590 @ /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 **** { 7591 .loc 2 409 40 discriminator 2 view .LVU1986 7592 03a8 0131 adds r1, r1, #1 @ i, i, 7593 @ /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 **** } 7594 .loc 2 428 29 view .LVU1987 7595 03aa CEF808A0 str r10, [lr, #8] @ tmp515, _199->DOEPINT 7596 03ae 72E7 b .L549 @ 7597 .L551: ARM GAS /tmp/ccjvgGVC.s page 500 7598 @ /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 **** } 7599 .loc 2 419 32 view .LVU1988 7600 03b0 C0F8008B str r8, [r0, #2816] @ tmp512, _199->DOEPCTL 7601 03b4 F6E7 b .L552 @ 7602 .L550: 7603 @ /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 **** } 7604 .loc 2 424 30 view .LVU1989 7605 03b6 C0F800CB str ip, [r0, #2816] @ tmp511, _199->DOEPCTL 7606 03ba F3E7 b .L552 @ 7607 .L576: 7608 .align 2 7609 .L575: 7610 03bc 00080050 .word 1342179328 7611 03c0 00090050 .word 1342179584 7612 03c4 000B0050 .word 1342180096 7613 03c8 00383C80 .word -2143537152 7614 .LBE580: 7615 .LBE582: 7616 .LBE584: 7617 .LBE592: 7618 .cfi_endproc 7619 .LFE80: 7620 .size USBD_LL_Init.part.0.constprop.0, .-USBD_LL_Init.part.0.constprop.0 7621 .section .text.FLASH_WaitForLastOperation.constprop.0,"ax",%progbits 7622 .align 1 7623 .global FLASH_WaitForLastOperation.constprop.0 7624 .hidden FLASH_WaitForLastOperation.constprop.0 7625 .syntax unified 7626 .thumb 7627 .thumb_func 7628 .type FLASH_WaitForLastOperation.constprop.0, %function 7629 FLASH_WaitForLastOperation.constprop.0: 7630 .LFB110: 7631 .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 ARM GAS /tmp/ccjvgGVC.s page 501 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 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" ARM GAS /tmp/ccjvgGVC.s page 502 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 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 ARM GAS /tmp/ccjvgGVC.s page 503 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 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 */ ARM GAS /tmp/ccjvgGVC.s page 504 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. 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 **** { ARM GAS /tmp/ccjvgGVC.s page 505 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 **** 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 **** ARM GAS /tmp/ccjvgGVC.s page 506 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; 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 **** ARM GAS /tmp/ccjvgGVC.s page 507 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 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 **** =============================================================================== ARM GAS /tmp/ccjvgGVC.s page 508 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; 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 ARM GAS /tmp/ccjvgGVC.s page 509 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; 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 ARM GAS /tmp/ccjvgGVC.s page 510 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 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) 7632 .loc 17 552 19 view -0 7633 .cfi_startproc 7634 @ args = 0, pretend = 0, frame = 0 7635 @ frame_needed = 0, uses_anonymous_args = 0 7636 .LVL388: 7637 @ /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; 7638 .loc 17 557 20 view .LVU1991 7639 0000 2B4B ldr r3, .L611 @ tmp148, 7640 .LBB603: 7641 .LBB604: 7642 .LBB605: 7643 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 7644 .loc 11 56 10 view .LVU1992 7645 0002 2C48 ldr r0, .L611+4 @ tmp150, 7646 .LBE605: 7647 .LBE604: 7648 .LBE603: 7649 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:557: pFl 7650 .loc 17 557 20 view .LVU1993 7651 0004 0022 movs r2, #0 @ tmp149, 7652 @ /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 **** { 7653 .loc 17 552 19 view .LVU1994 7654 0006 30B5 push {r4, r5, lr} @ 7655 .LCFI45: 7656 .cfi_def_cfa_offset 12 7657 .cfi_offset 4, -12 7658 .cfi_offset 5, -8 7659 .cfi_offset 14, -4 7660 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:557: pFl 7661 .loc 17 557 20 view .LVU1995 7662 0008 DA61 str r2, [r3, #28] @ tmp149, pFlash.ErrorCode 7663 .LBB608: 7664 .LBB607: ARM GAS /tmp/ccjvgGVC.s page 511 7665 .LBB606: 7666 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 7667 .loc 11 56 10 view .LVU1996 7668 000a 0468 ldr r4, [r0] @ _22, _ms_ticks 7669 .LVL389: 7670 .loc 11 56 10 is_stmt 0 view .LVU1997 7671 .LBE606: 7672 .LBE607: 7673 .LBE608: 7674 @ /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 */ 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) 7675 .loc 17 565 9 is_stmt 1 view .LVU1998 7676 000c 2A4A ldr r2, .L611+8 @ tmp154, 7677 @ /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)) 7678 .loc 17 569 25 discriminator 1 view .LVU1999 7679 000e 4CF25035 movw r5, #50000 @ tmp204, 7680 .L578: 7681 @ /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 **** { 7682 .loc 17 565 9 view .LVU2000 7683 0012 D168 ldr r1, [r2, #12] @ _4, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7684 @ /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 **** { 7685 .loc 17 565 46 view .LVU2001 7686 0014 C903 lsls r1, r1, #15 @, _4, 7687 0016 44D4 bmi .L580 @, 7688 @ /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) 7689 .loc 17 577 7 view .LVU2002 7690 0018 D168 ldr r1, [r2, #12] @ _6, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7691 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:577: if 7692 .loc 17 577 6 view .LVU2003 7693 001a C807 lsls r0, r1, #31 @, _6, 7694 @ /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); 7695 .loc 17 580 5 view .LVU2004 7696 001c 44BF itt mi ARM GAS /tmp/ccjvgGVC.s page 512 7697 001e 0121 movmi r1, #1 @ tmp159, 7698 0020 D160 strmi r1, [r2, #12] @ tmp159, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7699 @ /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 | \ 7700 .loc 17 583 6 view .LVU2005 7701 0022 D068 ldr r0, [r2, #12] @ _8, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7702 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:583: if( 7703 .loc 17 583 5 view .LVU2006 7704 0024 10F4F970 ands r0, r0, #498 @ _9, _8, 7705 0028 3AD0 beq .L579 @, 7706 .LBB609: 7707 .LBB610: 7708 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:715: if( 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 ARM GAS /tmp/ccjvgGVC.s page 513 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. 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 **** } ARM GAS /tmp/ccjvgGVC.s page 514 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 **** { 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) 7709 .loc 17 715 6 view .LVU2007 7710 002a D168 ldr r1, [r2, #12] @ _25, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7711 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:715: if( 7712 .loc 17 715 5 view .LVU2008 7713 002c C906 lsls r1, r1, #27 @, _25, 7714 002e 05D5 bpl .L582 @, 7715 @ /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; 7716 .loc 17 717 10 view .LVU2009 7717 0030 D969 ldr r1, [r3, #28] @ _27, pFlash.ErrorCode 7718 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:717: pF 7719 .loc 17 717 21 view .LVU2010 7720 0032 41F01001 orr r1, r1, #16 @ _28, _27, 7721 0036 D961 str r1, [r3, #28] @ _28, pFlash.ErrorCode 7722 @ /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); 7723 .loc 17 720 4 view .LVU2011 7724 0038 1021 movs r1, #16 @ tmp167, 7725 003a D160 str r1, [r2, #12] @ tmp167, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7726 .L582: 7727 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:723: if( ARM GAS /tmp/ccjvgGVC.s page 515 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) 7728 .loc 17 723 6 view .LVU2012 7729 003c 1E4A ldr r2, .L611+8 @ tmp168, 7730 003e D168 ldr r1, [r2, #12] @ _29, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7731 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:723: if( 7732 .loc 17 723 5 view .LVU2013 7733 0040 8D06 lsls r5, r1, #26 @, _29, 7734 0042 05D5 bpl .L583 @, 7735 @ /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; 7736 .loc 17 725 10 view .LVU2014 7737 0044 D969 ldr r1, [r3, #28] @ _31, pFlash.ErrorCode 7738 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:725: pF 7739 .loc 17 725 21 view .LVU2015 7740 0046 41F00801 orr r1, r1, #8 @ _32, _31, 7741 004a D961 str r1, [r3, #28] @ _32, pFlash.ErrorCode 7742 @ /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); 7743 .loc 17 728 4 view .LVU2016 7744 004c 2021 movs r1, #32 @ tmp173, 7745 004e D160 str r1, [r2, #12] @ tmp173, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7746 .L583: 7747 @ /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) 7748 .loc 17 731 6 view .LVU2017 7749 0050 D168 ldr r1, [r2, #12] @ _33, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7750 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:731: if( 7751 .loc 17 731 5 view .LVU2018 7752 0052 4C06 lsls r4, r1, #25 @, _33, 7753 .LVL390: 7754 .loc 17 731 5 is_stmt 0 view .LVU2019 7755 0054 05D5 bpl .L584 @, 7756 @ /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; 7757 .loc 17 733 11 is_stmt 1 view .LVU2020 7758 0056 D969 ldr r1, [r3, #28] @ _35, pFlash.ErrorCode 7759 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:733: p 7760 .loc 17 733 22 view .LVU2021 7761 0058 41F00401 orr r1, r1, #4 @ _36, _35, 7762 005c D961 str r1, [r3, #28] @ _36, pFlash.ErrorCode 7763 @ /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); 7764 .loc 17 736 5 view .LVU2022 7765 005e 4021 movs r1, #64 @ tmp179, 7766 0060 D160 str r1, [r2, #12] @ tmp179, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7767 .L584: 7768 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:739: if( ARM GAS /tmp/ccjvgGVC.s page 516 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) 7769 .loc 17 739 6 view .LVU2023 7770 0062 154A ldr r2, .L611+8 @ tmp180, 7771 0064 D168 ldr r1, [r2, #12] @ _37, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7772 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:739: if( 7773 .loc 17 739 5 view .LVU2024 7774 0066 0806 lsls r0, r1, #24 @, _37, 7775 0068 05D5 bpl .L585 @, 7776 @ /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; 7777 .loc 17 741 11 view .LVU2025 7778 006a D969 ldr r1, [r3, #28] @ _39, pFlash.ErrorCode 7779 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:741: p 7780 .loc 17 741 22 view .LVU2026 7781 006c 41F00201 orr r1, r1, #2 @ _40, _39, 7782 0070 D961 str r1, [r3, #28] @ _40, pFlash.ErrorCode 7783 @ /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); 7784 .loc 17 744 5 view .LVU2027 7785 0072 8021 movs r1, #128 @ tmp185, 7786 0074 D160 str r1, [r2, #12] @ tmp185, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7787 .L585: 7788 @ /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) 7789 .loc 17 747 6 view .LVU2028 7790 0076 D168 ldr r1, [r2, #12] @ _41, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7791 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:747: if( 7792 .loc 17 747 5 view .LVU2029 7793 0078 C905 lsls r1, r1, #23 @, _41, 7794 007a 06D5 bpl .L586 @, 7795 @ /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; 7796 .loc 17 749 11 view .LVU2030 7797 007c D969 ldr r1, [r3, #28] @ _43, pFlash.ErrorCode 7798 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:749: p 7799 .loc 17 749 22 view .LVU2031 7800 007e 41F00101 orr r1, r1, #1 @ _44, _43, 7801 0082 D961 str r1, [r3, #28] @ _44, pFlash.ErrorCode 7802 @ /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); 7803 .loc 17 752 5 view .LVU2032 7804 0084 4FF48071 mov r1, #256 @ tmp191, 7805 0088 D160 str r1, [r2, #12] @ tmp191, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7806 .L586: 7807 @ /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 */ ARM GAS /tmp/ccjvgGVC.s page 517 755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_OPERR) != RESET) 7808 .loc 17 755 6 view .LVU2033 7809 008a 0B49 ldr r1, .L611+8 @ tmp192, 7810 008c CA68 ldr r2, [r1, #12] @ _45, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7811 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:755: if( 7812 .loc 17 755 5 view .LVU2034 7813 008e 9207 lsls r2, r2, #30 @, _45, 7814 0090 05D5 bpl .L587 @, 7815 @ /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; 7816 .loc 17 757 11 view .LVU2035 7817 0092 DA69 ldr r2, [r3, #28] @ _47, pFlash.ErrorCode 7818 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:757: p 7819 .loc 17 757 22 view .LVU2036 7820 0094 42F02002 orr r2, r2, #32 @ _48, _47, 7821 0098 DA61 str r2, [r3, #28] @ _48, pFlash.ErrorCode 7822 @ /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); 7823 .loc 17 760 5 view .LVU2037 7824 009a 0223 movs r3, #2 @ tmp197, 7825 009c CB60 str r3, [r1, #12] @ tmp197, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7826 .L587: 7827 .LBE610: 7828 .LBE609: 7829 @ /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 **** } 7830 .loc 17 592 12 view .LVU2038 7831 009e 0120 movs r0, #1 @ , 7832 .L579: 7833 @ /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 **** 7834 .loc 17 598 1 view .LVU2039 7835 00a0 30BD pop {r4, r5, pc} @ 7836 .LVL391: 7837 .L580: 7838 .LBB611: 7839 .LBB612: 7840 .LBB613: 7841 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 7842 .loc 11 56 10 view .LVU2040 7843 00a2 0168 ldr r1, [r0] @ _24, _ms_ticks 7844 .LBE613: 7845 .LBE612: 7846 .LBE611: 7847 @ /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 **** { 7848 .loc 17 569 43 discriminator 1 view .LVU2041 7849 00a4 091B subs r1, r1, r4 @ _3, _24, _22 7850 @ /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 **** { 7851 .loc 17 569 25 discriminator 1 view .LVU2042 7852 00a6 A942 cmp r1, r5 @ _3, tmp204 7853 00a8 B3D9 bls .L578 @, 7854 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:571: ARM GAS /tmp/ccjvgGVC.s page 518 571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 7855 .loc 17 571 16 view .LVU2043 7856 00aa 0320 movs r0, #3 @ , 7857 00ac F8E7 b .L579 @ 7858 .L612: 7859 00ae 00BF .align 2 7860 .L611: 7861 00b0 00000000 .word pFlash 7862 00b4 00000000 .word _ZL9_ms_ticks.lto_priv.0 7863 00b8 003C0240 .word 1073888256 7864 .cfi_endproc 7865 .LFE110: 7866 .size FLASH_WaitForLastOperation.constprop.0, .-FLASH_WaitForLastOperation.constprop.0 7867 .section .text.SDIO_SendCommand.constprop.0.isra.0,"ax",%progbits 7868 .align 1 7869 .global SDIO_SendCommand.constprop.0.isra.0 7870 .hidden SDIO_SendCommand.constprop.0.isra.0 7871 .syntax unified 7872 .thumb 7873 .thumb_func 7874 .type SDIO_SendCommand.constprop.0.isra.0, %function 7875 SDIO_SendCommand.constprop.0.isra.0: 7876 .LVL392: 7877 .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 **** ARM GAS /tmp/ccjvgGVC.s page 519 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 */ 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) 7878 .loc 7 356 19 view -0 7879 .cfi_startproc 7880 @ args = 0, pretend = 0, frame = 0 7881 @ frame_needed = 0, uses_anonymous_args = 0 7882 @ link register save eliminated. 7883 @ /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)); ARM GAS /tmp/ccjvgGVC.s page 520 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; 7884 .loc 7 367 23 view .LVU2045 7885 0000 0B68 ldr r3, [r1] @ _2, Command_1(D)->Argument 7886 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:367: SDIO 7887 .loc 7 367 14 view .LVU2046 7888 0002 8360 str r3, [r0, #8] @ _2, SDIOx_3(D)->ARG 7889 .LVL393: 7890 @ /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 |\ 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); 7891 .loc 7 376 3 view .LVU2047 7892 0004 C368 ldr r3, [r0, #12] @ _11, SDIOx_3(D)->CMD 7893 0006 4A68 ldr r2, [r1, #4] @ Command_1(D)->CmdIndex, Command_1(D)->CmdIndex 7894 0008 6FF30B03 bfc r3, #0, #12 @ _12, 7895 000c 1343 orrs r3, r3, r2 @, _9, _12, Command_1(D)->CmdIndex 7896 000e 8A68 ldr r2, [r1, #8] @ Command_1(D)->Response, Command_1(D)->Response 7897 0010 1343 orrs r3, r3, r2 @, _7, _9, Command_1(D)->Response 7898 0012 43F48063 orr r3, r3, #1024 @ _13, _7, 7899 0016 C360 str r3, [r0, #12] @ _13, SDIOx_3(D)->CMD 7900 @ /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 **** } 7901 .loc 7 379 1 view .LVU2048 7902 0018 7047 bx lr @ 7903 .cfi_endproc 7904 .LFE114: 7905 .size SDIO_SendCommand.constprop.0.isra.0, .-SDIO_SendCommand.constprop.0.isra.0 7906 .section .text._ZL10_write_dmaPKhmj,"ax",%progbits 7907 .align 1 7908 .syntax unified 7909 .thumb 7910 .thumb_func 7911 .type _ZL10_write_dmaPKhmj, %function 7912 _ZL10_write_dmaPKhmj: 7913 .LVL394: 7914 .LFB115: 470:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if __CORTEX_M >= 0x07 7915 .loc 5 470 1 view -0 7916 .cfi_startproc 7917 @ args = 0, pretend = 0, frame = 24 7918 @ 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) { 7919 .loc 5 475 3 view .LVU2050 7920 @ /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 7921 .loc 5 470 1 is_stmt 0 view .LVU2051 7922 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ ARM GAS /tmp/ccjvgGVC.s page 521 7923 .LCFI46: 7924 .cfi_def_cfa_offset 36 7925 .cfi_offset 4, -36 7926 .cfi_offset 5, -32 7927 .cfi_offset 6, -28 7928 .cfi_offset 7, -24 7929 .cfi_offset 8, -20 7930 .cfi_offset 9, -16 7931 .cfi_offset 10, -12 7932 .cfi_offset 11, -8 7933 .cfi_offset 14, -4 7934 @ /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) { 7935 .loc 5 475 15 view .LVU2052 7936 0004 DFF86081 ldr r8, .L638+24 @ tmp155, 7937 0008 514C ldr r4, .L638 @ tmp230, 7938 @ /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 7939 .loc 5 470 1 view .LVU2053 7940 000a 1646 mov r6, r2 @ count, tmp236 7941 @ /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) { 7942 .loc 5 475 15 view .LVU2054 7943 000c 0022 movs r2, #0 @ tmp156, 7944 .LVL395: 7945 @ /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 7946 .loc 5 470 1 view .LVU2055 7947 000e 87B0 sub sp, sp, #28 @,, 7948 .LCFI47: 7949 .cfi_def_cfa_offset 64 7950 .LBB630: 7951 .LBB631: 7952 @ /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 **** { 7953 .loc 6 1290 5 view .LVU2056 7954 0010 8246 mov r10, r0 @ buff, tmp234 7955 .LBE631: 7956 .LBE630: 7957 @ /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) { 7958 .loc 5 475 15 view .LVU2057 7959 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); 7960 .loc 5 476 3 is_stmt 1 view .LVU2058 7961 .LVL396: 7962 .LBB647: 7963 .LBI630: 1284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 7964 .loc 6 1284 19 view .LVU2059 7965 .LBB644: 7966 @ /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 **** { 7967 .loc 6 1290 5 is_stmt 0 view .LVU2060 7968 0016 38B9 cbnz r0, .L615 @ buff, 7969 @ /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; ARM GAS /tmp/ccjvgGVC.s page 522 7970 .loc 6 1292 8 view .LVU2061 7971 0018 A36B ldr r3, [r4, #56] @ _33, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 7972 @ /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; 7973 .loc 6 1292 20 view .LVU2062 7974 001a 43F00063 orr r3, r3, #134217728 @ _34, _33, 7975 .LVL397: 7976 .L636: 1292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 7977 .loc 6 1292 20 view .LVU2063 7978 001e A363 str r3, [r4, #56] @ _34, 7979 .LVL398: 7980 .L618: 1292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 7981 .loc 6 1292 20 view .LVU2064 7982 .LBE644: 7983 .LBE647: 7984 @ /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 **** } 7985 .loc 5 478 12 view .LVU2065 7986 0020 0120 movs r0, #1 @ , 7987 .L616: 7988 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:498: } 498:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 7989 .loc 5 498 1 view .LVU2066 7990 0022 07B0 add sp, sp, #28 @,, 7991 .LCFI48: 7992 .cfi_remember_state 7993 .cfi_def_cfa_offset 36 7994 @ sp needed @ 7995 0024 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 7996 .LVL399: 7997 .L615: 7998 .LCFI49: 7999 .cfi_restore_state 8000 .LBB648: 8001 .LBB645: 8002 @ /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 **** { 8003 .loc 6 1296 9 view .LVU2067 8004 0028 94F83430 ldrb r3, [r4, #52] @ zero_extendqisi2 @ MEM[(struct SD_HandleTypeDef *)&sdio].State, MEM[(struct S 8005 @ /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 **** { 8006 .loc 6 1296 5 view .LVU2068 8007 002c 012B cmp r3, #1 @ MEM[(struct SD_HandleTypeDef *)&sdio].State, 8008 002e F7D1 bne .L618 @, 8009 @ /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 **** { 8010 .loc 6 1300 7 view .LVU2069 8011 0030 E06D ldr r0, [r4, #92] @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockNbr, MEM[(struct SD_Handl 8012 .LVL400: 8013 @ /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 **** 8014 .loc 6 1298 20 view .LVU2070 8015 0032 A263 str r2, [r4, #56] @ tmp156, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8016 @ /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 **** { ARM GAS /tmp/ccjvgGVC.s page 523 8017 .loc 6 1300 13 view .LVU2071 8018 0034 8B19 adds r3, r1, r6 @ _36, sector, count 8019 @ /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 **** { 8020 .loc 6 1300 7 view .LVU2072 8021 0036 8342 cmp r3, r0 @ _36, MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockNbr 8022 0038 03D9 bls .L619 @, 8023 @ /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; 8024 .loc 6 1302 10 view .LVU2073 8025 003a A36B ldr r3, [r4, #56] @ _38, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8026 @ /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; 8027 .loc 6 1302 22 view .LVU2074 8028 003c 43F00073 orr r3, r3, #33554432 @ _39, _38, 8029 0040 EDE7 b .L636 @ 8030 .L619: 8031 @ /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 **** 8032 .loc 6 1309 8 view .LVU2075 8033 0042 2568 ldr r5, [r4] @ _40, MEM[(struct SD_HandleTypeDef *)&sdio].Instance 8034 @ /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 **** 8035 .loc 6 1319 8 view .LVU2076 8036 0044 D4F83C90 ldr r9, [r4, #60] @ _43, MEM[(struct SD_HandleTypeDef *)&sdio].hdmatx 8037 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1306: hsd 1306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8038 .loc 6 1306 16 view .LVU2077 8039 0048 0323 movs r3, #3 @ tmp171, 8040 004a 84F83430 strb r3, [r4, #52] @ tmp171, MEM[(struct SD_HandleTypeDef *)&sdio].State 8041 @ /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 **** 8042 .loc 6 1309 26 view .LVU2078 8043 004e EA62 str r2, [r5, #44] @ tmp156, _40->DCTRL 8044 @ /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 */ 8045 .loc 6 1313 5 view .LVU2079 8046 0050 EB6B ldr r3, [r5, #60] @ _41, _40->MASK 8047 0052 43F40673 orr r3, r3, #536 @ _42, _41, 8048 0056 43F00203 orr r3, r3, #2 @ _42, _42, 8049 005a EB63 str r3, [r5, #60] @ _42, _40->MASK 8050 @ /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 **** 8051 .loc 6 1319 35 view .LVU2080 8052 005c 3D4B ldr r3, .L638+4 @ tmp177, 8053 005e C9F83C30 str r3, [r9, #60] @ tmp177, _43->XferCpltCallback 8054 @ /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 **** 8055 .loc 6 1322 36 view .LVU2081 8056 0062 3D4B ldr r3, .L638+8 @ tmp178, 8057 @ /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 **** 8058 .loc 6 1325 36 view .LVU2082 8059 0064 C9E91332 strd r3, r2, [r9, #76] @ tmp178, tmp156, _43, 8060 @ /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 **** { 8061 .loc 6 1327 7 view .LVU2083 ARM GAS /tmp/ccjvgGVC.s page 524 8062 0068 636C ldr r3, [r4, #68] @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.CardType, MEM[(struct SD_HandleTy 8063 006a 012B cmp r3, #1 @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.CardType, 8064 @ /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 **** } 8065 .loc 6 1329 11 view .LVU2084 8066 006c 18BF it ne 8067 006e 4902 lslne r1, r1, #9 @ sector, sector, 8068 .LVL401: 8069 @ /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 **** { 8070 .loc 6 1333 7 view .LVU2085 8071 0070 012E cmp r6, #1 @ count, 8072 @ /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 **** 8073 .loc 6 1335 20 view .LVU2086 8074 0072 8BBF itete hi 8075 0074 A023 movhi r3, #160 @ tmp183, 8076 @ /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 **** 8077 .loc 6 1342 20 view .LVU2087 8078 0076 9023 movls r3, #144 @ tmp188, 8079 .LBB632: 8080 .LBB633: 8081 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:621: sdmm 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 **** ARM GAS /tmp/ccjvgGVC.s page 525 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; 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; 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); 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) ARM GAS /tmp/ccjvgGVC.s page 526 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 **** 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; ARM GAS /tmp/ccjvgGVC.s page 527 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; 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) 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; 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 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; 573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_MULT_BLOCK; 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; 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 **** } ARM GAS /tmp/ccjvgGVC.s page 528 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; 8082 .loc 7 621 34 view .LVU2088 8083 0078 1927 movhi r7, #25 @ tmp184, 8084 .LBE633: 8085 .LBE632: 8086 .LBB635: 8087 .LBB636: 8088 @ /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; 8089 .loc 7 597 34 view .LVU2089 8090 007a 1827 movls r7, #24 @ tmp189, 8091 .LBE636: 8092 .LBE635: 8093 @ /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 **** 8094 .loc 6 1335 20 view .LVU2090 8095 007c 87BF ittee hi 8096 007e 2363 strhi r3, [r4, #48] @ tmp183, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8097 .LVL402: 8098 .LBB638: ARM GAS /tmp/ccjvgGVC.s page 529 8099 .LBI632: 614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 8100 .loc 7 614 10 is_stmt 1 view .LVU2091 8101 .LBB634: 616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 8102 .loc 7 616 3 view .LVU2092 617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8103 .loc 7 617 3 view .LVU2093 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_MULT_BLOCK; 8104 .loc 7 620 3 view .LVU2094 8105 @ /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; 8106 .loc 7 620 34 is_stmt 0 view .LVU2095 8107 0080 0191 strhi r1, [sp, #4] @ sector, MEM[(struct *)_80].Argument 8108 .loc 7 621 3 is_stmt 1 view .LVU2096 8109 .LBE634: 8110 .LBE638: 8111 @ /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 **** 8112 .loc 6 1342 20 is_stmt 0 view .LVU2097 8113 0082 2363 strls r3, [r4, #48] @ tmp188, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8114 .LVL403: 8115 .LBB639: 8116 .LBI635: 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 8117 .loc 7 590 10 is_stmt 1 view .LVU2098 8118 .LBB637: 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 8119 .loc 7 592 3 view .LVU2099 593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8120 .loc 7 593 3 view .LVU2100 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_SINGLE_BLOCK; 8121 .loc 7 596 3 view .LVU2101 8122 @ /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; 8123 .loc 7 596 34 is_stmt 0 view .LVU2102 8124 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; 8125 .loc 7 597 3 is_stmt 1 view .LVU2103 8126 @ /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; 8127 .loc 7 598 34 is_stmt 0 view .LVU2104 8128 0086 4023 movs r3, #64 @ tmp190, 8129 @ /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 **** 8130 .loc 7 601 9 view .LVU2105 8131 0088 01A9 add r1, sp, #4 @ tmp243,, 8132 .LVL404: 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8133 .loc 7 601 9 view .LVU2106 8134 008a 2846 mov r0, r5 @, _40 8135 @ /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; 8136 .loc 7 597 34 view .LVU2107 8137 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; 8138 .loc 7 598 3 is_stmt 1 view .LVU2108 ARM GAS /tmp/ccjvgGVC.s page 530 8139 @ /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; 8140 .loc 7 598 34 is_stmt 0 view .LVU2109 8141 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; 8142 .loc 7 599 3 is_stmt 1 view .LVU2110 600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); 8143 .loc 7 600 3 view .LVU2111 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8144 .loc 7 601 3 view .LVU2112 8145 @ /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 **** 8146 .loc 7 601 9 is_stmt 0 view .LVU2113 8147 0090 FFF7FEFF bl SDIO_SendCommand.constprop.0.isra.0 @ 8148 .LVL405: 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8149 .loc 7 604 3 is_stmt 1 view .LVU2114 8150 @ /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 **** 8151 .loc 7 604 16 is_stmt 0 view .LVU2115 8152 0094 3946 mov r1, r7 @, tmp189 8153 0096 41F28832 movw r2, #5000 @, 8154 009a FFF7FEFF bl SDMMC_GetCmdResp1.lto_priv.0 @ 8155 .LVL406: 8156 009e 0746 mov r7, r0 @ errorstate, tmp238 8157 .LVL407: 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 8158 .loc 7 606 3 is_stmt 1 view .LVU2116 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 8159 .loc 7 606 3 is_stmt 0 view .LVU2117 8160 .LBE637: 8161 .LBE639: 8162 @ /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 **** { 8163 .loc 6 1347 7 view .LVU2118 8164 00a0 50B1 cbz r0, .L623 @ errorstate, 8165 @ /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; 8166 .loc 6 1350 7 view .LVU2119 8167 00a2 2E4B ldr r3, .L638+12 @ tmp192, 8168 00a4 AB63 str r3, [r5, #56] @ tmp192, _40->ICR 8169 @ /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; 8170 .loc 6 1351 10 view .LVU2120 8171 00a6 A36B ldr r3, [r4, #56] @ _51, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8172 @ /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; 8173 .loc 6 1351 22 view .LVU2121 8174 00a8 0343 orrs r3, r3, r0 @, _52, _51, errorstate 8175 00aa A363 str r3, [r4, #56] @ _52, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8176 @ /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; 8177 .loc 6 1352 18 view .LVU2122 8178 00ac 0123 movs r3, #1 @ tmp196, 8179 00ae 84F83430 strb r3, [r4, #52] @ tmp196, MEM[(struct SD_HandleTypeDef *)&sdio].State 8180 @ /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; ARM GAS /tmp/ccjvgGVC.s page 531 8181 .loc 6 1353 20 view .LVU2123 8182 00b2 0023 movs r3, #0 @ tmp199, 8183 00b4 2363 str r3, [r4, #48] @ tmp199, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8184 .LVL408: 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8185 .loc 6 1353 20 view .LVU2124 8186 00b6 B3E7 b .L618 @ 8187 .LVL409: 8188 .L623: 8189 @ /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 **** 8190 .loc 6 1358 5 view .LVU2125 8191 00b8 294B ldr r3, .L638+16 @ tmp200, 8192 @ /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 **** 8193 .loc 6 1362 5 view .LVU2126 8194 00ba D9F80020 ldr r2, [r9] @ _54, _43->Instance 8195 @ /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 **** 8196 .loc 6 1358 5 view .LVU2127 8197 00be 4FF0010B mov fp, #1 @ tmp201, 8198 00c2 C3F88CB5 str fp, [r3, #1420] @ tmp201, MEM[(volatile uint32_t *)1109755276B] 8199 @ /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); 8200 .loc 6 1361 33 view .LVU2128 8201 00c6 4023 movs r3, #64 @ tmp202, 8202 00c8 C9F80830 str r3, [r9, #8] @ tmp202, _43->Init.Direction 8203 @ /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 **** 8204 .loc 6 1362 5 view .LVU2129 8205 00cc 1368 ldr r3, [r2] @ _55, _54->CR 8206 00ce 23F0C003 bic r3, r3, #192 @ _56, _55, 8207 00d2 43F04003 orr r3, r3, #64 @ _57, _56, 8208 @ /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 **** { 8209 .loc 6 1365 87 view .LVU2130 8210 00d6 7602 lsls r6, r6, #9 @ _62, count, 8211 .LVL410: 8212 @ /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 **** 8213 .loc 6 1362 5 view .LVU2131 8214 00d8 1360 str r3, [r2] @ _57, _54->CR 8215 @ /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 **** { 8216 .loc 6 1365 8 view .LVU2132 8217 00da 5146 mov r1, r10 @, buff 8218 00dc B308 lsrs r3, r6, #2 @, _62, 8219 00de 05F18002 add r2, r5, #128 @, _40, 8220 00e2 4846 mov r0, r9 @, _43 8221 .LVL411: 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8222 .loc 6 1365 8 view .LVU2133 8223 00e4 FFF7FEFF bl HAL_DMA_Start_IT @ 8224 .LVL412: 8225 @ /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 **** { 8226 .loc 6 1365 7 discriminator 1 view .LVU2134 ARM GAS /tmp/ccjvgGVC.s page 532 8227 00e8 78B1 cbz r0, .L624 @ , 8228 @ /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 */ 8229 .loc 6 1368 7 view .LVU2135 8230 00ea EB6B ldr r3, [r5, #60] @ _66, _40->MASK 8231 00ec 23F40673 bic r3, r3, #536 @ _67, _66, 8232 00f0 23F00203 bic r3, r3, #2 @ _67, _67, 8233 00f4 EB63 str r3, [r5, #60] @ _67, _40->MASK 8234 @ /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; 8235 .loc 6 1372 7 view .LVU2136 8236 00f6 194B ldr r3, .L638+12 @ tmp208, 8237 00f8 AB63 str r3, [r5, #56] @ tmp208, _40->ICR 8238 @ /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; 8239 .loc 6 1373 10 view .LVU2137 8240 00fa A36B ldr r3, [r4, #56] @ _68, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8241 @ /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; 8242 .loc 6 1373 22 view .LVU2138 8243 00fc 43F08043 orr r3, r3, #1073741824 @ _69, _68, 8244 0100 A363 str r3, [r4, #56] @ _69, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8245 @ /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; 8246 .loc 6 1374 18 view .LVU2139 8247 0102 84F834B0 strb fp, [r4, #52] @ tmp201, MEM[(struct SD_HandleTypeDef *)&sdio].State 8248 @ /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; 8249 .loc 6 1375 20 view .LVU2140 8250 0106 2763 str r7, [r4, #48] @ errorstate, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8251 .LVL413: 1375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8252 .loc 6 1375 20 view .LVU2141 8253 0108 8AE7 b .L618 @ 8254 .LVL414: 8255 .L624: 8256 .LBB640: 8257 .LBI640: 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 8258 .loc 7 424 19 is_stmt 1 view .LVU2142 8259 .LBB641: 8260 @ /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 **** 8261 .loc 7 436 17 is_stmt 0 view .LVU2143 8262 010a 4FF0FF33 mov r3, #-1 @ tmp216, 8263 010e 6B62 str r3, [r5, #36] @ tmp216, _40->DTIMER 8264 @ /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 **** 8265 .loc 7 439 15 view .LVU2144 8266 0110 AE62 str r6, [r5, #40] @ _62, _40->DLEN 8267 .LVL415: 8268 @ /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 **** 8269 .loc 7 448 3 view .LVU2145 8270 0112 EB6A ldr r3, [r5, #44] @ _83, _40->DCTRL 8271 .LBE641: 8272 .LBE640: ARM GAS /tmp/ccjvgGVC.s page 533 8273 .LBE645: 8274 .LBE648: 8275 .LBB649: 8276 .LBB650: 8277 .LBB651: 8278 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 8279 .loc 11 56 10 view .LVU2146 8280 0114 134A ldr r2, .L638+20 @ tmp218, 8281 .LBE651: 8282 .LBE650: 8283 .LBE649: 8284 .LBB654: 8285 .LBB646: 8286 .LBB643: 8287 .LBB642: 8288 @ /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 **** 8289 .loc 7 448 3 view .LVU2147 8290 0116 23F0F703 bic r3, r3, #247 @ _84, _83, 8291 011a 43F09103 orr r3, r3, #145 @ _85, _84, 8292 011e EB62 str r3, [r5, #44] @ _85, _40->DCTRL 8293 .LVL416: 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8294 .loc 7 448 3 view .LVU2148 8295 .LBE642: 8296 .LBE643: 8297 .LBE646: 8298 .LBE654: 482:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while((WriteStatus == 0) && ((HAL_GetTick() - timeout) < SD_TIMEOUT)); 8299 .loc 5 482 3 is_stmt 1 view .LVU2149 8300 .LBB655: 8301 .LBI649: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 8302 .loc 10 25 21 view .LVU2150 8303 .loc 10 27 5 view .LVU2151 8304 .LBB653: 8305 .LBI650: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 8306 .loc 11 54 10 view .LVU2152 8307 .LBB652: 8308 .loc 11 56 3 view .LVU2153 8309 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 8310 .loc 11 56 10 is_stmt 0 view .LVU2154 8311 0120 1168 ldr r1, [r2] @ _87, _ms_ticks 8312 .LVL417: 8313 .loc 11 56 10 view .LVU2155 8314 .LBE652: 8315 .LBE653: 8316 .LBE655: 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8317 .loc 5 483 3 is_stmt 1 view .LVU2156 8318 .L626: 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8319 .loc 5 483 28 discriminator 7 view .LVU2157 8320 @ /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 **** 8321 .loc 5 483 22 is_stmt 0 discriminator 7 view .LVU2158 ARM GAS /tmp/ccjvgGVC.s page 534 8322 0122 D8F80030 ldr r3, [r8] @ _2, WriteStatus 8323 @ /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 **** 8324 .loc 5 483 28 discriminator 7 view .LVU2159 8325 0126 23B9 cbnz r3, .L625 @ _2, 8326 .LBB656: 8327 .LBI656: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 8328 .loc 10 25 21 is_stmt 1 view .LVU2160 8329 .loc 10 27 5 view .LVU2161 8330 .LBB657: 8331 .LBI657: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 8332 .loc 11 54 10 view .LVU2162 8333 .LBB658: 8334 .loc 11 56 3 view .LVU2163 8335 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 8336 .loc 11 56 10 is_stmt 0 view .LVU2164 8337 0128 1368 ldr r3, [r2] @ _89, _ms_ticks 8338 .LBE658: 8339 .LBE657: 8340 .LBE656: 8341 @ /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 **** 8342 .loc 5 483 47 discriminator 1 view .LVU2165 8343 012a 5B1A subs r3, r3, r1 @ _4, _89, _87 8344 @ /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 **** 8345 .loc 5 483 28 discriminator 1 view .LVU2166 8346 012c B3F5967F cmp r3, #300 @ _4, 8347 0130 F7D3 bcc .L626 @, 8348 .L625: 485:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD write timeout (s:%u/c:%u)", sector, (uint32_t)count); 8349 .loc 5 485 3 is_stmt 1 view .LVU2167 8350 @ /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); 8351 .loc 5 485 19 is_stmt 0 view .LVU2168 8352 0132 D8F80030 ldr r3, [r8] @ _5, WriteStatus 8353 @ /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); 8354 .loc 5 485 3 view .LVU2169 8355 0136 002B cmp r3, #0 @ _5 8356 0138 3FF472AF beq .L618 @ 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); 8357 .loc 5 490 3 is_stmt 1 view .LVU2170 8358 @ /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); 8359 .loc 5 490 19 is_stmt 0 view .LVU2171 8360 013c D8F80030 ldr r3, [r8] @ _6, WriteStatus 8361 @ /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); 8362 .loc 5 490 3 view .LVU2172 8363 0140 022B cmp r3, #2 @ _6, 8364 0142 4FF00003 mov r3, #0 @ tmp233, 8365 @ /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; 8366 .loc 5 492 17 view .LVU2173 ARM GAS /tmp/ccjvgGVC.s page 535 8367 0146 C8F80030 str r3, [r8] @ tmp233, WriteStatus 8368 @ /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); 8369 .loc 5 490 3 view .LVU2174 8370 014a 7FF46AAF bne .L616 @, 8371 014e 67E7 b .L618 @ 8372 .L639: 8373 .align 2 8374 .L638: 8375 0150 00000000 .word _ZL4sdio.lto_priv.0 8376 0154 00000000 .word SD_DMATransmitCplt.lto_priv.0 8377 0158 00000000 .word SD_DMAError.lto_priv.0 8378 015c FF054000 .word 4195839 8379 0160 00802542 .word 1109753856 8380 0164 00000000 .word _ZL9_ms_ticks.lto_priv.0 8381 0168 00000000 .word _ZL11WriteStatus.lto_priv.0 8382 .cfi_endproc 8383 .LFE115: 8384 .size _ZL10_write_dmaPKhmj, .-_ZL10_write_dmaPKhmj 8385 .section .text._ZL10sdio_writehPKhmj.lto_priv.0,"ax",%progbits 8386 .align 1 8387 .global _ZL10sdio_writehPKhmj.lto_priv.0 8388 .hidden _ZL10sdio_writehPKhmj.lto_priv.0 8389 .syntax unified 8390 .thumb 8391 .thumb_func 8392 .type _ZL10sdio_writehPKhmj.lto_priv.0, %function 8393 _ZL10sdio_writehPKhmj.lto_priv.0: 8394 .LVL418: 8395 .LFB123: 501:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 8396 .loc 5 501 1 is_stmt 1 view -0 8397 .cfi_startproc 8398 @ args = 0, pretend = 0, frame = 0 8399 @ frame_needed = 0, uses_anonymous_args = 0 501:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 8400 .loc 5 501 1 is_stmt 0 view .LVU2176 8401 0000 F8B5 push {r3, r4, r5, r6, r7, lr} @ 8402 .LCFI50: 8403 .cfi_def_cfa_offset 24 8404 .cfi_offset 3, -24 8405 .cfi_offset 4, -20 8406 .cfi_offset 5, -16 8407 .cfi_offset 6, -12 8408 .cfi_offset 7, -8 8409 .cfi_offset 14, -4 8410 @ /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; 8411 .loc 5 501 1 view .LVU2177 8412 0002 0D46 mov r5, r1 @ buff, tmp160 8413 0004 1446 mov r4, r2 @ sector, tmp161 502:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8414 .loc 5 502 3 is_stmt 1 view .LVU2178 8415 .LVL419: 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 8416 .loc 5 504 3 view .LVU2179 8417 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:501: { ARM GAS /tmp/ccjvgGVC.s page 536 501:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 8418 .loc 5 501 1 is_stmt 0 view .LVU2180 8419 0006 1E46 mov r6, r3 @ count, tmp162 8420 @ /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; 8421 .loc 5 504 41 view .LVU2181 8422 0008 FFF7FEFF bl _ZL34sdio_check_card_state_with_timeoutm.constprop.0 @ 8423 .LVL420: 8424 @ /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; 8425 .loc 5 504 3 discriminator 1 view .LVU2182 8426 000c 0130 adds r0, r0, #1 @ tmp163, tmp163, 8427 000e 01D1 bne .L641 @, 8428 .LVL421: 8429 .L646: 8430 @ /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 **** } 8431 .loc 5 505 12 view .LVU2183 8432 0010 0120 movs r0, #1 @ , 8433 .L642: 8434 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:531: } 531:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8435 .loc 5 531 1 view .LVU2184 8436 0012 F8BD pop {r3, r4, r5, r6, r7, pc} @ 8437 .LVL422: 8438 .L641: 508:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count--) { 8439 .loc 5 508 3 is_stmt 1 view .LVU2185 8440 @ /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--) { 8441 .loc 5 508 8 is_stmt 0 view .LVU2186 8442 0014 1B4B ldr r3, .L653 @ tmp137, 8443 0016 6B40 eors r3, r3, r5 @, _4, tmp137, buff 8444 @ /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--) { 8445 .loc 5 508 3 view .LVU2187 8446 0018 B3F1807F cmp r3, #16777216 @ _4, 8447 001c 04D3 bcc .L643 @, 8448 @ /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--) { 8449 .loc 5 508 8 discriminator 1 view .LVU2188 8450 001e 1A4B ldr r3, .L653+4 @ tmp139, 8451 0020 6B40 eors r3, r3, r5 @, _6, tmp139, buff 8452 @ /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--) { 8453 .loc 5 508 7 discriminator 1 view .LVU2189 8454 0022 B3F1806F cmp r3, #67108864 @ _6, 8455 0026 26D2 bcs .L644 @, 8456 .L643: 8457 @ /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--) { 8458 .loc 5 508 29 discriminator 3 view .LVU2190 8459 0028 AA07 lsls r2, r5, #30 @, buff, 8460 002a 24D1 bne .L644 @, 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) return res; 8461 .loc 5 522 3 is_stmt 1 view .LVU2191 8462 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:522: res = _write_dma(buf ARM GAS /tmp/ccjvgGVC.s page 537 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) return res; 8463 .loc 5 522 19 is_stmt 0 view .LVU2192 8464 002c 3246 mov r2, r6 @, count 8465 002e 2146 mov r1, r4 @, sector 8466 0030 2846 mov r0, r5 @, buff 8467 0032 FFF7FEFF bl _ZL10_write_dmaPKhmj @ 8468 .LVL423: 523:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8469 .loc 5 523 3 is_stmt 1 view .LVU2193 8470 0036 0028 cmp r0, #0 @ tmp166 8471 0038 EAD1 bne .L646 @ 525:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD getstatus timeout, s:%u c: %u", sector, (uint32_t)count); 8472 .loc 5 525 3 view .LVU2194 8473 @ /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); 8474 .loc 5 525 41 is_stmt 0 view .LVU2195 8475 003a FFF7FEFF bl _ZL34sdio_check_card_state_with_timeoutm.constprop.0 @ 8476 .LVL424: 8477 @ /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); 8478 .loc 5 525 3 discriminator 1 view .LVU2196 8479 003e 431C adds r3, r0, #1 @, tmp167, 8480 0040 5842 rsbs r0, r3, #0 @ ,, 8481 0042 5841 adcs r0, r0, r3 @ , , 8482 0044 E5E7 b .L642 @ 8483 .LVL425: 8484 .L648: 510:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = _write_dma((BYTE *)scratch, sector++, 1); 8485 .loc 5 510 7 is_stmt 1 view .LVU2197 8486 @ /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); 8487 .loc 5 510 13 is_stmt 0 view .LVU2198 8488 0046 4FF40072 mov r2, #512 @, 8489 004a 05EB4421 add r1, r5, r4, lsl #9 @, _51, sector, 8490 004e 0F48 ldr r0, .L653+8 @, 8491 0050 FFF7FEFF bl memcpy @ 8492 .LVL426: 511:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) break; 8493 .loc 5 511 7 is_stmt 1 view .LVU2199 8494 @ /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; 8495 .loc 5 511 23 is_stmt 0 view .LVU2200 8496 0054 0D48 ldr r0, .L653+8 @, 8497 0056 0122 movs r2, #1 @, 8498 0058 2146 mov r1, r4 @, sector 8499 005a 671C adds r7, r4, #1 @ sector, sector, 8500 .LVL427: 511:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) break; 8501 .loc 5 511 23 view .LVU2201 8502 005c FFF7FEFF bl _ZL10_write_dmaPKhmj @ 8503 .LVL428: 512:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** buff += BLOCK_SIZE; 8504 .loc 5 512 7 is_stmt 1 view .LVU2202 8505 0060 0028 cmp r0, #0 @ tmp164 8506 0062 D5D1 bne .L646 @ 513:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8507 .loc 5 513 7 view .LVU2203 ARM GAS /tmp/ccjvgGVC.s page 538 8508 .LVL429: 515:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 8509 .loc 5 515 7 view .LVU2204 8510 @ /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; 8511 .loc 5 515 45 is_stmt 0 view .LVU2205 8512 0064 FFF7FEFF bl _ZL34sdio_check_card_state_with_timeoutm.constprop.0 @ 8513 .LVL430: 8514 @ /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; 8515 .loc 5 515 7 discriminator 1 view .LVU2206 8516 0068 0130 adds r0, r0, #1 @ tmp165, tmp165, 8517 006a D1D0 beq .L646 @, 8518 .LVL431: 8519 @ /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; 8520 .loc 5 511 23 view .LVU2207 8521 006c 3C46 mov r4, r7 @ sector, sector 8522 .LVL432: 8523 .L647: 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 8524 .loc 5 509 17 is_stmt 1 view .LVU2208 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 8525 .loc 5 509 17 is_stmt 0 view .LVU2209 8526 006e A642 cmp r6, r4 @ _7, sector 8527 0070 E9D1 bne .L648 @, 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 8528 .loc 5 509 17 view .LVU2210 8529 0072 0020 movs r0, #0 @ , 8530 0074 CDE7 b .L642 @ 8531 .LVL433: 8532 .L644: 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 8533 .loc 5 509 17 view .LVU2211 8534 0076 C4EBC453 rsb r3, r4, r4, lsl #23 @ _50, sector, sector, 8535 007a 2644 add r6, r6, r4 @ _7, sector 8536 .LVL434: 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 8537 .loc 5 509 17 view .LVU2212 8538 007c 05EB4325 add r5, r5, r3, lsl #9 @ _51, buff, _50, 8539 .LVL435: 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 8540 .loc 5 509 17 view .LVU2213 8541 0080 F5E7 b .L647 @ 8542 .L654: 8543 0082 00BF .align 2 8544 .L653: 8545 0084 00000000 .word _sram 8546 0088 00000000 .word _heap_start 8547 008c 00000000 .word _ZL7scratch.lto_priv.0 8548 .cfi_endproc 8549 .LFE123: 8550 .size _ZL10sdio_writehPKhmj.lto_priv.0, .-_ZL10sdio_writehPKhmj.lto_priv.0 8551 .section .text.USBD_DeInit.constprop.0.isra.0,"ax",%progbits 8552 .align 1 8553 .global USBD_DeInit.constprop.0.isra.0 8554 .hidden USBD_DeInit.constprop.0.isra.0 ARM GAS /tmp/ccjvgGVC.s page 539 8555 .syntax unified 8556 .thumb 8557 .thumb_func 8558 .type USBD_DeInit.constprop.0.isra.0, %function 8559 USBD_DeInit.constprop.0.isra.0: 8560 .LFB126: 8561 .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 **** */ 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 **** * @} ARM GAS /tmp/ccjvgGVC.s page 540 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 **** { 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 */ ARM GAS /tmp/ccjvgGVC.s page 541 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) 8562 .loc 18 149 20 is_stmt 1 view -0 8563 .cfi_startproc 8564 @ args = 0, pretend = 0, frame = 0 8565 @ frame_needed = 0, uses_anonymous_args = 0 8566 .LVL436: 8567 .loc 18 149 20 is_stmt 0 view .LVU2215 8568 0000 70B5 push {r4, r5, r6, lr} @ 8569 .LCFI51: 8570 .cfi_def_cfa_offset 16 8571 .cfi_offset 4, -16 8572 .cfi_offset 5, -12 8573 .cfi_offset 6, -8 8574 .cfi_offset 14, -4 8575 .LBB685: 8576 .LBB686: ARM GAS /tmp/ccjvgGVC.s page 542 8577 @ /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); 8578 .loc 13 453 33 is_stmt 1 view .LVU2216 8579 0002 354C ldr r4, .L674 @ tmp141, 8580 0004 D4F8C852 ldr r5, [r4, #712] @ _15, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pData 8581 .LVL437: 8582 .LBB687: 8583 .LBB688: 8584 @ /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); 8585 .loc 14 1030 3 view .LVU2217 8586 0008 95F8BC33 ldrb r3, [r5, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_15].Lock, MEM[(struct PC 8587 000c 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_15].Lock, 8588 000e 1AD0 beq .L656 @, 8589 @ /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 **** 8590 .loc 14 1028 26 view .LVU2218 8591 0010 2E68 ldr r6, [r5] @ USBx, MEM[(struct PCD_HandleTypeDef *)_15].Instance 8592 @ /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); 8593 .loc 14 1030 3 discriminator 2 view .LVU2219 8594 0012 0123 movs r3, #1 @ tmp143, 8595 0014 85F8BC33 strb r3, [r5, #956] @ tmp143, MEM[(struct PCD_HandleTypeDef *)_15].Lock 8596 .LVL438: 8597 .LBB689: 8598 .LBB690: 8599 @ /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; 8600 .loc 2 236 7 view .LVU2220 8601 0018 B368 ldr r3, [r6, #8] @ _27, USBx_18->GAHBCFG 8602 @ /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; 8603 .loc 2 236 17 view .LVU2221 8604 001a 23F00103 bic r3, r3, #1 @ _28, _27, 8605 001e B360 str r3, [r6, #8] @ _28, USBx_18->GAHBCFG 8606 .LVL439: 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 8607 .loc 2 236 17 is_stmt 0 view .LVU2222 8608 .LBE690: 8609 .LBE689: 8610 @ /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 **** 8611 .loc 14 1032 9 is_stmt 1 view .LVU2223 8612 0020 3046 mov r0, r6 @, USBx 8613 @ /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 **** ARM GAS /tmp/ccjvgGVC.s page 543 8614 .loc 14 1034 9 view .LVU2224 8615 0022 1021 movs r1, #16 @, 8616 @ /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 **** 8617 .loc 14 1032 9 view .LVU2225 8618 0024 FFF7FEFF bl USB_DevDisconnect.isra.0 @ 8619 .LVL440: 8620 @ /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 **** 8621 .loc 14 1034 9 view .LVU2226 8622 0028 FFF7FEFF bl USB_FlushTxFifo @ 8623 .LVL441: 8624 @ /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)) 8625 .loc 14 1036 6 view .LVU2227 8626 002c AB6A ldr r3, [r5, #40] @ MEM[(struct PCD_HandleTypeDef *)_15].Init.battery_charging_enable, MEM[(struct 8627 002e 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_15].Init.battery_charging_enable, 8628 0030 06D1 bne .L657 @, 8629 @ /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)) 8630 .loc 14 1036 50 discriminator 1 view .LVU2228 8631 0032 AB69 ldr r3, [r5, #24] @ MEM[(struct PCD_HandleTypeDef *)_15].Init.phy_itface, MEM[(struct PCD_HandleTy 8632 0034 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_15].Init.phy_itface, 8633 @ /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 **** } 8634 .loc 14 1040 9 view .LVU2229 8635 0036 1EBF ittt ne 8636 0038 B36B ldrne r3, [r6, #56] @ _24, USBx_18->GCCFG 8637 @ /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 **** } 8638 .loc 14 1040 17 view .LVU2230 8639 003a 23F48033 bicne r3, r3, #65536 @ _25, _24, 8640 003e B363 strne r3, [r6, #56] @ _25, USBx_18->GCCFG 8641 .L657: 8642 @ /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 **** 8643 .loc 14 1043 3 view .LVU2231 8644 0040 0023 movs r3, #0 @ tmp147, 8645 0042 85F8BC33 strb r3, [r5, #956] @ tmp147, MEM[(struct PCD_HandleTypeDef *)_15].Lock 8646 .LVL442: 8647 .L656: 1043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 8648 .loc 14 1043 3 is_stmt 0 view .LVU2232 8649 .LBE688: 8650 .LBE687: 8651 .LBE686: 8652 .LBE685: 8653 @ /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 **** { 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; 8654 .loc 18 157 19 is_stmt 1 view .LVU2233 ARM GAS /tmp/ccjvgGVC.s page 544 8655 0046 0123 movs r3, #1 @ tmp150, 8656 0048 84F89C32 strb r3, [r4, #668] @ tmp150, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].dev_state 8657 @ /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) 8658 .loc 18 176 19 view .LVU2234 8659 004c D4F8B832 ldr r3, [r4, #696] @ _1, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pClass[0] 8660 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:176: if ( 8661 .loc 18 176 6 view .LVU2235 8662 0050 1BB1 cbz r3, .L658 @ _1, 8663 @ /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); 8664 .loc 18 178 5 view .LVU2236 8665 0052 5B68 ldr r3, [r3, #4] @ _1->DeInit, _1->DeInit 8666 0054 2179 ldrb r1, [r4, #4] @ zero_extendqisi2 @, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].dev_config 8667 0056 2048 ldr r0, .L674 @, 8668 0058 9847 blx r3 @ _1->DeInit 8669 .LVL443: 8670 .L658: 8671 .LBB691: 8672 .LBB692: 8673 @ /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 **** 8674 .loc 13 419 35 view .LVU2237 8675 005a D4F8C852 ldr r5, [r4, #712] @ _29, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pData 8676 .LBE692: 8677 .LBE691: 8678 @ /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; 8679 .loc 18 181 22 view .LVU2238 8680 005e 0023 movs r3, #0 @ tmp159, 8681 0060 C4F8C432 str r3, [r4, #708] @ tmp159, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pUserData[0] 8682 @ /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 */ ARM GAS /tmp/ccjvgGVC.s page 545 186:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pDesc = NULL; 8683 .loc 18 186 15 view .LVU2239 8684 0064 C4F8B432 str r3, [r4, #692] @ tmp159, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pDesc 8685 @ /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; 8686 .loc 18 187 19 view .LVU2240 8687 0068 C4F8D032 str r3, [r4, #720] @ tmp159, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pConfDesc 8688 .LVL444: 8689 .LBB708: 8690 .LBB707: 8691 .LBB693: 8692 .LBB694: 8693 @ /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 **** { 8694 .loc 14 247 6 view .LVU2241 8695 006c 95B3 cbz r5, .L655 @ _29, 8696 @ /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 **** { 8697 .loc 14 255 26 view .LVU2242 8698 006e 2C68 ldr r4, [r5] @ _32, MEM[(struct PCD_HandleTypeDef *)_29].Instance 8699 .LVL445: 8700 @ /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 **** 8701 .loc 14 252 15 view .LVU2243 8702 0070 0323 movs r3, #3 @ tmp165, 8703 0072 85F8BD33 strb r3, [r5, #957] @ tmp165, MEM[(struct PCD_HandleTypeDef *)_29].State 8704 0076 04F52E61 add r1, r4, #2784 @ _20, _32, 8705 007a 04F51063 add r3, r4, #2304 @ ivtmp.179, _32, 8706 .LBB695: 8707 .LBB696: 8708 @ /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; 8709 .loc 2 1119 27 view .LVU2244 8710 007e 4FF67F32 movw r2, #64383 @ tmp167, 8711 .LVL446: 8712 .L661: 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 8713 .loc 2 1119 27 is_stmt 0 view .LVU2245 8714 0082 9A60 str r2, [r3, #8] @ tmp167, _40->DIEPINT 8715 @ /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 **** } 8716 .loc 2 1120 28 is_stmt 1 view .LVU2246 8717 0084 C3F80822 str r2, [r3, #520] @ tmp167, _42->DOEPINT 8718 @ /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 **** { 8719 .loc 2 1117 18 discriminator 1 view .LVU2247 8720 0088 2033 adds r3, r3, #32 @ ivtmp.179, ivtmp.179, 8721 008a 9942 cmp r1, r3 @ _20, ivtmp.179 8722 008c F9D1 bne .L661 @, 8723 @ /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; 8724 .loc 2 1124 25 view .LVU2248 8725 008e 0022 movs r2, #0 @ tmp169, 8726 0090 C4F81028 str r2, [r4, #2064] @ tmp169, _45->DIEPMSK 8727 @ /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) 8728 .loc 2 1129 9 view .LVU2249 ARM GAS /tmp/ccjvgGVC.s page 546 8729 0094 2046 mov r0, r4 @, _32 8730 @ /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; 8731 .loc 2 1125 25 view .LVU2250 8732 0096 C4F81428 str r2, [r4, #2068] @ tmp169, _45->DOEPMSK 8733 @ /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 **** 8734 .loc 2 1126 25 view .LVU2251 8735 009a C4F81C28 str r2, [r4, #2076] @ tmp169, _45->DAINTMSK 8736 @ /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) 8737 .loc 2 1129 9 view .LVU2252 8738 009e FFF7FEFF bl USB_FlushRxFifo @ 8739 .LVL447: 8740 @ /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 **** { 8741 .loc 2 1130 6 view .LVU2253 8742 00a2 B8B9 cbnz r0, .L655 @ tmp182, 8743 @ /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) 8744 .loc 2 1135 9 view .LVU2254 8745 00a4 1021 movs r1, #16 @, 8746 00a6 2046 mov r0, r4 @, _32 8747 .LVL448: 1135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 8748 .loc 2 1135 9 is_stmt 0 view .LVU2255 8749 00a8 FFF7FEFF bl USB_FlushTxFifo @ 8750 .LVL449: 8751 @ /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 **** { 8752 .loc 2 1136 6 is_stmt 1 view .LVU2256 8753 00ac 90B9 cbnz r0, .L655 @ tmp183, 8754 .LVL450: 1136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 8755 .loc 2 1136 6 is_stmt 0 view .LVU2257 8756 .LBE696: 8757 .LBE695: 8758 .LBB697: 8759 .LBB698: 8760 @ /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 **** { 8761 .loc 13 134 5 is_stmt 1 view .LVU2258 8762 00ae B4F1A04F cmp r4, #1342177280 @ _32, 8763 00b2 0CD1 bne .L663 @, 8764 .LVL451: 8765 .LBB699: 8766 .LBB700: 8767 @ /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 **** 8768 .loc 13 137 5 view .LVU2259 8769 00b4 094A ldr r2, .L674+4 @ tmp174, 8770 00b6 536B ldr r3, [r2, #52] @ _50, MEM[(struct RCC_TypeDef *)1073887232B].AHB2ENR 8771 00b8 23F08003 bic r3, r3, #128 @ _51, _50, 8772 00bc 5363 str r3, [r2, #52] @ _51, MEM[(struct RCC_TypeDef *)1073887232B].AHB2ENR 8773 .LVL452: 8774 .LBB701: 8775 .LBB702: ARM GAS /tmp/ccjvgGVC.s page 547 8776 @ /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(); 8777 .loc 15 1728 43 view .LVU2260 8778 00be 084B ldr r3, .L674+8 @ tmp176, 8779 00c0 0822 movs r2, #8 @ tmp177, 8780 00c2 C3F88820 str r2, [r3, #136] @ tmp177, MEM[(struct NVIC_Type *)3758153984B].ICER[2] 8781 .LBB703: 8782 .LBB704: 8783 @ /workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h:277: __ASM volatile ("dsb 0xF 8784 .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 */ 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 ARM GAS /tmp/ccjvgGVC.s page 548 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" 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" ARM GAS /tmp/ccjvgGVC.s page 549 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__; 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 **** } ARM GAS /tmp/ccjvgGVC.s page 550 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 **** 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" ARM GAS /tmp/ccjvgGVC.s page 551 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 **** } 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) ARM GAS /tmp/ccjvgGVC.s page 552 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"); 8785 .loc 19 277 3 view .LVU2261 8786 .syntax unified 8787 @ 277 "/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h" 1 8788 00c6 BFF34F8F dsb 0xF 8789 @ 0 "" 2 8790 .thumb 8791 .syntax unified 8792 .LBE704: 8793 .LBE703: 8794 .LBB705: 8795 .LBB706: 8796 @ /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 **** } 8797 .loc 19 266 3 view .LVU2262 8798 .syntax unified 8799 @ 266 "/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h" 1 8800 00ca BFF36F8F isb 0xF 8801 @ 0 "" 2 8802 .LVL453: 8803 .thumb 8804 .syntax unified 8805 .L663: 266:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } 8806 .loc 19 266 3 is_stmt 0 view .LVU2263 8807 .LBE706: 8808 .LBE705: 8809 .LBE702: 8810 .LBE701: 8811 .LBE700: 8812 .LBE699: 8813 .LBE698: 8814 .LBE697: 8815 @ /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 **** 8816 .loc 14 273 15 is_stmt 1 view .LVU2264 8817 00ce 0023 movs r3, #0 @ tmp178, 8818 00d0 85F8BD33 strb r3, [r5, #957] @ tmp178, MEM[(struct PCD_HandleTypeDef *)_29].State 8819 .LVL454: 8820 .L655: 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 8821 .loc 14 273 15 is_stmt 0 view .LVU2265 8822 .LBE694: 8823 .LBE693: 8824 .LBE707: 8825 .LBE708: 8826 @ /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 **** 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 **** } 8827 .loc 18 193 1 is_stmt 1 view .LVU2266 8828 00d4 70BD pop {r4, r5, r6, pc} @ 8829 .L675: ARM GAS /tmp/ccjvgGVC.s page 553 8830 00d6 00BF .align 2 8831 .L674: 8832 00d8 00000000 .word hUsbDevice 8833 00dc 00380240 .word 1073887232 8834 00e0 00E100E0 .word -536813312 8835 .cfi_endproc 8836 .LFE126: 8837 .size USBD_DeInit.constprop.0.isra.0, .-USBD_DeInit.constprop.0.isra.0 8838 .section .text.USBD_RegisterClass.constprop.0.isra.0,"ax",%progbits 8839 .align 1 8840 .global USBD_RegisterClass.constprop.0.isra.0 8841 .hidden USBD_RegisterClass.constprop.0.isra.0 8842 .syntax unified 8843 .thumb 8844 .thumb_func 8845 .type USBD_RegisterClass.constprop.0.isra.0, %function 8846 USBD_RegisterClass.constprop.0.isra.0: 8847 .LVL455: 8848 .LFB142: 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) 8849 .loc 18 202 20 view -0 8850 .cfi_startproc 8851 @ args = 0, pretend = 0, frame = 8 8852 @ frame_needed = 0, uses_anonymous_args = 0 8853 .loc 18 202 20 is_stmt 0 view .LVU2268 8854 0000 13B5 push {r0, r1, r4, lr} @ 8855 .LCFI52: 8856 .cfi_def_cfa_offset 16 8857 .cfi_offset 4, -8 8858 .cfi_offset 14, -4 8859 @ /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; 8860 .loc 18 204 12 is_stmt 1 view .LVU2269 8861 0002 0023 movs r3, #0 @ tmp120, 8862 0004 ADF80630 strh r3, [sp, #6] @ movhi @ tmp120, len 8863 @ /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) 8864 .loc 18 206 6 view .LVU2270 8865 0008 70B1 cbz r0, .L676 @ pclass, 8866 @ /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 **** ARM GAS /tmp/ccjvgGVC.s page 554 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; 8867 .loc 18 215 19 view .LVU2271 8868 000a 084C ldr r4, .L685 @ tmp121, 8869 @ /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) 8870 .loc 18 224 34 view .LVU2272 8871 000c C36A ldr r3, [r0, #44] @ _3, pclass_1(D)->GetFSConfigDescriptor 8872 @ /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 **** 8873 .loc 18 215 19 view .LVU2273 8874 000e C4F8B802 str r0, [r4, #696] @ pclass, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pClass[0] 8875 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:224: if ( 8876 .loc 18 224 6 view .LVU2274 8877 0012 23B1 cbz r3, .L678 @ _3, 8878 @ /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); 8879 .loc 18 226 31 view .LVU2275 8880 0014 0DF10600 add r0, sp, #6 @,, 8881 .LVL456: 8882 .loc 18 226 31 is_stmt 0 view .LVU2276 8883 0018 9847 blx r3 @ _3 8884 .LVL457: 8885 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:226: pd 8886 .loc 18 226 21 is_stmt 1 discriminator 1 view .LVU2277 8887 001a C4F8D002 str r0, [r4, #720] @ tmp130, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pConfDesc 8888 .L678: 8889 @ /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++; 8890 .loc 18 231 19 view .LVU2278 8891 001e D4F8D832 ldr r3, [r4, #728] @ MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].NumClasses, MEM[(struct USBD_Ha 8892 0022 0133 adds r3, r3, #1 @ _8, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].NumClasses, 8893 0024 C4F8D832 str r3, [r4, #728] @ _8, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].NumClasses 8894 .L676: 8895 @ /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 **** 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 **** } 8896 .loc 18 234 1 view .LVU2279 8897 0028 02B0 add sp, sp, #8 @,, 8898 .LCFI53: 8899 .cfi_def_cfa_offset 8 8900 @ sp needed @ 8901 002a 10BD pop {r4, pc} @ ARM GAS /tmp/ccjvgGVC.s page 555 8902 .L686: 8903 .align 2 8904 .L685: 8905 002c 00000000 .word hUsbDevice 8906 .cfi_endproc 8907 .LFE142: 8908 .size USBD_RegisterClass.constprop.0.isra.0, .-USBD_RegisterClass.constprop.0.isra.0 8909 .section .text.USBD_LL_PrepareReceive.isra.0,"ax",%progbits 8910 .align 1 8911 .global USBD_LL_PrepareReceive.isra.0 8912 .hidden USBD_LL_PrepareReceive.isra.0 8913 .syntax unified 8914 .thumb 8915 .thumb_func 8916 .type USBD_LL_PrepareReceive.isra.0, %function 8917 USBD_LL_PrepareReceive.isra.0: 8918 .LVL458: 8919 .LFB144: 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 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 **** ARM GAS /tmp/ccjvgGVC.s page 556 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 **** { 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; ARM GAS /tmp/ccjvgGVC.s page 557 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 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 **** ARM GAS /tmp/ccjvgGVC.s page 558 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, 8920 .loc 13 618 20 view -0 8921 .cfi_startproc 8922 @ args = 0, pretend = 0, frame = 0 8923 @ frame_needed = 0, uses_anonymous_args = 0 8924 @ link register save eliminated. 8925 .loc 13 618 20 is_stmt 0 view .LVU2281 8926 0000 30B4 push {r4, r5} @ 8927 .LCFI54: 8928 .cfi_def_cfa_offset 8 8929 .cfi_offset 4, -8 8930 .cfi_offset 5, -4 8931 @ /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); 8932 .loc 13 623 39 is_stmt 1 view .LVU2282 8933 0002 D0F8C852 ldr r5, [r0, #712] @ _2, pdev_1(D)->pData 8934 .LVL459: 8935 .loc 13 623 39 is_stmt 0 view .LVU2283 8936 0006 01F00F04 and r4, r1, #15 @ _10, tmp162, 8937 .LBB711: 8938 .LBB712: 8939 @ /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 **** { 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 **** /** ARM GAS /tmp/ccjvgGVC.s page 559 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 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) ARM GAS /tmp/ccjvgGVC.s page 560 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]; 8940 .loc 14 1804 6 is_stmt 1 view .LVU2284 8941 000a 1C20 movs r0, #28 @ tmp130, 8942 .LVL460: 8943 .loc 14 1804 6 is_stmt 0 view .LVU2285 8944 000c 6043 muls r0, r4, r0 @ _7, _10 8945 000e 00F5FE71 add r1, r0, #508 @ _29, _7, 8946 .LVL461: 8947 @ /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; 8948 .loc 14 1807 17 is_stmt 1 view .LVU2286 8949 0012 2844 add r0, r0, r5 @ tmp134, _2 8950 @ /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 **** 8951 .loc 14 1804 6 view .LVU2287 8952 0014 2944 add r1, r1, r5 @ ep, _2 8953 .LVL462: 8954 @ /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; 8955 .loc 14 1808 16 view .LVU2288 8956 0016 C0F81032 str r3, [r0, #528] @ tmp164, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_1 8957 @ /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; 8958 .loc 14 1809 18 view .LVU2289 8959 001a 0023 movs r3, #0 @ tmp144, ARM GAS /tmp/ccjvgGVC.s page 561 8960 .LVL463: 8961 .loc 14 1809 18 is_stmt 0 view .LVU2290 8962 001c C0F81432 str r3, [r0, #532] @ tmp144, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_1 8963 @ /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; 8964 .loc 14 1810 13 is_stmt 1 view .LVU2291 8965 0020 80F8FD31 strb r3, [r0, #509] @ tmp144, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_ 8966 @ /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; 8967 .loc 14 1811 11 view .LVU2292 8968 0024 80F8FC41 strb r4, [r0, #508] @ _10, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_11] 8969 @ /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) 8970 .loc 14 1813 17 view .LVU2293 8971 0028 2B69 ldr r3, [r5, #16] @ _13, MEM[(struct PCD_HandleTypeDef *)_2].Init.dma_enable 8972 @ /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; 8973 .loc 14 1807 17 view .LVU2294 8974 002a C0F80822 str r2, [r0, #520] @ pbuf, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_11] 8975 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1813: if ( 8976 .loc 14 1813 6 view .LVU2295 8977 002e 012B cmp r3, #1 @ _13, 8978 @ /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; 8979 .loc 14 1815 18 view .LVU2296 8980 0030 08BF it eq 8981 0032 C0F80C22 streq r2, [r0, #524] @ pbuf, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_1 8982 @ /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); 8983 .loc 14 1820 32 view .LVU2297 8984 0036 2868 ldr r0, [r5] @ pretmp_6, MEM[(struct PCD_HandleTypeDef *)_2].Instance 8985 .LVL464: 8986 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1820: (v 8987 .loc 14 1820 11 view .LVU2298 8988 0038 DAB2 uxtb r2, r3 @ _9, _13 8989 .LVL465: 8990 @ /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 **** { 8991 .loc 14 1818 6 view .LVU2299 8992 003a 14B9 cbnz r4, .L689 @ _10, 8993 .LBE712: 8994 .LBE711: 8995 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:628: } 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 **** } 8996 .loc 13 628 1 view .LVU2300 8997 003c 30BC pop {r4, r5} @ 8998 .LCFI55: ARM GAS /tmp/ccjvgGVC.s page 562 8999 .cfi_remember_state 9000 .cfi_restore 5 9001 .cfi_restore 4 9002 .cfi_def_cfa_offset 0 9003 .LVL466: 9004 .LBB715: 9005 .LBB713: 9006 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1820: (v 9007 .loc 14 1820 11 view .LVU2301 9008 003e FFF7FEBF b USB_EP0StartXfer.isra.0 @ 9009 .LVL467: 9010 .L689: 9011 .LCFI56: 9012 .cfi_restore_state 9013 .loc 14 1820 11 is_stmt 0 view .LVU2302 9014 .LBE713: 9015 .LBE715: 9016 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:628: } 9017 .loc 13 628 1 is_stmt 1 view .LVU2303 9018 0042 30BC pop {r4, r5} @ 9019 .LCFI57: 9020 .cfi_restore 5 9021 .cfi_restore 4 9022 .cfi_def_cfa_offset 0 9023 .LVL468: 9024 .LBB716: 9025 .LBB714: 9026 @ /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); 9027 .loc 14 1824 11 view .LVU2304 9028 0044 FFF7FEBF b USB_EPStartXfer.isra.0 @ 9029 .LVL469: 9030 .loc 14 1824 11 is_stmt 0 view .LVU2305 9031 .LBE714: 9032 .LBE716: 9033 .cfi_endproc 9034 .LFE144: 9035 .size USBD_LL_PrepareReceive.isra.0, .-USBD_LL_PrepareReceive.isra.0 9036 .section .text.USBD_LL_Transmit.isra.0,"ax",%progbits 9037 .align 1 9038 .global USBD_LL_Transmit.isra.0 9039 .hidden USBD_LL_Transmit.isra.0 9040 .syntax unified 9041 .thumb 9042 .thumb_func 9043 .type USBD_LL_Transmit.isra.0, %function 9044 USBD_LL_Transmit.isra.0: 9045 .LVL470: 9046 .LFB147: 598:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9047 .loc 13 598 20 is_stmt 1 view -0 9048 .cfi_startproc 9049 @ args = 0, pretend = 0, frame = 0 9050 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccjvgGVC.s page 563 9051 @ link register save eliminated. 598:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9052 .loc 13 598 20 is_stmt 0 view .LVU2307 9053 0000 30B4 push {r4, r5} @ 9054 .LCFI58: 9055 .cfi_def_cfa_offset 8 9056 .cfi_offset 4, -8 9057 .cfi_offset 5, -4 9058 @ /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 **** 9059 .loc 13 603 40 is_stmt 1 view .LVU2308 9060 0002 D0F8C852 ldr r5, [r0, #712] @ _2, pdev_1(D)->pData 9061 .LVL471: 603:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9062 .loc 13 603 40 is_stmt 0 view .LVU2309 9063 0006 01F00F04 and r4, r1, #15 @ _10, tmp162, 9064 .LBB719: 9065 .LBB720: 9066 @ /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]; 9067 .loc 14 1852 6 is_stmt 1 view .LVU2310 9068 000a 1C20 movs r0, #28 @ tmp130, 9069 .LVL472: 9070 .loc 14 1852 6 is_stmt 0 view .LVU2311 9071 000c 6043 muls r0, r4, r0 @ _7, _10 9072 000e 00F13C01 add r1, r0, #60 @ _29, _7, 9073 .LVL473: 9074 @ /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 */ ARM GAS /tmp/ccjvgGVC.s page 564 1855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_buff = pBuf; 9075 .loc 14 1855 17 is_stmt 1 view .LVU2312 9076 0012 2844 add r0, r0, r5 @ tmp134, _2 9077 @ /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 **** 9078 .loc 14 1852 6 view .LVU2313 9079 0014 2944 add r1, r1, r5 @ ep, _2 9080 .LVL474: 9081 @ /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; 9082 .loc 14 1856 16 view .LVU2314 9083 0016 0365 str r3, [r0, #80] @ tmp164, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11] 9084 @ /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; 9085 .loc 14 1857 18 view .LVU2315 9086 0018 0023 movs r3, #0 @ tmp144, 9087 .LVL475: 9088 .loc 14 1857 18 is_stmt 0 view .LVU2316 9089 001a 4365 str r3, [r0, #84] @ tmp144, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11] 9090 @ /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; 9091 .loc 14 1858 13 is_stmt 1 view .LVU2317 9092 001c 0123 movs r3, #1 @ tmp149, 9093 001e 80F83D30 strb r3, [r0, #61] @ tmp149, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11 9094 @ /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; 9095 .loc 14 1859 11 view .LVU2318 9096 0022 80F83C40 strb r4, [r0, #60] @ _10, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11].n 9097 @ /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) 9098 .loc 14 1861 17 view .LVU2319 9099 0026 2B69 ldr r3, [r5, #16] @ _13, MEM[(struct PCD_HandleTypeDef *)_2].Init.dma_enable 9100 @ /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; 9101 .loc 14 1855 17 view .LVU2320 9102 0028 8264 str r2, [r0, #72] @ pbuf, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11].x 9103 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1861: if ( 9104 .loc 14 1861 6 view .LVU2321 9105 002a 012B cmp r3, #1 @ _13, 9106 @ /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; 9107 .loc 14 1863 18 view .LVU2322 9108 002c 08BF it eq 9109 002e C264 streq r2, [r0, #76] @ pbuf, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11] 9110 @ /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 **** 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); 9111 .loc 14 1868 32 view .LVU2323 9112 0030 2868 ldr r0, [r5] @ pretmp_6, MEM[(struct PCD_HandleTypeDef *)_2].Instance 9113 .LVL476: 9114 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1868: (v 9115 .loc 14 1868 11 view .LVU2324 ARM GAS /tmp/ccjvgGVC.s page 565 9116 0032 DAB2 uxtb r2, r3 @ _9, _13 9117 .LVL477: 9118 @ /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 **** { 9119 .loc 14 1866 6 view .LVU2325 9120 0034 14B9 cbnz r4, .L692 @ _10, 9121 .LBE720: 9122 .LBE719: 9123 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:608: } 608:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9124 .loc 13 608 1 view .LVU2326 9125 0036 30BC pop {r4, r5} @ 9126 .LCFI59: 9127 .cfi_remember_state 9128 .cfi_restore 5 9129 .cfi_restore 4 9130 .cfi_def_cfa_offset 0 9131 .LVL478: 9132 .LBB723: 9133 .LBB721: 9134 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1868: (v 9135 .loc 14 1868 11 view .LVU2327 9136 0038 FFF7FEBF b USB_EP0StartXfer.isra.0 @ 9137 .LVL479: 9138 .L692: 9139 .LCFI60: 9140 .cfi_restore_state 9141 .loc 14 1868 11 is_stmt 0 view .LVU2328 9142 .LBE721: 9143 .LBE723: 9144 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:608: } 608:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9145 .loc 13 608 1 is_stmt 1 view .LVU2329 9146 003c 30BC pop {r4, r5} @ 9147 .LCFI61: 9148 .cfi_restore 5 9149 .cfi_restore 4 9150 .cfi_def_cfa_offset 0 9151 .LVL480: 9152 .LBB724: 9153 .LBB722: 9154 @ /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); 9155 .loc 14 1872 11 view .LVU2330 9156 003e FFF7FEBF b USB_EPStartXfer.isra.0 @ 9157 .LVL481: 9158 .loc 14 1872 11 is_stmt 0 view .LVU2331 9159 .LBE722: 9160 .LBE724: 9161 .cfi_endproc 9162 .LFE147: 9163 .size USBD_LL_Transmit.isra.0, .-USBD_LL_Transmit.isra.0 9164 .section .text.USBD_LL_ClearStallEP.isra.0,"ax",%progbits 9165 .align 1 ARM GAS /tmp/ccjvgGVC.s page 566 9166 .global USBD_LL_ClearStallEP.isra.0 9167 .hidden USBD_LL_ClearStallEP.isra.0 9168 .syntax unified 9169 .thumb 9170 .thumb_func 9171 .type USBD_LL_ClearStallEP.isra.0, %function 9172 USBD_LL_ClearStallEP.isra.0: 9173 .LVL482: 9174 .LFB150: 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9175 .loc 13 540 20 is_stmt 1 view -0 9176 .cfi_startproc 9177 @ args = 0, pretend = 0, frame = 0 9178 @ frame_needed = 0, uses_anonymous_args = 0 9179 @ /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 **** 9180 .loc 13 545 40 view .LVU2333 9181 0000 D0F8C802 ldr r0, [r0, #712] @ _2, pdev_1(D)->pData 9182 .LVL483: 9183 .LBB729: 9184 .LBB730: 9185 @ /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 **** { 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); ARM GAS /tmp/ccjvgGVC.s page 567 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) 9186 .loc 14 1931 6 view .LVU2334 9187 0004 4368 ldr r3, [r0, #4] @ MEM[(struct PCD_HandleTypeDef *)_2].Init.dev_endpoints, MEM[(struct PCD_HandleT 9188 0006 01F00F02 and r2, r1, #15 @ _8, ep_addr, 9189 000a 9A42 cmp r2, r3 @ _8, MEM[(struct PCD_HandleTypeDef *)_2].Init.dev_endpoints 9190 .LBE730: 9191 .LBE729: 9192 @ /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 **** { 9193 .loc 13 540 20 view .LVU2335 9194 000c 10B5 push {r4, lr} @ 9195 .LCFI62: 9196 .cfi_def_cfa_offset 8 9197 .cfi_offset 4, -8 9198 .cfi_offset 14, -4 9199 .LBB734: 9200 .LBB733: 9201 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1931: if ( 9202 .loc 14 1931 6 view .LVU2336 9203 000e 37D8 bhi .L693 @, 9204 0010 1C23 movs r3, #28 @ tmp150, 9205 @ /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 **** 1936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((0x80U & ep_addr) == 0x80U) 9206 .loc 14 1936 6 view .LVU2337 9207 0012 11F0800F tst r1, #128 @ ep_addr, 9208 0016 02FB03F3 mul r3, r2, r3 @ _24, _8, tmp150 9209 001a 00EB0301 add r1, r0, r3 @ tmp187, _2, _24 9210 .LVL484: 9211 @ /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 **** { ARM GAS /tmp/ccjvgGVC.s page 568 1938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 9212 .loc 14 1938 8 view .LVU2338 9213 001e 15BF itete ne 9214 0020 3C33 addne r3, r3, #60 @ _36, _24, 9215 @ /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]; 9216 .loc 14 1943 8 view .LVU2339 9217 0022 03F5FE73 addeq r3, r3, #508 @ _4, _24, 9218 @ /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; 9219 .loc 14 1938 8 view .LVU2340 9220 0026 1B18 addne r3, r3, r0 @ ep, _2 9221 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1943: ep 9222 .loc 14 1943 8 view .LVU2341 9223 0028 1B18 addeq r3, r3, r0 @ ep, _2 9224 .LVL485: 9225 @ /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; 9226 .loc 14 1939 15 view .LVU2342 9227 002a 15BF itete ne 9228 002c 0124 movne r4, #1 @ tmp159, 9229 @ /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; 9230 .loc 14 1944 15 view .LVU2343 9231 002e 0024 moveq r4, #0 @ tmp166, 9232 @ /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; 9233 .loc 14 1939 15 view .LVU2344 9234 0030 81F83D40 strbne r4, [r1, #61] @ tmp159, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_ 9235 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1944: ep 9236 .loc 14 1944 15 view .LVU2345 9237 0034 81F8FD41 strbeq r4, [r1, #509] @ tmp166, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep 9238 @ /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; 9239 .loc 14 1947 16 view .LVU2346 9240 0038 0021 movs r1, #0 @ tmp168, 9241 003a 9970 strb r1, [r3, #2] @ tmp168, ep_14->is_stall 9242 @ /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; 9243 .loc 14 1948 11 view .LVU2347 9244 003c 1A70 strb r2, [r3] @ _8, ep_14->num 9245 @ /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 **** 1950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 9246 .loc 14 1950 3 view .LVU2348 9247 003e 90F8BC23 ldrb r2, [r0, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, MEM[(struct PCD 9248 0042 012A cmp r2, #1 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, 9249 0044 1CD0 beq .L693 @, 9250 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1950: __HA 9251 .loc 14 1950 3 is_stmt 0 discriminator 2 view .LVU2349 9252 0046 0122 movs r2, #1 @ tmp172, ARM GAS /tmp/ccjvgGVC.s page 569 9253 0048 80F8BC23 strb r2, [r0, #956] @ tmp172, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9254 .LVL486: 9255 .LBB731: 9256 .LBB732: 9257 @ /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 **** 9258 .loc 2 1084 12 is_stmt 1 view .LVU2350 9259 004c 1978 ldrb r1, [r3] @ zero_extendqisi2 @ epnum_23, MEM[(unsigned char *)ep_14] 9260 @ /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 **** { 9261 .loc 2 1089 36 view .LVU2351 9262 004e DC78 ldrb r4, [r3, #3] @ zero_extendqisi2 @ MEM[(unsigned char *)ep_14 + 3B], MEM[(unsigned char *)ep_1 9263 @ /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 **** { 9264 .loc 2 1086 6 view .LVU2352 9265 0050 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2 @ MEM[(unsigned char *)ep_14 + 1B], MEM[(unsigned char *)ep_1 9266 .LVL487: 9267 @ /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; 9268 .loc 2 1083 12 view .LVU2353 9269 0052 0268 ldr r2, [r0] @ USBx_BASE, MEM[(struct PCD_HandleTypeDef *)_2].Instance 9270 .LVL488: 9271 @ /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 **** { 9272 .loc 2 1086 6 view .LVU2354 9273 0054 012B cmp r3, #1 @ MEM[(unsigned char *)ep_14 + 1B], 9274 @ /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)) 9275 .loc 2 1088 21 view .LVU2355 9276 0056 0CBF ite eq 9277 0058 02F51063 addeq r3, r2, #2304 @ _5, USBx_BASE, 9278 @ /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)) 9279 .loc 2 1096 22 view .LVU2356 9280 005c 02F53063 addne r3, r2, #2816 @ _17, USBx_BASE, 9281 @ /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)) 9282 .loc 2 1088 21 view .LVU2357 9283 0060 4901 lsls r1, r1, #5 @ _41, epnum_23, 9284 @ /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 **** { 9285 .loc 2 1089 36 view .LVU2358 9286 0062 023C subs r4, r4, #2 @ tmp177, MEM[(unsigned char *)ep_14 + 3B], 9287 @ /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)) 9288 .loc 2 1096 22 view .LVU2359 9289 0064 5A58 ldr r2, [r3, r1] @ _39,* _41 9290 @ /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)) 9291 .loc 2 1096 32 view .LVU2360 9292 0066 22F40012 bic r2, r2, #2097152 @ _40, _39, 9293 006a 5A50 str r2, [r3, r1] @ _40,* _41 9294 @ /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 **** { 9295 .loc 2 1089 36 view .LVU2361 9296 006c E4B2 uxtb r4, r4 @ _31, tmp177 9297 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1097: if ARM GAS /tmp/ccjvgGVC.s page 570 1097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9298 .loc 2 1097 8 view .LVU2362 9299 006e 012C cmp r4, #1 @ _31, 9300 @ /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 **** } 9301 .loc 2 1099 24 view .LVU2363 9302 0070 9EBF ittt ls 9303 0072 5A58 ldrls r2, [r3, r1] @ _43,* _41 9304 @ /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 **** } 9305 .loc 2 1099 34 view .LVU2364 9306 0074 42F08052 orrls r2, r2, #268435456 @ _44, _43, 9307 0078 5A50 strls r2, [r3, r1] @ _44,* _41 9308 .LVL489: 1099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 9309 .loc 2 1099 34 is_stmt 0 view .LVU2365 9310 .LBE732: 9311 .LBE731: 9312 @ /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); 9313 .loc 14 1952 3 is_stmt 1 view .LVU2366 9314 007a 0023 movs r3, #0 @ tmp185, 9315 007c 80F8BC33 strb r3, [r0, #956] @ tmp185, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9316 .LVL490: 9317 .L693: 9318 .loc 14 1952 3 is_stmt 0 view .LVU2367 9319 .LBE733: 9320 .LBE734: 9321 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:550: } 550:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9322 .loc 13 550 1 is_stmt 1 view .LVU2368 9323 0080 10BD pop {r4, pc} @ 9324 .cfi_endproc 9325 .LFE150: 9326 .size USBD_LL_ClearStallEP.isra.0, .-USBD_LL_ClearStallEP.isra.0 9327 .section .text.USBD_LL_FlushEP.isra.0,"ax",%progbits 9328 .align 1 9329 .global USBD_LL_FlushEP.isra.0 9330 .hidden USBD_LL_FlushEP.isra.0 9331 .syntax unified 9332 .thumb 9333 .thumb_func 9334 .type USBD_LL_FlushEP.isra.0, %function 9335 USBD_LL_FlushEP.isra.0: 9336 .LVL491: 9337 .LFB155: 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9338 .loc 13 504 20 view -0 9339 .cfi_startproc 9340 @ args = 0, pretend = 0, frame = 0 9341 @ frame_needed = 0, uses_anonymous_args = 0 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9342 .loc 13 504 20 is_stmt 0 view .LVU2370 9343 0000 10B5 push {r4, lr} @ 9344 .LCFI63: 9345 .cfi_def_cfa_offset 8 ARM GAS /tmp/ccjvgGVC.s page 571 9346 .cfi_offset 4, -8 9347 .cfi_offset 14, -4 9348 @ /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 **** 9349 .loc 13 509 37 is_stmt 1 view .LVU2371 9350 0002 D0F8C842 ldr r4, [r0, #712] @ _2, pdev_1(D)->pData 9351 .LVL492: 9352 .LBB737: 9353 .LBB738: 9354 @ /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); 9355 .loc 14 1965 3 view .LVU2372 9356 0006 94F8BC33 ldrb r3, [r4, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, MEM[(struct PCD 9357 000a 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, 9358 000c 0CD0 beq .L709 @, 9359 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1965: __HA 9360 .loc 14 1965 3 is_stmt 0 discriminator 2 view .LVU2373 9361 000e 0123 movs r3, #1 @ tmp123, 9362 0010 84F8BC33 strb r3, [r4, #956] @ tmp123, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9363 @ /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) 9364 .loc 14 1967 6 is_stmt 1 view .LVU2374 9365 0014 0B06 lsls r3, r1, #24 @, ep_addr, 9366 @ /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); 9367 .loc 14 1969 31 view .LVU2375 9368 0016 2068 ldr r0, [r4] @ pretmp_14, MEM[(struct PCD_HandleTypeDef *)_2].Instance 9369 .LVL493: 9370 @ /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 **** { 9371 .loc 14 1967 6 view .LVU2376 9372 0018 07D5 bpl .L711 @, 9373 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1969: (v 9374 .loc 14 1969 11 view .LVU2377 9375 001a 01F00F01 and r1, r1, #15 @, ep_addr, 9376 .LVL494: 9377 .loc 14 1969 11 is_stmt 0 view .LVU2378 9378 001e FFF7FEFF bl USB_FlushTxFifo @ 9379 .LVL495: 9380 .L712: 9381 @ /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 ARM GAS /tmp/ccjvgGVC.s page 572 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); 9382 .loc 14 1976 3 is_stmt 1 view .LVU2379 9383 0022 0023 movs r3, #0 @ tmp130, 9384 0024 84F8BC33 strb r3, [r4, #956] @ tmp130, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9385 .LVL496: 9386 .L709: 9387 .loc 14 1976 3 is_stmt 0 view .LVU2380 9388 .LBE738: 9389 .LBE737: 9390 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:514: } 514:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9391 .loc 13 514 1 is_stmt 1 view .LVU2381 9392 0028 10BD pop {r4, pc} @ 9393 .LVL497: 9394 .L711: 9395 .LBB740: 9396 .LBB739: 9397 @ /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 **** } 9398 .loc 14 1973 11 view .LVU2382 9399 002a FFF7FEFF bl USB_FlushRxFifo @ 9400 .LVL498: 1973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 9401 .loc 14 1973 11 is_stmt 0 view .LVU2383 9402 002e F8E7 b .L712 @ 9403 .LBE739: 9404 .LBE740: 9405 .cfi_endproc 9406 .LFE155: 9407 .size USBD_LL_FlushEP.isra.0, .-USBD_LL_FlushEP.isra.0 9408 .section .text.USBD_LL_CloseEP.isra.0,"ax",%progbits 9409 .align 1 9410 .global USBD_LL_CloseEP.isra.0 9411 .hidden USBD_LL_CloseEP.isra.0 9412 .syntax unified 9413 .thumb 9414 .thumb_func 9415 .type USBD_LL_CloseEP.isra.0, %function 9416 USBD_LL_CloseEP.isra.0: 9417 .LVL499: 9418 .LFB158: 486:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9419 .loc 13 486 20 is_stmt 1 view -0 9420 .cfi_startproc 9421 @ args = 0, pretend = 0, frame = 0 9422 @ frame_needed = 0, uses_anonymous_args = 0 9423 @ /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 **** 9424 .loc 13 491 37 view .LVU2385 9425 0000 D0F8C802 ldr r0, [r0, #712] @ _2, pdev_1(D)->pData 9426 .LVL500: 491:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9427 .loc 13 491 37 is_stmt 0 view .LVU2386 ARM GAS /tmp/ccjvgGVC.s page 573 9428 0004 01F00F03 and r3, r1, #15 @ _92, ep_addr, 9429 0008 1C22 movs r2, #28 @ tmp175, 9430 .LBB745: 9431 .LBB746: 9432 @ /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 **** { 9433 .loc 14 1773 6 is_stmt 1 view .LVU2387 9434 000a 11F0800F tst r1, #128 @ ep_addr, 9435 000e 03FB02F2 mul r2, r3, r2 @ _94, _92, tmp175 9436 .LBE746: 9437 .LBE745: 9438 @ /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 **** { 9439 .loc 13 486 20 view .LVU2388 9440 0012 70B5 push {r4, r5, r6, lr} @ 9441 .LCFI64: 9442 .cfi_def_cfa_offset 16 9443 .cfi_offset 4, -16 9444 .cfi_offset 5, -12 9445 .cfi_offset 6, -8 9446 .cfi_offset 14, -4 9447 0014 00EB0201 add r1, r0, r2 @ tmp213, _2, _94 9448 .LVL501: 9449 .LBB753: 9450 .LBB751: 9451 @ /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; 9452 .loc 14 1775 8 view .LVU2389 9453 0018 15BF itete ne 9454 001a 3C32 addne r2, r2, #60 @ _49, _94, 9455 @ /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; 9456 .loc 14 1780 8 view .LVU2390 9457 001c 02F5FE72 addeq r2, r2, #508 @ _4, _94, 9458 @ /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; 9459 .loc 14 1775 8 view .LVU2391 9460 0020 1218 addne r2, r2, r0 @ ep, _2 9461 @ /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; 9462 .loc 14 1780 8 view .LVU2392 9463 0022 1218 addeq r2, r2, r0 @ ep, _2 9464 .LVL502: 9465 @ /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 **** } 9466 .loc 14 1776 15 view .LVU2393 9467 0024 15BF itete ne 9468 0026 0124 movne r4, #1 @ tmp184, 9469 @ /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 **** } 9470 .loc 14 1781 15 view .LVU2394 9471 0028 0024 moveq r4, #0 @ tmp191, 9472 @ /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 **** } 9473 .loc 14 1776 15 view .LVU2395 9474 002a 81F83D40 strbne r4, [r1, #61] @ tmp184, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_ 9475 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1781: ep ARM GAS /tmp/ccjvgGVC.s page 574 1781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 9476 .loc 14 1781 15 view .LVU2396 9477 002e 81F8FD41 strbeq r4, [r1, #509] @ tmp191, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep 9478 @ /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 **** 9479 .loc 14 1783 13 view .LVU2397 9480 0032 1370 strb r3, [r2] @ _92, ep_16->num 9481 @ /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); 9482 .loc 14 1785 3 view .LVU2398 9483 0034 90F8BC33 ldrb r3, [r0, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, MEM[(struct PCD 9484 0038 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, 9485 003a 2CD0 beq .L716 @, 9486 @ /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); 9487 .loc 14 1785 3 is_stmt 0 discriminator 2 view .LVU2399 9488 003c 0123 movs r3, #1 @ tmp195, 9489 003e 80F8BC33 strb r3, [r0, #956] @ tmp195, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9490 0042 1478 ldrb r4, [r2] @ zero_extendqisi2 @ _20, MEM[(unsigned char *)ep_16] 9491 .LVL503: 9492 .LBB747: 9493 .LBB748: 9494 @ /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 **** { 9495 .loc 2 650 6 is_stmt 1 view .LVU2400 9496 0044 5278 ldrb r2, [r2, #1] @ zero_extendqisi2 @ MEM[(unsigned char *)ep_16 + 1B], MEM[(unsigned char *)ep_1 9497 .LVL504: 9498 @ /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; 9499 .loc 2 646 12 view .LVU2401 9500 0046 0368 ldr r3, [r0] @ USBx_BASE, MEM[(struct PCD_HandleTypeDef *)_2].Instance 9501 .LVL505: 9502 @ /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 **** { 9503 .loc 2 650 6 view .LVU2402 9504 0048 012A cmp r2, #1 @ MEM[(unsigned char *)ep_16 + 1B], 9505 @ /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 **** { 9506 .loc 2 652 10 view .LVU2403 9507 004a 4FEA4411 lsl r1, r4, #5 @ _7, _20, 9508 004e 03F50062 add r2, r3, #2048 @ _59, USBx_BASE, 9509 0052 04F00F04 and r4, r4, #15 @ tmp215, _20, 9510 .LVL506: 9511 @ /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 **** { 9512 .loc 2 650 6 view .LVU2404 9513 0056 1FD1 bne .L720 @, 9514 @ /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 **** { 9515 .loc 2 652 10 view .LVU2405 9516 0058 03F51063 add r3, r3, #2304 @ _5, USBx_BASE, 9517 @ /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 **** { 9518 .loc 2 652 26 view .LVU2406 9519 005c 5D58 ldr r5, [r3, r1] @ _30, _29->DIEPCTL 9520 @ /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/ccjvgGVC.s page 575 9521 .loc 2 652 8 view .LVU2407 9522 005e 002D cmp r5, #0 @ _30, 9523 0060 07DA bge .L721 @, 9524 @ /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; 9525 .loc 2 654 23 view .LVU2408 9526 0062 5D58 ldr r5, [r3, r1] @ _32, _29->DIEPCTL 9527 @ /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; 9528 .loc 2 654 33 view .LVU2409 9529 0064 45F00065 orr r5, r5, #134217728 @ _33, _32, 9530 0068 5D50 str r5, [r3, r1] @ _33, _29->DIEPCTL 9531 .LVL507: 9532 @ /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 **** } 9533 .loc 2 655 23 view .LVU2410 9534 006a 5D58 ldr r5, [r3, r1] @ _34, _29->DIEPCTL 9535 @ /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 **** } 9536 .loc 2 655 33 view .LVU2411 9537 006c 45F08045 orr r5, r5, #1073741824 @ _35, _34, 9538 0070 5D50 str r5, [r3, r1] @ _35, _29->DIEPCTL 9539 .L721: 9540 @ /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))); 9541 .loc 2 658 16 view .LVU2412 9542 0072 D66B ldr r6, [r2, #60] @ _38, _37->DEACHMSK 9543 @ /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))); 9544 .loc 2 658 56 view .LVU2413 9545 0074 0125 movs r5, #1 @ tmp202, 9546 0076 05FA04F4 lsl r4, r5, r4 @ _41, tmp202, tmp215 9547 @ /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))); 9548 .loc 2 658 27 view .LVU2414 9549 007a 26EA0406 bic r6, r6, r4 @ _43, _38, _41 9550 007e D663 str r6, [r2, #60] @ _43, _37->DEACHMSK 9551 @ /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 | 9552 .loc 2 659 16 view .LVU2415 9553 0080 D569 ldr r5, [r2, #28] @ _44, _37->DAINTMSK 9554 @ /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 | 9555 .loc 2 659 27 view .LVU2416 9556 0082 25EA0404 bic r4, r5, r4 @ _45, _44, _41 9557 0086 D461 str r4, [r2, #28] @ _45, _37->DAINTMSK 9558 @ /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 | 9559 .loc 2 660 21 view .LVU2417 9560 0088 5C58 ldr r4, [r3, r1] @ _46, _29->DIEPCTL 9561 @ /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 | 9562 .loc 2 660 31 view .LVU2418 9563 008a 114A ldr r2, .L728 @ _47, 9564 .L727: 9565 @ /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 | ARM GAS /tmp/ccjvgGVC.s page 576 9566 .loc 2 676 32 view .LVU2419 9567 008c 2240 ands r2, r2, r4 @, _70, _70, _69 9568 008e 5A50 str r2, [r3, r1] @ _70,* _7 9569 .LVL508: 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_MPSIZ | 9570 .loc 2 676 32 is_stmt 0 view .LVU2420 9571 .LBE748: 9572 .LBE747: 9573 @ /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; 9574 .loc 14 1787 3 is_stmt 1 view .LVU2421 9575 0090 0023 movs r3, #0 @ tmp211, 9576 0092 80F8BC33 strb r3, [r0, #956] @ tmp211, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9577 .LVL509: 9578 .L716: 1787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 9579 .loc 14 1787 3 is_stmt 0 view .LVU2422 9580 .LBE751: 9581 .LBE753: 9582 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:496: } 496:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9583 .loc 13 496 1 is_stmt 1 view .LVU2423 9584 0096 70BD pop {r4, r5, r6, pc} @ 9585 .LVL510: 9586 .L720: 9587 .LBB754: 9588 .LBB752: 9589 .LBB750: 9590 .LBB749: 9591 @ /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 **** { 9592 .loc 2 668 10 view .LVU2424 9593 0098 03F53063 add r3, r3, #2816 @ _19, USBx_BASE, 9594 .LVL511: 9595 @ /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 **** { 9596 .loc 2 668 27 view .LVU2425 9597 009c 5D58 ldr r5, [r3, r1] @ _52, _51->DOEPCTL 9598 @ /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 **** { 9599 .loc 2 668 8 view .LVU2426 9600 009e 002D cmp r5, #0 @ _52, 9601 00a0 07DA bge .L723 @, 9602 @ /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; 9603 .loc 2 670 24 view .LVU2427 9604 00a2 5D58 ldr r5, [r3, r1] @ _54, _51->DOEPCTL 9605 @ /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; 9606 .loc 2 670 34 view .LVU2428 9607 00a4 45F00065 orr r5, r5, #134217728 @ _55, _54, 9608 00a8 5D50 str r5, [r3, r1] @ _55, _51->DOEPCTL 9609 .LVL512: 9610 @ /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 **** } 9611 .loc 2 671 24 view .LVU2429 9612 00aa 5D58 ldr r5, [r3, r1] @ _56, _51->DOEPCTL ARM GAS /tmp/ccjvgGVC.s page 577 9613 @ /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 **** } 9614 .loc 2 671 34 view .LVU2430 9615 00ac 45F08045 orr r5, r5, #1073741824 @ _57, _56, 9616 00b0 5D50 str r5, [r3, r1] @ _57, _51->DOEPCTL 9617 .L723: 9618 @ /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)) 9619 .loc 2 674 16 view .LVU2431 9620 00b2 D66B ldr r6, [r2, #60] @ _60, _59->DEACHMSK 9621 @ /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)) 9622 .loc 2 674 57 view .LVU2432 9623 00b4 4FF48035 mov r5, #65536 @ _63, 9624 @ /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)) 9625 .loc 2 674 54 view .LVU2433 9626 00b8 05FA04F4 lsl r4, r5, r4 @ _64, _63, tmp215 9627 @ /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)) 9628 .loc 2 674 27 view .LVU2434 9629 00bc 26EA0406 bic r6, r6, r4 @ _66, _60, _64 9630 00c0 D663 str r6, [r2, #60] @ _66, _59->DEACHMSK 9631 @ /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 | 9632 .loc 2 675 16 view .LVU2435 9633 00c2 D569 ldr r5, [r2, #28] @ _67, _59->DAINTMSK 9634 @ /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 | 9635 .loc 2 675 27 view .LVU2436 9636 00c4 25EA0404 bic r4, r5, r4 @ _68, _67, _64 9637 00c8 D461 str r4, [r2, #28] @ _68, _59->DAINTMSK 9638 @ /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 | 9639 .loc 2 676 22 view .LVU2437 9640 00ca 5C58 ldr r4, [r3, r1] @ _69, _51->DOEPCTL 9641 @ /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 | 9642 .loc 2 676 32 view .LVU2438 9643 00cc 014A ldr r2, .L728+4 @ _70, 9644 00ce DDE7 b .L727 @ 9645 .L729: 9646 .align 2 9647 .L728: 9648 00d0 007833EC .word -332171264 9649 00d4 0078F3EF .word -269256704 9650 .LBE749: 9651 .LBE750: 9652 .LBE752: 9653 .LBE754: 9654 .cfi_endproc 9655 .LFE158: 9656 .size USBD_LL_CloseEP.isra.0, .-USBD_LL_CloseEP.isra.0 9657 .section .text.USBD_LL_OpenEP.isra.0,"ax",%progbits 9658 .align 1 9659 .global USBD_LL_OpenEP.isra.0 9660 .hidden USBD_LL_OpenEP.isra.0 ARM GAS /tmp/ccjvgGVC.s page 578 9661 .syntax unified 9662 .thumb 9663 .thumb_func 9664 .type USBD_LL_OpenEP.isra.0, %function 9665 USBD_LL_OpenEP.isra.0: 9666 .LVL513: 9667 .LFB163: 468:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9668 .loc 13 468 20 view -0 9669 .cfi_startproc 9670 @ args = 0, pretend = 0, frame = 0 9671 @ frame_needed = 0, uses_anonymous_args = 0 468:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9672 .loc 13 468 20 is_stmt 0 view .LVU2440 9673 0000 F0B5 push {r4, r5, r6, r7, lr} @ 9674 .LCFI65: 9675 .cfi_def_cfa_offset 20 9676 .cfi_offset 4, -20 9677 .cfi_offset 5, -16 9678 .cfi_offset 6, -12 9679 .cfi_offset 7, -8 9680 .cfi_offset 14, -4 9681 @ /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 **** 9682 .loc 13 473 36 is_stmt 1 view .LVU2441 9683 0002 D0F8C842 ldr r4, [r0, #712] @ _2, pdev_1(D)->pData 9684 .LVL514: 473:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9685 .loc 13 473 36 is_stmt 0 view .LVU2442 9686 0006 01F00F05 and r5, r1, #15 @ _32, ep_addr, 9687 000a 1C20 movs r0, #28 @ tmp166, 9688 .LVL515: 9689 .LBB759: 9690 .LBB760: 9691 @ /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 **** { 9692 .loc 14 1730 6 is_stmt 1 view .LVU2443 9693 000c 11F0800F tst r1, #128 @ ep_addr, 9694 0010 05FB00F0 mul r0, r5, r0 @ _43, _32, tmp166 9695 @ /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; 9696 .loc 14 1732 8 view .LVU2444 9697 0014 14BF ite ne 9698 0016 00F13C01 addne r1, r0, #60 @ _50, _43, 9699 .LVL516: 9700 @ /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; 9701 .loc 14 1737 8 view .LVU2445 9702 001a 00F5FE71 addeq r1, r0, #508 @ _9, _43, 9703 001e 04EB0006 add r6, r4, r0 @ tmp210, _2, _43 9704 @ /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; 9705 .loc 14 1732 8 view .LVU2446 9706 0022 15BF itete ne 9707 0024 0919 addne r1, r1, r4 @ ep, _2 9708 .LVL517: 9709 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1737: ep ARM GAS /tmp/ccjvgGVC.s page 579 1737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 9710 .loc 14 1737 8 view .LVU2447 9711 0026 0919 addeq r1, r1, r4 @ ep, _2 9712 .LVL518: 9713 @ /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 **** } 9714 .loc 14 1733 15 view .LVU2448 9715 0028 0120 movne r0, #1 @ tmp175, 9716 .LVL519: 9717 @ /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 **** } 9718 .loc 14 1738 15 view .LVU2449 9719 002a 0020 moveq r0, #0 @ tmp182, 9720 @ /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 **** } 9721 .loc 14 1733 15 view .LVU2450 9722 002c 14BF ite ne 9723 002e 86F83D00 strbne r0, [r6, #61] @ tmp175, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_ 9724 @ /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 **** } 9725 .loc 14 1738 15 view .LVU2451 9726 0032 86F8FD01 strbeq r0, [r6, #509] @ tmp182, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep 9727 @ /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 **** { 9728 .loc 14 1745 9 view .LVU2452 9729 0036 91F801C0 ldrb ip, [r1, #1] @ zero_extendqisi2 @ _20, ep_18->is_in 9730 @ /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; 9731 .loc 14 1741 11 view .LVU2453 9732 003a 0D70 strb r5, [r1] @ _32, ep_18->num 9733 @ /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; 9734 .loc 14 1742 17 view .LVU2454 9735 003c 8B60 str r3, [r1, #8] @ ep_mps, ep_18->maxpacket 9736 @ /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 **** 9737 .loc 14 1743 12 view .LVU2455 9738 003e CA70 strb r2, [r1, #3] @ ep_type, ep_18->type 9739 @ /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 **** { 9740 .loc 14 1745 6 view .LVU2456 9741 0040 BCF1000F cmp ip, #0 @ _20 9742 0044 00D0 beq .L733 @ 9743 .LVL520: 9744 @ /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 **** } 9745 .loc 14 1748 25 view .LVU2457 9746 0046 CD80 strh r5, [r1, #6] @ movhi @ _32, ep_18->tx_fifo_num 9747 .L733: 9748 @ /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 **** { 9749 .loc 14 1751 6 view .LVU2458 9750 0048 022A cmp r2, #2 @ ep_type, 9751 @ /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 **** } 9752 .loc 14 1753 24 view .LVU2459 9753 004a 04BF itt eq ARM GAS /tmp/ccjvgGVC.s page 580 9754 004c 0020 moveq r0, #0 @ tmp187, 9755 004e 0871 strbeq r0, [r1, #4] @ tmp187, ep_18->data_pid_start 9756 @ /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); 9757 .loc 14 1756 3 view .LVU2460 9758 0050 94F8BC13 ldrb r1, [r4, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, MEM[(struct PCD 9759 0054 0129 cmp r1, #1 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, 9760 0056 24D0 beq .L730 @, 9761 .LBB761: 9762 .LBB762: 9763 @ /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; 9764 .loc 2 569 12 view .LVU2461 9765 0058 2068 ldr r0, [r4] @ USBx_BASE, MEM[(struct PCD_HandleTypeDef *)_2].Instance 9766 .LBE762: 9767 .LBE761: 9768 @ /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); 9769 .loc 14 1756 3 discriminator 2 view .LVU2462 9770 005a 0126 movs r6, #1 @ tmp190, 9771 .LBB766: 9772 .LBB763: 9773 @ /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 **** { 9774 .loc 2 572 6 view .LVU2463 9775 005c BCF1010F cmp ip, #1 @ _20, 9776 .LBE763: 9777 .LBE766: 9778 @ /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); 9779 .loc 14 1756 3 discriminator 2 view .LVU2464 9780 0060 84F8BC63 strb r6, [r4, #956] @ tmp190, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9781 .LVL521: 9782 .LBB767: 9783 .LBB764: 9784 @ /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 **** 9785 .loc 2 574 16 view .LVU2465 9786 0064 00F50067 add r7, r0, #2048 @ _68, USBx_BASE, 9787 @ /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 **** 9788 .loc 2 574 54 view .LVU2466 9789 0068 06FA05F6 lsl r6, r6, r5 @ _69, tmp190, _32 9790 @ /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 **** { 9791 .loc 2 576 10 view .LVU2467 9792 006c 4FEA4511 lsl r1, r5, #5 @ _70, _32, 9793 @ /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 **** { 9794 .loc 2 572 6 view .LVU2468 9795 0070 18D1 bne .L736 @, 9796 @ /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 **** 9797 .loc 2 574 16 view .LVU2469 9798 0072 D7F81CC0 ldr ip, [r7, #28] @ _31, _68->DAINTMSK 9799 @ /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 **** { ARM GAS /tmp/ccjvgGVC.s page 581 9800 .loc 2 576 10 view .LVU2470 9801 0076 01F51061 add r1, r1, #2304 @ _94, _70, 9802 @ /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 **** 9803 .loc 2 574 27 view .LVU2471 9804 007a 4CEA0606 orr r6, ip, r6 @ _35, _31, _69 9805 007e FE61 str r6, [r7, #28] @ _35, _68->DAINTMSK 9806 @ /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 **** { 9807 .loc 2 576 26 view .LVU2472 9808 0080 0E58 ldr r6, [r1, r0] @ _40, _39->DIEPCTL 9809 @ /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 **** { 9810 .loc 2 576 8 view .LVU2473 9811 0082 3604 lsls r6, r6, #16 @, _40, 9812 0084 0AD4 bmi .L738 @, 9813 @ /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) | 9814 .loc 2 578 23 view .LVU2474 9815 0086 0E58 ldr r6, [r1, r0] @ _42, _39->DIEPCTL 9816 @ /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) | 9817 .loc 2 578 76 view .LVU2475 9818 0088 43EA8243 orr r3, r3, r2, lsl #18 @ _48, ep_mps, ep_type, 9819 .LVL522: 9820 @ /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) | 9821 .loc 2 578 33 view .LVU2476 9822 008c 3343 orrs r3, r3, r6 @, _7, _48, _42 9823 008e 43EA8553 orr r3, r3, r5, lsl #22 @ _51, _7, _32, 9824 .LVL523: 9825 .L746: 9826 @ /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) | 9827 .loc 2 590 34 view .LVU2477 9828 0092 43F08053 orr r3, r3, #268435456 @ _75, _74, 9829 0096 43F40043 orr r3, r3, #32768 @ _75, _75, 9830 009a 0B50 str r3, [r1, r0] @ _75,* USBx_BASE 9831 .L738: 9832 .LVL524: 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 9833 .loc 2 590 34 is_stmt 0 view .LVU2478 9834 .LBE764: 9835 .LBE767: 9836 @ /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 **** 9837 .loc 14 1758 3 is_stmt 1 view .LVU2479 9838 009c 0023 movs r3, #0 @ tmp208, 9839 009e 84F8BC33 strb r3, [r4, #956] @ tmp208, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9840 .LVL525: 9841 .L730: 1758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9842 .loc 14 1758 3 is_stmt 0 view .LVU2480 9843 .LBE760: 9844 .LBE759: 9845 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:478: } 478:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** ARM GAS /tmp/ccjvgGVC.s page 582 9846 .loc 13 478 1 is_stmt 1 view .LVU2481 9847 00a2 F0BD pop {r4, r5, r6, r7, pc} @ 9848 .LVL526: 9849 .L736: 9850 .LBB770: 9851 .LBB769: 9852 .LBB768: 9853 .LBB765: 9854 @ /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 **** 9855 .loc 2 586 16 view .LVU2482 9856 00a4 FD69 ldr r5, [r7, #28] @ _55, _68->DAINTMSK 9857 .LVL527: 9858 @ /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 **** { 9859 .loc 2 588 11 view .LVU2483 9860 00a6 01F53061 add r1, r1, #2816 @ _24, _70, 9861 @ /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 **** 9862 .loc 2 586 27 view .LVU2484 9863 00aa 45EA0645 orr r5, r5, r6, lsl #16 @ _60, _55, _69, 9864 00ae FD61 str r5, [r7, #28] @ _60, _68->DAINTMSK 9865 @ /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 **** { 9866 .loc 2 588 28 view .LVU2485 9867 00b0 0D58 ldr r5, [r1, r0] @ _65, _64->DOEPCTL 9868 @ /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 **** { 9869 .loc 2 588 8 view .LVU2486 9870 00b2 2D04 lsls r5, r5, #16 @, _65, 9871 00b4 F2D4 bmi .L738 @, 9872 @ /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) | 9873 .loc 2 590 24 view .LVU2487 9874 00b6 0D58 ldr r5, [r1, r0] @ _67, _64->DOEPCTL 9875 @ /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) | 9876 .loc 2 590 77 view .LVU2488 9877 00b8 43EA8243 orr r3, r3, r2, lsl #18 @ _73, ep_mps, ep_type, 9878 .LVL528: 9879 @ /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) | 9880 .loc 2 590 34 view .LVU2489 9881 00bc 2B43 orrs r3, r3, r5 @, _74, _73, _67 9882 00be E8E7 b .L746 @ 9883 .LBE765: 9884 .LBE768: 9885 .LBE769: 9886 .LBE770: 9887 .cfi_endproc 9888 .LFE163: 9889 .size USBD_LL_OpenEP.isra.0, .-USBD_LL_OpenEP.isra.0 9890 .section .text.SCSI_SenseCode.isra.0,"ax",%progbits 9891 .align 1 9892 .global SCSI_SenseCode.isra.0 9893 .hidden SCSI_SenseCode.isra.0 9894 .syntax unified ARM GAS /tmp/ccjvgGVC.s page 583 9895 .thumb 9896 .thumb_func 9897 .type SCSI_SenseCode.isra.0, %function 9898 SCSI_SenseCode.isra.0: 9899 .LVL529: 9900 .LFB168: 9901 .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 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 ARM GAS /tmp/ccjvgGVC.s page 584 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 **** 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 **** */ ARM GAS /tmp/ccjvgGVC.s page 585 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); 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); ARM GAS /tmp/ccjvgGVC.s page 586 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 **** /** 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 **** { ARM GAS /tmp/ccjvgGVC.s page 587 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 **** 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); ARM GAS /tmp/ccjvgGVC.s page 588 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 **** { 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; ARM GAS /tmp/ccjvgGVC.s page 589 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); 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) | ARM GAS /tmp/ccjvgGVC.s page 590 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 **** 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 **** ARM GAS /tmp/ccjvgGVC.s page 591 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 **** } 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 **** ARM GAS /tmp/ccjvgGVC.s page 592 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 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) ARM GAS /tmp/ccjvgGVC.s page 593 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 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) 9902 .loc 20 615 6 view -0 9903 .cfi_startproc 9904 @ args = 0, pretend = 0, frame = 0 9905 @ frame_needed = 0, uses_anonymous_args = 0 9906 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:61 ARM GAS /tmp/ccjvgGVC.s page 594 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 9907 .loc 20 618 31 view .LVU2491 9908 0000 D0F8D432 ldr r3, [r0, #724] @ pdev_1(D)->classId, pdev_1(D)->classId 9909 0004 B033 adds r3, r3, #176 @ tmp124, pdev_1(D)->classId, 9910 @ /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 **** { 9911 .loc 20 615 6 view .LVU2492 9912 0006 10B5 push {r4, lr} @ 9913 .LCFI66: 9914 .cfi_def_cfa_offset 8 9915 .cfi_offset 4, -8 9916 .cfi_offset 14, -4 9917 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:61 9918 .loc 20 618 31 view .LVU2493 9919 0008 50F82300 ldr r0, [r0, r3, lsl #2] @ hmsc, pdev_1(D)->pClassDataCmsit[_2] 9920 .LVL530: 9921 @ /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) 9922 .loc 20 620 6 view .LVU2494 9923 000c 98B1 cbz r0, .L747 @ hmsc, 9924 @ /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; 9925 .loc 20 625 24 view .LVU2495 9926 000e 90F86132 ldrb r3, [r0, #609] @ zero_extendqisi2 @ _4, hmsc_3->scsi_sense_tail 9927 0012 00EBC304 add r4, r0, r3, lsl #3 @ _19, hmsc, _4, 9928 @ /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++; 9929 .loc 20 628 24 view .LVU2496 9930 0016 0133 adds r3, r3, #1 @ tmp131, _4, 9931 0018 DBB2 uxtb r3, r3 @ _8, tmp131 9932 @ /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; 9933 .loc 20 626 51 view .LVU2497 9934 001a 84F84422 strb r2, [r4, #580] @ ASC, MEM [(struct USBD_MSC_BOT_HandleTypeDef *)_19 + 580B] 9935 @ /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) 9936 .loc 20 630 6 view .LVU2498 9937 001e 042B cmp r3, #4 @ _8, 9938 @ /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++; 9939 .loc 20 627 52 view .LVU2499 9940 0020 4FF00002 mov r2, #0 @ tmp129, 9941 .LVL531: 9942 @ /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; 9943 .loc 20 625 48 view .LVU2500 9944 0024 84F84012 strb r1, [r4, #576] @ sKey, MEM [(struct USBD_MSC_BOT_HandleTypeDef *)_19 + 576B] ARM GAS /tmp/ccjvgGVC.s page 595 9945 @ /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++; 9946 .loc 20 627 52 view .LVU2501 9947 0028 84F84522 strb r2, [r4, #581] @ tmp129, MEM [(struct USBD_MSC_BOT_HandleTypeDef *)_19 + 581B] 9948 @ /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 **** 9949 .loc 20 628 24 view .LVU2502 9950 002c 14BF ite ne 9951 002e 80F86132 strbne r3, [r0, #609] @ _8, hmsc_3->scsi_sense_tail 9952 .LVL532: 9953 @ /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; 9954 .loc 20 632 27 view .LVU2503 9955 0032 80F86122 strbeq r2, [r0, #609] @ tmp129, hmsc_3->scsi_sense_tail 9956 .L747: 9957 @ /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 **** } 9958 .loc 20 634 1 view .LVU2504 9959 0036 10BD pop {r4, pc} @ 9960 .cfi_endproc 9961 .LFE168: 9962 .size SCSI_SenseCode.isra.0, .-SCSI_SenseCode.isra.0 9963 .section .text.SCSI_UpdateBotData.isra.0,"ax",%progbits 9964 .align 1 9965 .global SCSI_UpdateBotData.isra.0 9966 .hidden SCSI_UpdateBotData.isra.0 9967 .syntax unified 9968 .thumb 9969 .thumb_func 9970 .type SCSI_UpdateBotData.isra.0, %function 9971 SCSI_UpdateBotData.isra.0: 9972 .LVL533: 9973 .LFB170: 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 **** 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); ARM GAS /tmp/ccjvgGVC.s page 596 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 **** { 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 **** ARM GAS /tmp/ccjvgGVC.s page 597 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 **** { 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; ARM GAS /tmp/ccjvgGVC.s page 598 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) | 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]; ARM GAS /tmp/ccjvgGVC.s page 599 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); 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; ARM GAS /tmp/ccjvgGVC.s page 600 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 **** } 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 ARM GAS /tmp/ccjvgGVC.s page 601 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 **** } 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) | ARM GAS /tmp/ccjvgGVC.s page 602 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 **** } 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) ARM GAS /tmp/ccjvgGVC.s page 603 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; 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 **** ARM GAS /tmp/ccjvgGVC.s page 604 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]; 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 **** { ARM GAS /tmp/ccjvgGVC.s page 605 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 **** 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 **** ARM GAS /tmp/ccjvgGVC.s page 606 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); 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 ARM GAS /tmp/ccjvgGVC.s page 607 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, 9974 .loc 20 1290 15 view -0 9975 .cfi_startproc 9976 @ args = 0, pretend = 0, frame = 0 9977 @ frame_needed = 0, uses_anonymous_args = 0 9978 .loc 20 1290 15 is_stmt 0 view .LVU2506 9979 0000 10B5 push {r4, lr} @ 9980 .LCFI67: 9981 .cfi_def_cfa_offset 8 9982 .cfi_offset 4, -8 9983 .cfi_offset 14, -4 9984 @ /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) 9985 .loc 20 1295 6 is_stmt 1 view .LVU2507 9986 0002 08B1 cbz r0, .L752 @ hmsc, 9987 @ /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; 9988 .loc 20 1300 25 view .LVU2508 9989 0004 C260 str r2, [r0, #12] @ length, hmsc_1(D)->bot_data_length 9990 .LVL534: 9991 .L754: 9992 .LBB773: 9993 .LBB774: 9994 @ /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) 9995 .loc 20 1302 14 view .LVU2509 9996 0006 02B9 cbnz r2, .L755 @ length, 9997 .LVL535: 9998 .L752: 9999 .loc 20 1302 14 is_stmt 0 view .LVU2510 10000 .LBE774: 10001 .LBE773: 10002 @ /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 **** { 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 **** } 10003 .loc 20 1309 1 is_stmt 1 view .LVU2511 10004 0008 10BD pop {r4, pc} @ ARM GAS /tmp/ccjvgGVC.s page 608 10005 .LVL536: 10006 .L755: 10007 .LBB776: 10008 .LBB775: 10009 @ /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]; 10010 .loc 20 1304 8 view .LVU2512 10011 000a 013A subs r2, r2, #1 @ tmp122, length, 10012 .LVL537: 1304:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[len] = pBuff[len]; 10013 .loc 20 1304 8 is_stmt 0 view .LVU2513 10014 000c 92B2 uxth r2, r2 @ length, tmp122 10015 .LVL538: 10016 @ /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 **** } 10017 .loc 20 1305 25 is_stmt 1 view .LVU2514 10018 000e 8318 adds r3, r0, r2 @ tmp123, hmsc, length 10019 @ /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 **** } 10020 .loc 20 1305 32 view .LVU2515 10021 0010 8C5C ldrb r4, [r1, r2] @ zero_extendqisi2 @ _16, *_14 10022 @ /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 **** } 10023 .loc 20 1305 25 view .LVU2516 10024 0012 1C74 strb r4, [r3, #16] @ _16, hmsc_1(D)->bot_data[_15] 10025 0014 F7E7 b .L754 @ 10026 .LBE775: 10027 .LBE776: 10028 .cfi_endproc 10029 .LFE170: 10030 .size SCSI_UpdateBotData.isra.0, .-SCSI_UpdateBotData.isra.0 10031 .section .text.USBD_CtlSendStatus.isra.0,"ax",%progbits 10032 .align 1 10033 .global USBD_CtlSendStatus.isra.0 10034 .hidden USBD_CtlSendStatus.isra.0 10035 .syntax unified 10036 .thumb 10037 .thumb_func 10038 .type USBD_CtlSendStatus.isra.0, %function 10039 USBD_CtlSendStatus.isra.0: 10040 .LVL539: 10041 .LFB174: 10042 .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 **** ****************************************************************************** 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. ARM GAS /tmp/ccjvgGVC.s page 609 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 **** */ 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 **** */ ARM GAS /tmp/ccjvgGVC.s page 610 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; 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 ARM GAS /tmp/ccjvgGVC.s page 611 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) 10043 .loc 21 173 20 view -0 10044 .cfi_startproc 10045 @ args = 0, pretend = 0, frame = 0 10046 @ frame_needed = 0, uses_anonymous_args = 0 10047 @ link register save eliminated. 10048 @ /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; 10049 .loc 21 176 19 view .LVU2518 10050 0000 0422 movs r2, #4 @ tmp115, 10051 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:179: (vo ARM GAS /tmp/ccjvgGVC.s page 612 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); 10052 .loc 21 179 9 view .LVU2519 10053 0002 0023 movs r3, #0 @, 10054 @ /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 **** 10055 .loc 21 176 19 view .LVU2520 10056 0004 C0F89422 str r2, [r0, #660] @ tmp115, pdev_1(D)->ep0_state 10057 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:179: (vo 10058 .loc 21 179 9 view .LVU2521 10059 0008 1946 mov r1, r3 @, 10060 000a 1A46 mov r2, r3 @, 10061 000c FFF7FEBF b USBD_LL_Transmit.isra.0 @ 10062 .LVL540: 10063 .loc 21 179 9 is_stmt 0 view .LVU2522 10064 .cfi_endproc 10065 .LFE174: 10066 .size USBD_CtlSendStatus.isra.0, .-USBD_CtlSendStatus.isra.0 10067 .section .text.HAL_PCD_DataOutStageCallback.constprop.0,"ax",%progbits 10068 .align 1 10069 .global HAL_PCD_DataOutStageCallback.constprop.0 10070 .hidden HAL_PCD_DataOutStageCallback.constprop.0 10071 .syntax unified 10072 .thumb 10073 .thumb_func 10074 .type HAL_PCD_DataOutStageCallback.constprop.0, %function 10075 HAL_PCD_DataOutStageCallback.constprop.0: 10076 .LVL541: 10077 .LFB176: 168:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 10078 .loc 13 168 6 is_stmt 1 view -0 10079 .cfi_startproc 10080 @ args = 0, pretend = 0, frame = 0 10081 @ frame_needed = 0, uses_anonymous_args = 0 10082 @ /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 **** } 10083 .loc 13 171 49 view .LVU2524 10084 0000 204B ldr r3, .L769 @ tmp130, 10085 @ /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 */ 10086 .loc 13 168 6 view .LVU2525 10087 0002 10B5 push {r4, lr} @ 10088 .LCFI68: 10089 .cfi_def_cfa_offset 8 10090 .cfi_offset 4, -8 10091 .cfi_offset 14, -4 10092 .LBB781: 10093 .LBB782: 10094 @ /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 ARM GAS /tmp/ccjvgGVC.s page 613 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 **** 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 **** { ARM GAS /tmp/ccjvgGVC.s page 614 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; 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 */ ARM GAS /tmp/ccjvgGVC.s page 615 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 **** 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 **** { ARM GAS /tmp/ccjvgGVC.s page 616 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 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 ARM GAS /tmp/ccjvgGVC.s page 617 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; 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 **** } ARM GAS /tmp/ccjvgGVC.s page 618 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; 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 ARM GAS /tmp/ccjvgGVC.s page 619 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) 10095 .loc 18 595 6 view .LVU2526 10096 0004 0146 mov r1, r0 @ epnum, tmp143 10097 .LBE782: 10098 .LBE781: 10099 @ /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 **** } 10100 .loc 13 171 49 view .LVU2527 10101 0006 D3F80444 ldr r4, [r3, #1028] @ _1, hpcd_USB_OTG.pData 10102 .LVL542: 10103 .LBB793: 10104 .LBB789: 10105 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:595: if ( 10106 .loc 18 595 6 view .LVU2528 10107 000a 50BB cbnz r0, .L759 @ epnum, 10108 .LVL543: 10109 @ /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) 10110 .loc 18 599 13 view .LVU2529 10111 000c D4F89432 ldr r3, [r4, #660] @ _7, MEM[(struct USBD_HandleTypeDef *)_1].ep0_state 10112 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:599: if 10113 .loc 18 599 8 view .LVU2530 10114 0010 032B cmp r3, #3 @ _7, 10115 0012 35D1 bne .L758 @, 10116 @ /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) 10117 .loc 18 601 14 view .LVU2531 10118 0014 D4F85801 ldr r0, [r4, #344] @ _8, MEM[(struct USBD_EndpointTypeDef *)_1 + 340B].rem_length 10119 .LVL544: 10120 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:601: 10121 .loc 18 601 27 view .LVU2532 10122 0018 B4F86031 ldrh r3, [r4, #352] @ _10, MEM[(struct USBD_EndpointTypeDef *)_1 + 340B].maxpacket 10123 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:601: 10124 .loc 18 601 10 view .LVU2533 10125 001c 9842 cmp r0, r3 @ _8, _10 10126 001e 0FD9 bls .L761 @, 10127 @ /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; 10128 .loc 18 604 22 view .LVU2534 10129 0020 D4F86421 ldr r2, [r4, #356] @ MEM[(struct USBD_EndpointTypeDef *)_1 + 340B].pbuffer, MEM[(struct USBD_Endpo ARM GAS /tmp/ccjvgGVC.s page 620 10130 @ /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; 10131 .loc 18 603 25 view .LVU2535 10132 0024 C01A subs r0, r0, r3 @ _11, _8, _10 10133 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:604: 10134 .loc 18 604 22 view .LVU2536 10135 0026 1A44 add r2, r2, r3 @ _13, _10 10136 .LBB783: 10137 .LBB784: 10138 @ /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 **** 10139 .loc 21 162 9 view .LVU2537 10140 0028 8342 cmp r3, r0 @ _10, _11 10141 .LBE784: 10142 .LBE783: 10143 @ /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; 10144 .loc 18 603 25 view .LVU2538 10145 002a C4F85801 str r0, [r4, #344] @ _11, MEM[(struct USBD_EndpointTypeDef *)_1 + 340B].rem_length 10146 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:604: 10147 .loc 18 604 22 view .LVU2539 10148 002e C4F86421 str r2, [r4, #356] @ _13, MEM[(struct USBD_EndpointTypeDef *)_1 + 340B].pbuffer 10149 .LVL545: 10150 .LBB787: 10151 .LBB785: 10152 @ /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 **** 10153 .loc 21 162 9 view .LVU2540 10154 0032 38BF it cc 10155 0034 0346 movcc r3, r0 @, _11 10156 .LVL546: 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10157 .loc 21 162 9 is_stmt 0 view .LVU2541 10158 0036 2046 mov r0, r4 @, _1 10159 .LVL547: 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10160 .loc 21 162 9 view .LVU2542 10161 .LBE785: 10162 .LBE787: 10163 .LBE789: 10164 .LBE793: 10165 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:172: } 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10166 .loc 13 172 1 is_stmt 1 view .LVU2543 10167 0038 BDE81040 pop {r4, lr} @ 10168 .LCFI69: 10169 .cfi_remember_state 10170 .cfi_restore 14 10171 .cfi_restore 4 10172 .cfi_def_cfa_offset 0 10173 .LVL548: 10174 .LBB794: 10175 .LBB790: 10176 .LBB788: 10177 .LBB786: 10178 @ /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 **** ARM GAS /tmp/ccjvgGVC.s page 621 10179 .loc 21 162 9 view .LVU2544 10180 003c FFF7FEBF b USBD_LL_PrepareReceive.isra.0 @ 10181 .LVL549: 10182 .L761: 10183 .LCFI70: 10184 .cfi_restore_state 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10185 .loc 21 162 9 is_stmt 0 view .LVU2545 10186 .LBE786: 10187 .LBE788: 10188 @ /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) 10189 .loc 18 636 19 is_stmt 1 view .LVU2546 10190 0040 94F89C32 ldrb r3, [r4, #668] @ zero_extendqisi2 @ MEM[(struct USBD_HandleTypeDef *)_1].dev_state, MEM[(stru 10191 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:636: 10192 .loc 18 636 14 view .LVU2547 10193 0044 032B cmp r3, #3 @ MEM[(struct USBD_HandleTypeDef *)_1].dev_state, 10194 0046 07D1 bne .L762 @, 10195 @ /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) 10196 .loc 18 638 34 view .LVU2548 10197 0048 D4F8B832 ldr r3, [r4, #696] @ MEM[(struct USBD_HandleTypeDef *)_1].pClass[0], MEM[(struct USBD_HandleTypeDe 10198 004c 1B69 ldr r3, [r3, #16] @ _17, _16->EP0_RxReady 10199 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:638: 10200 .loc 18 638 16 view .LVU2549 ARM GAS /tmp/ccjvgGVC.s page 622 10201 004e 1BB1 cbz r3, .L762 @ _17, 10202 @ /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; 10203 .loc 18 640 29 view .LVU2550 10204 0050 C4F8D412 str r1, [r4, #724] @ epnum, MEM[(struct USBD_HandleTypeDef *)_1].classId 10205 @ /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); 10206 .loc 18 641 15 view .LVU2551 10207 0054 2046 mov r0, r4 @, _1 10208 0056 9847 blx r3 @ _17 10209 .LVL550: 10210 .L762: 10211 @ /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); 10212 .loc 18 646 15 view .LVU2552 10213 0058 2046 mov r0, r4 @, _1 10214 .LBE790: 10215 .LBE794: 10216 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:172: } 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10217 .loc 13 172 1 view .LVU2553 10218 005a BDE81040 pop {r4, lr} @ 10219 .LCFI71: 10220 .cfi_remember_state 10221 .cfi_restore 14 10222 .cfi_restore 4 10223 .cfi_def_cfa_offset 0 10224 .LVL551: 10225 .LBB795: 10226 .LBB791: 10227 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:646: 10228 .loc 18 646 15 view .LVU2554 10229 005e FFF7FEBF b USBD_CtlSendStatus.isra.0 @ 10230 .LVL552: 10231 .L759: 10232 .LCFI72: 10233 .cfi_restore_state 10234 @ /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 */ 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) 10235 .loc 18 658 15 view .LVU2555 10236 0062 94F89C32 ldrb r3, [r4, #668] @ zero_extendqisi2 @ MEM[(struct USBD_HandleTypeDef *)_1].dev_state, MEM[(stru ARM GAS /tmp/ccjvgGVC.s page 623 10237 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:658: 10238 .loc 18 658 10 view .LVU2556 10239 0066 032B cmp r3, #3 @ MEM[(struct USBD_HandleTypeDef *)_1].dev_state, 10240 0068 0AD1 bne .L758 @, 10241 @ /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) 10242 .loc 18 660 30 view .LVU2557 10243 006a D4F8B832 ldr r3, [r4, #696] @ MEM[(struct USBD_HandleTypeDef *)_1].pClass[0], MEM[(struct USBD_HandleTypeDe 10244 006e 9B69 ldr r3, [r3, #24] @ _20, _19->DataOut 10245 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:660: 10246 .loc 18 660 12 view .LVU2558 10247 0070 33B1 cbz r3, .L758 @ _20, 10248 @ /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; 10249 .loc 18 662 25 view .LVU2559 10250 0072 0022 movs r2, #0 @ tmp142, 10251 0074 C4F8D422 str r2, [r4, #724] @ tmp142, MEM[(struct USBD_HandleTypeDef *)_1].classId 10252 @ /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); 10253 .loc 18 663 37 view .LVU2560 10254 0078 2046 mov r0, r4 @, _1 10255 .LVL553: 10256 .loc 18 663 37 is_stmt 0 view .LVU2561 10257 .LBE791: 10258 .LBE795: 10259 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:172: } 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10260 .loc 13 172 1 is_stmt 1 view .LVU2562 10261 007a BDE81040 pop {r4, lr} @ 10262 .LCFI73: 10263 .cfi_remember_state 10264 .cfi_restore 14 10265 .cfi_restore 4 10266 .cfi_def_cfa_offset 0 10267 .LVL554: 10268 .LBB796: 10269 .LBB792: 10270 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:663: 10271 .loc 18 663 37 view .LVU2563 10272 007e 1847 bx r3 @ _20 10273 .LVL555: 10274 .L758: 10275 .LCFI74: 10276 .cfi_restore_state 10277 .loc 18 663 37 is_stmt 0 view .LVU2564 10278 .LBE792: 10279 .LBE796: 10280 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:172: } 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10281 .loc 13 172 1 is_stmt 1 view .LVU2565 10282 0080 10BD pop {r4, pc} @ 10283 .LVL556: 10284 .L770: 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10285 .loc 13 172 1 is_stmt 0 view .LVU2566 ARM GAS /tmp/ccjvgGVC.s page 624 10286 0082 00BF .align 2 10287 .L769: 10288 0084 00000000 .word hpcd_USB_OTG 10289 .cfi_endproc 10290 .LFE176: 10291 .size HAL_PCD_DataOutStageCallback.constprop.0, .-HAL_PCD_DataOutStageCallback.constprop.0 10292 .section .text.USBD_CtlSendData.isra.0,"ax",%progbits 10293 .align 1 10294 .global USBD_CtlSendData.isra.0 10295 .hidden USBD_CtlSendData.isra.0 10296 .syntax unified 10297 .thumb 10298 .thumb_func 10299 .type USBD_CtlSendData.isra.0, %function 10300 USBD_CtlSendData.isra.0: 10301 .LVL557: 10302 .LFB182: 86:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 10303 .loc 21 86 20 is_stmt 1 view -0 10304 .cfi_startproc 10305 @ args = 0, pretend = 0, frame = 0 10306 @ frame_needed = 0, uses_anonymous_args = 0 10307 @ 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) 10308 .loc 21 86 20 is_stmt 0 view .LVU2568 10309 0000 10B4 push {r4} @ 10310 .LCFI75: 10311 .cfi_def_cfa_offset 4 10312 .cfi_offset 4, -4 10313 @ /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) 10314 .loc 21 86 20 is_stmt 1 view .LVU2569 10315 0002 1346 mov r3, r2 @ len, tmp120 10316 @ /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; 10317 .loc 21 90 19 view .LVU2570 10318 0004 0222 movs r2, #2 @ tmp117, 10319 .LVL558: 90:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].total_length = len; 10320 .loc 21 90 19 is_stmt 0 view .LVU2571 10321 0006 C0F89422 str r2, [r0, #660] @ tmp117, pdev_1(D)->ep0_state 10322 @ /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 **** 10323 .loc 21 92 26 is_stmt 1 view .LVU2572 10324 000a 4162 str r1, [r0, #36] @ pbuf, pdev_1(D)->ep_in[0].pbuffer 10325 @ /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 **** 10326 .loc 21 101 9 view .LVU2573 10327 000c 0A46 mov r2, r1 @, pbuf 10328 @ /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 **** 10329 .loc 21 104 1 view .LVU2574 10330 000e 5DF8044B ldr r4, [sp], #4 @, 10331 .LCFI76: 10332 .cfi_restore 4 10333 .cfi_def_cfa_offset 0 10334 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:91: pdev ARM GAS /tmp/ccjvgGVC.s page 625 91:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].pbuffer = pbuf; 10335 .loc 21 91 31 view .LVU2575 10336 0012 4361 str r3, [r0, #20] @ len, pdev_1(D)->ep_in[0].total_length 10337 @ /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 */ 10338 .loc 21 97 29 view .LVU2576 10339 0014 8361 str r3, [r0, #24] @ len, pdev_1(D)->ep_in[0].rem_length 10340 @ /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 **** 10341 .loc 21 101 9 view .LVU2577 10342 0016 0021 movs r1, #0 @, 10343 .LVL559: 101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10344 .loc 21 101 9 is_stmt 0 view .LVU2578 10345 0018 FFF7FEBF b USBD_LL_Transmit.isra.0 @ 10346 .LVL560: 101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10347 .loc 21 101 9 view .LVU2579 10348 .cfi_endproc 10349 .LFE182: 10350 .size USBD_CtlSendData.isra.0, .-USBD_CtlSendData.isra.0 10351 .section .text.USBD_ClrClassConfig.isra.0,"ax",%progbits 10352 .align 1 10353 .global USBD_ClrClassConfig.isra.0 10354 .hidden USBD_ClrClassConfig.isra.0 10355 .syntax unified 10356 .thumb 10357 .thumb_func 10358 .type USBD_ClrClassConfig.isra.0, %function 10359 USBD_ClrClassConfig.isra.0: 10360 .LVL561: 10361 .LFB184: 505:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 10362 .loc 18 505 20 is_stmt 1 view -0 10363 .cfi_startproc 10364 @ args = 0, pretend = 0, frame = 0 10365 @ frame_needed = 0, uses_anonymous_args = 0 10366 @ link register save eliminated. 10367 @ /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 **** { 10368 .loc 18 529 22 view .LVU2581 10369 0000 D0F8B832 ldr r3, [r0, #696] @ pdev_1(D)->pClass[0], pdev_1(D)->pClass[0] 10370 @ /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 **** { 10371 .loc 18 529 7 view .LVU2582 10372 0004 5B68 ldr r3, [r3, #4] @ _2->DeInit, _2->DeInit 10373 0006 1847 bx r3 @ _2->DeInit 10374 .LVL562: 529:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 10375 .loc 18 529 7 is_stmt 0 view .LVU2583 10376 .cfi_endproc 10377 .LFE184: 10378 .size USBD_ClrClassConfig.isra.0, .-USBD_ClrClassConfig.isra.0 10379 .section .text.USB_EP0_OutStart.isra.0,"ax",%progbits 10380 .align 1 10381 .global USB_EP0_OutStart.isra.0 10382 .hidden USB_EP0_OutStart.isra.0 ARM GAS /tmp/ccjvgGVC.s page 626 10383 .syntax unified 10384 .thumb 10385 .thumb_func 10386 .type USB_EP0_OutStart.isra.0, %function 10387 USB_EP0_OutStart.isra.0: 10388 .LVL563: 10389 .LFB186: 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) 10390 .loc 2 1333 19 is_stmt 1 view -0 10391 .cfi_startproc 10392 @ args = 0, pretend = 0, frame = 0 10393 @ frame_needed = 0, uses_anonymous_args = 0 10394 .loc 2 1333 19 is_stmt 0 view .LVU2585 10395 0000 30B5 push {r4, r5, lr} @ 10396 .LCFI77: 10397 .cfi_def_cfa_offset 12 10398 .cfi_offset 4, -12 10399 .cfi_offset 5, -8 10400 .cfi_offset 14, -4 10401 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1336: uint3 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); 10402 .loc 2 1336 12 is_stmt 1 view .LVU2586 10403 0002 056C ldr r5, [r0, #64] @ gSNPSiD, MEM[(volatile uint32_t *)USBx_1(D) + 64B] 10404 .LVL564: 10405 @ /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 **** ARM GAS /tmp/ccjvgGVC.s page 627 1338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (gSNPSiD > USB_OTG_CORE_ID_300A) 10406 .loc 2 1338 6 view .LVU2587 10407 0004 104C ldr r4, .L777 @ tmp132, 10408 0006 A542 cmp r5, r4 @ gSNPSiD, tmp132 10409 @ /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) 10410 .loc 2 1340 10 view .LVU2588 10411 0008 00F53063 add r3, r0, #2816 @ _30, USBx, 10412 @ /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 **** { 10413 .loc 2 1338 6 view .LVU2589 10414 000c 03D9 bls .L774 @, 10415 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1340: if 10416 .loc 2 1340 24 view .LVU2590 10417 000e D0F8004B ldr r4, [r0, #2816] @ _6, _30->DOEPCTL 10418 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1340: if 10419 .loc 2 1340 8 view .LVU2591 10420 0012 002C cmp r4, #0 @ _6, 10421 0014 16DB blt .L773 @, 10422 .L774: 10423 @ /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; 10424 .loc 2 1346 28 view .LVU2592 10425 0016 0024 movs r4, #0 @ tmp133, 10426 0018 1C61 str r4, [r3, #16] @ tmp133, _30->DOEPTSIZ 10427 @ /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)); 10428 .loc 2 1347 17 view .LVU2593 10429 001a 1C69 ldr r4, [r3, #16] @ _10, _30->DOEPTSIZ 10430 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1347: USBx_ 10431 .loc 2 1347 28 view .LVU2594 10432 001c 44F40024 orr r4, r4, #524288 @ _11, _10, 10433 0020 1C61 str r4, [r3, #16] @ _11, _30->DOEPTSIZ 10434 @ /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); 10435 .loc 2 1348 17 view .LVU2595 10436 0022 1C69 ldr r4, [r3, #16] @ _12, _30->DOEPTSIZ 10437 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1348: USBx_ 10438 .loc 2 1348 28 view .LVU2596 10439 0024 44F01804 orr r4, r4, #24 @ _13, _12, 10440 0028 1C61 str r4, [r3, #16] @ _13, _30->DOEPTSIZ 10441 @ /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; 10442 .loc 2 1349 17 view .LVU2597 10443 002a 1C69 ldr r4, [r3, #16] @ _14, _30->DOEPTSIZ 10444 @ /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) 10445 .loc 2 1351 6 view .LVU2598 10446 002c 0129 cmp r1, #1 @ dma, 10447 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1349: USBx_ ARM GAS /tmp/ccjvgGVC.s page 628 1349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; 10448 .loc 2 1349 28 view .LVU2599 10449 002e 44F0C044 orr r4, r4, #1610612736 @ _15, _14, 10450 0032 1C61 str r4, [r3, #16] @ _15, _30->DOEPTSIZ 10451 @ /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; 10452 .loc 2 1353 29 view .LVU2600 10453 0034 01BF itttt eq 10454 0036 5A61 streq r2, [r3, #20] @ psetup, _30->DOEPDMA 10455 @ /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; 10456 .loc 2 1355 19 view .LVU2601 10457 0038 D0F8003B ldreq r3, [r0, #2816] @ _19, _30->DOEPCTL 10458 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1355: USB 10459 .loc 2 1355 29 view .LVU2602 10460 003c 43F08023 orreq r3, r3, #-2147450880 @ _20, _19, 10461 0040 C0F8003B streq r3, [r0, #2816] @ _20, _30->DOEPCTL 10462 .L773: 10463 @ /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 **** } 10464 .loc 2 1359 1 view .LVU2603 10465 0044 30BD pop {r4, r5, pc} @ 10466 .LVL565: 10467 .L778: 10468 .loc 2 1359 1 is_stmt 0 view .LVU2604 10469 0046 00BF .align 2 10470 .L777: 10471 0048 0A30544F .word 1330917386 10472 .cfi_endproc 10473 .LFE186: 10474 .size USB_EP0_OutStart.isra.0, .-USB_EP0_OutStart.isra.0 10475 .section .text.USBD_LL_StallEP.isra.0,"ax",%progbits 10476 .align 1 10477 .global USBD_LL_StallEP.isra.0 10478 .hidden USBD_LL_StallEP.isra.0 10479 .syntax unified 10480 .thumb 10481 .thumb_func 10482 .type USBD_LL_StallEP.isra.0, %function 10483 USBD_LL_StallEP.isra.0: 10484 .LVL566: 10485 .LFB188: 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 10486 .loc 13 522 20 is_stmt 1 view -0 10487 .cfi_startproc 10488 @ args = 0, pretend = 0, frame = 0 10489 @ frame_needed = 0, uses_anonymous_args = 0 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 10490 .loc 13 522 20 is_stmt 0 view .LVU2606 10491 0000 70B5 push {r4, r5, r6, lr} @ 10492 .LCFI78: 10493 .cfi_def_cfa_offset 16 ARM GAS /tmp/ccjvgGVC.s page 629 10494 .cfi_offset 4, -16 10495 .cfi_offset 5, -12 10496 .cfi_offset 6, -8 10497 .cfi_offset 14, -4 10498 @ /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 **** 10499 .loc 13 527 40 is_stmt 1 view .LVU2607 10500 0002 D0F8C842 ldr r4, [r0, #712] @ _2, pdev_1(D)->pData 10501 .LVL567: 10502 .LBB801: 10503 .LBB802: 10504 @ /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 **** { 10505 .loc 14 1888 6 view .LVU2608 10506 0006 6368 ldr r3, [r4, #4] @ MEM[(struct PCD_HandleTypeDef *)_2].Init.dev_endpoints, MEM[(struct PCD_HandleT 10507 0008 01F00F05 and r5, r1, #15 @ _8, ep_addr, 10508 000c 9D42 cmp r5, r3 @ _8, MEM[(struct PCD_HandleTypeDef *)_2].Init.dev_endpoints 10509 000e 34D8 bhi .L779 @, 10510 @ /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 **** { 10511 .loc 14 1893 6 view .LVU2609 10512 0010 11F0800F tst r1, #128 @ ep_addr, 10513 0014 4FF01C03 mov r3, #28 @ tmp193, 10514 0018 30D0 beq .L782 @, 10515 @ /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; 10516 .loc 14 1895 8 view .LVU2610 10517 001a 6B43 muls r3, r5, r3 @ _30, _8 10518 001c 03F13C02 add r2, r3, #60 @ _40, _30, 10519 @ /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 **** } 10520 .loc 14 1896 15 view .LVU2611 10521 0020 2344 add r3, r3, r4 @ tmp166, _2 10522 0022 0121 movs r1, #1 @ tmp168, 10523 .LVL568: 10524 @ /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; 10525 .loc 14 1895 8 view .LVU2612 10526 0024 2244 add r2, r2, r4 @ ep, _2 10527 .LVL569: 10528 @ /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 **** } 10529 .loc 14 1896 15 view .LVU2613 10530 0026 83F83D10 strb r1, [r3, #61] @ tmp168, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_9] 10531 .L783: 10532 @ /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; 10533 .loc 14 1904 16 view .LVU2614 10534 002a 0123 movs r3, #1 @ tmp179, 10535 002c 9370 strb r3, [r2, #2] @ tmp179, ep_15->is_stall 10536 @ /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 **** 10537 .loc 14 1905 11 view .LVU2615 10538 002e 1570 strb r5, [r2] @ _8, ep_15->num 10539 @ /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 **** 10540 .loc 14 1907 3 view .LVU2616 ARM GAS /tmp/ccjvgGVC.s page 630 10541 0030 94F8BC13 ldrb r1, [r4, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, MEM[(struct PCD 10542 0034 9942 cmp r1, r3 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, 10543 0036 20D0 beq .L779 @, 10544 @ /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 **** 10545 .loc 14 1907 3 is_stmt 0 discriminator 2 view .LVU2617 10546 0038 84F8BC33 strb r3, [r4, #956] @ tmp179, MEM[(struct PCD_HandleTypeDef *)_2].Lock 10547 .LBB803: 10548 .LBB804: 10549 @ /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 **** 10550 .loc 2 1053 12 is_stmt 1 view .LVU2618 10551 003c 1178 ldrb r1, [r2] @ zero_extendqisi2 @ epnum, MEM[(unsigned char *)ep_15] 10552 @ /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 **** { 10553 .loc 2 1055 6 view .LVU2619 10554 003e 5278 ldrb r2, [r2, #1] @ zero_extendqisi2 @ MEM[(unsigned char *)ep_15 + 1B], MEM[(unsigned char *)ep_1 10555 .LVL570: 1055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10556 .loc 2 1055 6 is_stmt 0 view .LVU2620 10557 .LBE804: 10558 .LBE803: 10559 @ /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 **** 10560 .loc 14 1909 28 is_stmt 1 view .LVU2621 10561 0040 2068 ldr r0, [r4] @ _17, MEM[(struct PCD_HandleTypeDef *)_2].Instance 10562 .LVL571: 10563 .LBB806: 10564 .LBB805: 10565 @ /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 **** { 10566 .loc 2 1055 6 view .LVU2622 10567 0042 012A cmp r2, #1 @ MEM[(unsigned char *)ep_15 + 1B], 10568 @ /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 **** { 10569 .loc 2 1057 11 view .LVU2623 10570 0044 0CBF ite eq 10571 0046 00F51062 addeq r2, r0, #2304 @ _5, _17, 10572 @ /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 **** { 10573 .loc 2 1065 11 view .LVU2624 10574 004a 00F53062 addne r2, r0, #2816 @ _22, _17, 10575 @ /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 **** { 10576 .loc 2 1057 11 view .LVU2625 10577 004e 4B01 lsls r3, r1, #5 @ _28, epnum, 10578 @ /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 **** { 10579 .loc 2 1065 28 view .LVU2626 10580 0050 D658 ldr r6, [r2, r3] @ _43,* _28 10581 @ /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 **** { 10582 .loc 2 1065 8 view .LVU2627 10583 0052 002E cmp r6, #0 @ _43, 10584 0054 04DB blt .L788 @, 10585 @ /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 **** { ARM GAS /tmp/ccjvgGVC.s page 631 10586 .loc 2 1065 70 discriminator 1 view .LVU2628 10587 0056 19B1 cbz r1, .L788 @ epnum, 10588 @ /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 **** } 10589 .loc 2 1067 24 view .LVU2629 10590 0058 D158 ldr r1, [r2, r3] @ _45,* _28 10591 .LVL572: 10592 @ /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 **** } 10593 .loc 2 1067 34 view .LVU2630 10594 005a 21F08041 bic r1, r1, #1073741824 @ _46, _45, 10595 005e D150 str r1, [r2, r3] @ _46,* _28 10596 .L788: 10597 @ /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 **** } 10598 .loc 2 1069 22 view .LVU2631 10599 0060 D158 ldr r1, [r2, r3] @ _47,* _28 10600 @ /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 **** } 10601 .loc 2 1069 32 view .LVU2632 10602 0062 41F40011 orr r1, r1, #2097152 @ _48, _47, 10603 0066 D150 str r1, [r2, r3] @ _48,* _28 10604 .LVL573: 1069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 10605 .loc 2 1069 32 is_stmt 0 view .LVU2633 10606 .LBE805: 10607 .LBE806: 10608 @ /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 **** { 10609 .loc 14 1911 6 is_stmt 1 view .LVU2634 10610 0068 25B9 cbnz r5, .L789 @ _8, 10611 @ /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 **** } 10612 .loc 14 1913 11 view .LVU2635 10613 006a 217C ldrb r1, [r4, #16] @ zero_extendqisi2 @, MEM[(struct PCD_HandleTypeDef *)_2].Init.dma_enable 10614 006c 04F57172 add r2, r4, #964 @, _2, 10615 0070 FFF7FEFF bl USB_EP0_OutStart.isra.0 @ 10616 .LVL574: 10617 .L789: 10618 @ /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 **** 10619 .loc 14 1916 3 view .LVU2636 10620 0074 0023 movs r3, #0 @ tmp191, 10621 0076 84F8BC33 strb r3, [r4, #956] @ tmp191, MEM[(struct PCD_HandleTypeDef *)_2].Lock 10622 .LVL575: 10623 .L779: 1916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 10624 .loc 14 1916 3 is_stmt 0 view .LVU2637 10625 .LBE802: 10626 .LBE801: 10627 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:532: } 532:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10628 .loc 13 532 1 is_stmt 1 view .LVU2638 10629 007a 70BD pop {r4, r5, r6, pc} @ 10630 .LVL576: 10631 .L782: 10632 .LBB808: ARM GAS /tmp/ccjvgGVC.s page 632 10633 .LBB807: 10634 @ /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; 10635 .loc 14 1900 8 view .LVU2639 10636 007c 5943 muls r1, r3, r1 @ _66, tmp193 10637 .LVL577: 1900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 10638 .loc 14 1900 8 is_stmt 0 view .LVU2640 10639 007e 01F5FE72 add r2, r1, #508 @ _4, _66, 10640 @ /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 **** } 10641 .loc 14 1901 15 is_stmt 1 view .LVU2641 10642 0082 2144 add r1, r1, r4 @ tmp175, _2 10643 0084 0023 movs r3, #0 @ tmp177, 10644 @ /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; 10645 .loc 14 1900 8 view .LVU2642 10646 0086 2244 add r2, r2, r4 @ ep, _2 10647 .LVL578: 10648 @ /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 **** } 10649 .loc 14 1901 15 view .LVU2643 10650 0088 81F8FD31 strb r3, [r1, #509] @ tmp177, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_ 10651 008c CDE7 b .L783 @ 10652 .LBE807: 10653 .LBE808: 10654 .cfi_endproc 10655 .LFE188: 10656 .size USBD_LL_StallEP.isra.0, .-USBD_LL_StallEP.isra.0 10657 .section .text.USBD_CtlError.isra.0,"ax",%progbits 10658 .align 1 10659 .global USBD_CtlError.isra.0 10660 .hidden USBD_CtlError.isra.0 10661 .syntax unified 10662 .thumb 10663 .thumb_func 10664 .type USBD_CtlError.isra.0, %function 10665 USBD_CtlError.isra.0: 10666 .LVL579: 10667 .LFB193: 979:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 10668 .loc 12 979 6 view -0 10669 .cfi_startproc 10670 @ args = 0, pretend = 0, frame = 0 10671 @ frame_needed = 0, uses_anonymous_args = 0 979:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 10672 .loc 12 979 6 is_stmt 0 view .LVU2645 10673 0000 10B5 push {r4, lr} @ 10674 .LCFI79: 10675 .cfi_def_cfa_offset 8 10676 .cfi_offset 4, -8 10677 .cfi_offset 14, -4 10678 @ /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); 10679 .loc 12 983 9 is_stmt 1 view .LVU2646 10680 0002 8021 movs r1, #128 @, 10681 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:979: void ARM GAS /tmp/ccjvgGVC.s page 633 979:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 10682 .loc 12 979 6 view .LVU2647 10683 0004 0446 mov r4, r0 @ pdev, tmp115 10684 @ /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); 10685 .loc 12 983 9 view .LVU2648 10686 0006 FFF7FEFF bl USBD_LL_StallEP.isra.0 @ 10687 .LVL580: 10688 @ /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 **** } 10689 .loc 12 984 9 view .LVU2649 10690 000a 2046 mov r0, r4 @, pdev 10691 000c 0021 movs r1, #0 @, 10692 @ /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 **** 10693 .loc 12 985 1 view .LVU2650 10694 000e BDE81040 pop {r4, lr} @ 10695 .LCFI80: 10696 .cfi_restore 14 10697 .cfi_restore 4 10698 .cfi_def_cfa_offset 0 10699 .LVL581: 10700 @ /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 **** } 10701 .loc 12 984 9 view .LVU2651 10702 0012 FFF7FEBF b USBD_LL_StallEP.isra.0 @ 10703 .LVL582: 984:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 10704 .loc 12 984 9 is_stmt 0 view .LVU2652 10705 .cfi_endproc 10706 .LFE193: 10707 .size USBD_CtlError.isra.0, .-USBD_CtlError.isra.0 10708 .section .text.LL_USART_DeInit.isra.0,"ax",%progbits 10709 .align 1 10710 .global LL_USART_DeInit.isra.0 10711 .hidden LL_USART_DeInit.isra.0 10712 .syntax unified 10713 .thumb 10714 .thumb_func 10715 .type LL_USART_DeInit.isra.0, %function 10716 LL_USART_DeInit.isra.0: 10717 .LVL583: 10718 .LFB195: 10719 .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. 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 ARM GAS /tmp/ccjvgGVC.s page 634 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 **** 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 **** ARM GAS /tmp/ccjvgGVC.s page 635 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). 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) 10720 .loc 22 125 13 is_stmt 1 view -0 10721 .cfi_startproc ARM GAS /tmp/ccjvgGVC.s page 636 10722 @ args = 0, pretend = 0, frame = 0 10723 @ frame_needed = 0, uses_anonymous_args = 0 10724 .loc 22 125 13 is_stmt 0 view .LVU2654 10725 0000 08B5 push {r3, lr} @ 10726 .LCFI81: 10727 .cfi_def_cfa_offset 8 10728 .cfi_offset 3, -8 10729 .cfi_offset 14, -4 10730 @ /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) 10731 .loc 22 132 6 is_stmt 1 view .LVU2655 10732 0002 294B ldr r3, .L816 @ tmp115, 10733 0004 9842 cmp r0, r3 @ USARTx, tmp115 10734 0006 07D1 bne .L806 @, 10735 @ /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); 10736 .loc 22 135 5 view .LVU2656 10737 0008 1020 movs r0, #16 @, 10738 .LVL584: 10739 .loc 22 135 5 is_stmt 0 view .LVU2657 10740 000a FFF7FEFF bl LL_APB2_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 10741 .LVL585: 10742 @ /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); 10743 .loc 22 138 5 is_stmt 1 view .LVU2658 10744 000e 1020 movs r0, #16 @, 10745 .L814: 10746 @ /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) 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 */ ARM GAS /tmp/ccjvgGVC.s page 637 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 **** } 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 */ ARM GAS /tmp/ccjvgGVC.s page 638 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 **** } 10747 .loc 22 234 1 view .LVU2659 10748 0010 BDE80840 pop {r3, lr} @ 10749 .LCFI82: 10750 .cfi_remember_state 10751 .cfi_restore 14 10752 .cfi_restore 3 10753 .cfi_def_cfa_offset 0 10754 @ /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 **** } 10755 .loc 22 165 5 view .LVU2660 10756 0014 FFF7FEBF b LL_APB2_GRP1_ReleaseReset.lto_priv.1.lto_priv.0 @ 10757 .LVL586: 10758 .L806: 10759 .LCFI83: 10760 .cfi_restore_state 10761 @ /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 **** { 10762 .loc 22 140 11 view .LVU2661 10763 0018 244B ldr r3, .L816+4 @ tmp116, 10764 001a 9842 cmp r0, r3 @ USARTx, tmp116 10765 001c 09D1 bne .L807 @, 10766 @ /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 **** 10767 .loc 22 143 5 view .LVU2662 10768 001e 4FF40030 mov r0, #131072 @, 10769 .LVL587: 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 10770 .loc 22 143 5 is_stmt 0 view .LVU2663 10771 0022 FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 10772 .LVL588: 10773 @ /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 **** } 10774 .loc 22 146 5 is_stmt 1 view .LVU2664 10775 0026 4FF40030 mov r0, #131072 @, 10776 .L815: 10777 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:234: } 10778 .loc 22 234 1 view .LVU2665 ARM GAS /tmp/ccjvgGVC.s page 639 10779 002a BDE80840 pop {r3, lr} @ 10780 .LCFI84: 10781 .cfi_remember_state 10782 .cfi_restore 14 10783 .cfi_restore 3 10784 .cfi_def_cfa_offset 0 10785 @ /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 **** } 10786 .loc 22 205 5 view .LVU2666 10787 002e FFF7FEBF b LL_APB1_GRP1_ReleaseReset.lto_priv.1.lto_priv.0 @ 10788 .LVL589: 10789 .L807: 10790 .LCFI85: 10791 .cfi_restore_state 10792 @ /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 **** { 10793 .loc 22 149 11 view .LVU2667 10794 0032 1F4B ldr r3, .L816+8 @ tmp117, 10795 0034 9842 cmp r0, r3 @ USARTx, tmp117 10796 0036 06D1 bne .L808 @, 10797 @ /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 **** 10798 .loc 22 152 5 view .LVU2668 10799 0038 4FF48020 mov r0, #262144 @, 10800 .LVL590: 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 10801 .loc 22 152 5 is_stmt 0 view .LVU2669 10802 003c FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 10803 .LVL591: 10804 @ /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 **** } 10805 .loc 22 155 5 is_stmt 1 view .LVU2670 10806 0040 4FF48020 mov r0, #262144 @, 10807 0044 F1E7 b .L815 @ 10808 .LVL592: 10809 .L808: 10810 @ /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 **** { 10811 .loc 22 159 11 view .LVU2671 10812 0046 1B4B ldr r3, .L816+12 @ tmp118, 10813 0048 9842 cmp r0, r3 @ USARTx, tmp118 10814 004a 04D1 bne .L809 @, 10815 @ /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 **** 10816 .loc 22 162 5 view .LVU2672 10817 004c 2020 movs r0, #32 @, 10818 .LVL593: 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 10819 .loc 22 162 5 is_stmt 0 view .LVU2673 10820 004e FFF7FEFF bl LL_APB2_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 10821 .LVL594: 10822 @ /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 **** } 10823 .loc 22 165 5 is_stmt 1 view .LVU2674 10824 0052 2020 movs r0, #32 @, 10825 0054 DCE7 b .L814 @ 10826 .LVL595: ARM GAS /tmp/ccjvgGVC.s page 640 10827 .L809: 10828 @ /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 **** { 10829 .loc 22 169 11 view .LVU2675 10830 0056 184B ldr r3, .L816+16 @ tmp119, 10831 0058 9842 cmp r0, r3 @ USARTx, tmp119 10832 005a 06D1 bne .L810 @, 10833 @ /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 **** 10834 .loc 22 172 5 view .LVU2676 10835 005c 4FF40020 mov r0, #524288 @, 10836 .LVL596: 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 10837 .loc 22 172 5 is_stmt 0 view .LVU2677 10838 0060 FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 10839 .LVL597: 10840 @ /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 **** } 10841 .loc 22 175 5 is_stmt 1 view .LVU2678 10842 0064 4FF40020 mov r0, #524288 @, 10843 0068 DFE7 b .L815 @ 10844 .LVL598: 10845 .L810: 10846 @ /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 **** { 10847 .loc 22 179 11 view .LVU2679 10848 006a 144B ldr r3, .L816+20 @ tmp120, 10849 006c 9842 cmp r0, r3 @ USARTx, tmp120 10850 006e 06D1 bne .L811 @, 10851 @ /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 **** 10852 .loc 22 182 5 view .LVU2680 10853 0070 4FF48010 mov r0, #1048576 @, 10854 .LVL599: 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 10855 .loc 22 182 5 is_stmt 0 view .LVU2681 10856 0074 FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 10857 .LVL600: 10858 @ /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 **** } 10859 .loc 22 185 5 is_stmt 1 view .LVU2682 10860 0078 4FF48010 mov r0, #1048576 @, 10861 007c D5E7 b .L815 @ 10862 .LVL601: 10863 .L811: 10864 @ /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 **** { 10865 .loc 22 189 11 view .LVU2683 10866 007e 104B ldr r3, .L816+24 @ tmp121, 10867 0080 9842 cmp r0, r3 @ USARTx, tmp121 10868 0082 06D1 bne .L812 @, 10869 @ /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 **** 10870 .loc 22 192 5 view .LVU2684 10871 0084 4FF08040 mov r0, #1073741824 @, 10872 .LVL602: 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** ARM GAS /tmp/ccjvgGVC.s page 641 10873 .loc 22 192 5 is_stmt 0 view .LVU2685 10874 0088 FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 10875 .LVL603: 10876 @ /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 **** } 10877 .loc 22 195 5 is_stmt 1 view .LVU2686 10878 008c 4FF08040 mov r0, #1073741824 @, 10879 0090 CBE7 b .L815 @ 10880 .LVL604: 10881 .L812: 10882 @ /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 **** { 10883 .loc 22 199 11 view .LVU2687 10884 0092 0C4B ldr r3, .L816+28 @ tmp122, 10885 0094 9842 cmp r0, r3 @ USARTx, tmp122 10886 0096 06D1 bne .L805 @, 10887 @ /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 **** 10888 .loc 22 202 5 view .LVU2688 10889 0098 4FF00040 mov r0, #-2147483648 @, 10890 .LVL605: 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 10891 .loc 22 202 5 is_stmt 0 view .LVU2689 10892 009c FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 10893 .LVL606: 10894 @ /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 **** } 10895 .loc 22 205 5 is_stmt 1 view .LVU2690 10896 00a0 4FF00040 mov r0, #-2147483648 @, 10897 00a4 C1E7 b .L815 @ 10898 .LVL607: 10899 .L805: 10900 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:234: } 10901 .loc 22 234 1 view .LVU2691 10902 00a6 08BD pop {r3, pc} @ 10903 .L817: 10904 .align 2 10905 .L816: 10906 00a8 00100140 .word 1073811456 10907 00ac 00440040 .word 1073759232 10908 00b0 00480040 .word 1073760256 10909 00b4 00140140 .word 1073812480 10910 00b8 004C0040 .word 1073761280 10911 00bc 00500040 .word 1073762304 10912 00c0 00780040 .word 1073772544 10913 00c4 007C0040 .word 1073773568 10914 .cfi_endproc 10915 .LFE195: 10916 .size LL_USART_DeInit.isra.0, .-LL_USART_DeInit.isra.0 10917 .section .text._Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t,"ax",%progbits 10918 .align 1 10919 .global _Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t 10920 .syntax unified 10921 .thumb 10922 .thumb_func 10923 .type _Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t, %function 10924 _Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t: ARM GAS /tmp/ccjvgGVC.s page 642 10925 .LVL608: 10926 .LFB196: 473:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** auto dev = i2c_get_device(bus); 10927 .loc 3 473 1 view -0 10928 .cfi_startproc 10929 @ args = 0, pretend = 0, frame = 0 10930 @ frame_needed = 0, uses_anonymous_args = 0 474:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!dev) return -1; 10931 .loc 3 474 3 view .LVU2693 10932 .LBB831: 10933 .LBI831: 48:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 10934 .loc 3 48 26 view .LVU2694 10935 .LBB832: 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus]; 10936 .loc 3 50 3 view .LVU2695 10937 0000 0128 cmp r0, #1 @ bus, 10938 .LBE832: 10939 .LBE831: 10940 @ /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); 10941 .loc 3 473 1 is_stmt 0 view .LVU2696 10942 0002 2DE9F041 push {r4, r5, r6, r7, r8, lr} @ 10943 .LCFI86: 10944 .cfi_def_cfa_offset 24 10945 .cfi_offset 4, -24 10946 .cfi_offset 5, -20 10947 .cfi_offset 6, -16 10948 .cfi_offset 7, -12 10949 .cfi_offset 8, -8 10950 .cfi_offset 14, -4 10951 @ /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); 10952 .loc 3 473 1 view .LVU2697 10953 0006 0446 mov r4, r0 @ bus, tmp453 10954 0008 1646 mov r6, r2 @ hw_def, tmp455 10955 .LBB838: 10956 .LBB833: 10957 @ /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]; 10958 .loc 3 50 3 view .LVU2698 10959 000a 03D9 bls .L819 @, 10960 .LVL609: 10961 .L837: 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus]; 10962 .loc 3 50 3 view .LVU2699 10963 .LBE833: 10964 .LBE838: 10965 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:475: if (!dev) retur 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 10966 .loc 3 475 21 discriminator 1 view .LVU2700 10967 000c 4FF0FF30 mov r0, #-1 @ , 10968 .L818: 10969 @ /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 **** 10970 .loc 3 543 1 view .LVU2701 10971 0010 BDE8F081 pop {r4, r5, r6, r7, r8, pc} @ ARM GAS /tmp/ccjvgGVC.s page 643 10972 .LVL610: 10973 .L819: 10974 .LBB839: 10975 .LBB834: 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 10976 .loc 3 51 3 is_stmt 1 view .LVU2702 10977 @ /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 **** } 10978 .loc 3 51 24 is_stmt 0 view .LVU2703 10979 0014 9B4D ldr r5, .L853 @ tmp219, 10980 .LBE834: 10981 .LBE839: 10982 @ /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; 10983 .loc 3 477 13 view .LVU2704 10984 0016 A822 movs r2, #168 @ tmp222, 10985 .LVL611: 477:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->hw_def = hw_def; 10986 .loc 3 477 13 view .LVU2705 10987 0018 4243 muls r2, r0, r2 @ tmp221, bus 10988 .LBB840: 10989 .LBB835: 10990 @ /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 **** } 10991 .loc 3 51 24 view .LVU2706 10992 001a 4342 rsbs r3, r0, #0 @ tmp217, bus 10993 .LBE835: 10994 .LBE840: 10995 @ /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; 10996 .loc 3 477 13 view .LVU2707 10997 001c A818 adds r0, r5, r2 @ tmp223, tmp219, tmp221 10998 .LVL612: 10999 .LBB841: 11000 .LBB836: 11001 @ /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 **** } 11002 .loc 3 51 24 view .LVU2708 11003 001e 03F0A803 and r3, r3, #168 @ _108, tmp217, 11004 .LBE836: 11005 .LBE841: 11006 @ /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; 11007 .loc 3 477 3 view .LVU2709 11008 0022 476D ldr r7, [r0, #84] @ MEM [(struct stm32_i2c_device *)&_i2c_devs][_14]. 11009 .LBB842: 11010 .LBB837: 11011 @ /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 **** } 11012 .loc 3 51 24 view .LVU2710 11013 0024 2B44 add r3, r3, r5 @ _35, tmp219 11014 .LVL613: 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11015 .loc 3 51 24 view .LVU2711 11016 .LBE837: 11017 .LBE842: 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ARM GAS /tmp/ccjvgGVC.s page 644 11018 .loc 3 475 3 is_stmt 1 view .LVU2712 477:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->hw_def = hw_def; 11019 .loc 3 477 3 view .LVU2713 11020 0026 17B9 cbnz r7, .L821 @ 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; 11021 .loc 3 478 5 view .LVU2714 11022 @ /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; 11023 .loc 3 478 17 is_stmt 0 view .LVU2715 11024 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 **** } 11025 .loc 3 479 5 is_stmt 1 view .LVU2716 11026 @ /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 **** } 11027 .loc 3 479 36 is_stmt 0 view .LVU2717 11028 002a 3068 ldr r0, [r6] @ _2, hw_def_15(D)->I2Cx 11029 @ /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 **** } 11030 .loc 3 479 26 view .LVU2718 11031 002c A850 str r0, [r5, r2] @ _2, MEM [(struct stm32_i2c_device *)&_i2c_devs][_1 11032 .L821: 482:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_InitTypeDef& init = h->Init; 11033 .loc 3 482 3 is_stmt 1 view .LVU2719 11034 .LVL614: 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11035 .loc 3 483 3 view .LVU2720 494:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (init.ClockSpeed != clock_rate) return -1; 11036 .loc 3 494 3 view .LVU2721 11037 @ /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; 11038 .loc 3 494 12 is_stmt 0 view .LVU2722 11039 002e 5868 ldr r0, [r3, #4] @ _3, MEM[(struct I2C_InitTypeDef &)_35 + 4].ClockSpeed 11040 @ /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; 11041 .loc 3 494 3 view .LVU2723 11042 0030 20B1 cbz r0, .L822 @ _3, 495:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 11043 .loc 3 495 5 is_stmt 1 view .LVU2724 11044 0032 401A subs r0, r0, r1 @ , _3, clock_rate 11045 0034 18BF it ne 11046 0036 4FF0FF30 movne r0, #-1 @ , 11047 003a E9E7 b .L818 @ 11048 .L822: 498:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.DutyCycle = I2C_DUTYCYCLE_16_9; 11049 .loc 3 498 3 view .LVU2725 11050 .LBB843: 11051 .LBB844: 11052 @ /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); 11053 .loc 3 440 20 is_stmt 0 view .LVU2726 11054 003c 7768 ldr r7, [r6, #4] @ _57, hw_def_15(D)->SCL_GPIO 11055 .LBE844: 11056 .LBE843: 11057 @ /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; 11058 .loc 3 498 19 view .LVU2727 11059 003e 5960 str r1, [r3, #4] @ clock_rate, MEM[(struct I2C_InitTypeDef &)_35 + 4].ClockSpeed ARM GAS /tmp/ccjvgGVC.s page 645 499:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 11060 .loc 3 499 3 is_stmt 1 view .LVU2728 11061 @ /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 11062 .loc 3 499 18 is_stmt 0 view .LVU2729 11063 0040 4FF48042 mov r2, #16384 @ tmp237, 11064 @ /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; 11065 .loc 3 502 20 view .LVU2730 11066 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; 11067 .loc 3 503 3 is_stmt 1 view .LVU2731 11068 @ /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; 11069 .loc 3 504 24 is_stmt 0 view .LVU2732 11070 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; 11071 .loc 3 505 3 is_stmt 1 view .LVU2733 11072 @ /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; 11073 .loc 3 506 24 is_stmt 0 view .LVU2734 11074 004c C3E90600 strd r0, r0, [r3, #24] @ _3, _3, _35, 507:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11075 .loc 3 507 3 is_stmt 1 view .LVU2735 11076 @ /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 **** 11077 .loc 3 507 22 is_stmt 0 view .LVU2736 11078 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"); 11079 .loc 3 509 3 is_stmt 1 view .LVU2737 11080 .LVL615: 11081 .LBB846: 11082 .LBI843: 438:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 11083 .loc 3 438 12 view .LVU2738 11084 .LBB845: 11085 @ /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); 11086 .loc 3 440 11 is_stmt 0 view .LVU2739 11087 0052 3846 mov r0, r7 @, _57 11088 0054 FFF7FEFF bl _Z8gpio_setm @ 11089 .LVL616: 11090 @ /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); 11091 .loc 3 441 12 view .LVU2740 11092 0058 0122 movs r2, #1 @, 11093 005a 3846 mov r0, r7 @, _57 11094 005c 1521 movs r1, #21 @, 11095 005e FFF7FEFF bl _Z9gpio_initmhh @ 11096 .LVL617: 11097 @ /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 **** 11098 .loc 3 442 14 view .LVU2741 11099 0062 96F80C80 ldrb r8, [r6, #12] @ zero_extendqisi2 @ _61, hw_def_15(D)->GPIO_AF 11100 0066 3846 mov r0, r7 @, _57 11101 0068 4146 mov r1, r8 @, _61 11102 006a FFF7FEFF bl _Z11gpio_set_afmh @ ARM GAS /tmp/ccjvgGVC.s page 646 11103 .LVL618: 11104 @ /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); 11105 .loc 3 444 20 view .LVU2742 11106 006e B768 ldr r7, [r6, #8] @ _62, hw_def_15(D)->SDA_GPIO 11107 @ /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); 11108 .loc 3 444 11 view .LVU2743 11109 0070 3846 mov r0, r7 @, _62 11110 0072 FFF7FEFF bl _Z8gpio_setm @ 11111 .LVL619: 11112 @ /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); 11113 .loc 3 445 12 view .LVU2744 11114 0076 0122 movs r2, #1 @, 11115 0078 1521 movs r1, #21 @, 11116 007a 3846 mov r0, r7 @, _62 11117 007c FFF7FEFF bl _Z9gpio_initmhh @ 11118 .LVL620: 11119 @ /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 **** 11120 .loc 3 446 14 view .LVU2745 11121 0080 4146 mov r1, r8 @, _61 11122 0082 3846 mov r0, r7 @, _62 11123 0084 FFF7FEFF bl _Z11gpio_set_afmh @ 11124 .LVL621: 11125 @ /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); 11126 .loc 3 448 15 view .LVU2746 11127 0088 3369 ldr r3, [r6, #16] @ _67, hw_def_15(D)->set_pwr 11128 @ /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); 11129 .loc 3 448 3 view .LVU2747 11130 008a 23B1 cbz r3, .L823 @ _67, 11131 @ /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 11132 .loc 3 449 20 view .LVU2748 11133 008c 0120 movs r0, #1 @, 11134 008e 9847 blx r3 @ _67 11135 .LVL622: 11136 @ /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 **** } 11137 .loc 3 452 14 view .LVU2749 11138 0090 1420 movs r0, #20 @, 11139 0092 FFF7FEFF bl HAL_Delay @ 11140 .LVL623: 11141 .L823: 452:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11142 .loc 3 452 14 view .LVU2750 11143 .LBE845: 11144 .LBE846: 514:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_MspInit() I2C misconfiguration"); 11145 .loc 3 514 3 is_stmt 1 view .LVU2751 11146 @ /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"); 11147 .loc 3 514 32 is_stmt 0 view .LVU2752 11148 0096 3368 ldr r3, [r6] @ _4, hw_def_15(D)->I2Cx ARM GAS /tmp/ccjvgGVC.s page 647 11149 .LVL624: 11150 .LBB847: 11151 .LBI847: 401:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 11152 .loc 3 401 12 is_stmt 1 view .LVU2753 11153 .LBB848: 404:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C1); 11154 .loc 3 404 3 view .LVU2754 11155 0098 7B4A ldr r2, .L853+4 @ tmp245, 11156 009a 9342 cmp r3, r2 @ _4, tmp245 11157 009c 36D1 bne .L824 @, 405:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C2) 11158 .loc 3 405 5 view .LVU2755 11159 @ /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) 11160 .loc 3 405 29 is_stmt 0 view .LVU2756 11161 009e 4FF40010 mov r0, #2097152 @, 11162 .L850: 11163 @ /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) 11164 .loc 3 409 29 view .LVU2757 11165 00a2 FFF7FEFF bl LL_APB1_GRP1_EnableClock.lto_priv.2.lto_priv.0 @ 11166 .LVL625: 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11167 .loc 3 409 29 view .LVU2758 11168 .LBE848: 11169 .LBE847: 519:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_Init() failed"); 11170 .loc 3 519 3 is_stmt 1 view .LVU2759 11171 .LBB850: 11172 .LBI850: 435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11173 .loc 9 435 19 view .LVU2760 11174 .LBB851: 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t pclk1; 11175 .loc 9 437 3 view .LVU2761 438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11176 .loc 9 438 3 view .LVU2762 441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11177 .loc 9 441 3 view .LVU2763 447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_CLOCK_SPEED(hi2c->Init.ClockSpeed)); 11178 .loc 9 447 3 view .LVU2764 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_DUTY_CYCLE(hi2c->Init.DutyCycle)); 11179 .loc 9 448 3 view .LVU2765 449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); 11180 .loc 9 449 3 view .LVU2766 450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode)); 11181 .loc 9 450 3 view .LVU2767 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode)); 11182 .loc 9 451 3 view .LVU2768 452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); 11183 .loc 9 452 3 view .LVU2769 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); 11184 .loc 9 453 3 view .LVU2770 454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode)); 11185 .loc 9 454 3 view .LVU2771 455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccjvgGVC.s page 648 11186 .loc 9 455 3 view .LVU2772 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11187 .loc 9 457 3 view .LVU2773 11188 @ /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 **** { 11189 .loc 9 457 11 is_stmt 0 view .LVU2774 11190 00a6 A823 movs r3, #168 @ tmp250, 11191 00a8 03FB0452 mla r2, r3, r4, r5 @ tmp251, tmp250, bus, tmp219 11192 00ac 92F83D10 ldrb r1, [r2, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 11193 @ /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 **** { 11194 .loc 9 457 6 view .LVU2775 11195 00b0 01F0FF00 and r0, r1, #255 @ _68, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 11196 00b4 09B9 cbnz r1, .L827 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14].ha 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11197 .loc 9 460 5 is_stmt 1 view .LVU2776 11198 @ /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 **** 11199 .loc 9 460 16 is_stmt 0 view .LVU2777 11200 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 */ 11201 .loc 9 484 5 is_stmt 1 view .LVU2778 11202 .L827: 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11203 .loc 9 488 3 view .LVU2779 11204 @ /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 **** 11205 .loc 9 488 15 is_stmt 0 view .LVU2780 11206 00ba 6343 muls r3, r4, r3 @ tmp263, bus 11207 00bc E918 adds r1, r5, r3 @ tmp265, tmp219, tmp263 11208 00be 2422 movs r2, #36 @ tmp267, 11209 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 **** 11210 .loc 9 491 3 is_stmt 1 view .LVU2781 11211 00c4 EA58 ldr r2, [r5, r3] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 11212 .LBB852: 11213 .LBB853: 11214 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c:957: retur 11215 .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 **** * 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 ARM GAS /tmp/ccjvgGVC.s page 649 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 **** 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 ARM GAS /tmp/ccjvgGVC.s page 650 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). 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 **** ARM GAS /tmp/ccjvgGVC.s page 651 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. 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 **** /** ARM GAS /tmp/ccjvgGVC.s page 652 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 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 **** } ARM GAS /tmp/ccjvgGVC.s page 653 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_ 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); ARM GAS /tmp/ccjvgGVC.s page 654 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)); 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*/ ARM GAS /tmp/ccjvgGVC.s page 655 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); 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 **** { ARM GAS /tmp/ccjvgGVC.s page 656 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 */ 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)); ARM GAS /tmp/ccjvgGVC.s page 657 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) 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 **** } ARM GAS /tmp/ccjvgGVC.s page 658 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 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 ARM GAS /tmp/ccjvgGVC.s page 659 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)); 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) ARM GAS /tmp/ccjvgGVC.s page 660 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 **** { 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; ARM GAS /tmp/ccjvgGVC.s page 661 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. 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 ARM GAS /tmp/ccjvgGVC.s page 662 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 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; ARM GAS /tmp/ccjvgGVC.s page 663 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(**) 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. ARM GAS /tmp/ccjvgGVC.s page 664 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; 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 **** } ARM GAS /tmp/ccjvgGVC.s page 665 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] 11216 .loc 23 957 49 is_stmt 0 discriminator 1 view .LVU2782 11217 00c6 7148 ldr r0, .L853+8 @ tmp275, 11218 .LBE853: 11219 .LBE852: 11220 @ /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 **** 11221 .loc 9 491 3 view .LVU2783 11222 00c8 1368 ldr r3, [r2] @ _70, _69->CR1 11223 00ca 23F00103 bic r3, r3, #1 @ _71, _70, 11224 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; 11225 .loc 9 494 3 is_stmt 1 view .LVU2784 11226 @ /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; 11227 .loc 9 494 17 is_stmt 0 view .LVU2785 11228 00d0 1368 ldr r3, [r2] @ _72, _69->CR1 11229 @ /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; 11230 .loc 9 494 23 view .LVU2786 11231 00d2 43F40043 orr r3, r3, #32768 @ _73, _72, 11232 00d6 1360 str r3, [r2] @ _73, _69->CR1 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11233 .loc 9 495 3 is_stmt 1 view .LVU2787 11234 @ /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 **** 11235 .loc 9 495 17 is_stmt 0 view .LVU2788 11236 00d8 1368 ldr r3, [r2] @ _74, _69->CR1 11237 @ /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 **** 11238 .loc 9 495 23 view .LVU2789 ARM GAS /tmp/ccjvgGVC.s page 666 11239 00da 23F40043 bic r3, r3, #32768 @ _75, _74, 11240 00de 1360 str r3, [r2] @ _75, _69->CR1 498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11241 .loc 9 498 3 is_stmt 1 view .LVU2790 11242 .LBB857: 11243 .LBI852: 954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 11244 .loc 23 954 10 view .LVU2791 11245 .LBB856: 11246 .loc 23 957 3 view .LVU2792 11247 .LBB854: 11248 .LBI854: 943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 11249 .loc 23 943 10 view .LVU2793 11250 .LBB855: 945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 11251 .loc 23 945 3 view .LVU2794 11252 .LBE855: 11253 .LBE854: 11254 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c:957: retur 11255 .loc 23 957 54 is_stmt 0 discriminator 1 view .LVU2795 11256 00e0 6B4B ldr r3, .L853+12 @ tmp273, 11257 00e2 9B68 ldr r3, [r3, #8] @ _152, MEM[(struct RCC_TypeDef *)1073887232B].CFGR 11258 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c:957: retur 11259 .loc 23 957 78 discriminator 1 view .LVU2796 11260 00e4 C3F38223 ubfx r3, r3, #10, #3 @ _154, _152,, 11261 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c:957: retur 11262 .loc 23 957 49 discriminator 1 view .LVU2797 11263 00e8 C05C ldrb r0, [r0, r3] @ zero_extendqisi2 @ _156, APBPrescTable[_154] 11264 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c:957: retur 11265 .loc 23 957 33 discriminator 1 view .LVU2798 11266 00ea 6A4B ldr r3, .L853+16 @ tmp274, 11267 00ec 1B68 ldr r3, [r3] @ SystemCoreClock, SystemCoreClock 11268 00ee C340 lsrs r3, r3, r0 @ _157, SystemCoreClock, _156 11269 .LVL626: 11270 .loc 23 957 33 discriminator 1 view .LVU2799 11271 .LBE856: 11272 .LBE857: 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11273 .loc 9 501 3 is_stmt 1 view .LVU2800 11274 @ /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 **** { 11275 .loc 9 501 7 is_stmt 0 view .LVU2801 11276 00f0 4868 ldr r0, [r1, #4] @ _77, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 11277 @ /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 **** { 11278 .loc 9 501 55 view .LVU2802 11279 00f2 6949 ldr r1, .L853+20 @ tmp285, 11280 00f4 8842 cmp r0, r1 @ _77, tmp285 11281 @ /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 **** { 11282 .loc 9 501 55 discriminator 1 view .LVU2803 11283 00f6 94BF ite ls 11284 00f8 6849 ldrls r1, .L853+24 @ tmp288, 11285 @ /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 **** { 11286 .loc 9 501 55 discriminator 2 view .LVU2804 ARM GAS /tmp/ccjvgGVC.s page 667 11287 00fa 6949 ldrhi r1, .L853+28 @ tmp291, 11288 00fc 8B42 cmp r3, r1 @ _157, tmp291 11289 00fe 8CBF ite hi 11290 0100 0021 movhi r1, #0 @ _238, 11291 0102 0121 movls r1, #1 @ _238, 11292 @ /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 **** { 11293 .loc 9 501 6 discriminator 4 view .LVU2805 11294 0104 79B1 cbz r1, .L849 @ _238, 11295 .LBE851: 11296 .LBE850: 11297 @ /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 **** } 11298 .loc 3 521 13 view .LVU2806 11299 0106 6FF00300 mvn r0, #3 @ , 11300 .LVL627: 521:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11301 .loc 3 521 13 view .LVU2807 11302 010a 81E7 b .L818 @ 11303 .LVL628: 11304 .L824: 11305 .LBB860: 11306 .LBB849: 406:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C2); 11307 .loc 3 406 8 is_stmt 1 view .LVU2808 11308 010c 654A ldr r2, .L853+32 @ tmp246, 11309 010e 9342 cmp r3, r2 @ _4, tmp246 11310 0110 02D1 bne .L826 @, 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C3) 11311 .loc 3 407 5 view .LVU2809 11312 @ /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) 11313 .loc 3 407 29 is_stmt 0 view .LVU2810 11314 0112 4FF48000 mov r0, #4194304 @, 11315 0116 C4E7 b .L850 @ 11316 .L826: 408:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C3); 11317 .loc 3 408 8 is_stmt 1 view .LVU2811 11318 0118 634A ldr r2, .L853+36 @ tmp247, 11319 011a 9342 cmp r3, r2 @ _4, tmp247 11320 011c 40F0AF80 bne .L839 @, 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11321 .loc 3 409 5 view .LVU2812 11322 @ /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) 11323 .loc 3 409 29 is_stmt 0 view .LVU2813 11324 0120 4FF40000 mov r0, #8388608 @, 11325 0124 BDE7 b .L850 @ 11326 .LVL629: 11327 .L849: 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11328 .loc 3 409 29 view .LVU2814 11329 .LBE849: 11330 .LBE860: 11331 .LBB861: 11332 .LBB858: 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccjvgGVC.s page 668 11333 .loc 9 507 3 is_stmt 1 view .LVU2815 11334 @ /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 **** 11335 .loc 9 511 3 is_stmt 0 view .LVU2816 11336 0126 5668 ldr r6, [r2, #4] @ _83, _69->CR2 11337 .LVL630: 11338 @ /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 **** 11339 .loc 9 515 3 view .LVU2817 11340 0128 5B4F ldr r7, .L853+20 @ tmp294, 11341 @ /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 **** 11342 .loc 9 507 13 view .LVU2818 11343 012a 6049 ldr r1, .L853+40 @ tmp292, 11344 012c B3FBF1F1 udiv r1, r3, r1 @ freqrange, _157, tmp292 11345 .LVL631: 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11346 .loc 9 511 3 is_stmt 1 view .LVU2819 11347 0130 26F03F06 bic r6, r6, #63 @ _84, _83, 11348 0134 0E43 orrs r6, r6, r1 @, _85, _84, freqrange 11349 @ /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 **** 11350 .loc 9 515 3 is_stmt 0 view .LVU2820 11351 0136 B842 cmp r0, r7 @ _77, tmp294 11352 @ /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 **** 11353 .loc 9 511 3 view .LVU2821 11354 0138 5660 str r6, [r2, #4] @ _85, _69->CR2 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11355 .loc 9 515 3 is_stmt 1 view .LVU2822 11356 @ /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 **** 11357 .loc 9 515 3 is_stmt 0 discriminator 2 view .LVU2823 11358 013a 88BF it hi 11359 013c 4FF49677 movhi r7, #300 @ tmp296, 11360 @ /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 **** 11361 .loc 9 515 3 view .LVU2824 11362 0140 166A ldr r6, [r2, #32] @ _86, _69->TRISE 11363 @ /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 **** 11364 .loc 9 515 3 discriminator 2 view .LVU2825 11365 0142 88BF it hi 11366 0144 7943 mulhi r1, r7, r1 @ _89, tmp296, freqrange 11367 .LVL632: 11368 @ /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 **** 11369 .loc 9 515 3 view .LVU2826 11370 0146 26F03F06 bic r6, r6, #63 @ _87, _86, 11371 @ /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 **** 11372 .loc 9 515 3 discriminator 2 view .LVU2827 11373 014a 84BF itt hi 11374 014c 4FF47A77 movhi r7, #1000 @ tmp299, 11375 0150 B1FBF7F1 udivhi r1, r1, r7 @ _90, _89, tmp299 11376 0154 0131 adds r1, r1, #1 @ _92, _90, 11377 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:515: MODIF ARM GAS /tmp/ccjvgGVC.s page 669 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11378 .loc 9 515 3 discriminator 4 view .LVU2828 11379 0156 3143 orrs r1, r1, r6 @, _93, _92, _87 11380 0158 1162 str r1, [r2, #32] @ _93, _69->TRISE 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11381 .loc 9 519 3 is_stmt 1 view .LVU2829 11382 015a D169 ldr r1, [r2, #28] @ _94, _69->CCR 11383 015c 4E4E ldr r6, .L853+20 @ tmp304, 11384 015e 21F44F41 bic r1, r1, #52992 @ _95, _94, 11385 0162 B042 cmp r0, r6 @ _77, tmp304 11386 0164 21F0FF01 bic r1, r1, #255 @ _95, _95, 11387 @ /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 **** 11388 .loc 9 519 3 is_stmt 0 discriminator 1 view .LVU2830 11389 0168 03F1FF33 add r3, r3, #-1 @ _65, _157, 11390 .LVL633: 11391 @ /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 **** 11392 .loc 9 519 3 view .LVU2831 11393 016c 68D8 bhi .L832 @, 11394 @ /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 **** 11395 .loc 9 519 3 discriminator 1 view .LVU2832 11396 016e 4000 lsls r0, r0, #1 @ _97, _77, 11397 0170 B3FBF0F3 udiv r3, r3, r0 @ _98, _65, _97 11398 .LVL634: 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11399 .loc 9 519 3 discriminator 1 view .LVU2833 11400 0174 40F6FC70 movw r0, #4092 @ tmp308, 11401 0178 0133 adds r3, r3, #1 @ _99, _98, 11402 017a 0342 tst r3, r0 @ _99, tmp308 11403 017c 7DD0 beq .L840 @, 11404 @ /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 **** 11405 .loc 9 519 3 discriminator 3 view .LVU2834 11406 017e C3F30B03 ubfx r3, r3, #0, #12 @ _128, _99,, 11407 .L833: 11408 @ /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 **** 11409 .loc 9 519 3 discriminator 20 view .LVU2835 11410 0182 1943 orrs r1, r1, r3 @, _129, _95, _128 11411 @ /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 **** 11412 .loc 9 523 3 view .LVU2836 11413 0184 A823 movs r3, #168 @ tmp332, 11414 0186 03FB0453 mla r3, r3, r4, r5 @ tmp333, tmp332, bus, tmp219 11415 @ /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 **** 11416 .loc 9 519 3 discriminator 20 view .LVU2837 11417 018a D161 str r1, [r2, #28] @ _129, _69->CCR 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11418 .loc 9 523 3 is_stmt 1 view .LVU2838 11419 018c D3E90714 ldrd r1, r4, [r3, #28] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 11420 .LVL635: 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11421 .loc 9 523 3 is_stmt 0 view .LVU2839 11422 0190 1068 ldr r0, [r2] @ _130, _69->CR1 ARM GAS /tmp/ccjvgGVC.s page 670 11423 0192 2143 orrs r1, r1, r4 @, _134, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 11424 0194 20F0C000 bic r0, r0, #192 @ _131, _130, 11425 0198 0143 orrs r1, r1, r0 @, _135, _134, _131 11426 019a 1160 str r1, [r2] @ _135, _69->CR1 527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11427 .loc 9 527 3 is_stmt 1 view .LVU2840 11428 019c 9068 ldr r0, [r2, #8] @ _136, _69->OAR1 11429 019e D3E90341 ldrd r4, r1, [r3, #12] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 11430 01a2 20F40340 bic r0, r0, #33536 @ _137, _136, 11431 01a6 2143 orrs r1, r1, r4 @, _140, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 11432 01a8 20F0FF00 bic r0, r0, #255 @ _137, _137, 11433 01ac 0143 orrs r1, r1, r0 @, _141, _140, _137 11434 01ae 9160 str r1, [r2, #8] @ _141, _69->OAR1 531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11435 .loc 9 531 3 view .LVU2841 11436 01b0 D3E90514 ldrd r1, r4, [r3, #20] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 11437 01b4 D068 ldr r0, [r2, #12] @ _142, _69->OAR2 11438 01b6 2143 orrs r1, r1, r4 @, _146, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 11439 01b8 20F0FF00 bic r0, r0, #255 @ _143, _142, 11440 01bc 0143 orrs r1, r1, r0 @, _147, _146, _143 11441 01be D160 str r1, [r2, #12] @ _147, _69->OAR2 534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11442 .loc 9 534 3 view .LVU2842 11443 01c0 1168 ldr r1, [r2] @ _148, _69->CR1 11444 01c2 41F00101 orr r1, r1, #1 @ _149, _148, 11445 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; 11446 .loc 9 536 3 view .LVU2843 11447 @ /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; 11448 .loc 9 537 15 is_stmt 0 view .LVU2844 11449 01c8 2020 movs r0, #32 @ tmp384, 11450 @ /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; 11451 .loc 9 536 19 view .LVU2845 11452 01ca 0021 movs r1, #0 @ tmp378, 11453 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; 11454 .loc 9 537 3 is_stmt 1 view .LVU2846 11455 @ /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; 11456 .loc 9 537 15 is_stmt 0 view .LVU2847 11457 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; 11458 .loc 9 538 3 is_stmt 1 view .LVU2848 11459 @ /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; 11460 .loc 9 538 23 is_stmt 0 view .LVU2849 11461 01d2 1963 str r1, [r3, #48] @ tmp378, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11462 .loc 9 539 3 is_stmt 1 view .LVU2850 11463 @ /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 **** 11464 .loc 9 539 14 is_stmt 0 view .LVU2851 11465 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 **** } 11466 .loc 9 541 3 is_stmt 1 view .LVU2852 ARM GAS /tmp/ccjvgGVC.s page 671 11467 .LVL636: 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 11468 .loc 9 541 3 is_stmt 0 view .LVU2853 11469 .LBE858: 11470 .LBE861: 527:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2CEx_ConfigAnalogFilter() failed"); 11471 .loc 3 527 3 is_stmt 1 view .LVU2854 11472 .LBB862: 11473 .LBI862: 11474 .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 **** ****************************************************************************** 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 **** */ ARM GAS /tmp/ccjvgGVC.s page 672 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) 11475 .loc 24 89 19 view .LVU2855 11476 .LBB863: 11477 @ /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)); 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) 11478 .loc 24 95 11 is_stmt 0 view .LVU2856 11479 01d8 93F83D00 ldrb r0, [r3, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 11480 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:95: if 11481 .loc 24 95 6 view .LVU2857 11482 01dc 2028 cmp r0, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14].handl 11483 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:95: if ARM GAS /tmp/ccjvgGVC.s page 673 11484 .loc 24 95 11 view .LVU2858 11485 01de C5B2 uxtb r5, r0 @ _158, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14] 11486 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:95: if 11487 .loc 24 95 6 view .LVU2859 11488 01e0 7FF414AF bne .L837 @, 11489 .LVL637: 11490 .LBB864: 11491 .LBI864: 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** { 11492 .loc 24 89 19 is_stmt 1 view .LVU2860 11493 .LBB865: 11494 @ /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; 11495 .loc 24 97 17 is_stmt 0 view .LVU2861 11496 01e4 2424 movs r4, #36 @ tmp411, 11497 01e6 83F83D40 strb r4, [r3, #61] @ tmp411, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 11498 @ /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); 11499 .loc 24 100 5 view .LVU2862 11500 01ea 1068 ldr r0, [r2] @ _162, _69->CR1 11501 01ec 20F00100 bic r0, r0, #1 @ _163, _162, 11502 01f0 1060 str r0, [r2] @ _163, _69->CR1 11503 @ /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); 11504 .loc 24 103 19 view .LVU2863 11505 01f2 506A ldr r0, [r2, #36] @ _164, _69->FLTR 11506 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:103: 11507 .loc 24 103 26 view .LVU2864 11508 01f4 20F01000 bic r0, r0, #16 @ _165, _164, 11509 01f8 5062 str r0, [r2, #36] @ _165, _69->FLTR 11510 @ /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; 11511 .loc 24 106 19 view .LVU2865 11512 01fa 506A ldr r0, [r2, #36] @ _166, _69->FLTR 11513 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:106: 11514 .loc 24 106 26 view .LVU2866 11515 01fc 5062 str r0, [r2, #36] @ _166, _69->FLTR 11516 @ /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); 11517 .loc 24 108 5 view .LVU2867 11518 01fe 1068 ldr r0, [r2] @ _168, _69->CR1 11519 0200 40F00100 orr r0, r0, #1 @ _169, _168, 11520 0204 1060 str r0, [r2] @ _169, _69->CR1 11521 @ /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; 11522 .loc 24 110 17 view .LVU2868 11523 0206 83F83D50 strb r5, [r3, #61] @ _158, MEM [(struct I2C_HandleTypeDef *)&_i2c_dev 11524 .LVL638: ARM GAS /tmp/ccjvgGVC.s page 674 11525 .loc 24 110 17 view .LVU2869 11526 .LBE865: 11527 .LBE864: 11528 .LBE863: 11529 .LBE862: 533:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2CEx_ConfigDigitalFilter() failed"); 11530 .loc 3 533 3 is_stmt 1 view .LVU2870 11531 .LBB866: 11532 .LBI866: 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) 11533 .loc 24 127 19 view .LVU2871 11534 .LBB867: 11535 @ /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) 11536 .loc 24 135 11 is_stmt 0 view .LVU2872 11537 020a 93F83D00 ldrb r0, [r3, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 11538 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:135: if 11539 .loc 24 135 6 view .LVU2873 11540 020e 2028 cmp r0, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14].handl 11541 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:135: if 11542 .loc 24 135 11 view .LVU2874 11543 0210 C5B2 uxtb r5, r0 @ _171, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14] 11544 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:135: if 11545 .loc 24 135 6 view .LVU2875 11546 0212 7FF4FBAE bne .L837 @, 11547 .LVL639: 11548 .LBB868: 11549 .LBI868: 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** { 11550 .loc 24 127 19 is_stmt 1 view .LVU2876 11551 .LBB869: 11552 @ /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; ARM GAS /tmp/ccjvgGVC.s page 675 11553 .loc 24 137 17 is_stmt 0 view .LVU2877 11554 0216 83F83D40 strb r4, [r3, #61] @ tmp411, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 11555 @ /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); 11556 .loc 24 140 5 view .LVU2878 11557 021a 1068 ldr r0, [r2] @ _175, _69->CR1 11558 021c 20F00100 bic r0, r0, #1 @ _176, _175, 11559 0220 1060 str r0, [r2] @ _176, _69->CR1 11560 @ /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; 11561 .loc 24 143 28 view .LVU2879 11562 0222 546A ldr r4, [r2, #36] @ _177, _69->FLTR 11563 .LVL640: 11564 @ /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; 11565 .loc 24 152 26 view .LVU2880 11566 0224 4FF6F070 movw r0, #65520 @ _182, 11567 0228 2040 ands r0, r0, r4 @, _182, _182, _177 11568 022a 5062 str r0, [r2, #36] @ _182, _69->FLTR 11569 @ /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); 11570 .loc 24 154 5 view .LVU2881 11571 022c 1068 ldr r0, [r2] @ _183, _69->CR1 11572 022e 40F00100 orr r0, r0, #1 @ _184, _183, 11573 0232 1060 str r0, [r2] @ _184, _69->CR1 11574 @ /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; 11575 .loc 24 156 17 view .LVU2882 11576 0234 83F83D50 strb r5, [r3, #61] @ _171, MEM [(struct I2C_HandleTypeDef *)&_i2c_dev 11577 .LVL641: 11578 .loc 24 156 17 view .LVU2883 11579 .LBE869: 11580 .LBE868: 11581 .LBE867: 11582 .LBE866: 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 11583 .loc 3 540 3 is_stmt 1 view .LVU2884 11584 @ /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 11585 .loc 3 540 26 is_stmt 0 view .LVU2885 11586 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 **** } 11587 .loc 3 542 3 is_stmt 1 view .LVU2886 ARM GAS /tmp/ccjvgGVC.s page 676 11588 @ /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 **** } 11589 .loc 3 542 10 is_stmt 0 view .LVU2887 11590 023c 0120 movs r0, #1 @ , 11591 023e E7E6 b .L818 @ 11592 .LVL642: 11593 .L832: 11594 .LBB870: 11595 .LBB859: 11596 @ /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 **** 11597 .loc 9 519 3 discriminator 2 view .LVU2888 11598 0240 A826 movs r6, #168 @ tmp313, 11599 0242 06FB0456 mla r6, r6, r4, r5 @ tmp314, tmp313, bus, tmp219 11600 0246 B668 ldr r6, [r6, #8] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14]. 11601 0248 56B9 cbnz r6, .L834 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14].ha 11602 @ /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 **** 11603 .loc 9 519 3 discriminator 8 view .LVU2889 11604 024a 00EB4000 add r0, r0, r0, lsl #1 @ _104, _77, _77, 11605 024e B3FBF0F3 udiv r3, r3, r0 @ _105, _65, _104 11606 .LVL643: 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11607 .loc 9 519 3 discriminator 8 view .LVU2890 11608 0252 0133 adds r3, r3, #1 @ _106, _105, 11609 0254 C3F30B03 ubfx r3, r3, #0, #12 @ _107, _106,, 11610 @ /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 **** 11611 .loc 9 519 3 discriminator 11 view .LVU2891 11612 0258 53B1 cbz r3, .L842 @ _107, 11613 @ /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 **** 11614 .loc 9 519 3 discriminator 15 view .LVU2892 11615 025a 43F40043 orr r3, r3, #32768 @ _128, _107, 11616 025e 90E7 b .L833 @ 11617 .LVL644: 11618 .L834: 11619 @ /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 **** 11620 .loc 9 519 3 discriminator 9 view .LVU2893 11621 0260 1926 movs r6, #25 @ tmp325, 11622 0262 7043 muls r0, r6, r0 @ _110, tmp325 11623 0264 B3FBF0F3 udiv r3, r3, r0 @ _111, _65, _110 11624 .LVL645: 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11625 .loc 9 519 3 discriminator 9 view .LVU2894 11626 0268 0133 adds r3, r3, #1 @ _112, _111, 11627 026a C3F30B03 ubfx r3, r3, #0, #12 @ _113, _112,, 11628 @ /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 **** 11629 .loc 9 519 3 discriminator 11 view .LVU2895 11630 026e 0BB9 cbnz r3, .L848 @ _113, 11631 .L842: 11632 @ /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 **** 11633 .loc 9 519 3 discriminator 12 view .LVU2896 11634 0270 0123 movs r3, #1 @ _128, ARM GAS /tmp/ccjvgGVC.s page 677 11635 0272 86E7 b .L833 @ 11636 .L848: 11637 @ /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 **** 11638 .loc 9 519 3 discriminator 16 view .LVU2897 11639 0274 43F44043 orr r3, r3, #49152 @ _128, _113, 11640 0278 83E7 b .L833 @ 11641 .L840: 11642 @ /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 **** 11643 .loc 9 519 3 discriminator 4 view .LVU2898 11644 027a 0423 movs r3, #4 @ _128, 11645 027c 81E7 b .L833 @ 11646 .LVL646: 11647 .L839: 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11648 .loc 9 519 3 discriminator 4 view .LVU2899 11649 .LBE859: 11650 .LBE870: 11651 @ /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 **** } 11652 .loc 3 516 13 view .LVU2900 11653 027e 6FF00200 mvn r0, #2 @ , 11654 0282 C5E6 b .L818 @ 11655 .L854: 11656 .align 2 11657 .L853: 11658 0284 00000000 .word _ZL9_i2c_devs 11659 0288 00540040 .word 1073763328 11660 028c 00000000 .word APBPrescTable 11661 0290 00380240 .word 1073887232 11662 0294 00000000 .word SystemCoreClock 11663 0298 A0860100 .word 100000 11664 029c 7F841E00 .word 1999999 11665 02a0 FF083D00 .word 3999999 11666 02a4 00580040 .word 1073764352 11667 02a8 005C0040 .word 1073765376 11668 02ac 40420F00 .word 1000000 11669 .cfi_endproc 11670 .LFE196: 11671 .size _Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t, .-_Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t 11672 .section .text._Z16stm32_i2c_deinith,"ax",%progbits 11673 .align 1 11674 .global _Z16stm32_i2c_deinith 11675 .syntax unified 11676 .thumb 11677 .thumb_func 11678 .type _Z16stm32_i2c_deinith, %function 11679 _Z16stm32_i2c_deinith: 11680 .LVL647: 11681 .LFB210: 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 11682 .loc 3 546 1 is_stmt 1 view -0 11683 .cfi_startproc 11684 @ args = 0, pretend = 0, frame = 0 11685 @ frame_needed = 0, uses_anonymous_args = 0 547:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; ARM GAS /tmp/ccjvgGVC.s page 678 11686 .loc 3 547 3 view .LVU2902 11687 .LBB885: 11688 .LBI885: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 11689 .loc 3 54 27 view .LVU2903 11690 .LBB886: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 11691 .loc 3 56 3 view .LVU2904 11692 0000 0128 cmp r0, #1 @ bus, 11693 .LBE886: 11694 .LBE885: 11695 @ /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); 11696 .loc 3 546 1 is_stmt 0 view .LVU2905 11697 0002 70B5 push {r4, r5, r6, lr} @ 11698 .LCFI87: 11699 .cfi_def_cfa_offset 16 11700 .cfi_offset 4, -16 11701 .cfi_offset 5, -12 11702 .cfi_offset 6, -8 11703 .cfi_offset 14, -4 11704 @ /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); 11705 .loc 3 546 1 view .LVU2906 11706 0004 0546 mov r5, r0 @ bus, tmp197 11707 .LVL648: 11708 .LBB889: 11709 .LBB887: 11710 @ /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; 11711 .loc 3 56 3 view .LVU2907 11712 0006 02D9 bls .L856 @, 11713 .LVL649: 11714 .L861: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 11715 .loc 3 56 3 view .LVU2908 11716 .LBE887: 11717 .LBE889: 11718 @ /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 **** 11719 .loc 3 548 19 discriminator 1 view .LVU2909 11720 0008 4FF0FF30 mov r0, #-1 @ , 11721 .L855: 11722 @ /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 **** 11723 .loc 3 565 1 view .LVU2910 11724 000c 70BD pop {r4, r5, r6, pc} @ 11725 .LVL650: 11726 .L856: 11727 .LBB890: 11728 .LBB888: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11729 .loc 3 57 3 is_stmt 1 view .LVU2911 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11730 .loc 3 57 3 is_stmt 0 view .LVU2912 11731 .LBE888: 11732 .LBE890: ARM GAS /tmp/ccjvgGVC.s page 679 548:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11733 .loc 3 548 3 is_stmt 1 view .LVU2913 550:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11734 .loc 3 550 3 view .LVU2914 11735 .LBB891: 11736 .LBI891: 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11737 .loc 9 550 19 view .LVU2915 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11738 .loc 9 553 3 view .LVU2916 11739 .LBB892: 11740 .LBI892: 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11741 .loc 9 550 19 view .LVU2917 11742 .LBB893: 559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11743 .loc 9 559 3 view .LVU2918 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11744 .loc 9 561 3 view .LVU2919 11745 @ /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 **** 11746 .loc 9 561 15 is_stmt 0 view .LVU2920 11747 000e 224C ldr r4, .L867 @ tmp131, 11748 0010 A826 movs r6, #168 @ tmp133, 11749 0012 4643 muls r6, r0, r6 @ tmp132, bus 11750 0014 A319 adds r3, r4, r6 @ tmp134, tmp131, tmp132 11751 .LVL651: 11752 @ /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 **** 11753 .loc 9 564 3 view .LVU2921 11754 0016 A159 ldr r1, [r4, r6] @ _27, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 11755 @ /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 **** 11756 .loc 9 561 15 view .LVU2922 11757 0018 2422 movs r2, #36 @ tmp136, 11758 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 **** 11759 .loc 9 564 3 is_stmt 1 view .LVU2923 11760 001e 0A68 ldr r2, [r1] @ _28, _27->CR1 11761 .LBE893: 11762 .LBE892: 11763 .LBE891: 11764 @ /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 **** 11765 .loc 3 552 10 is_stmt 0 view .LVU2924 11766 0020 4042 rsbs r0, r0, #0 @ tmp175, bus 11767 .LVL652: 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11768 .loc 3 552 10 view .LVU2925 11769 0022 00F0A800 and r0, r0, #168 @ _1, tmp175, 11770 .LBB902: 11771 .LBB898: 11772 .LBB894: 11773 @ /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 **** 11774 .loc 9 564 3 view .LVU2926 11775 0026 22F00102 bic r2, r2, #1 @ _29, _28, ARM GAS /tmp/ccjvgGVC.s page 680 11776 .LBE894: 11777 .LBE898: 11778 .LBE902: 11779 @ /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 **** 11780 .loc 3 552 10 view .LVU2927 11781 002a 0430 adds r0, r0, #4 @ _35, _1, 11782 .LBB903: 11783 .LBB899: 11784 .LBB895: 11785 @ /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 **** 11786 .loc 9 564 3 view .LVU2928 11787 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 */ 11788 .loc 9 576 3 is_stmt 1 view .LVU2929 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 11789 .loc 9 579 3 view .LVU2930 11790 .LBE895: 11791 .LBE899: 11792 .LBE903: 11793 @ /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 **** 11794 .loc 3 552 9 is_stmt 0 view .LVU2931 11795 002e 2044 add r0, r0, r4 @, tmp131 11796 .LBB904: 11797 .LBB900: 11798 .LBB896: 11799 @ /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; 11800 .loc 9 579 23 view .LVU2932 11801 0030 0021 movs r1, #0 @ tmp147, 11802 .LBE896: 11803 .LBE900: 11804 .LBE904: 11805 @ /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 **** 11806 .loc 3 552 9 view .LVU2933 11807 0032 2022 movs r2, #32 @, 11808 .LBB905: 11809 .LBB901: 11810 .LBB897: 11811 @ /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; 11812 .loc 9 579 23 view .LVU2934 11813 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; 11814 .loc 9 580 3 is_stmt 1 view .LVU2935 11815 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:585: __HAL 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11816 .loc 9 585 3 is_stmt 0 view .LVU2936 11817 0036 83F83C10 strb r1, [r3, #60] @ tmp147, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 11818 @ /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; 11819 .loc 9 580 23 view .LVU2937 11820 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; ARM GAS /tmp/ccjvgGVC.s page 681 11821 .loc 9 581 3 is_stmt 1 view .LVU2938 11822 @ /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; 11823 .loc 9 581 23 is_stmt 0 view .LVU2939 11824 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 **** 11825 .loc 9 582 3 is_stmt 1 view .LVU2940 11826 @ /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 **** 11827 .loc 9 582 23 is_stmt 0 view .LVU2941 11828 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 **** 11829 .loc 9 585 3 is_stmt 1 view .LVU2942 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11830 .loc 9 585 3 view .LVU2943 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11831 .loc 9 585 3 view .LVU2944 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 11832 .loc 9 587 3 view .LVU2945 11833 .LVL653: 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 11834 .loc 9 587 3 is_stmt 0 view .LVU2946 11835 .LBE897: 11836 .LBE901: 11837 .LBE905: 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11838 .loc 3 552 3 is_stmt 1 view .LVU2947 11839 @ /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 **** 11840 .loc 3 552 9 is_stmt 0 view .LVU2948 11841 0044 FFF7FEFF bl memset @ 11842 .LVL654: 554:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_MspDeInit() I2C misconfiguration"); 11843 .loc 3 554 3 is_stmt 1 view .LVU2949 11844 @ /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"); 11845 .loc 3 554 24 is_stmt 0 view .LVU2950 11846 0048 A359 ldr r3, [r4, r6] @ _3, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_ 11847 .LVL655: 11848 .LBB906: 11849 .LBI906: 419:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 11850 .loc 3 419 12 is_stmt 1 view .LVU2951 11851 .LBB907: 422:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_I2C1); 11852 .loc 3 422 3 view .LVU2952 11853 004a 144A ldr r2, .L867+4 @ tmp187, 11854 004c 9342 cmp r3, r2 @ _3, tmp187 11855 004e 17D1 bne .L858 @, 423:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C2) 11856 .loc 3 423 5 view .LVU2953 11857 @ /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) 11858 .loc 3 423 30 is_stmt 0 view .LVU2954 11859 0050 4FF40010 mov r0, #2097152 @, 11860 .L866: 11861 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:427: LL_APB1_GRP1_ ARM GAS /tmp/ccjvgGVC.s page 682 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11862 .loc 3 427 30 view .LVU2955 11863 0054 FFF7FEFF bl LL_APB1_GRP1_DisableClock.lto_priv.2.lto_priv.0 @ 11864 .LVL656: 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11865 .loc 3 427 30 view .LVU2956 11866 .LBE907: 11867 .LBE906: 559:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!dev) return -1; 11868 .loc 3 559 3 is_stmt 1 view .LVU2957 11869 .LBB909: 11870 .LBI909: 48:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 11871 .loc 3 48 26 view .LVU2958 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus]; 11872 .loc 3 50 3 view .LVU2959 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11873 .loc 3 51 3 view .LVU2960 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11874 .loc 3 51 3 is_stmt 0 view .LVU2961 11875 .LBE909: 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11876 .loc 3 560 3 is_stmt 1 view .LVU2962 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11877 .loc 3 562 3 view .LVU2963 11878 @ /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 **** 11879 .loc 3 562 18 is_stmt 0 view .LVU2964 11880 0058 A823 movs r3, #168 @ tmp192, 11881 005a 03FB0544 mla r4, r3, r5, r4 @ tmp193, tmp192, bus, tmp131 11882 .LBB910: 11883 .LBB911: 11884 @ /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); 11885 .loc 3 461 12 view .LVU2965 11886 005e 0022 movs r2, #0 @, 11887 .LBE911: 11888 .LBE910: 11889 @ /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 **** 11890 .loc 3 562 18 view .LVU2966 11891 0060 646D ldr r4, [r4, #84] @ _5, MEM [(struct stm32_i2c_device *)&_i2c_devs][_ 11892 .LVL657: 11893 .LBB913: 11894 .LBI910: 458:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 11895 .loc 3 458 12 is_stmt 1 view .LVU2967 11896 .LBB912: 11897 @ /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); 11898 .loc 3 461 12 is_stmt 0 view .LVU2968 11899 0062 1146 mov r1, r2 @, 11900 0064 6068 ldr r0, [r4, #4] @, _5->SCL_GPIO 11901 0066 FFF7FEFF bl _Z9gpio_initmhh @ 11902 .LVL658: 11903 @ /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 **** ARM GAS /tmp/ccjvgGVC.s page 683 11904 .loc 3 462 12 view .LVU2969 11905 006a 0022 movs r2, #0 @, 11906 006c A068 ldr r0, [r4, #8] @, _5->SDA_GPIO 11907 006e 1146 mov r1, r2 @, 11908 0070 FFF7FEFF bl _Z9gpio_initmhh @ 11909 .LVL659: 11910 @ /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); 11911 .loc 3 464 15 view .LVU2970 11912 0074 2369 ldr r3, [r4, #16] @ _34, _5->set_pwr 11913 @ /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); 11914 .loc 3 464 3 view .LVU2971 11915 0076 0BB1 cbz r3, .L862 @ _34, 11916 @ /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 **** } 11917 .loc 3 465 20 view .LVU2972 11918 0078 0020 movs r0, #0 @, 11919 007a 9847 blx r3 @ _34 11920 .LVL660: 11921 .L862: 11922 .LBE912: 11923 .LBE913: 11924 @ /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 **** } 11925 .loc 3 564 10 view .LVU2973 11926 007c 0020 movs r0, #0 @ , 11927 .LVL661: 564:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11928 .loc 3 564 10 view .LVU2974 11929 007e C5E7 b .L855 @ 11930 .LVL662: 11931 .L858: 11932 .LBB914: 11933 .LBB908: 424:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_I2C2); 11934 .loc 3 424 8 is_stmt 1 view .LVU2975 11935 0080 074A ldr r2, .L867+8 @ tmp188, 11936 0082 9342 cmp r3, r2 @ _3, tmp188 11937 0084 02D1 bne .L860 @, 425:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C3) 11938 .loc 3 425 5 view .LVU2976 11939 @ /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) 11940 .loc 3 425 30 is_stmt 0 view .LVU2977 11941 0086 4FF48000 mov r0, #4194304 @, 11942 008a E3E7 b .L866 @ 11943 .L860: 426:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_I2C3); 11944 .loc 3 426 8 is_stmt 1 view .LVU2978 11945 008c 054A ldr r2, .L867+12 @ tmp189, 11946 008e 9342 cmp r3, r2 @ _3, tmp189 11947 0090 BAD1 bne .L861 @, 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11948 .loc 3 427 5 view .LVU2979 11949 @ /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) ARM GAS /tmp/ccjvgGVC.s page 684 11950 .loc 3 427 30 is_stmt 0 view .LVU2980 11951 0092 4FF40000 mov r0, #8388608 @, 11952 0096 DDE7 b .L866 @ 11953 .L868: 11954 .align 2 11955 .L867: 11956 0098 00000000 .word _ZL9_i2c_devs 11957 009c 00540040 .word 1073763328 11958 00a0 00580040 .word 1073764352 11959 00a4 005C0040 .word 1073765376 11960 .LBE908: 11961 .LBE914: 11962 .cfi_endproc 11963 .LFE210: 11964 .size _Z16stm32_i2c_deinith, .-_Z16stm32_i2c_deinith 11965 .section .bss.uwTick,"aw",%nobits 11966 .align 2 11967 .type uwTick, %object 11968 .size uwTick, 4 11969 uwTick: 11970 0000 00000000 .space 4 11971 .section .rodata._ZL15usbSerialDriver,"a" 11972 .align 2 11973 .type _ZL15usbSerialDriver, %object 11974 .size _ZL15usbSerialDriver, 76 11975 _ZL15usbSerialDriver: 11976 @ init: 11977 0000 00000000 .word _ZL13usbSerialInitPvPK15etx_serial_init.lto_priv.0 11978 @ deinit: 11979 0004 00000000 .word 0 11980 @ sendByte: 11981 0008 00000000 .word _Z13usbSerialPutcPvh 11982 @ sendBuffer: 11983 000c 00000000 .word 0 11984 @ waitForTxCompleted: 11985 0010 00000000 .space 4 11986 0014 00000000 .word 0 11987 @ getByte: 11988 0018 00000000 .space 4 11989 001c 00000000 .word 0 11990 @ clearRxBuffer: 11991 0020 00000000 .space 12 11991 00000000 11991 00000000 11992 002c 00000000 .word 0 11993 @ getBaudrate: 11994 0030 00000000 .word _Z17usbSerialBaudRatePv 11995 @ setReceiveCb: 11996 0034 00000000 .space 12 11996 00000000 11996 00000000 11997 0040 00000000 .word _Z25usbSerialSetReceiveDataCbPvPFvPhmE 11998 @ setBaudrateCb: 11999 0044 00000000 .space 4 12000 0048 00000000 .word _Z22usbSerialSetBaudRateCbPvPFvmE 12001 .global UsbSerialPort 12002 .section .rodata.str1.1,"aMS",%progbits,1 ARM GAS /tmp/ccjvgGVC.s page 685 12003 .LC0: 12004 0000 5553422D .ascii "USB-VCP\000" 12004 56435000 12005 .section .rodata.UsbSerialPort,"a" 12006 .align 2 12007 .type UsbSerialPort, %object 12008 .size UsbSerialPort, 16 12009 UsbSerialPort: 12010 @ name: 12011 0000 00000000 .word .LC0 12012 @ uart: 12013 0004 00000000 .word _ZL15usbSerialDriver 12014 @ hw_def: 12015 0008 00000000 .word 0 12016 @ set_pwr: 12017 000c 00000000 .word 0 12018 .section .bss._ZL9_i2c_devs,"aw",%nobits 12019 .align 2 12020 .type _ZL9_i2c_devs, %object 12021 .size _ZL9_i2c_devs, 336 12022 _ZL9_i2c_devs: 12023 0000 00000000 .space 336 12023 00000000 12023 00000000 12023 00000000 12023 00000000 12024 .text 12025 .Letext0: 12026 .file 25 "" 12027 .section .debug_info,"",%progbits 12028 .Ldebug_info0: 12029 0000 A3340000 .4byte 0x34a3 12030 0004 0200 .2byte 0x2 12031 0006 00000000 .4byte .Ldebug_abbrev0 12032 000a 04 .byte 0x4 12033 000b 01 .uleb128 0x1 12034 000c AA010000 .4byte .LASF16 12035 0010 04 .byte 0x4 12036 0011 B7000000 .4byte .LASF17 12037 0015 C4000000 .4byte .LASF18 12038 0019 48090000 .4byte .Ldebug_ranges0+0x948 12039 001d 00000000 .4byte 0 12040 0021 00000000 .4byte 0 12041 0025 00000000 .4byte .Ldebug_line0 12042 0029 02 .uleb128 0x2 12043 002a 08 .byte 0x8 12044 002b 07 .byte 0x7 12045 002c 21010000 .4byte .LASF0 12046 0030 02 .uleb128 0x2 12047 0031 04 .byte 0x4 12048 0032 07 .byte 0x7 12049 0033 07000000 .4byte .LASF1 12050 0037 02 .uleb128 0x2 12051 0038 01 .byte 0x1 12052 0039 08 .byte 0x8 12053 003a 12030000 .4byte .LASF2 12054 003e 02 .uleb128 0x2 ARM GAS /tmp/ccjvgGVC.s page 686 12055 003f 02 .byte 0x2 12056 0040 07 .byte 0x7 12057 0041 BC030000 .4byte .LASF3 12058 0045 03 .uleb128 0x3 12059 0046 9F100000 .4byte stm32f4xx_ll_usb.c.034a61b9+4255 12060 004a 00000000 .4byte .LFB1 12061 004e 1A000000 .4byte .LFE1 12062 0052 02 .byte 0x2 12063 0053 7D .byte 0x7d 12064 0054 00 .sleb128 0 12065 0055 01 .byte 0x1 12066 0056 6F000000 .4byte 0x6f 12067 005a 04 .uleb128 0x4 12068 005b B2100000 .4byte stm32f4xx_ll_usb.c.034a61b9+4274 12069 005f 01 .byte 0x1 12070 0060 50 .byte 0x50 12071 0061 05 .uleb128 0x5 12072 0062 BF100000 .4byte stm32f4xx_ll_usb.c.034a61b9+4287 12073 0066 02000000 .4byte .LLST0 12074 006a 00000000 .4byte .LVUS0 12075 006e 00 .byte 0 12076 006f 03 .uleb128 0x3 12077 0070 CD100000 .4byte stm32f4xx_ll_usb.c.034a61b9+4301 12078 0074 00000000 .4byte .LFB3 12079 0078 1A000000 .4byte .LFE3 12080 007c 02 .byte 0x2 12081 007d 7D .byte 0x7d 12082 007e 00 .sleb128 0 12083 007f 01 .byte 0x1 12084 0080 99000000 .4byte 0x99 12085 0084 04 .uleb128 0x4 12086 0085 E0100000 .4byte stm32f4xx_ll_usb.c.034a61b9+4320 12087 0089 01 .byte 0x1 12088 008a 50 .byte 0x50 12089 008b 05 .uleb128 0x5 12090 008c ED100000 .4byte stm32f4xx_ll_usb.c.034a61b9+4333 12091 0090 17000000 .4byte .LLST1 12092 0094 15000000 .4byte .LVUS1 12093 0098 00 .byte 0 12094 0099 06 .uleb128 0x6 12095 009a 72130000 .4byte stm32f4xx_ll_usb.c.034a61b9+4978 12096 009e 00000000 .4byte .LFB5 12097 00a2 8C010000 .4byte .LFE5 12098 00a6 2A000000 .4byte .LLST2 12099 00aa 01 .byte 0x1 12100 00ab 77010000 .4byte 0x177 12101 00af 07 .uleb128 0x7 12102 00b0 85130000 .4byte stm32f4xx_ll_usb.c.034a61b9+4997 12103 00b4 56000000 .4byte .LLST3 12104 00b8 4A000000 .4byte .LVUS3 12105 00bc 07 .uleb128 0x7 12106 00bd 92130000 .4byte stm32f4xx_ll_usb.c.034a61b9+5010 12107 00c1 B9000000 .4byte .LLST4 12108 00c5 AF000000 .4byte .LVUS4 12109 00c9 07 .uleb128 0x7 12110 00ca 9E130000 .4byte stm32f4xx_ll_usb.c.034a61b9+5022 12111 00ce 0E010000 .4byte .LLST5 ARM GAS /tmp/ccjvgGVC.s page 687 12112 00d2 0A010000 .4byte .LVUS5 12113 00d6 05 .uleb128 0x5 12114 00d7 AB130000 .4byte stm32f4xx_ll_usb.c.034a61b9+5035 12115 00db 38010000 .4byte .LLST6 12116 00df 2C010000 .4byte .LVUS6 12117 00e3 05 .uleb128 0x5 12118 00e4 B8130000 .4byte stm32f4xx_ll_usb.c.034a61b9+5048 12119 00e8 99010000 .4byte .LLST7 12120 00ec 91010000 .4byte .LVUS7 12121 00f0 05 .uleb128 0x5 12122 00f1 C5130000 .4byte stm32f4xx_ll_usb.c.034a61b9+5061 12123 00f5 D8010000 .4byte .LLST8 12124 00f9 D4010000 .4byte .LVUS8 12125 00fd 08 .uleb128 0x8 12126 00fe 97120000 .4byte stm32f4xx_ll_usb.c.034a61b9+4759 12127 0102 00000000 .4byte .Ldebug_ranges0+0 12128 0106 02 .byte 0x2 12129 0107 3003 .2byte 0x330 12130 0109 0F .byte 0xf 12131 010a 07 .uleb128 0x7 12132 010b AA120000 .4byte stm32f4xx_ll_usb.c.034a61b9+4778 12133 010f 1D020000 .4byte .LLST9 12134 0113 17020000 .4byte .LVUS9 12135 0117 07 .uleb128 0x7 12136 0118 B7120000 .4byte stm32f4xx_ll_usb.c.034a61b9+4791 12137 011c 50020000 .4byte .LLST10 12138 0120 4C020000 .4byte .LVUS10 12139 0124 09 .uleb128 0x9 12140 0125 C4120000 .4byte stm32f4xx_ll_usb.c.034a61b9+4804 12141 0129 07 .uleb128 0x7 12142 012a D1120000 .4byte stm32f4xx_ll_usb.c.034a61b9+4817 12143 012e 7B020000 .4byte .LLST11 12144 0132 79020000 .4byte .LVUS11 12145 0136 07 .uleb128 0x7 12146 0137 DE120000 .4byte stm32f4xx_ll_usb.c.034a61b9+4830 12147 013b 90020000 .4byte .LLST12 12148 013f 8E020000 .4byte .LVUS12 12149 0143 0A .uleb128 0xa 12150 0144 00000000 .4byte .Ldebug_ranges0+0 12151 0148 05 .uleb128 0x5 12152 0149 EB120000 .4byte stm32f4xx_ll_usb.c.034a61b9+4843 12153 014d 1D020000 .4byte .LLST9 12154 0151 17020000 .4byte .LVUS9 12155 0155 05 .uleb128 0x5 12156 0156 F8120000 .4byte stm32f4xx_ll_usb.c.034a61b9+4856 12157 015a A9020000 .4byte .LLST14 12158 015e A3020000 .4byte .LVUS14 12159 0162 0B .uleb128 0xb 12160 0163 05130000 .4byte stm32f4xx_ll_usb.c.034a61b9+4869 12161 0167 05 .uleb128 0x5 12162 0168 12130000 .4byte stm32f4xx_ll_usb.c.034a61b9+4882 12163 016c D7020000 .4byte .LLST15 12164 0170 D5020000 .4byte .LVUS15 12165 0174 00 .byte 0 12166 0175 00 .byte 0 12167 0176 00 .byte 0 12168 0177 06 .uleb128 0x6 ARM GAS /tmp/ccjvgGVC.s page 688 12169 0178 1E130000 .4byte stm32f4xx_ll_usb.c.034a61b9+4894 12170 017c 00000000 .4byte .LFB9 12171 0180 F0000000 .4byte .LFE9 12172 0184 EB020000 .4byte .LLST16 12173 0188 01 .byte 0x1 12174 0189 C9010000 .4byte 0x1c9 12175 018d 07 .uleb128 0x7 12176 018e 31130000 .4byte stm32f4xx_ll_usb.c.034a61b9+4913 12177 0192 13030000 .4byte .LLST17 12178 0196 0B030000 .4byte .LVUS17 12179 019a 04 .uleb128 0x4 12180 019b 3E130000 .4byte stm32f4xx_ll_usb.c.034a61b9+4926 12181 019f 01 .byte 0x1 12182 01a0 51 .byte 0x51 12183 01a1 07 .uleb128 0x7 12184 01a2 4A130000 .4byte stm32f4xx_ll_usb.c.034a61b9+4938 12185 01a6 5F030000 .4byte .LLST18 12186 01aa 53030000 .4byte .LVUS18 12187 01ae 05 .uleb128 0x5 12188 01af 57130000 .4byte stm32f4xx_ll_usb.c.034a61b9+4951 12189 01b3 CC030000 .4byte .LLST19 12190 01b7 C4030000 .4byte .LVUS19 12191 01bb 05 .uleb128 0x5 12192 01bc 64130000 .4byte stm32f4xx_ll_usb.c.034a61b9+4964 12193 01c0 12040000 .4byte .LLST20 12194 01c4 0C040000 .4byte .LVUS20 12195 01c8 00 .byte 0 12196 01c9 06 .uleb128 0x6 12197 01ca 931A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6803 12198 01ce 00000000 .4byte .LFB10 12199 01d2 20000000 .4byte .LFE10 12200 01d6 4A040000 .4byte .LLST21 12201 01da 01 .byte 0x1 12202 01db 2F020000 .4byte 0x22f 12203 01df 07 .uleb128 0x7 12204 01e0 9F1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6815 12205 01e4 6E040000 .4byte .LLST22 12206 01e8 6A040000 .4byte .LVUS22 12207 01ec 0C .uleb128 0xc 12208 01ed 931A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6803 12209 01f1 10000000 .4byte .LBI10 12210 01f5 0000 .2byte .LVU191 12211 01f7 10000000 .4byte .LBB10 12212 01fb 1E000000 .4byte .LBE10 12213 01ff 03 .byte 0x3 12214 0200 3D .byte 0x3d 12215 0201 0D .byte 0xd 12216 0202 25020000 .4byte 0x225 12217 0206 07 .uleb128 0x7 12218 0207 9F1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6815 12219 020b 8E040000 .4byte .LLST23 12220 020f 8C040000 .4byte .LVUS23 12221 0213 0D .uleb128 0xd 12222 0214 18000000 .4byte .LVL35 12223 0218 34020000 .4byte 0x234 12224 021c 0E .uleb128 0xe 12225 021d 01 .byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 689 12226 021e 50 .byte 0x50 12227 021f 03 .byte 0x3 12228 0220 74 .byte 0x74 12229 0221 D800 .sleb128 88 12230 0223 00 .byte 0 12231 0224 00 .byte 0 12232 0225 0F .uleb128 0xf 12233 0226 0E000000 .4byte .LVL33 12234 022a 2F020000 .4byte 0x22f 12235 022e 00 .byte 0 12236 022f 10 .uleb128 0x10 12237 0230 85150000 .4byte stm32_i2c_driver.cpp.5a928bb9+5509 12238 0234 10 .uleb128 0x10 12239 0235 6D150000 .4byte stm32_i2c_driver.cpp.5a928bb9+5485 12240 0239 06 .uleb128 0x6 12241 023a E61A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6886 12242 023e 00000000 .4byte .LFB13 12243 0242 1C000000 .4byte .LFE13 12244 0246 A1040000 .4byte .LLST24 12245 024a 01 .byte 0x1 12246 024b A3020000 .4byte 0x2a3 12247 024f 07 .uleb128 0x7 12248 0250 F41A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6900 12249 0254 C5040000 .4byte .LLST25 12250 0258 C1040000 .4byte .LVUS25 12251 025c 07 .uleb128 0x7 12252 025d FE1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6910 12253 0261 E7040000 .4byte .LLST26 12254 0265 E3040000 .4byte .LVUS26 12255 0269 11 .uleb128 0x11 12256 026a E61A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6886 12257 026e 10000000 .4byte .LBB20 12258 0272 1A000000 .4byte .LBE20 12259 0276 04 .byte 0x4 12260 0277 74 .byte 0x74 12261 0278 03 .byte 0x3 12262 0279 99020000 .4byte 0x299 12263 027d 09 .uleb128 0x9 12264 027e FE1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6910 12265 0282 07 .uleb128 0x7 12266 0283 F41A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6900 12267 0287 10050000 .4byte .LLST27 12268 028b 0E050000 .4byte .LVUS27 12269 028f 0F .uleb128 0xf 12270 0290 16000000 .4byte .LVL40 12271 0294 A3020000 .4byte 0x2a3 12272 0298 00 .byte 0 12273 0299 0F .uleb128 0xf 12274 029a 0E000000 .4byte .LVL38 12275 029e 2F020000 .4byte 0x22f 12276 02a2 00 .byte 0 12277 02a3 10 .uleb128 0x10 12278 02a4 51150000 .4byte stm32_i2c_driver.cpp.5a928bb9+5457 12279 02a8 06 .uleb128 0x6 12280 02a9 4E1B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6990 12281 02ad 00000000 .4byte .LFB16 12282 02b1 1A000000 .4byte .LFE16 ARM GAS /tmp/ccjvgGVC.s page 690 12283 02b5 23050000 .4byte .LLST28 12284 02b9 01 .byte 0x1 12285 02ba FD020000 .4byte 0x2fd 12286 02be 07 .uleb128 0x7 12287 02bf 391B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6969 12288 02c3 63050000 .4byte .LLST29 12289 02c7 5B050000 .4byte .LVUS29 12290 02cb 12 .uleb128 0x12 12291 02cc 4E1B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6990 12292 02d0 18000000 .4byte .Ldebug_ranges0+0x18 12293 02d4 04 .byte 0x4 12294 02d5 67 .byte 0x67 12295 02d6 03 .byte 0x3 12296 02d7 F3020000 .4byte 0x2f3 12297 02db 07 .uleb128 0x7 12298 02dc 391B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6969 12299 02e0 A4050000 .4byte .LLST30 12300 02e4 A0050000 .4byte .LVUS30 12301 02e8 13 .uleb128 0x13 12302 02e9 18000000 .4byte .LVL46 12303 02ed 01 .byte 0x1 12304 02ee FD020000 .4byte 0x2fd 12305 02f2 00 .byte 0 12306 02f3 0F .uleb128 0xf 12307 02f4 08000000 .4byte .LVL43 12308 02f8 2F020000 .4byte 0x22f 12309 02fc 00 .byte 0 12310 02fd 10 .uleb128 0x10 12311 02fe 39150000 .4byte stm32_i2c_driver.cpp.5a928bb9+5433 12312 0302 06 .uleb128 0x6 12313 0303 DE170000 .4byte diskio_sdio.cpp.de088c1c+6110 12314 0307 00000000 .4byte .LFB18 12315 030b E8010000 .4byte .LFE18 12316 030f CB050000 .4byte .LLST31 12317 0313 01 .byte 0x1 12318 0314 6C050000 .4byte 0x56c 12319 0318 14 .uleb128 0x14 12320 0319 B7160000 .4byte stm32f4xx_hal_sd.c.fce97b96+5815 12321 031d 00000000 .4byte .LBI64 12322 0321 0300 .2byte .LVU229 12323 0323 30000000 .4byte .Ldebug_ranges0+0x30 12324 0327 05 .byte 0x5 12325 0328 8802 .2byte 0x288 12326 032a 14 .byte 0x14 12327 032b 09 .uleb128 0x9 12328 032c C6160000 .4byte stm32f4xx_hal_sd.c.fce97b96+5830 12329 0330 0A .uleb128 0xa 12330 0331 38000000 .4byte .Ldebug_ranges0+0x38 12331 0335 05 .uleb128 0x5 12332 0336 D3160000 .4byte stm32f4xx_hal_sd.c.fce97b96+5843 12333 033a 07060000 .4byte .LLST33 12334 033e 03060000 .4byte .LVUS33 12335 0342 05 .uleb128 0x5 12336 0343 E0160000 .4byte stm32f4xx_hal_sd.c.fce97b96+5856 12337 0347 2D060000 .4byte .LLST34 12338 034b 25060000 .4byte .LVUS34 12339 034f 15 .uleb128 0x15 ARM GAS /tmp/ccjvgGVC.s page 691 12340 0350 2E100000 .4byte stm32f4xx_hal_sd.c.fce97b96+4142 12341 0354 12000000 .4byte .LBI66 12342 0358 0000 .2byte .LVU238 12343 035a 12000000 .4byte .LBB66 12344 035e 48000000 .4byte .LBE66 12345 0362 06 .byte 0x6 12346 0363 ED05 .2byte 0x5ed 12347 0365 05 .byte 0x5 12348 0366 C1030000 .4byte 0x3c1 12349 036a 09 .uleb128 0x9 12350 036b 3C100000 .4byte stm32f4xx_hal_sd.c.fce97b96+4156 12351 036f 0B .uleb128 0xb 12352 0370 49100000 .4byte stm32f4xx_hal_sd.c.fce97b96+4169 12353 0374 05 .uleb128 0x5 12354 0375 56100000 .4byte stm32f4xx_hal_sd.c.fce97b96+4182 12355 0379 63060000 .4byte .LLST36 12356 037d 61060000 .4byte .LVUS36 12357 0381 05 .uleb128 0x5 12358 0382 63100000 .4byte stm32f4xx_hal_sd.c.fce97b96+4195 12359 0386 78060000 .4byte .LLST37 12360 038a 76060000 .4byte .LVUS37 12361 038e 05 .uleb128 0x5 12362 038f 70100000 .4byte stm32f4xx_hal_sd.c.fce97b96+4208 12363 0393 97060000 .4byte .LLST38 12364 0397 8B060000 .4byte .LVUS38 12365 039b 16 .uleb128 0x16 12366 039c 670E0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3687 12367 03a0 20000000 .4byte .LBI68 12368 03a4 0000 .2byte .LVU243 12369 03a6 20000000 .4byte .LBB68 12370 03aa 24000000 .4byte .LBE68 12371 03ae 06 .byte 0x6 12372 03af 810C .2byte 0xc81 12373 03b1 0E .byte 0xe 12374 03b2 07 .uleb128 0x7 12375 03b3 7A0E0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3706 12376 03b7 ED060000 .4byte .LLST39 12377 03bb EB060000 .4byte .LVUS39 12378 03bf 00 .byte 0 12379 03c0 00 .byte 0 12380 03c1 17 .uleb128 0x17 12381 03c2 20180000 .4byte diskio_sdio.cpp.de088c1c+6176 12382 03c6 84000000 .4byte .LBI70 12383 03ca 0000 .2byte .LVU276 12384 03cc 58000000 .4byte .Ldebug_ranges0+0x58 12385 03d0 06 .byte 0x6 12386 03d1 0B06 .2byte 0x60b 12387 03d3 0B .byte 0xb 12388 03d4 DE030000 .4byte 0x3de 12389 03d8 09 .uleb128 0x9 12390 03d9 2E180000 .4byte diskio_sdio.cpp.de088c1c+6190 12391 03dd 00 .byte 0 12392 03de 15 .uleb128 0x15 12393 03df E8170000 .4byte diskio_sdio.cpp.de088c1c+6120 12394 03e3 9C000000 .4byte .LBI74 12395 03e7 0000 .2byte .LVU284 12396 03e9 9C000000 .4byte .LBB74 ARM GAS /tmp/ccjvgGVC.s page 692 12397 03ed 9E000000 .4byte .LBE74 12398 03f1 06 .byte 0x6 12399 03f2 1A06 .2byte 0x61a 12400 03f4 09 .byte 0x9 12401 03f5 FF030000 .4byte 0x3ff 12402 03f9 09 .uleb128 0x9 12403 03fa F6170000 .4byte diskio_sdio.cpp.de088c1c+6134 12404 03fe 00 .byte 0 12405 03ff 17 .uleb128 0x17 12406 0400 F2060000 .4byte stm32f4xx_hal_dma.c.aaf79847+1778 12407 0404 96010000 .4byte .LBI76 12408 0408 0000 .2byte .LVU363 12409 040a 70000000 .4byte .Ldebug_ranges0+0x70 12410 040e 06 .byte 0x6 12411 040f 9C06 .2byte 0x69c 12412 0411 0C .byte 0xc 12413 0412 45040000 .4byte 0x445 12414 0416 07 .uleb128 0x7 12415 0417 05070000 .4byte stm32f4xx_hal_dma.c.aaf79847+1797 12416 041b 04070000 .4byte .LLST42 12417 041f 00070000 .4byte .LVUS42 12418 0423 14 .uleb128 0x14 12419 0424 F2060000 .4byte stm32f4xx_hal_dma.c.aaf79847+1778 12420 0428 B6010000 .4byte .LBI78 12421 042c 0000 .2byte .LVU378 12422 042e 98000000 .4byte .Ldebug_ranges0+0x98 12423 0432 08 .byte 0x8 12424 0433 4502 .2byte 0x245 12425 0435 13 .byte 0x13 12426 0436 07 .uleb128 0x7 12427 0437 05070000 .4byte stm32f4xx_hal_dma.c.aaf79847+1797 12428 043b 24070000 .4byte .LLST43 12429 043f 22070000 .4byte .LVUS43 12430 0443 00 .byte 0 12431 0444 00 .byte 0 12432 0445 17 .uleb128 0x17 12433 0446 20180000 .4byte diskio_sdio.cpp.de088c1c+6176 12434 044a BA000000 .4byte .LBI85 12435 044e 0000 .2byte .LVU298 12436 0450 B0000000 .4byte .Ldebug_ranges0+0xb0 12437 0454 06 .byte 0x6 12438 0455 3106 .2byte 0x631 12439 0457 0B .byte 0xb 12440 0458 62040000 .4byte 0x462 12441 045c 09 .uleb128 0x9 12442 045d 2E180000 .4byte diskio_sdio.cpp.de088c1c+6190 12443 0461 00 .byte 0 12444 0462 15 .uleb128 0x15 12445 0463 04180000 .4byte diskio_sdio.cpp.de088c1c+6148 12446 0467 D0000000 .4byte .LBI89 12447 046b 0000 .2byte .LVU305 12448 046d D0000000 .4byte .LBB89 12449 0471 D4000000 .4byte .LBE89 12450 0475 06 .byte 0x6 12451 0476 4006 .2byte 0x640 12452 0478 09 .byte 0x9 12453 0479 83040000 .4byte 0x483 ARM GAS /tmp/ccjvgGVC.s page 693 12454 047d 09 .uleb128 0x9 12455 047e 12180000 .4byte diskio_sdio.cpp.de088c1c+6162 12456 0482 00 .byte 0 12457 0483 15 .uleb128 0x15 12458 0484 D80F0000 .4byte stm32f4xx_hal_sd.c.fce97b96+4056 12459 0488 DE000000 .4byte .LBI91 12460 048c 0000 .2byte .LVU311 12461 048e DE000000 .4byte .LBB91 12462 0492 FE000000 .4byte .LBE91 12463 0496 06 .byte 0x6 12464 0497 4C06 .2byte 0x64c 12465 0499 05 .byte 0x5 12466 049a 02050000 .4byte 0x502 12467 049e 09 .uleb128 0x9 12468 049f E60F0000 .4byte stm32f4xx_hal_sd.c.fce97b96+4070 12469 04a3 0B .uleb128 0xb 12470 04a4 F30F0000 .4byte stm32f4xx_hal_sd.c.fce97b96+4083 12471 04a8 05 .uleb128 0x5 12472 04a9 00100000 .4byte stm32f4xx_hal_sd.c.fce97b96+4096 12473 04ad 39070000 .4byte .LLST47 12474 04b1 37070000 .4byte .LVUS47 12475 04b5 05 .uleb128 0x5 12476 04b6 0D100000 .4byte stm32f4xx_hal_sd.c.fce97b96+4109 12477 04ba 73070000 .4byte .LLST48 12478 04be 71070000 .4byte .LVUS48 12479 04c2 05 .uleb128 0x5 12480 04c3 1A100000 .4byte stm32f4xx_hal_sd.c.fce97b96+4122 12481 04c7 88070000 .4byte .LLST49 12482 04cb 86070000 .4byte .LVUS49 12483 04cf 16 .uleb128 0x16 12484 04d0 330E0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3635 12485 04d4 EE000000 .4byte .LBI93 12486 04d8 0000 .2byte .LVU316 12487 04da EE000000 .4byte .LBB93 12488 04de F2000000 .4byte .LBE93 12489 04e2 06 .byte 0x6 12490 04e3 B40C .2byte 0xcb4 12491 04e5 0D .byte 0xd 12492 04e6 07 .uleb128 0x7 12493 04e7 530E0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3667 12494 04eb 9D070000 .4byte .LLST50 12495 04ef 9B070000 .4byte .LVUS50 12496 04f3 07 .uleb128 0x7 12497 04f4 460E0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3654 12498 04f8 B7070000 .4byte .LLST51 12499 04fc B5070000 .4byte .LVUS51 12500 0500 00 .byte 0 12501 0501 00 .byte 0 12502 0502 15 .uleb128 0x15 12503 0503 20180000 .4byte diskio_sdio.cpp.de088c1c+6176 12504 0507 7C010000 .4byte .LBI95 12505 050b 0000 .2byte .LVU355 12506 050d 7C010000 .4byte .LBB95 12507 0511 84010000 .4byte .LBE95 12508 0515 06 .byte 0x6 12509 0516 8706 .2byte 0x687 12510 0518 07 .byte 0x7 ARM GAS /tmp/ccjvgGVC.s page 694 12511 0519 23050000 .4byte 0x523 12512 051d 09 .uleb128 0x9 12513 051e 2E180000 .4byte diskio_sdio.cpp.de088c1c+6190 12514 0522 00 .byte 0 12515 0523 18 .uleb128 0x18 12516 0524 7A000000 .4byte .LVL62 12517 0528 6C050000 .4byte 0x56c 12518 052c 37050000 .4byte 0x537 12519 0530 0E .uleb128 0xe 12520 0531 01 .byte 0x1 12521 0532 50 .byte 0x50 12522 0533 02 .byte 0x2 12523 0534 75 .byte 0x75 12524 0535 00 .sleb128 0 12525 0536 00 .byte 0 12526 0537 18 .uleb128 0x18 12527 0538 B0000000 .4byte .LVL69 12528 053c 6C050000 .4byte 0x56c 12529 0540 4B050000 .4byte 0x54b 12530 0544 0E .uleb128 0xe 12531 0545 01 .byte 0x1 12532 0546 50 .byte 0x50 12533 0547 02 .byte 0x2 12534 0548 75 .byte 0x75 12535 0549 00 .sleb128 0 12536 054a 00 .byte 0 12537 054b 18 .uleb128 0x18 12538 054c 66010000 .4byte .LVL81 12539 0550 6C050000 .4byte 0x56c 12540 0554 5F050000 .4byte 0x55f 12541 0558 0E .uleb128 0xe 12542 0559 01 .byte 0x1 12543 055a 50 .byte 0x50 12544 055b 02 .byte 0x2 12545 055c 75 .byte 0x75 12546 055d 00 .sleb128 0 12547 055e 00 .byte 0 12548 055f 13 .uleb128 0x13 12549 0560 AA010000 .4byte .LVL87 12550 0564 01 .byte 0x1 12551 0565 71050000 .4byte 0x571 12552 0569 00 .byte 0 12553 056a 00 .byte 0 12554 056b 00 .byte 0 12555 056c 10 .uleb128 0x10 12556 056d 84090000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2436 12557 0571 10 .uleb128 0x10 12558 0572 02130000 .4byte stm32f4xx_hal_sd.c.fce97b96+4866 12559 0576 06 .uleb128 0x6 12560 0577 D4170000 .4byte diskio_sdio.cpp.de088c1c+6100 12561 057b 00000000 .4byte .LFB38 12562 057f 80010000 .4byte .LFE38 12563 0583 CA070000 .4byte .LLST53 12564 0587 01 .byte 0x1 12565 0588 05060000 .4byte 0x605 12566 058c 14 .uleb128 0x14 12567 058d 1F060000 .4byte stm32f4xx_hal_dma.c.aaf79847+1567 ARM GAS /tmp/ccjvgGVC.s page 695 12568 0591 00000000 .4byte .LBI107 12569 0595 0300 .2byte .LVU394 12570 0597 C8000000 .4byte .Ldebug_ranges0+0xc8 12571 059b 05 .byte 0x5 12572 059c 8F02 .2byte 0x28f 12573 059e 15 .byte 0x15 12574 059f 09 .uleb128 0x9 12575 05a0 2E060000 .4byte stm32f4xx_hal_dma.c.aaf79847+1582 12576 05a4 0A .uleb128 0xa 12577 05a5 D0000000 .4byte .Ldebug_ranges0+0xd0 12578 05a9 05 .uleb128 0x5 12579 05aa 3B060000 .4byte stm32f4xx_hal_dma.c.aaf79847+1595 12580 05ae 1E080000 .4byte .LLST54 12581 05b2 1A080000 .4byte .LVUS54 12582 05b6 19 .uleb128 0x19 12583 05b7 48060000 .4byte stm32f4xx_hal_dma.c.aaf79847+1608 12584 05bb 02 .byte 0x2 12585 05bc 91 .byte 0x91 12586 05bd 64 .sleb128 -28 12587 05be 05 .uleb128 0x5 12588 05bf 55060000 .4byte stm32f4xx_hal_dma.c.aaf79847+1621 12589 05c3 42080000 .4byte .LLST55 12590 05c7 3C080000 .4byte .LVUS55 12591 05cb 05 .uleb128 0x5 12592 05cc 62060000 .4byte stm32f4xx_hal_dma.c.aaf79847+1634 12593 05d0 93080000 .4byte .LLST56 12594 05d4 8F080000 .4byte .LVUS56 12595 05d8 1A .uleb128 0x1a 12596 05d9 92000000 .4byte .LVL95 12597 05dd E8050000 .4byte 0x5e8 12598 05e1 0E .uleb128 0xe 12599 05e2 01 .byte 0x1 12600 05e3 50 .byte 0x50 12601 05e4 02 .byte 0x2 12602 05e5 74 .byte 0x74 12603 05e6 00 .sleb128 0 12604 05e7 00 .byte 0 12605 05e8 1B .uleb128 0x1b 12606 05e9 F0000000 .4byte .LVL99 12607 05ed 01 .byte 0x1 12608 05ee F6050000 .4byte 0x5f6 12609 05f2 1C .uleb128 0x1c 12610 05f3 01 .byte 0x1 12611 05f4 50 .byte 0x50 12612 05f5 00 .byte 0 12613 05f6 1D .uleb128 0x1d 12614 05f7 12010000 .4byte .LVL101 12615 05fb 0E .uleb128 0xe 12616 05fc 01 .byte 0x1 12617 05fd 50 .byte 0x50 12618 05fe 02 .byte 0x2 12619 05ff 74 .byte 0x74 12620 0600 00 .sleb128 0 12621 0601 00 .byte 0 12622 0602 00 .byte 0 12623 0603 00 .byte 0 12624 0604 00 .byte 0 ARM GAS /tmp/ccjvgGVC.s page 696 12625 0605 03 .uleb128 0x3 12626 0606 C8170000 .4byte diskio_sdio.cpp.de088c1c+6088 12627 060a 00000000 .4byte .LFB41 12628 060e 48000000 .4byte .LFE41 12629 0612 02 .byte 0x2 12630 0613 7D .byte 0x7d 12631 0614 00 .sleb128 0 12632 0615 01 .byte 0x1 12633 0616 43060000 .4byte 0x643 12634 061a 1E .uleb128 0x1e 12635 061b CE170000 .4byte diskio_sdio.cpp.de088c1c+6094 12636 061f 00000000 .4byte .LBB119 12637 0623 3C000000 .4byte .LBE119 12638 0627 05 .byte 0x5 12639 0628 9002 .2byte 0x290 12640 062a 01 .byte 0x1 12641 062b 1F .uleb128 0x1f 12642 062c 641B0000 .4byte diskio_sdio.cpp.de088c1c+7012 12643 0630 00000000 .4byte .LBB120 12644 0634 3C000000 .4byte .LBE120 12645 0638 05 .byte 0x5 12646 0639 86 .byte 0x86 12647 063a 03 .byte 0x3 12648 063b 09 .uleb128 0x9 12649 063c 751B0000 .4byte diskio_sdio.cpp.de088c1c+7029 12650 0640 00 .byte 0 12651 0641 00 .byte 0 12652 0642 00 .byte 0 12653 0643 06 .uleb128 0x6 12654 0644 FC180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6396 12655 0648 00000000 .4byte .LFB46 12656 064c 54020000 .4byte .LFE46 12657 0650 B1080000 .4byte .LLST58 12658 0654 01 .byte 0x1 12659 0655 2F090000 .4byte 0x92f 12660 0659 07 .uleb128 0x7 12661 065a 12190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6418 12662 065e FF080000 .4byte .LLST59 12663 0662 F7080000 .4byte .LVUS59 12664 0666 07 .uleb128 0x7 12665 0667 1F190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6431 12666 066b 42090000 .4byte .LLST60 12667 066f 3C090000 .4byte .LVUS60 12668 0673 07 .uleb128 0x7 12669 0674 2C190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6444 12670 0678 72090000 .4byte .LLST61 12671 067c 6C090000 .4byte .LVUS61 12672 0680 07 .uleb128 0x7 12673 0681 39190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6457 12674 0685 A4090000 .4byte .LLST62 12675 0689 9C090000 .4byte .LVUS62 12676 068d 07 .uleb128 0x7 12677 068e 46190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6470 12678 0692 E9090000 .4byte .LLST63 12679 0696 E1090000 .4byte .LVUS63 12680 069a 05 .uleb128 0x5 12681 069b 53190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6483 ARM GAS /tmp/ccjvgGVC.s page 697 12682 069f 250A0000 .4byte .LLST64 12683 06a3 210A0000 .4byte .LVUS64 12684 06a7 19 .uleb128 0x19 12685 06a8 5E190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6494 12686 06ac 02 .byte 0x2 12687 06ad 91 .byte 0x91 12688 06ae 50 .sleb128 -48 12689 06af 17 .uleb128 0x17 12690 06b0 AC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6828 12691 06b4 00000000 .4byte .LBI137 12692 06b8 0200 .2byte .LVU509 12693 06ba E8000000 .4byte .Ldebug_ranges0+0xe8 12694 06be 03 .byte 0x3 12695 06bf 3A02 .2byte 0x23a 12696 06c1 28 .byte 0x28 12697 06c2 D4060000 .4byte 0x6d4 12698 06c6 07 .uleb128 0x7 12699 06c7 BC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6844 12700 06cb 470A0000 .4byte .LLST65 12701 06cf 430A0000 .4byte .LVUS65 12702 06d3 00 .byte 0 12703 06d4 17 .uleb128 0x17 12704 06d5 651B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7013 12705 06d9 28000000 .4byte .LBI143 12706 06dd 0100 .2byte .LVU523 12707 06df 08010000 .4byte .Ldebug_ranges0+0x108 12708 06e3 03 .byte 0x3 12709 06e4 3D02 .2byte 0x23d 12710 06e6 03 .byte 0x3 12711 06e7 14070000 .4byte 0x714 12712 06eb 07 .uleb128 0x7 12713 06ec 6E1B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7022 12714 06f0 670A0000 .4byte .LLST66 12715 06f4 650A0000 .4byte .LVUS66 12716 06f8 0D .uleb128 0xd 12717 06f9 3C000000 .4byte .LVL112 12718 06fd 39020000 .4byte 0x239 12719 0701 0E .uleb128 0xe 12720 0702 01 .byte 0x1 12721 0703 50 .byte 0x50 12722 0704 02 .byte 0x2 12723 0705 91 .byte 0x91 12724 0706 50 .sleb128 -48 12725 0707 0E .uleb128 0xe 12726 0708 01 .byte 0x1 12727 0709 51 .byte 0x51 12728 070a 07 .byte 0x7 12729 070b 74 .byte 0x74 12730 070c 00 .sleb128 0 12731 070d 77 .byte 0x77 12732 070e 00 .sleb128 0 12733 070f 22 .byte 0x22 12734 0710 23 .byte 0x23 12735 0711 58 .uleb128 0x58 12736 0712 00 .byte 0 12737 0713 00 .byte 0 12738 0714 17 .uleb128 0x17 ARM GAS /tmp/ccjvgGVC.s page 698 12739 0715 DF1D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7647 12740 0719 3C000000 .4byte .LBI147 12741 071d 0200 .2byte .LVU532 12742 071f 28010000 .4byte .Ldebug_ranges0+0x128 12743 0723 03 .byte 0x3 12744 0724 3E02 .2byte 0x23e 12745 0726 1E .byte 0x1e 12746 0727 0A090000 .4byte 0x90a 12747 072b 07 .uleb128 0x7 12748 072c F21D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7666 12749 0730 8C0A0000 .4byte .LLST67 12750 0734 820A0000 .4byte .LVUS67 12751 0738 07 .uleb128 0x7 12752 0739 FF1D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7679 12753 073d D50A0000 .4byte .LLST68 12754 0741 CB0A0000 .4byte .LVUS68 12755 0745 07 .uleb128 0x7 12756 0746 0C1E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7692 12757 074a 3C0B0000 .4byte .LLST69 12758 074e 320B0000 .4byte .LVUS69 12759 0752 07 .uleb128 0x7 12760 0753 191E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7705 12761 0757 8C0B0000 .4byte .LLST70 12762 075b 800B0000 .4byte .LVUS70 12763 075f 07 .uleb128 0x7 12764 0760 261E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7718 12765 0764 040C0000 .4byte .LLST71 12766 0768 FA0B0000 .4byte .LVUS71 12767 076c 0A .uleb128 0xa 12768 076d 28010000 .4byte .Ldebug_ranges0+0x128 12769 0771 05 .uleb128 0x5 12770 0772 331E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7731 12771 0776 4D0C0000 .4byte .LLST72 12772 077a 430C0000 .4byte .LVUS72 12773 077e 17 .uleb128 0x17 12774 077f 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 12775 0783 3C000000 .4byte .LBI149 12776 0787 0400 .2byte .LVU534 12777 0789 70010000 .4byte .Ldebug_ranges0+0x170 12778 078d 09 .byte 0x9 12779 078e 0B04 .2byte 0x40b 12780 0790 18 .byte 0x18 12781 0791 A8070000 .4byte 0x7a8 12782 0795 20 .uleb128 0x20 12783 0796 C70D0000 .4byte timers_driver.cpp.6123c072+3527 12784 079a 3C000000 .4byte .LBI150 12785 079e 0600 .2byte .LVU536 12786 07a0 70010000 .4byte .Ldebug_ranges0+0x170 12787 07a4 0A .byte 0xa 12788 07a5 1B .byte 0x1b 12789 07a6 1B .byte 0x1b 12790 07a7 00 .byte 0 12791 07a8 17 .uleb128 0x17 12792 07a9 690B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2921 12793 07ad BE000000 .4byte .LBI155 12794 07b1 0100 .2byte .LVU578 12795 07b3 88010000 .4byte .Ldebug_ranges0+0x188 ARM GAS /tmp/ccjvgGVC.s page 699 12796 07b7 09 .byte 0x9 12797 07b8 2D04 .2byte 0x42d 12798 07ba 09 .byte 0x9 12799 07bb 84080000 .4byte 0x884 12800 07bf 07 .uleb128 0x7 12801 07c0 7B0B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2939 12802 07c4 920C0000 .4byte .LLST73 12803 07c8 8C0C0000 .4byte .LVUS73 12804 07cc 07 .uleb128 0x7 12805 07cd 880B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2952 12806 07d1 C10C0000 .4byte .LLST74 12807 07d5 BB0C0000 .4byte .LVUS74 12808 07d9 07 .uleb128 0x7 12809 07da 950B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2965 12810 07de 020D0000 .4byte .LLST75 12811 07e2 FC0C0000 .4byte .LVUS75 12812 07e6 07 .uleb128 0x7 12813 07e7 A20B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2978 12814 07eb 310D0000 .4byte .LLST76 12815 07ef 2B0D0000 .4byte .LVUS76 12816 07f3 0A .uleb128 0xa 12817 07f4 88010000 .4byte .Ldebug_ranges0+0x188 12818 07f8 05 .uleb128 0x5 12819 07f9 AF0B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2991 12820 07fd 5C0D0000 .4byte .LLST77 12821 0801 5A0D0000 .4byte .LVUS77 12822 0805 18 .uleb128 0x18 12823 0806 EE000000 .4byte .LVL124 12824 080a 2F090000 .4byte 0x92f 12825 080e 34080000 .4byte 0x834 12826 0812 0E .uleb128 0xe 12827 0813 01 .byte 0x1 12828 0814 50 .byte 0x50 12829 0815 02 .byte 0x2 12830 0816 76 .byte 0x76 12831 0817 00 .sleb128 0 12832 0818 0E .uleb128 0xe 12833 0819 01 .byte 0x1 12834 081a 51 .byte 0x51 12835 081b 05 .byte 0x5 12836 081c 0C .byte 0xc 12837 081d 01000100 .4byte 0x10001 12838 0821 0E .uleb128 0xe 12839 0822 01 .byte 0x1 12840 0823 52 .byte 0x52 12841 0824 01 .byte 0x1 12842 0825 30 .byte 0x30 12843 0826 0E .uleb128 0xe 12844 0827 01 .byte 0x1 12845 0828 53 .byte 0x53 12846 0829 02 .byte 0x2 12847 082a 78 .byte 0x78 12848 082b 00 .sleb128 0 12849 082c 0E .uleb128 0xe 12850 082d 02 .byte 0x2 12851 082e 7D .byte 0x7d 12852 082f 00 .sleb128 0 ARM GAS /tmp/ccjvgGVC.s page 700 12853 0830 02 .byte 0x2 12854 0831 77 .byte 0x77 12855 0832 00 .sleb128 0 12856 0833 00 .byte 0 12857 0834 18 .uleb128 0x18 12858 0835 32010000 .4byte .LVL128 12859 0839 34090000 .4byte 0x934 12860 083d 5D080000 .4byte 0x85d 12861 0841 0E .uleb128 0xe 12862 0842 01 .byte 0x1 12863 0843 50 .byte 0x50 12864 0844 02 .byte 0x2 12865 0845 76 .byte 0x76 12866 0846 00 .sleb128 0 12867 0847 0E .uleb128 0xe 12868 0848 01 .byte 0x1 12869 0849 51 .byte 0x51 12870 084a 05 .byte 0x5 12871 084b 0C .byte 0xc 12872 084c 02000100 .4byte 0x10002 12873 0850 0E .uleb128 0xe 12874 0851 01 .byte 0x1 12875 0852 52 .byte 0x52 12876 0853 02 .byte 0x2 12877 0854 78 .byte 0x78 12878 0855 00 .sleb128 0 12879 0856 0E .uleb128 0xe 12880 0857 01 .byte 0x1 12881 0858 53 .byte 0x53 12882 0859 02 .byte 0x2 12883 085a 77 .byte 0x77 12884 085b 00 .sleb128 0 12885 085c 00 .byte 0 12886 085d 0D .uleb128 0xd 12887 085e 90010000 .4byte .LVL132 12888 0862 34090000 .4byte 0x934 12889 0866 0E .uleb128 0xe 12890 0867 01 .byte 0x1 12891 0868 50 .byte 0x50 12892 0869 02 .byte 0x2 12893 086a 76 .byte 0x76 12894 086b 00 .sleb128 0 12895 086c 0E .uleb128 0xe 12896 086d 01 .byte 0x1 12897 086e 51 .byte 0x51 12898 086f 05 .byte 0x5 12899 0870 0C .byte 0xc 12900 0871 08000100 .4byte 0x10008 12901 0875 0E .uleb128 0xe 12902 0876 01 .byte 0x1 12903 0877 52 .byte 0x52 12904 0878 02 .byte 0x2 12905 0879 78 .byte 0x78 12906 087a 00 .sleb128 0 12907 087b 0E .uleb128 0xe 12908 087c 01 .byte 0x1 12909 087d 53 .byte 0x53 ARM GAS /tmp/ccjvgGVC.s page 701 12910 087e 02 .byte 0x2 12911 087f 77 .byte 0x77 12912 0880 00 .sleb128 0 12913 0881 00 .byte 0 12914 0882 00 .byte 0 12915 0883 00 .byte 0 12916 0884 21 .uleb128 0x21 12917 0885 401E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7744 12918 0889 36010000 .4byte .LBB164 12919 088d 4E010000 .4byte .LBE164 12920 0891 9E080000 .4byte 0x89e 12921 0895 19 .uleb128 0x19 12922 0896 411E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7745 12923 089a 02 .byte 0x2 12924 089b 91 .byte 0x91 12925 089c 4C .sleb128 -52 12926 089d 00 .byte 0 12927 089e 18 .uleb128 0x18 12928 089f 6C000000 .4byte .LVL117 12929 08a3 2F090000 .4byte 0x92f 12930 08a7 CC080000 .4byte 0x8cc 12931 08ab 0E .uleb128 0xe 12932 08ac 01 .byte 0x1 12933 08ad 50 .byte 0x50 12934 08ae 02 .byte 0x2 12935 08af 76 .byte 0x76 12936 08b0 00 .sleb128 0 12937 08b1 0E .uleb128 0xe 12938 08b2 01 .byte 0x1 12939 08b3 51 .byte 0x51 12940 08b4 05 .byte 0x5 12941 08b5 0C .byte 0xc 12942 08b6 02001000 .4byte 0x100002 12943 08ba 0E .uleb128 0xe 12944 08bb 01 .byte 0x1 12945 08bc 52 .byte 0x52 12946 08bd 01 .byte 0x1 12947 08be 31 .byte 0x31 12948 08bf 0E .uleb128 0xe 12949 08c0 01 .byte 0x1 12950 08c1 53 .byte 0x53 12951 08c2 01 .byte 0x1 12952 08c3 49 .byte 0x49 12953 08c4 0E .uleb128 0xe 12954 08c5 02 .byte 0x2 12955 08c6 7D .byte 0x7d 12956 08c7 00 .sleb128 0 12957 08c8 02 .byte 0x2 12958 08c9 77 .byte 0x77 12959 08ca 00 .sleb128 0 12960 08cb 00 .byte 0 12961 08cc 18 .uleb128 0x18 12962 08cd A6010000 .4byte .LVL134 12963 08d1 39090000 .4byte 0x939 12964 08d5 EC080000 .4byte 0x8ec 12965 08d9 0E .uleb128 0xe 12966 08da 01 .byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 702 12967 08db 50 .byte 0x50 12968 08dc 02 .byte 0x2 12969 08dd 76 .byte 0x76 12970 08de 00 .sleb128 0 12971 08df 0E .uleb128 0xe 12972 08e0 01 .byte 0x1 12973 08e1 51 .byte 0x51 12974 08e2 02 .byte 0x2 12975 08e3 78 .byte 0x78 12976 08e4 00 .sleb128 0 12977 08e5 0E .uleb128 0xe 12978 08e6 01 .byte 0x1 12979 08e7 52 .byte 0x52 12980 08e8 02 .byte 0x2 12981 08e9 77 .byte 0x77 12982 08ea 00 .sleb128 0 12983 08eb 00 .byte 0 12984 08ec 0D .uleb128 0xd 12985 08ed 1E020000 .4byte .LVL137 12986 08f1 3E090000 .4byte 0x93e 12987 08f5 0E .uleb128 0xe 12988 08f6 01 .byte 0x1 12989 08f7 50 .byte 0x50 12990 08f8 02 .byte 0x2 12991 08f9 76 .byte 0x76 12992 08fa 00 .sleb128 0 12993 08fb 0E .uleb128 0xe 12994 08fc 01 .byte 0x1 12995 08fd 51 .byte 0x51 12996 08fe 02 .byte 0x2 12997 08ff 78 .byte 0x78 12998 0900 00 .sleb128 0 12999 0901 0E .uleb128 0xe 13000 0902 01 .byte 0x1 13001 0903 52 .byte 0x52 13002 0904 02 .byte 0x2 13003 0905 77 .byte 0x77 13004 0906 00 .sleb128 0 13005 0907 00 .byte 0 13006 0908 00 .byte 0 13007 0909 00 .byte 0 13008 090a 18 .uleb128 0x18 13009 090b 28000000 .4byte .LVL111 13010 090f C9010000 .4byte 0x1c9 13011 0913 1E090000 .4byte 0x91e 13012 0917 0E .uleb128 0xe 13013 0918 01 .byte 0x1 13014 0919 50 .byte 0x50 13015 091a 02 .byte 0x2 13016 091b 76 .byte 0x76 13017 091c 00 .sleb128 0 13018 091d 00 .byte 0 13019 091e 0D .uleb128 0xd 13020 091f 56000000 .4byte .LVL115 13021 0923 A8020000 .4byte 0x2a8 13022 0927 0E .uleb128 0xe 13023 0928 01 .byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 703 13024 0929 50 .byte 0x50 13025 092a 02 .byte 0x2 13026 092b 91 .byte 0x91 13027 092c 50 .sleb128 -48 13028 092d 00 .byte 0 13029 092e 00 .byte 0 13030 092f 10 .uleb128 0x10 13031 0930 16090000 .4byte stm32f4xx_hal_i2c.c.5babf799+2326 13032 0934 10 .uleb128 0x10 13033 0935 CF080000 .4byte stm32f4xx_hal_i2c.c.5babf799+2255 13034 0939 10 .uleb128 0x10 13035 093a 95080000 .4byte stm32f4xx_hal_i2c.c.5babf799+2197 13036 093e 10 .uleb128 0x10 13037 093f 5B080000 .4byte stm32f4xx_hal_i2c.c.5babf799+2139 13038 0943 06 .uleb128 0x6 13039 0944 8C180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6284 13040 0948 00000000 .4byte .LFB51 13041 094c 50030000 .4byte .LFE51 13042 0950 6F0D0000 .4byte .LLST78 13043 0954 01 .byte 0x1 13044 0955 FD0C0000 .4byte 0xcfd 13045 0959 07 .uleb128 0x7 13046 095a A2180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6306 13047 095e BD0D0000 .4byte .LLST79 13048 0962 B50D0000 .4byte .LVUS79 13049 0966 07 .uleb128 0x7 13050 0967 AF180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6319 13051 096b 020E0000 .4byte .LLST80 13052 096f FA0D0000 .4byte .LVUS80 13053 0973 07 .uleb128 0x7 13054 0974 BC180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6332 13055 0978 510E0000 .4byte .LLST81 13056 097c 410E0000 .4byte .LVUS81 13057 0980 07 .uleb128 0x7 13058 0981 C9180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6345 13059 0985 DA0E0000 .4byte .LLST82 13060 0989 D20E0000 .4byte .LVUS82 13061 098d 07 .uleb128 0x7 13062 098e D6180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6358 13063 0992 1D0F0000 .4byte .LLST83 13064 0996 170F0000 .4byte .LVUS83 13065 099a 05 .uleb128 0x5 13066 099b E3180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6371 13067 099f 550F0000 .4byte .LLST84 13068 09a3 490F0000 .4byte .LVUS84 13069 09a7 19 .uleb128 0x19 13070 09a8 EE180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6382 13071 09ac 02 .byte 0x2 13072 09ad 91 .byte 0x91 13073 09ae 50 .sleb128 -48 13074 09af 17 .uleb128 0x17 13075 09b0 AC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6828 13076 09b4 00000000 .4byte .LBI201 13077 09b8 0200 .2byte .LVU698 13078 09ba B8010000 .4byte .Ldebug_ranges0+0x1b8 13079 09be 03 .byte 0x3 13080 09bf 4802 .2byte 0x248 ARM GAS /tmp/ccjvgGVC.s page 704 13081 09c1 28 .byte 0x28 13082 09c2 D4090000 .4byte 0x9d4 13083 09c6 07 .uleb128 0x7 13084 09c7 BC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6844 13085 09cb A30F0000 .4byte .LLST85 13086 09cf 9F0F0000 .4byte .LVUS85 13087 09d3 00 .byte 0 13088 09d4 17 .uleb128 0x17 13089 09d5 651B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7013 13090 09d9 28000000 .4byte .LBI207 13091 09dd 0100 .2byte .LVU712 13092 09df D8010000 .4byte .Ldebug_ranges0+0x1d8 13093 09e3 03 .byte 0x3 13094 09e4 4B02 .2byte 0x24b 13095 09e6 03 .byte 0x3 13096 09e7 180A0000 .4byte 0xa18 13097 09eb 07 .uleb128 0x7 13098 09ec 6E1B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7022 13099 09f0 C90F0000 .4byte .LLST86 13100 09f4 C10F0000 .4byte .LVUS86 13101 09f8 0D .uleb128 0xd 13102 09f9 3A000000 .4byte .LVL146 13103 09fd 39020000 .4byte 0x239 13104 0a01 0E .uleb128 0xe 13105 0a02 01 .byte 0x1 13106 0a03 50 .byte 0x50 13107 0a04 02 .byte 0x2 13108 0a05 91 .byte 0x91 13109 0a06 50 .sleb128 -48 13110 0a07 0E .uleb128 0xe 13111 0a08 01 .byte 0x1 13112 0a09 51 .byte 0x51 13113 0a0a 0B .byte 0xb 13114 0a0b 74 .byte 0x74 13115 0a0c 00 .sleb128 0 13116 0a0d 76 .byte 0x76 13117 0a0e 00 .sleb128 0 13118 0a0f 22 .byte 0x22 13119 0a10 03 .byte 0x3 13120 0a11 A8FFFFFF .4byte _ZL9_i2c_devs-88 13121 0a15 1C .byte 0x1c 13122 0a16 00 .byte 0 13123 0a17 00 .byte 0 13124 0a18 17 .uleb128 0x17 13125 0a19 351D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7477 13126 0a1d 3A000000 .4byte .LBI211 13127 0a21 0200 .2byte .LVU723 13128 0a23 F8010000 .4byte .Ldebug_ranges0+0x1f8 13129 0a27 03 .byte 0x3 13130 0a28 4C02 .2byte 0x24c 13131 0a2a 1D .byte 0x1d 13132 0a2b D80C0000 .4byte 0xcd8 13133 0a2f 07 .uleb128 0x7 13134 0a30 481D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7496 13135 0a34 1E100000 .4byte .LLST87 13136 0a38 10100000 .4byte .LVUS87 13137 0a3c 07 .uleb128 0x7 ARM GAS /tmp/ccjvgGVC.s page 705 13138 0a3d 551D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7509 13139 0a41 79100000 .4byte .LLST88 13140 0a45 73100000 .4byte .LVUS88 13141 0a49 07 .uleb128 0x7 13142 0a4a 621D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7522 13143 0a4e BD100000 .4byte .LLST89 13144 0a52 B7100000 .4byte .LVUS89 13145 0a56 07 .uleb128 0x7 13146 0a57 6F1D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7535 13147 0a5b F4100000 .4byte .LLST90 13148 0a5f EC100000 .4byte .LVUS90 13149 0a63 07 .uleb128 0x7 13150 0a64 7C1D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7548 13151 0a68 51110000 .4byte .LLST91 13152 0a6c 43110000 .4byte .LVUS91 13153 0a70 0A .uleb128 0xa 13154 0a71 F8010000 .4byte .Ldebug_ranges0+0x1f8 13155 0a75 05 .uleb128 0x5 13156 0a76 891D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7561 13157 0a7a AC110000 .4byte .LLST92 13158 0a7e A6110000 .4byte .LVUS92 13159 0a82 17 .uleb128 0x17 13160 0a83 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 13161 0a87 3A000000 .4byte .LBI213 13162 0a8b 0400 .2byte .LVU725 13163 0a8d 30020000 .4byte .Ldebug_ranges0+0x230 13164 0a91 09 .byte 0x9 13165 0a92 8404 .2byte 0x484 13166 0a94 18 .byte 0x18 13167 0a95 AC0A0000 .4byte 0xaac 13168 0a99 20 .uleb128 0x20 13169 0a9a C70D0000 .4byte timers_driver.cpp.6123c072+3527 13170 0a9e 3A000000 .4byte .LBI214 13171 0aa2 0600 .2byte .LVU727 13172 0aa4 30020000 .4byte .Ldebug_ranges0+0x230 13173 0aa8 0A .byte 0xa 13174 0aa9 1B .byte 0x1b 13175 0aaa 1B .byte 0x1b 13176 0aab 00 .byte 0 13177 0aac 17 .uleb128 0x17 13178 0aad 060B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2822 13179 0ab1 A8000000 .4byte .LBI219 13180 0ab5 0100 .2byte .LVU765 13181 0ab7 48020000 .4byte .Ldebug_ranges0+0x248 13182 0abb 09 .byte 0x9 13183 0abc A604 .2byte 0x4a6 13184 0abe 09 .byte 0x9 13185 0abf F50B0000 .4byte 0xbf5 13186 0ac3 07 .uleb128 0x7 13187 0ac4 180B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2840 13188 0ac8 DB110000 .4byte .LLST93 13189 0acc D5110000 .4byte .LVUS93 13190 0ad0 07 .uleb128 0x7 13191 0ad1 250B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2853 13192 0ad5 0A120000 .4byte .LLST94 13193 0ad9 04120000 .4byte .LVUS94 13194 0add 07 .uleb128 0x7 ARM GAS /tmp/ccjvgGVC.s page 706 13195 0ade 320B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2866 13196 0ae2 4E120000 .4byte .LLST95 13197 0ae6 48120000 .4byte .LVUS95 13198 0aea 07 .uleb128 0x7 13199 0aeb 3F0B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2879 13200 0aef 7D120000 .4byte .LLST96 13201 0af3 77120000 .4byte .LVUS96 13202 0af7 0A .uleb128 0xa 13203 0af8 48020000 .4byte .Ldebug_ranges0+0x248 13204 0afc 05 .uleb128 0x5 13205 0afd 4C0B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2892 13206 0b01 A8120000 .4byte .LLST97 13207 0b05 A6120000 .4byte .LVUS97 13208 0b09 21 .uleb128 0x21 13209 0b0a 590B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2905 13210 0b0e B4010000 .4byte .LBB221 13211 0b12 C4010000 .4byte .LBE221 13212 0b16 230B0000 .4byte 0xb23 13213 0b1a 19 .uleb128 0x19 13214 0b1b 5A0B0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2906 13215 0b1f 02 .byte 0x2 13216 0b20 91 .byte 0x91 13217 0b21 4C .sleb128 -52 13218 0b22 00 .byte 0 13219 0b23 18 .uleb128 0x18 13220 0b24 E0000000 .4byte .LVL155 13221 0b28 2F090000 .4byte 0x92f 13222 0b2c 520B0000 .4byte 0xb52 13223 0b30 0E .uleb128 0xe 13224 0b31 01 .byte 0x1 13225 0b32 50 .byte 0x50 13226 0b33 02 .byte 0x2 13227 0b34 76 .byte 0x76 13228 0b35 00 .sleb128 0 13229 0b36 0E .uleb128 0xe 13230 0b37 01 .byte 0x1 13231 0b38 51 .byte 0x51 13232 0b39 05 .byte 0x5 13233 0b3a 0C .byte 0xc 13234 0b3b 01000100 .4byte 0x10001 13235 0b3f 0E .uleb128 0xe 13236 0b40 01 .byte 0x1 13237 0b41 52 .byte 0x52 13238 0b42 01 .byte 0x1 13239 0b43 30 .byte 0x30 13240 0b44 0E .uleb128 0xe 13241 0b45 01 .byte 0x1 13242 0b46 53 .byte 0x53 13243 0b47 02 .byte 0x2 13244 0b48 78 .byte 0x78 13245 0b49 00 .sleb128 0 13246 0b4a 0E .uleb128 0xe 13247 0b4b 02 .byte 0x2 13248 0b4c 7D .byte 0x7d 13249 0b4d 00 .sleb128 0 13250 0b4e 02 .byte 0x2 13251 0b4f 77 .byte 0x77 ARM GAS /tmp/ccjvgGVC.s page 707 13252 0b50 00 .sleb128 0 13253 0b51 00 .byte 0 13254 0b52 18 .uleb128 0x18 13255 0b53 36010000 .4byte .LVL163 13256 0b57 34090000 .4byte 0x934 13257 0b5b 7B0B0000 .4byte 0xb7b 13258 0b5f 0E .uleb128 0xe 13259 0b60 01 .byte 0x1 13260 0b61 50 .byte 0x50 13261 0b62 02 .byte 0x2 13262 0b63 76 .byte 0x76 13263 0b64 00 .sleb128 0 13264 0b65 0E .uleb128 0xe 13265 0b66 01 .byte 0x1 13266 0b67 51 .byte 0x51 13267 0b68 05 .byte 0x5 13268 0b69 0C .byte 0xc 13269 0b6a 02000100 .4byte 0x10002 13270 0b6e 0E .uleb128 0xe 13271 0b6f 01 .byte 0x1 13272 0b70 52 .byte 0x52 13273 0b71 02 .byte 0x2 13274 0b72 78 .byte 0x78 13275 0b73 00 .sleb128 0 13276 0b74 0E .uleb128 0xe 13277 0b75 01 .byte 0x1 13278 0b76 53 .byte 0x53 13279 0b77 02 .byte 0x2 13280 0b78 77 .byte 0x77 13281 0b79 00 .sleb128 0 13282 0b7a 00 .byte 0 13283 0b7b 18 .uleb128 0x18 13284 0b7c 96010000 .4byte .LVL169 13285 0b80 34090000 .4byte 0x934 13286 0b84 A40B0000 .4byte 0xba4 13287 0b88 0E .uleb128 0xe 13288 0b89 01 .byte 0x1 13289 0b8a 50 .byte 0x50 13290 0b8b 02 .byte 0x2 13291 0b8c 76 .byte 0x76 13292 0b8d 00 .sleb128 0 13293 0b8e 0E .uleb128 0xe 13294 0b8f 01 .byte 0x1 13295 0b90 51 .byte 0x51 13296 0b91 05 .byte 0x5 13297 0b92 0C .byte 0xc 13298 0b93 08000100 .4byte 0x10008 13299 0b97 0E .uleb128 0xe 13300 0b98 01 .byte 0x1 13301 0b99 52 .byte 0x52 13302 0b9a 02 .byte 0x2 13303 0b9b 78 .byte 0x78 13304 0b9c 00 .sleb128 0 13305 0b9d 0E .uleb128 0xe 13306 0b9e 01 .byte 0x1 13307 0b9f 53 .byte 0x53 13308 0ba0 02 .byte 0x2 ARM GAS /tmp/ccjvgGVC.s page 708 13309 0ba1 77 .byte 0x77 13310 0ba2 00 .sleb128 0 13311 0ba3 00 .byte 0 13312 0ba4 18 .uleb128 0x18 13313 0ba5 AE010000 .4byte .LVL170 13314 0ba9 34090000 .4byte 0x934 13315 0bad CD0B0000 .4byte 0xbcd 13316 0bb1 0E .uleb128 0xe 13317 0bb2 01 .byte 0x1 13318 0bb3 50 .byte 0x50 13319 0bb4 02 .byte 0x2 13320 0bb5 76 .byte 0x76 13321 0bb6 00 .sleb128 0 13322 0bb7 0E .uleb128 0xe 13323 0bb8 01 .byte 0x1 13324 0bb9 51 .byte 0x51 13325 0bba 05 .byte 0x5 13326 0bbb 0C .byte 0xc 13327 0bbc 02000100 .4byte 0x10002 13328 0bc0 0E .uleb128 0xe 13329 0bc1 01 .byte 0x1 13330 0bc2 52 .byte 0x52 13331 0bc3 02 .byte 0x2 13332 0bc4 78 .byte 0x78 13333 0bc5 00 .sleb128 0 13334 0bc6 0E .uleb128 0xe 13335 0bc7 01 .byte 0x1 13336 0bc8 53 .byte 0x53 13337 0bc9 02 .byte 0x2 13338 0bca 77 .byte 0x77 13339 0bcb 00 .sleb128 0 13340 0bcc 00 .byte 0 13341 0bcd 0D .uleb128 0xd 13342 0bce DA010000 .4byte .LVL171 13343 0bd2 2F090000 .4byte 0x92f 13344 0bd6 0E .uleb128 0xe 13345 0bd7 01 .byte 0x1 13346 0bd8 50 .byte 0x50 13347 0bd9 02 .byte 0x2 13348 0bda 76 .byte 0x76 13349 0bdb 00 .sleb128 0 13350 0bdc 0E .uleb128 0xe 13351 0bdd 01 .byte 0x1 13352 0bde 51 .byte 0x51 13353 0bdf 05 .byte 0x5 13354 0be0 0C .byte 0xc 13355 0be1 01000100 .4byte 0x10001 13356 0be5 0E .uleb128 0xe 13357 0be6 01 .byte 0x1 13358 0be7 53 .byte 0x53 13359 0be8 02 .byte 0x2 13360 0be9 78 .byte 0x78 13361 0bea 00 .sleb128 0 13362 0beb 0E .uleb128 0xe 13363 0bec 02 .byte 0x2 13364 0bed 7D .byte 0x7d 13365 0bee 00 .sleb128 0 ARM GAS /tmp/ccjvgGVC.s page 709 13366 0bef 02 .byte 0x2 13367 0bf0 77 .byte 0x77 13368 0bf1 00 .sleb128 0 13369 0bf2 00 .byte 0 13370 0bf3 00 .byte 0 13371 0bf4 00 .byte 0 13372 0bf5 22 .uleb128 0x22 13373 0bf6 961D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7574 13374 0bfa 70020000 .4byte .Ldebug_ranges0+0x270 13375 0bfe 0B0C0000 .4byte 0xc0b 13376 0c02 19 .uleb128 0x19 13377 0c03 9B1D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7579 13378 0c07 02 .byte 0x2 13379 0c08 91 .byte 0x91 13380 0c09 48 .sleb128 -56 13381 0c0a 00 .byte 0 13382 0c0b 21 .uleb128 0x21 13383 0c0c A91D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7593 13384 0c10 FA010000 .4byte .LBB230 13385 0c14 06020000 .4byte .LBE230 13386 0c18 250C0000 .4byte 0xc25 13387 0c1c 19 .uleb128 0x19 13388 0c1d AE1D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7598 13389 0c21 02 .byte 0x2 13390 0c22 91 .byte 0x91 13391 0c23 44 .sleb128 -60 13392 0c24 00 .byte 0 13393 0c25 21 .uleb128 0x21 13394 0c26 BC1D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7612 13395 0c2a 1C020000 .4byte .LBB231 13396 0c2e 28020000 .4byte .LBE231 13397 0c32 3F0C0000 .4byte 0xc3f 13398 0c36 19 .uleb128 0x19 13399 0c37 C11D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7617 13400 0c3b 02 .byte 0x2 13401 0c3c 91 .byte 0x91 13402 0c3d 40 .sleb128 -64 13403 0c3e 00 .byte 0 13404 0c3f 21 .uleb128 0x21 13405 0c40 CF1D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7631 13406 0c44 30020000 .4byte .LBB232 13407 0c48 3E020000 .4byte .LBE232 13408 0c4c 5A0C0000 .4byte 0xc5a 13409 0c50 19 .uleb128 0x19 13410 0c51 D01D0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7632 13411 0c55 03 .byte 0x3 13412 0c56 91 .byte 0x91 13413 0c57 BC7F .sleb128 -68 13414 0c59 00 .byte 0 13415 0c5a 18 .uleb128 0x18 13416 0c5b 58000000 .4byte .LVL148 13417 0c5f 2F090000 .4byte 0x92f 13418 0c63 880C0000 .4byte 0xc88 13419 0c67 0E .uleb128 0xe 13420 0c68 01 .byte 0x1 13421 0c69 50 .byte 0x50 13422 0c6a 02 .byte 0x2 ARM GAS /tmp/ccjvgGVC.s page 710 13423 0c6b 76 .byte 0x76 13424 0c6c 00 .sleb128 0 13425 0c6d 0E .uleb128 0xe 13426 0c6e 01 .byte 0x1 13427 0c6f 51 .byte 0x51 13428 0c70 05 .byte 0x5 13429 0c71 0C .byte 0xc 13430 0c72 02001000 .4byte 0x100002 13431 0c76 0E .uleb128 0xe 13432 0c77 01 .byte 0x1 13433 0c78 52 .byte 0x52 13434 0c79 01 .byte 0x1 13435 0c7a 31 .byte 0x31 13436 0c7b 0E .uleb128 0xe 13437 0c7c 01 .byte 0x1 13438 0c7d 53 .byte 0x53 13439 0c7e 01 .byte 0x1 13440 0c7f 49 .byte 0x49 13441 0c80 0E .uleb128 0xe 13442 0c81 02 .byte 0x2 13443 0c82 7D .byte 0x7d 13444 0c83 00 .sleb128 0 13445 0c84 02 .byte 0x2 13446 0c85 77 .byte 0x77 13447 0c86 00 .sleb128 0 13448 0c87 00 .byte 0 13449 0c88 18 .uleb128 0x18 13450 0c89 50020000 .4byte .LVL174 13451 0c8d FD0C0000 .4byte 0xcfd 13452 0c91 A80C0000 .4byte 0xca8 13453 0c95 0E .uleb128 0xe 13454 0c96 01 .byte 0x1 13455 0c97 50 .byte 0x50 13456 0c98 02 .byte 0x2 13457 0c99 76 .byte 0x76 13458 0c9a 00 .sleb128 0 13459 0c9b 0E .uleb128 0xe 13460 0c9c 01 .byte 0x1 13461 0c9d 51 .byte 0x51 13462 0c9e 02 .byte 0x2 13463 0c9f 78 .byte 0x78 13464 0ca0 00 .sleb128 0 13465 0ca1 0E .uleb128 0xe 13466 0ca2 01 .byte 0x1 13467 0ca3 52 .byte 0x52 13468 0ca4 02 .byte 0x2 13469 0ca5 77 .byte 0x77 13470 0ca6 00 .sleb128 0 13471 0ca7 00 .byte 0 13472 0ca8 0F .uleb128 0xf 13473 0ca9 A0020000 .4byte .LVL176 13474 0cad 2F090000 .4byte 0x92f 13475 0cb1 0F .uleb128 0xf 13476 0cb2 D6020000 .4byte .LVL178 13477 0cb6 2F090000 .4byte 0x92f 13478 0cba 0D .uleb128 0xd 13479 0cbb 16030000 .4byte .LVL179 ARM GAS /tmp/ccjvgGVC.s page 711 13480 0cbf FD0C0000 .4byte 0xcfd 13481 0cc3 0E .uleb128 0xe 13482 0cc4 01 .byte 0x1 13483 0cc5 50 .byte 0x50 13484 0cc6 02 .byte 0x2 13485 0cc7 76 .byte 0x76 13486 0cc8 00 .sleb128 0 13487 0cc9 0E .uleb128 0xe 13488 0cca 01 .byte 0x1 13489 0ccb 51 .byte 0x51 13490 0ccc 02 .byte 0x2 13491 0ccd 78 .byte 0x78 13492 0cce 00 .sleb128 0 13493 0ccf 0E .uleb128 0xe 13494 0cd0 01 .byte 0x1 13495 0cd1 52 .byte 0x52 13496 0cd2 02 .byte 0x2 13497 0cd3 77 .byte 0x77 13498 0cd4 00 .sleb128 0 13499 0cd5 00 .byte 0 13500 0cd6 00 .byte 0 13501 0cd7 00 .byte 0 13502 0cd8 18 .uleb128 0x18 13503 0cd9 28000000 .4byte .LVL143 13504 0cdd C9010000 .4byte 0x1c9 13505 0ce1 EC0C0000 .4byte 0xcec 13506 0ce5 0E .uleb128 0xe 13507 0ce6 01 .byte 0x1 13508 0ce7 50 .byte 0x50 13509 0ce8 02 .byte 0x2 13510 0ce9 76 .byte 0x76 13511 0cea 00 .sleb128 0 13512 0ceb 00 .byte 0 13513 0cec 0D .uleb128 0xd 13514 0ced 0A010000 .4byte .LVL160 13515 0cf1 A8020000 .4byte 0x2a8 13516 0cf5 0E .uleb128 0xe 13517 0cf6 01 .byte 0x1 13518 0cf7 50 .byte 0x50 13519 0cf8 02 .byte 0x2 13520 0cf9 91 .byte 0x91 13521 0cfa 50 .sleb128 -48 13522 0cfb 00 .byte 0 13523 0cfc 00 .byte 0 13524 0cfd 10 .uleb128 0x10 13525 0cfe BA070000 .4byte stm32f4xx_hal_i2c.c.5babf799+1978 13526 0d02 06 .uleb128 0x6 13527 0d03 02180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6146 13528 0d07 00000000 .4byte .LFB54 13529 0d0b 8C030000 .4byte .LFE54 13530 0d0f BB120000 .4byte .LLST98 13531 0d13 01 .byte 0x1 13532 0d14 2A110000 .4byte 0x112a 13533 0d18 07 .uleb128 0x7 13534 0d19 18180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6168 13535 0d1d 09130000 .4byte .LLST99 13536 0d21 01130000 .4byte .LVUS99 ARM GAS /tmp/ccjvgGVC.s page 712 13537 0d25 07 .uleb128 0x7 13538 0d26 25180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6181 13539 0d2a 4E130000 .4byte .LLST100 13540 0d2e 46130000 .4byte .LVUS100 13541 0d32 07 .uleb128 0x7 13542 0d33 32180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6194 13543 0d37 93130000 .4byte .LLST101 13544 0d3b 8B130000 .4byte .LVUS101 13545 0d3f 07 .uleb128 0x7 13546 0d40 3F180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6207 13547 0d44 DA130000 .4byte .LLST102 13548 0d48 D2130000 .4byte .LVUS102 13549 0d4c 07 .uleb128 0x7 13550 0d4d 4C180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6220 13551 0d51 21140000 .4byte .LLST103 13552 0d55 19140000 .4byte .LVUS103 13553 0d59 07 .uleb128 0x7 13554 0d5a 59180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6233 13555 0d5e 61140000 .4byte .LLST104 13556 0d62 59140000 .4byte .LVUS104 13557 0d66 07 .uleb128 0x7 13558 0d67 66180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6246 13559 0d6b A3140000 .4byte .LLST105 13560 0d6f 99140000 .4byte .LVUS105 13561 0d73 05 .uleb128 0x5 13562 0d74 73180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6259 13563 0d78 FB140000 .4byte .LLST106 13564 0d7c E7140000 .4byte .LVUS106 13565 0d80 19 .uleb128 0x19 13566 0d81 7E180000 .4byte stm32_i2c_driver.cpp.5a928bb9+6270 13567 0d85 02 .byte 0x2 13568 0d86 91 .byte 0x91 13569 0d87 50 .sleb128 -48 13570 0d88 17 .uleb128 0x17 13571 0d89 AC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6828 13572 0d8d 00000000 .4byte .LBI264 13573 0d91 0200 .2byte .LVU983 13574 0d93 88020000 .4byte .Ldebug_ranges0+0x288 13575 0d97 03 .byte 0x3 13576 0d98 5602 .2byte 0x256 13577 0d9a 28 .byte 0x28 13578 0d9b AD0D0000 .4byte 0xdad 13579 0d9f 07 .uleb128 0x7 13580 0da0 BC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6844 13581 0da4 96150000 .4byte .LLST107 13582 0da8 92150000 .4byte .LVUS107 13583 0dac 00 .byte 0 13584 0dad 17 .uleb128 0x17 13585 0dae 651B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7013 13586 0db2 2A000000 .4byte .LBI270 13587 0db6 0100 .2byte .LVU997 13588 0db8 A8020000 .4byte .Ldebug_ranges0+0x2a8 13589 0dbc 03 .byte 0x3 13590 0dbd 5902 .2byte 0x259 13591 0dbf 03 .byte 0x3 13592 0dc0 F10D0000 .4byte 0xdf1 13593 0dc4 07 .uleb128 0x7 ARM GAS /tmp/ccjvgGVC.s page 713 13594 0dc5 6E1B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7022 13595 0dc9 BC150000 .4byte .LLST108 13596 0dcd B4150000 .4byte .LVUS108 13597 0dd1 0D .uleb128 0xd 13598 0dd2 3C000000 .4byte .LVL188 13599 0dd6 39020000 .4byte 0x239 13600 0dda 0E .uleb128 0xe 13601 0ddb 01 .byte 0x1 13602 0ddc 50 .byte 0x50 13603 0ddd 02 .byte 0x2 13604 0dde 91 .byte 0x91 13605 0ddf 50 .sleb128 -48 13606 0de0 0E .uleb128 0xe 13607 0de1 01 .byte 0x1 13608 0de2 51 .byte 0x51 13609 0de3 0B .byte 0xb 13610 0de4 74 .byte 0x74 13611 0de5 00 .sleb128 0 13612 0de6 78 .byte 0x78 13613 0de7 00 .sleb128 0 13614 0de8 22 .byte 0x22 13615 0de9 03 .byte 0x3 13616 0dea A8FFFFFF .4byte _ZL9_i2c_devs-88 13617 0dee 1C .byte 0x1c 13618 0def 00 .byte 0 13619 0df0 00 .byte 0 13620 0df1 17 .uleb128 0x17 13621 0df2 93180000 .4byte stm32f4xx_hal_i2c.c.5babf799+6291 13622 0df6 3C000000 .4byte .LBI274 13623 0dfa 0200 .2byte .LVU1008 13624 0dfc C8020000 .4byte .Ldebug_ranges0+0x2c8 13625 0e00 03 .byte 0x3 13626 0e01 5A02 .2byte 0x25a 13627 0e03 17 .byte 0x17 13628 0e04 05110000 .4byte 0x1105 13629 0e08 07 .uleb128 0x7 13630 0e09 A6180000 .4byte stm32f4xx_hal_i2c.c.5babf799+6310 13631 0e0d 15160000 .4byte .LLST109 13632 0e11 03160000 .4byte .LVUS109 13633 0e15 07 .uleb128 0x7 13634 0e16 B3180000 .4byte stm32f4xx_hal_i2c.c.5babf799+6323 13635 0e1a 9F160000 .4byte .LLST110 13636 0e1e 95160000 .4byte .LVUS110 13637 0e22 07 .uleb128 0x7 13638 0e23 C0180000 .4byte stm32f4xx_hal_i2c.c.5babf799+6336 13639 0e27 0D170000 .4byte .LLST111 13640 0e2b 07170000 .4byte .LVUS111 13641 0e2f 07 .uleb128 0x7 13642 0e30 CD180000 .4byte stm32f4xx_hal_i2c.c.5babf799+6349 13643 0e34 42170000 .4byte .LLST112 13644 0e38 3C170000 .4byte .LVUS112 13645 0e3c 07 .uleb128 0x7 13646 0e3d DA180000 .4byte stm32f4xx_hal_i2c.c.5babf799+6362 13647 0e41 77170000 .4byte .LLST113 13648 0e45 71170000 .4byte .LVUS113 13649 0e49 07 .uleb128 0x7 13650 0e4a E7180000 .4byte stm32f4xx_hal_i2c.c.5babf799+6375 ARM GAS /tmp/ccjvgGVC.s page 714 13651 0e4e A9170000 .4byte .LLST114 13652 0e52 A3170000 .4byte .LVUS114 13653 0e56 07 .uleb128 0x7 13654 0e57 F4180000 .4byte stm32f4xx_hal_i2c.c.5babf799+6388 13655 0e5b E3170000 .4byte .LLST115 13656 0e5f D5170000 .4byte .LVUS115 13657 0e63 0A .uleb128 0xa 13658 0e64 C8020000 .4byte .Ldebug_ranges0+0x2c8 13659 0e68 05 .uleb128 0x5 13660 0e69 01190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6401 13661 0e6d 3E180000 .4byte .LLST116 13662 0e71 38180000 .4byte .LVUS116 13663 0e75 17 .uleb128 0x17 13664 0e76 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 13665 0e7a 3C000000 .4byte .LBI276 13666 0e7e 0400 .2byte .LVU1010 13667 0e80 F8020000 .4byte .Ldebug_ranges0+0x2f8 13668 0e84 09 .byte 0x9 13669 0e85 320A .2byte 0xa32 13670 0e87 18 .byte 0x18 13671 0e88 9F0E0000 .4byte 0xe9f 13672 0e8c 20 .uleb128 0x20 13673 0e8d C70D0000 .4byte timers_driver.cpp.6123c072+3527 13674 0e91 3C000000 .4byte .LBI277 13675 0e95 0600 .2byte .LVU1012 13676 0e97 F8020000 .4byte .Ldebug_ranges0+0x2f8 13677 0e9b 0A .byte 0xa 13678 0e9c 1B .byte 0x1b 13679 0e9d 1B .byte 0x1b 13680 0e9e 00 .byte 0 13681 0e9f 17 .uleb128 0x17 13682 0ea0 260A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2598 13683 0ea4 C4000000 .4byte .LBI282 13684 0ea8 0100 .2byte .LVU1057 13685 0eaa 10030000 .4byte .Ldebug_ranges0+0x310 13686 0eae 09 .byte 0x9 13687 0eaf 570A .2byte 0xa57 13688 0eb1 09 .byte 0x9 13689 0eb2 22100000 .4byte 0x1022 13690 0eb6 07 .uleb128 0x7 13691 0eb7 380A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2616 13692 0ebb 71180000 .4byte .LLST117 13693 0ebf 67180000 .4byte .LVUS117 13694 0ec3 07 .uleb128 0x7 13695 0ec4 450A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2629 13696 0ec8 C3180000 .4byte .LLST118 13697 0ecc B9180000 .4byte .LVUS118 13698 0ed0 07 .uleb128 0x7 13699 0ed1 520A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2642 13700 0ed5 33190000 .4byte .LLST119 13701 0ed9 2B190000 .4byte .LVUS119 13702 0edd 07 .uleb128 0x7 13703 0ede 5F0A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2655 13704 0ee2 77190000 .4byte .LLST120 13705 0ee6 6F190000 .4byte .LVUS120 13706 0eea 07 .uleb128 0x7 13707 0eeb 6C0A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2668 ARM GAS /tmp/ccjvgGVC.s page 715 13708 0eef BB190000 .4byte .LLST121 13709 0ef3 B3190000 .4byte .LVUS121 13710 0ef7 07 .uleb128 0x7 13711 0ef8 790A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2681 13712 0efc F7190000 .4byte .LLST122 13713 0f00 EF190000 .4byte .LVUS122 13714 0f04 22 .uleb128 0x22 13715 0f05 860A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2694 13716 0f09 28030000 .4byte .Ldebug_ranges0+0x328 13717 0f0d 1A0F0000 .4byte 0xf1a 13718 0f11 19 .uleb128 0x19 13719 0f12 870A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2695 13720 0f16 02 .byte 0x2 13721 0f17 91 .byte 0x91 13722 0f18 4C .sleb128 -52 13723 0f19 00 .byte 0 13724 0f1a 18 .uleb128 0x18 13725 0f1b E2000000 .4byte .LVL192 13726 0f1f 2F090000 .4byte 0x92f 13727 0f23 490F0000 .4byte 0xf49 13728 0f27 0E .uleb128 0xe 13729 0f28 01 .byte 0x1 13730 0f29 50 .byte 0x50 13731 0f2a 02 .byte 0x2 13732 0f2b 74 .byte 0x74 13733 0f2c 00 .sleb128 0 13734 0f2d 0E .uleb128 0xe 13735 0f2e 01 .byte 0x1 13736 0f2f 51 .byte 0x51 13737 0f30 05 .byte 0x5 13738 0f31 0C .byte 0xc 13739 0f32 01000100 .4byte 0x10001 13740 0f36 0E .uleb128 0xe 13741 0f37 01 .byte 0x1 13742 0f38 52 .byte 0x52 13743 0f39 01 .byte 0x1 13744 0f3a 30 .byte 0x30 13745 0f3b 0E .uleb128 0xe 13746 0f3c 01 .byte 0x1 13747 0f3d 53 .byte 0x53 13748 0f3e 02 .byte 0x2 13749 0f3f 77 .byte 0x77 13750 0f40 00 .sleb128 0 13751 0f41 0E .uleb128 0xe 13752 0f42 02 .byte 0x2 13753 0f43 7D .byte 0x7d 13754 0f44 00 .sleb128 0 13755 0f45 02 .byte 0x2 13756 0f46 76 .byte 0x76 13757 0f47 00 .sleb128 0 13758 0f48 00 .byte 0 13759 0f49 18 .uleb128 0x18 13760 0f4a 20010000 .4byte .LVL199 13761 0f4e 34090000 .4byte 0x934 13762 0f52 720F0000 .4byte 0xf72 13763 0f56 0E .uleb128 0xe 13764 0f57 01 .byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 716 13765 0f58 50 .byte 0x50 13766 0f59 02 .byte 0x2 13767 0f5a 74 .byte 0x74 13768 0f5b 00 .sleb128 0 13769 0f5c 0E .uleb128 0xe 13770 0f5d 01 .byte 0x1 13771 0f5e 51 .byte 0x51 13772 0f5f 05 .byte 0x5 13773 0f60 0C .byte 0xc 13774 0f61 02000100 .4byte 0x10002 13775 0f65 0E .uleb128 0xe 13776 0f66 01 .byte 0x1 13777 0f67 52 .byte 0x52 13778 0f68 02 .byte 0x2 13779 0f69 77 .byte 0x77 13780 0f6a 00 .sleb128 0 13781 0f6b 0E .uleb128 0xe 13782 0f6c 01 .byte 0x1 13783 0f6d 53 .byte 0x53 13784 0f6e 02 .byte 0x2 13785 0f6f 76 .byte 0x76 13786 0f70 00 .sleb128 0 13787 0f71 00 .byte 0 13788 0f72 18 .uleb128 0x18 13789 0f73 3E010000 .4byte .LVL200 13790 0f77 39090000 .4byte 0x939 13791 0f7b 920F0000 .4byte 0xf92 13792 0f7f 0E .uleb128 0xe 13793 0f80 01 .byte 0x1 13794 0f81 50 .byte 0x50 13795 0f82 02 .byte 0x2 13796 0f83 74 .byte 0x74 13797 0f84 00 .sleb128 0 13798 0f85 0E .uleb128 0xe 13799 0f86 01 .byte 0x1 13800 0f87 51 .byte 0x51 13801 0f88 02 .byte 0x2 13802 0f89 77 .byte 0x77 13803 0f8a 00 .sleb128 0 13804 0f8b 0E .uleb128 0xe 13805 0f8c 01 .byte 0x1 13806 0f8d 52 .byte 0x52 13807 0f8e 02 .byte 0x2 13808 0f8f 76 .byte 0x76 13809 0f90 00 .sleb128 0 13810 0f91 00 .byte 0 13811 0f92 18 .uleb128 0x18 13812 0f93 70010000 .4byte .LVL203 13813 0f97 39090000 .4byte 0x939 13814 0f9b B20F0000 .4byte 0xfb2 13815 0f9f 0E .uleb128 0xe 13816 0fa0 01 .byte 0x1 13817 0fa1 50 .byte 0x50 13818 0fa2 02 .byte 0x2 13819 0fa3 74 .byte 0x74 13820 0fa4 00 .sleb128 0 13821 0fa5 0E .uleb128 0xe ARM GAS /tmp/ccjvgGVC.s page 717 13822 0fa6 01 .byte 0x1 13823 0fa7 51 .byte 0x51 13824 0fa8 02 .byte 0x2 13825 0fa9 77 .byte 0x77 13826 0faa 00 .sleb128 0 13827 0fab 0E .uleb128 0xe 13828 0fac 01 .byte 0x1 13829 0fad 52 .byte 0x52 13830 0fae 02 .byte 0x2 13831 0faf 76 .byte 0x76 13832 0fb0 00 .sleb128 0 13833 0fb1 00 .byte 0 13834 0fb2 18 .uleb128 0x18 13835 0fb3 9C010000 .4byte .LVL204 13836 0fb7 39090000 .4byte 0x939 13837 0fbb D20F0000 .4byte 0xfd2 13838 0fbf 0E .uleb128 0xe 13839 0fc0 01 .byte 0x1 13840 0fc1 50 .byte 0x50 13841 0fc2 02 .byte 0x2 13842 0fc3 74 .byte 0x74 13843 0fc4 00 .sleb128 0 13844 0fc5 0E .uleb128 0xe 13845 0fc6 01 .byte 0x1 13846 0fc7 51 .byte 0x51 13847 0fc8 02 .byte 0x2 13848 0fc9 77 .byte 0x77 13849 0fca 00 .sleb128 0 13850 0fcb 0E .uleb128 0xe 13851 0fcc 01 .byte 0x1 13852 0fcd 52 .byte 0x52 13853 0fce 02 .byte 0x2 13854 0fcf 76 .byte 0x76 13855 0fd0 00 .sleb128 0 13856 0fd1 00 .byte 0 13857 0fd2 18 .uleb128 0x18 13858 0fd3 C6010000 .4byte .LVL205 13859 0fd7 2F090000 .4byte 0x92f 13860 0fdb FC0F0000 .4byte 0xffc 13861 0fdf 0E .uleb128 0xe 13862 0fe0 01 .byte 0x1 13863 0fe1 50 .byte 0x50 13864 0fe2 02 .byte 0x2 13865 0fe3 74 .byte 0x74 13866 0fe4 00 .sleb128 0 13867 0fe5 0E .uleb128 0xe 13868 0fe6 01 .byte 0x1 13869 0fe7 51 .byte 0x51 13870 0fe8 05 .byte 0x5 13871 0fe9 0C .byte 0xc 13872 0fea 01000100 .4byte 0x10001 13873 0fee 0E .uleb128 0xe 13874 0fef 01 .byte 0x1 13875 0ff0 53 .byte 0x53 13876 0ff1 02 .byte 0x2 13877 0ff2 77 .byte 0x77 13878 0ff3 00 .sleb128 0 ARM GAS /tmp/ccjvgGVC.s page 718 13879 0ff4 0E .uleb128 0xe 13880 0ff5 02 .byte 0x2 13881 0ff6 7D .byte 0x7d 13882 0ff7 00 .sleb128 0 13883 0ff8 02 .byte 0x2 13884 0ff9 76 .byte 0x76 13885 0ffa 00 .sleb128 0 13886 0ffb 00 .byte 0 13887 0ffc 0D .uleb128 0xd 13888 0ffd F2010000 .4byte .LVL208 13889 1001 34090000 .4byte 0x934 13890 1005 0E .uleb128 0xe 13891 1006 01 .byte 0x1 13892 1007 50 .byte 0x50 13893 1008 02 .byte 0x2 13894 1009 74 .byte 0x74 13895 100a 00 .sleb128 0 13896 100b 0E .uleb128 0xe 13897 100c 01 .byte 0x1 13898 100d 51 .byte 0x51 13899 100e 05 .byte 0x5 13900 100f 0C .byte 0xc 13901 1010 02000100 .4byte 0x10002 13902 1014 0E .uleb128 0xe 13903 1015 01 .byte 0x1 13904 1016 52 .byte 0x52 13905 1017 02 .byte 0x2 13906 1018 77 .byte 0x77 13907 1019 00 .sleb128 0 13908 101a 0E .uleb128 0xe 13909 101b 01 .byte 0x1 13910 101c 53 .byte 0x53 13911 101d 02 .byte 0x2 13912 101e 76 .byte 0x76 13913 101f 00 .sleb128 0 13914 1020 00 .byte 0 13915 1021 00 .byte 0 13916 1022 22 .uleb128 0x22 13917 1023 0E190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6414 13918 1027 40030000 .4byte .Ldebug_ranges0+0x340 13919 102b 38100000 .4byte 0x1038 13920 102f 19 .uleb128 0x19 13921 1030 13190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6419 13922 1034 02 .byte 0x2 13923 1035 91 .byte 0x91 13924 1036 48 .sleb128 -56 13925 1037 00 .byte 0 13926 1038 21 .uleb128 0x21 13927 1039 21190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6433 13928 103d 40020000 .4byte .LBB290 13929 1041 4C020000 .4byte .LBE290 13930 1045 52100000 .4byte 0x1052 13931 1049 19 .uleb128 0x19 13932 104a 26190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6438 13933 104e 02 .byte 0x2 13934 104f 91 .byte 0x91 13935 1050 44 .sleb128 -60 ARM GAS /tmp/ccjvgGVC.s page 719 13936 1051 00 .byte 0 13937 1052 21 .uleb128 0x21 13938 1053 34190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6452 13939 1057 62020000 .4byte .LBB291 13940 105b 6E020000 .4byte .LBE291 13941 105f 6C100000 .4byte 0x106c 13942 1063 19 .uleb128 0x19 13943 1064 39190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6457 13944 1068 02 .byte 0x2 13945 1069 91 .byte 0x91 13946 106a 40 .sleb128 -64 13947 106b 00 .byte 0 13948 106c 21 .uleb128 0x21 13949 106d 47190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6471 13950 1071 70020000 .4byte .LBB292 13951 1075 7E020000 .4byte .LBE292 13952 1079 87100000 .4byte 0x1087 13953 107d 19 .uleb128 0x19 13954 107e 48190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6472 13955 1082 03 .byte 0x3 13956 1083 91 .byte 0x91 13957 1084 BC7F .sleb128 -68 13958 1086 00 .byte 0 13959 1087 18 .uleb128 0x18 13960 1088 5A000000 .4byte .LVL190 13961 108c 2F090000 .4byte 0x92f 13962 1090 B5100000 .4byte 0x10b5 13963 1094 0E .uleb128 0xe 13964 1095 01 .byte 0x1 13965 1096 50 .byte 0x50 13966 1097 02 .byte 0x2 13967 1098 74 .byte 0x74 13968 1099 00 .sleb128 0 13969 109a 0E .uleb128 0xe 13970 109b 01 .byte 0x1 13971 109c 51 .byte 0x51 13972 109d 05 .byte 0x5 13973 109e 0C .byte 0xc 13974 109f 02001000 .4byte 0x100002 13975 10a3 0E .uleb128 0xe 13976 10a4 01 .byte 0x1 13977 10a5 52 .byte 0x52 13978 10a6 01 .byte 0x1 13979 10a7 31 .byte 0x31 13980 10a8 0E .uleb128 0xe 13981 10a9 01 .byte 0x1 13982 10aa 53 .byte 0x53 13983 10ab 01 .byte 0x1 13984 10ac 49 .byte 0x49 13985 10ad 0E .uleb128 0xe 13986 10ae 02 .byte 0x2 13987 10af 7D .byte 0x7d 13988 10b0 00 .sleb128 0 13989 10b1 02 .byte 0x2 13990 10b2 76 .byte 0x76 13991 10b3 00 .sleb128 0 13992 10b4 00 .byte 0 ARM GAS /tmp/ccjvgGVC.s page 720 13993 10b5 18 .uleb128 0x18 13994 10b6 90020000 .4byte .LVL216 13995 10ba FD0C0000 .4byte 0xcfd 13996 10be D5100000 .4byte 0x10d5 13997 10c2 0E .uleb128 0xe 13998 10c3 01 .byte 0x1 13999 10c4 50 .byte 0x50 14000 10c5 02 .byte 0x2 14001 10c6 74 .byte 0x74 14002 10c7 00 .sleb128 0 14003 10c8 0E .uleb128 0xe 14004 10c9 01 .byte 0x1 14005 10ca 51 .byte 0x51 14006 10cb 02 .byte 0x2 14007 10cc 77 .byte 0x77 14008 10cd 00 .sleb128 0 14009 10ce 0E .uleb128 0xe 14010 10cf 01 .byte 0x1 14011 10d0 52 .byte 0x52 14012 10d1 02 .byte 0x2 14013 10d2 76 .byte 0x76 14014 10d3 00 .sleb128 0 14015 10d4 00 .byte 0 14016 10d5 0F .uleb128 0xf 14017 10d6 DC020000 .4byte .LVL218 14018 10da 2F090000 .4byte 0x92f 14019 10de 0F .uleb128 0xf 14020 10df 12030000 .4byte .LVL220 14021 10e3 2F090000 .4byte 0x92f 14022 10e7 0D .uleb128 0xd 14023 10e8 52030000 .4byte .LVL221 14024 10ec FD0C0000 .4byte 0xcfd 14025 10f0 0E .uleb128 0xe 14026 10f1 01 .byte 0x1 14027 10f2 50 .byte 0x50 14028 10f3 02 .byte 0x2 14029 10f4 74 .byte 0x74 14030 10f5 00 .sleb128 0 14031 10f6 0E .uleb128 0xe 14032 10f7 01 .byte 0x1 14033 10f8 51 .byte 0x51 14034 10f9 02 .byte 0x2 14035 10fa 77 .byte 0x77 14036 10fb 00 .sleb128 0 14037 10fc 0E .uleb128 0xe 14038 10fd 01 .byte 0x1 14039 10fe 52 .byte 0x52 14040 10ff 02 .byte 0x2 14041 1100 76 .byte 0x76 14042 1101 00 .sleb128 0 14043 1102 00 .byte 0 14044 1103 00 .byte 0 14045 1104 00 .byte 0 14046 1105 18 .uleb128 0x18 14047 1106 2A000000 .4byte .LVL185 14048 110a C9010000 .4byte 0x1c9 14049 110e 19110000 .4byte 0x1119 ARM GAS /tmp/ccjvgGVC.s page 721 14050 1112 0E .uleb128 0xe 14051 1113 01 .byte 0x1 14052 1114 50 .byte 0x50 14053 1115 02 .byte 0x2 14054 1116 74 .byte 0x74 14055 1117 00 .sleb128 0 14056 1118 00 .byte 0 14057 1119 0D .uleb128 0xd 14058 111a 00010000 .4byte .LVL196 14059 111e A8020000 .4byte 0x2a8 14060 1122 0E .uleb128 0xe 14061 1123 01 .byte 0x1 14062 1124 50 .byte 0x50 14063 1125 02 .byte 0x2 14064 1126 91 .byte 0x91 14065 1127 50 .sleb128 -48 14066 1128 00 .byte 0 14067 1129 00 .byte 0 14068 112a 06 .uleb128 0x6 14069 112b 78170000 .4byte stm32_i2c_driver.cpp.5a928bb9+6008 14070 112f 00000000 .4byte .LFB57 14071 1133 F4010000 .4byte .LFE57 14072 1137 2B1A0000 .4byte .LLST123 14073 113b 01 .byte 0x1 14074 113c 55140000 .4byte 0x1455 14075 1140 07 .uleb128 0x7 14076 1141 8E170000 .4byte stm32_i2c_driver.cpp.5a928bb9+6030 14077 1145 791A0000 .4byte .LLST124 14078 1149 711A0000 .4byte .LVUS124 14079 114d 07 .uleb128 0x7 14080 114e 9B170000 .4byte stm32_i2c_driver.cpp.5a928bb9+6043 14081 1152 BC1A0000 .4byte .LLST125 14082 1156 B61A0000 .4byte .LVUS125 14083 115a 07 .uleb128 0x7 14084 115b A8170000 .4byte stm32_i2c_driver.cpp.5a928bb9+6056 14085 115f EE1A0000 .4byte .LLST126 14086 1163 E61A0000 .4byte .LVUS126 14087 1167 07 .uleb128 0x7 14088 1168 B5170000 .4byte stm32_i2c_driver.cpp.5a928bb9+6069 14089 116c 311B0000 .4byte .LLST127 14090 1170 2B1B0000 .4byte .LVUS127 14091 1174 07 .uleb128 0x7 14092 1175 C2170000 .4byte stm32_i2c_driver.cpp.5a928bb9+6082 14093 1179 5F1B0000 .4byte .LLST128 14094 117d 5B1B0000 .4byte .LVUS128 14095 1181 07 .uleb128 0x7 14096 1182 CF170000 .4byte stm32_i2c_driver.cpp.5a928bb9+6095 14097 1186 831B0000 .4byte .LLST129 14098 118a 7F1B0000 .4byte .LVUS129 14099 118e 07 .uleb128 0x7 14100 118f DC170000 .4byte stm32_i2c_driver.cpp.5a928bb9+6108 14101 1193 AD1B0000 .4byte .LLST130 14102 1197 A31B0000 .4byte .LVUS130 14103 119b 05 .uleb128 0x5 14104 119c E9170000 .4byte stm32_i2c_driver.cpp.5a928bb9+6121 14105 11a0 FD1B0000 .4byte .LLST131 14106 11a4 F11B0000 .4byte .LVUS131 ARM GAS /tmp/ccjvgGVC.s page 722 14107 11a8 19 .uleb128 0x19 14108 11a9 F4170000 .4byte stm32_i2c_driver.cpp.5a928bb9+6132 14109 11ad 02 .byte 0x2 14110 11ae 91 .byte 0x91 14111 11af 50 .sleb128 -48 14112 11b0 17 .uleb128 0x17 14113 11b1 AC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6828 14114 11b5 00000000 .4byte .LBI318 14115 11b9 0200 .2byte .LVU1282 14116 11bb 58030000 .4byte .Ldebug_ranges0+0x358 14117 11bf 03 .byte 0x3 14118 11c0 6402 .2byte 0x264 14119 11c2 28 .byte 0x28 14120 11c3 D5110000 .4byte 0x11d5 14121 11c7 07 .uleb128 0x7 14122 11c8 BC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6844 14123 11cc 4B1C0000 .4byte .LLST132 14124 11d0 471C0000 .4byte .LVUS132 14125 11d4 00 .byte 0 14126 11d5 17 .uleb128 0x17 14127 11d6 651B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7013 14128 11da 2A000000 .4byte .LBI324 14129 11de 0100 .2byte .LVU1296 14130 11e0 78030000 .4byte .Ldebug_ranges0+0x378 14131 11e4 03 .byte 0x3 14132 11e5 6702 .2byte 0x267 14133 11e7 03 .byte 0x3 14134 11e8 19120000 .4byte 0x1219 14135 11ec 07 .uleb128 0x7 14136 11ed 6E1B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7022 14137 11f1 711C0000 .4byte .LLST133 14138 11f5 691C0000 .4byte .LVUS133 14139 11f9 0D .uleb128 0xd 14140 11fa 3C000000 .4byte .LVL230 14141 11fe 39020000 .4byte 0x239 14142 1202 0E .uleb128 0xe 14143 1203 01 .byte 0x1 14144 1204 50 .byte 0x50 14145 1205 02 .byte 0x2 14146 1206 91 .byte 0x91 14147 1207 50 .sleb128 -48 14148 1208 0E .uleb128 0xe 14149 1209 01 .byte 0x1 14150 120a 51 .byte 0x51 14151 120b 0B .byte 0xb 14152 120c 75 .byte 0x75 14153 120d 00 .sleb128 0 14154 120e 78 .byte 0x78 14155 120f 00 .sleb128 0 14156 1210 22 .byte 0x22 14157 1211 03 .byte 0x3 14158 1212 A8FFFFFF .4byte _ZL9_i2c_devs-88 14159 1216 1C .byte 0x1c 14160 1217 00 .byte 0 14161 1218 00 .byte 0 14162 1219 17 .uleb128 0x17 14163 121a 57190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6487 ARM GAS /tmp/ccjvgGVC.s page 723 14164 121e 3C000000 .4byte .LBI328 14165 1222 0200 .2byte .LVU1307 14166 1224 98030000 .4byte .Ldebug_ranges0+0x398 14167 1228 03 .byte 0x3 14168 1229 6802 .2byte 0x268 14169 122b 18 .byte 0x18 14170 122c 30140000 .4byte 0x1430 14171 1230 07 .uleb128 0x7 14172 1231 6A190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6506 14173 1235 CA1C0000 .4byte .LLST134 14174 1239 B81C0000 .4byte .LVUS134 14175 123d 07 .uleb128 0x7 14176 123e 77190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6519 14177 1242 3F1D0000 .4byte .LLST135 14178 1246 351D0000 .4byte .LVUS135 14179 124a 07 .uleb128 0x7 14180 124b 84190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6532 14181 124f AC1D0000 .4byte .LLST136 14182 1253 9C1D0000 .4byte .LVUS136 14183 1257 07 .uleb128 0x7 14184 1258 91190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6545 14185 125c 311E0000 .4byte .LLST137 14186 1260 271E0000 .4byte .LVUS137 14187 1264 07 .uleb128 0x7 14188 1265 9E190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6558 14189 1269 7F1E0000 .4byte .LLST138 14190 126d 751E0000 .4byte .LVUS138 14191 1271 07 .uleb128 0x7 14192 1272 AB190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6571 14193 1276 CD1E0000 .4byte .LLST139 14194 127a C31E0000 .4byte .LVUS139 14195 127e 07 .uleb128 0x7 14196 127f B8190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6584 14197 1283 231F0000 .4byte .LLST140 14198 1287 111F0000 .4byte .LVUS140 14199 128b 0A .uleb128 0xa 14200 128c 98030000 .4byte .Ldebug_ranges0+0x398 14201 1290 05 .uleb128 0x5 14202 1291 C5190000 .4byte stm32f4xx_hal_i2c.c.5babf799+6597 14203 1295 A01F0000 .4byte .LLST141 14204 1299 8E1F0000 .4byte .LVUS141 14205 129d 17 .uleb128 0x17 14206 129e 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 14207 12a2 3C000000 .4byte .LBI330 14208 12a6 0400 .2byte .LVU1309 14209 12a8 D0030000 .4byte .Ldebug_ranges0+0x3d0 14210 12ac 09 .byte 0x9 14211 12ad B709 .2byte 0x9b7 14212 12af 18 .byte 0x18 14213 12b0 C7120000 .4byte 0x12c7 14214 12b4 20 .uleb128 0x20 14215 12b5 C70D0000 .4byte timers_driver.cpp.6123c072+3527 14216 12b9 3C000000 .4byte .LBI331 14217 12bd 0600 .2byte .LVU1311 14218 12bf D0030000 .4byte .Ldebug_ranges0+0x3d0 14219 12c3 0A .byte 0xa 14220 12c4 1B .byte 0x1b ARM GAS /tmp/ccjvgGVC.s page 724 14221 12c5 1B .byte 0x1b 14222 12c6 00 .byte 0 14223 12c7 17 .uleb128 0x17 14224 12c8 960A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2710 14225 12cc C4000000 .4byte .LBI336 14226 12d0 0100 .2byte .LVU1359 14227 12d2 E8030000 .4byte .Ldebug_ranges0+0x3e8 14228 12d6 09 .byte 0x9 14229 12d7 DC09 .2byte 0x9dc 14230 12d9 09 .byte 0x9 14231 12da D7130000 .4byte 0x13d7 14232 12de 07 .uleb128 0x7 14233 12df A80A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2728 14234 12e3 13200000 .4byte .LLST142 14235 12e7 0B200000 .4byte .LVUS142 14236 12eb 07 .uleb128 0x7 14237 12ec B50A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2741 14238 12f0 4F200000 .4byte .LLST143 14239 12f4 47200000 .4byte .LVUS143 14240 12f8 07 .uleb128 0x7 14241 12f9 C20A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2754 14242 12fd A5200000 .4byte .LLST144 14243 1301 9B200000 .4byte .LVUS144 14244 1305 07 .uleb128 0x7 14245 1306 CF0A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2767 14246 130a F5200000 .4byte .LLST145 14247 130e ED200000 .4byte .LVUS145 14248 1312 07 .uleb128 0x7 14249 1313 DC0A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2780 14250 1317 35210000 .4byte .LLST146 14251 131b 2D210000 .4byte .LVUS146 14252 131f 07 .uleb128 0x7 14253 1320 E90A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2793 14254 1324 71210000 .4byte .LLST147 14255 1328 69210000 .4byte .LVUS147 14256 132c 22 .uleb128 0x22 14257 132d F60A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2806 14258 1331 10040000 .4byte .Ldebug_ranges0+0x410 14259 1335 42130000 .4byte 0x1342 14260 1339 19 .uleb128 0x19 14261 133a F70A0000 .4byte stm32f4xx_hal_i2c.c.5babf799+2807 14262 133e 02 .byte 0x2 14263 133f 91 .byte 0x91 14264 1340 4C .sleb128 -52 14265 1341 00 .byte 0 14266 1342 18 .uleb128 0x18 14267 1343 DC000000 .4byte .LVL237 14268 1347 2F090000 .4byte 0x92f 14269 134b 71130000 .4byte 0x1371 14270 134f 0E .uleb128 0xe 14271 1350 01 .byte 0x1 14272 1351 50 .byte 0x50 14273 1352 02 .byte 0x2 14274 1353 78 .byte 0x78 14275 1354 00 .sleb128 0 14276 1355 0E .uleb128 0xe 14277 1356 01 .byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 725 14278 1357 51 .byte 0x51 14279 1358 05 .byte 0x5 14280 1359 0C .byte 0xc 14281 135a 01000100 .4byte 0x10001 14282 135e 0E .uleb128 0xe 14283 135f 01 .byte 0x1 14284 1360 52 .byte 0x52 14285 1361 01 .byte 0x1 14286 1362 30 .byte 0x30 14287 1363 0E .uleb128 0xe 14288 1364 01 .byte 0x1 14289 1365 53 .byte 0x53 14290 1366 02 .byte 0x2 14291 1367 7B .byte 0x7b 14292 1368 00 .sleb128 0 14293 1369 0E .uleb128 0xe 14294 136a 02 .byte 0x2 14295 136b 7D .byte 0x7d 14296 136c 00 .sleb128 0 14297 136d 02 .byte 0x2 14298 136e 79 .byte 0x79 14299 136f 00 .sleb128 0 14300 1370 00 .byte 0 14301 1371 18 .uleb128 0x18 14302 1372 02010000 .4byte .LVL240 14303 1376 34090000 .4byte 0x934 14304 137a 9A130000 .4byte 0x139a 14305 137e 0E .uleb128 0xe 14306 137f 01 .byte 0x1 14307 1380 50 .byte 0x50 14308 1381 02 .byte 0x2 14309 1382 78 .byte 0x78 14310 1383 00 .sleb128 0 14311 1384 0E .uleb128 0xe 14312 1385 01 .byte 0x1 14313 1386 51 .byte 0x51 14314 1387 05 .byte 0x5 14315 1388 0C .byte 0xc 14316 1389 02000100 .4byte 0x10002 14317 138d 0E .uleb128 0xe 14318 138e 01 .byte 0x1 14319 138f 52 .byte 0x52 14320 1390 02 .byte 0x2 14321 1391 7B .byte 0x7b 14322 1392 00 .sleb128 0 14323 1393 0E .uleb128 0xe 14324 1394 01 .byte 0x1 14325 1395 53 .byte 0x53 14326 1396 02 .byte 0x2 14327 1397 79 .byte 0x79 14328 1398 00 .sleb128 0 14329 1399 00 .byte 0 14330 139a 18 .uleb128 0x18 14331 139b 1E010000 .4byte .LVL241 14332 139f 39090000 .4byte 0x939 14333 13a3 BA130000 .4byte 0x13ba 14334 13a7 0E .uleb128 0xe ARM GAS /tmp/ccjvgGVC.s page 726 14335 13a8 01 .byte 0x1 14336 13a9 50 .byte 0x50 14337 13aa 02 .byte 0x2 14338 13ab 78 .byte 0x78 14339 13ac 00 .sleb128 0 14340 13ad 0E .uleb128 0xe 14341 13ae 01 .byte 0x1 14342 13af 51 .byte 0x51 14343 13b0 02 .byte 0x2 14344 13b1 7B .byte 0x7b 14345 13b2 00 .sleb128 0 14346 13b3 0E .uleb128 0xe 14347 13b4 01 .byte 0x1 14348 13b5 52 .byte 0x52 14349 13b6 02 .byte 0x2 14350 13b7 79 .byte 0x79 14351 13b8 00 .sleb128 0 14352 13b9 00 .byte 0 14353 13ba 0D .uleb128 0xd 14354 13bb 80010000 .4byte .LVL251 14355 13bf 39090000 .4byte 0x939 14356 13c3 0E .uleb128 0xe 14357 13c4 01 .byte 0x1 14358 13c5 50 .byte 0x50 14359 13c6 02 .byte 0x2 14360 13c7 78 .byte 0x78 14361 13c8 00 .sleb128 0 14362 13c9 0E .uleb128 0xe 14363 13ca 01 .byte 0x1 14364 13cb 51 .byte 0x51 14365 13cc 02 .byte 0x2 14366 13cd 7B .byte 0x7b 14367 13ce 00 .sleb128 0 14368 13cf 0E .uleb128 0xe 14369 13d0 01 .byte 0x1 14370 13d1 52 .byte 0x52 14371 13d2 02 .byte 0x2 14372 13d3 79 .byte 0x79 14373 13d4 00 .sleb128 0 14374 13d5 00 .byte 0 14375 13d6 00 .byte 0 14376 13d7 18 .uleb128 0x18 14377 13d8 6E000000 .4byte .LVL235 14378 13dc 2F090000 .4byte 0x92f 14379 13e0 05140000 .4byte 0x1405 14380 13e4 0E .uleb128 0xe 14381 13e5 01 .byte 0x1 14382 13e6 50 .byte 0x50 14383 13e7 02 .byte 0x2 14384 13e8 78 .byte 0x78 14385 13e9 00 .sleb128 0 14386 13ea 0E .uleb128 0xe 14387 13eb 01 .byte 0x1 14388 13ec 51 .byte 0x51 14389 13ed 05 .byte 0x5 14390 13ee 0C .byte 0xc 14391 13ef 02001000 .4byte 0x100002 ARM GAS /tmp/ccjvgGVC.s page 727 14392 13f3 0E .uleb128 0xe 14393 13f4 01 .byte 0x1 14394 13f5 52 .byte 0x52 14395 13f6 01 .byte 0x1 14396 13f7 31 .byte 0x31 14397 13f8 0E .uleb128 0xe 14398 13f9 01 .byte 0x1 14399 13fa 53 .byte 0x53 14400 13fb 01 .byte 0x1 14401 13fc 49 .byte 0x49 14402 13fd 0E .uleb128 0xe 14403 13fe 02 .byte 0x2 14404 13ff 7D .byte 0x7d 14405 1400 00 .sleb128 0 14406 1401 02 .byte 0x2 14407 1402 79 .byte 0x79 14408 1403 00 .sleb128 0 14409 1404 00 .byte 0 14410 1405 18 .uleb128 0x18 14411 1406 54010000 .4byte .LVL248 14412 140a 3E090000 .4byte 0x93e 14413 140e 25140000 .4byte 0x1425 14414 1412 0E .uleb128 0xe 14415 1413 01 .byte 0x1 14416 1414 50 .byte 0x50 14417 1415 02 .byte 0x2 14418 1416 78 .byte 0x78 14419 1417 00 .sleb128 0 14420 1418 0E .uleb128 0xe 14421 1419 01 .byte 0x1 14422 141a 51 .byte 0x51 14423 141b 02 .byte 0x2 14424 141c 7B .byte 0x7b 14425 141d 00 .sleb128 0 14426 141e 0E .uleb128 0xe 14427 141f 01 .byte 0x1 14428 1420 52 .byte 0x52 14429 1421 02 .byte 0x2 14430 1422 79 .byte 0x79 14431 1423 00 .sleb128 0 14432 1424 00 .byte 0 14433 1425 0F .uleb128 0xf 14434 1426 8C010000 .4byte .LVL253 14435 142a 39090000 .4byte 0x939 14436 142e 00 .byte 0 14437 142f 00 .byte 0 14438 1430 18 .uleb128 0x18 14439 1431 2A000000 .4byte .LVL227 14440 1435 C9010000 .4byte 0x1c9 14441 1439 44140000 .4byte 0x1444 14442 143d 0E .uleb128 0xe 14443 143e 01 .byte 0x1 14444 143f 50 .byte 0x50 14445 1440 02 .byte 0x2 14446 1441 78 .byte 0x78 14447 1442 00 .sleb128 0 14448 1443 00 .byte 0 ARM GAS /tmp/ccjvgGVC.s page 728 14449 1444 0D .uleb128 0xd 14450 1445 56000000 .4byte .LVL233 14451 1449 A8020000 .4byte 0x2a8 14452 144d 0E .uleb128 0xe 14453 144e 01 .byte 0x1 14454 144f 50 .byte 0x50 14455 1450 02 .byte 0x2 14456 1451 91 .byte 0x91 14457 1452 50 .sleb128 -48 14458 1453 00 .byte 0 14459 1454 00 .byte 0 14460 1455 06 .uleb128 0x6 14461 1456 08170000 .4byte stm32_i2c_driver.cpp.5a928bb9+5896 14462 145a 00000000 .4byte .LFB60 14463 145e B0010000 .4byte .LFE60 14464 1462 A5210000 .4byte .LLST148 14465 1466 01 .byte 0x1 14466 1467 26170000 .4byte 0x1726 14467 146b 07 .uleb128 0x7 14468 146c 1E170000 .4byte stm32_i2c_driver.cpp.5a928bb9+5918 14469 1470 F3210000 .4byte .LLST149 14470 1474 EB210000 .4byte .LVUS149 14471 1478 07 .uleb128 0x7 14472 1479 2B170000 .4byte stm32_i2c_driver.cpp.5a928bb9+5931 14473 147d 36220000 .4byte .LLST150 14474 1481 30220000 .4byte .LVUS150 14475 1485 07 .uleb128 0x7 14476 1486 38170000 .4byte stm32_i2c_driver.cpp.5a928bb9+5944 14477 148a 66220000 .4byte .LLST151 14478 148e 60220000 .4byte .LVUS151 14479 1492 07 .uleb128 0x7 14480 1493 45170000 .4byte stm32_i2c_driver.cpp.5a928bb9+5957 14481 1497 96220000 .4byte .LLST152 14482 149b 90220000 .4byte .LVUS152 14483 149f 05 .uleb128 0x5 14484 14a0 52170000 .4byte stm32_i2c_driver.cpp.5a928bb9+5970 14485 14a4 C3220000 .4byte .LLST153 14486 14a8 BF220000 .4byte .LVUS153 14487 14ac 19 .uleb128 0x19 14488 14ad 5D170000 .4byte stm32_i2c_driver.cpp.5a928bb9+5981 14489 14b1 02 .byte 0x2 14490 14b2 91 .byte 0x91 14491 14b3 50 .sleb128 -48 14492 14b4 05 .uleb128 0x5 14493 14b5 6A170000 .4byte stm32_i2c_driver.cpp.5a928bb9+5994 14494 14b9 E7220000 .4byte .LLST154 14495 14bd E1220000 .4byte .LVUS154 14496 14c1 17 .uleb128 0x17 14497 14c2 AC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6828 14498 14c6 00000000 .4byte .LBI379 14499 14ca 0200 .2byte .LVU1476 14500 14cc 28040000 .4byte .Ldebug_ranges0+0x428 14501 14d0 03 .byte 0x3 14502 14d1 7102 .2byte 0x271 14503 14d3 28 .byte 0x28 14504 14d4 E6140000 .4byte 0x14e6 14505 14d8 07 .uleb128 0x7 ARM GAS /tmp/ccjvgGVC.s page 729 14506 14d9 BC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6844 14507 14dd 17230000 .4byte .LLST155 14508 14e1 13230000 .4byte .LVUS155 14509 14e5 00 .byte 0 14510 14e6 17 .uleb128 0x17 14511 14e7 E7150000 .4byte stm32f4xx_hal_i2c.c.5babf799+5607 14512 14eb 44000000 .4byte .LBI386 14513 14ef 0200 .2byte .LVU1502 14514 14f1 50040000 .4byte .Ldebug_ranges0+0x450 14515 14f5 03 .byte 0x3 14516 14f6 7502 .2byte 0x275 14517 14f8 30 .byte 0x30 14518 14f9 C1160000 .4byte 0x16c1 14519 14fd 07 .uleb128 0x7 14520 14fe FA150000 .4byte stm32f4xx_hal_i2c.c.5babf799+5626 14521 1502 3D230000 .4byte .LLST156 14522 1506 35230000 .4byte .LVUS156 14523 150a 07 .uleb128 0x7 14524 150b 07160000 .4byte stm32f4xx_hal_i2c.c.5babf799+5639 14525 150f 79230000 .4byte .LLST157 14526 1513 71230000 .4byte .LVUS157 14527 1517 07 .uleb128 0x7 14528 1518 14160000 .4byte stm32f4xx_hal_i2c.c.5babf799+5652 14529 151c CD230000 .4byte .LLST158 14530 1520 C5230000 .4byte .LVUS158 14531 1524 07 .uleb128 0x7 14532 1525 21160000 .4byte stm32f4xx_hal_i2c.c.5babf799+5665 14533 1529 0D240000 .4byte .LLST159 14534 152d 05240000 .4byte .LVUS159 14535 1531 0A .uleb128 0xa 14536 1532 50040000 .4byte .Ldebug_ranges0+0x450 14537 1536 05 .uleb128 0x5 14538 1537 2E160000 .4byte stm32f4xx_hal_i2c.c.5babf799+5678 14539 153b 49240000 .4byte .LLST160 14540 153f 41240000 .4byte .LVUS160 14541 1543 05 .uleb128 0x5 14542 1544 3B160000 .4byte stm32f4xx_hal_i2c.c.5babf799+5691 14543 1548 87240000 .4byte .LLST161 14544 154c 7D240000 .4byte .LVUS161 14545 1550 05 .uleb128 0x5 14546 1551 48160000 .4byte stm32f4xx_hal_i2c.c.5babf799+5704 14547 1555 CE240000 .4byte .LLST162 14548 1559 C8240000 .4byte .LVUS162 14549 155d 05 .uleb128 0x5 14550 155e 55160000 .4byte stm32f4xx_hal_i2c.c.5babf799+5717 14551 1562 F9240000 .4byte .LLST163 14552 1566 F7240000 .4byte .LVUS163 14553 156a 17 .uleb128 0x17 14554 156b 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 14555 156f 44000000 .4byte .LBI388 14556 1573 0400 .2byte .LVU1504 14557 1575 98040000 .4byte .Ldebug_ranges0+0x498 14558 1579 09 .byte 0x9 14559 157a 5F0D .2byte 0xd5f 14560 157c 18 .byte 0x18 14561 157d 94150000 .4byte 0x1594 14562 1581 20 .uleb128 0x20 ARM GAS /tmp/ccjvgGVC.s page 730 14563 1582 C70D0000 .4byte timers_driver.cpp.6123c072+3527 14564 1586 44000000 .4byte .LBI389 14565 158a 0600 .2byte .LVU1506 14566 158c 98040000 .4byte .Ldebug_ranges0+0x498 14567 1590 0A .byte 0xa 14568 1591 1B .byte 0x1b 14569 1592 1B .byte 0x1b 14570 1593 00 .byte 0 14571 1594 17 .uleb128 0x17 14572 1595 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 14573 1599 52010000 .4byte .LBI394 14574 159d 0100 .2byte .LVU1606 14575 159f B0040000 .4byte .Ldebug_ranges0+0x4b0 14576 15a3 09 .byte 0x9 14577 15a4 970D .2byte 0xd97 14578 15a6 0F .byte 0xf 14579 15a7 BE150000 .4byte 0x15be 14580 15ab 20 .uleb128 0x20 14581 15ac C70D0000 .4byte timers_driver.cpp.6123c072+3527 14582 15b0 52010000 .4byte .LBI395 14583 15b4 0300 .2byte .LVU1608 14584 15b6 B0040000 .4byte .Ldebug_ranges0+0x4b0 14585 15ba 0A .byte 0xa 14586 15bb 1B .byte 0x1b 14587 15bc 1B .byte 0x1b 14588 15bd 00 .byte 0 14589 15be 15 .uleb128 0x15 14590 15bf 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 14591 15c3 EC000000 .4byte .LBI399 14592 15c7 0100 .2byte .LVU1559 14593 15c9 EC000000 .4byte .LBB399 14594 15cd F0000000 .4byte .LBE399 14595 15d1 09 .byte 0x9 14596 15d2 910D .2byte 0xd91 14597 15d4 13 .byte 0x13 14598 15d5 F0150000 .4byte 0x15f0 14599 15d9 23 .uleb128 0x23 14600 15da C70D0000 .4byte timers_driver.cpp.6123c072+3527 14601 15de EC000000 .4byte .LBI400 14602 15e2 0300 .2byte .LVU1561 14603 15e4 EC000000 .4byte .LBB400 14604 15e8 F0000000 .4byte .LBE400 14605 15ec 0A .byte 0xa 14606 15ed 1B .byte 0x1b 14607 15ee 1B .byte 0x1b 14608 15ef 00 .byte 0 14609 15f0 21 .uleb128 0x21 14610 15f1 62160000 .4byte stm32f4xx_hal_i2c.c.5babf799+5730 14611 15f5 26010000 .4byte .LBB402 14612 15f9 34010000 .4byte .LBE402 14613 15fd 0A160000 .4byte 0x160a 14614 1601 19 .uleb128 0x19 14615 1602 63160000 .4byte stm32f4xx_hal_i2c.c.5babf799+5731 14616 1606 02 .byte 0x2 14617 1607 91 .byte 0x91 14618 1608 4C .sleb128 -52 14619 1609 00 .byte 0 ARM GAS /tmp/ccjvgGVC.s page 731 14620 160a 18 .uleb128 0x18 14621 160b 70000000 .4byte .LVL265 14622 160f 2F090000 .4byte 0x92f 14623 1613 38160000 .4byte 0x1638 14624 1617 0E .uleb128 0xe 14625 1618 01 .byte 0x1 14626 1619 50 .byte 0x50 14627 161a 02 .byte 0x2 14628 161b 76 .byte 0x76 14629 161c 00 .sleb128 0 14630 161d 0E .uleb128 0xe 14631 161e 01 .byte 0x1 14632 161f 51 .byte 0x51 14633 1620 05 .byte 0x5 14634 1621 0C .byte 0xc 14635 1622 02001000 .4byte 0x100002 14636 1626 0E .uleb128 0xe 14637 1627 01 .byte 0x1 14638 1628 52 .byte 0x52 14639 1629 01 .byte 0x1 14640 162a 31 .byte 0x31 14641 162b 0E .uleb128 0xe 14642 162c 01 .byte 0x1 14643 162d 53 .byte 0x53 14644 162e 01 .byte 0x1 14645 162f 49 .byte 0x49 14646 1630 0E .uleb128 0xe 14647 1631 02 .byte 0x2 14648 1632 7D .byte 0x7d 14649 1633 00 .sleb128 0 14650 1634 02 .byte 0x2 14651 1635 74 .byte 0x74 14652 1636 00 .sleb128 0 14653 1637 00 .byte 0 14654 1638 18 .uleb128 0x18 14655 1639 D0000000 .4byte .LVL267 14656 163d 2F090000 .4byte 0x92f 14657 1641 67160000 .4byte 0x1667 14658 1645 0E .uleb128 0xe 14659 1646 01 .byte 0x1 14660 1647 50 .byte 0x50 14661 1648 02 .byte 0x2 14662 1649 76 .byte 0x76 14663 164a 00 .sleb128 0 14664 164b 0E .uleb128 0xe 14665 164c 01 .byte 0x1 14666 164d 51 .byte 0x51 14667 164e 05 .byte 0x5 14668 164f 0C .byte 0xc 14669 1650 01000100 .4byte 0x10001 14670 1654 0E .uleb128 0xe 14671 1655 01 .byte 0x1 14672 1656 52 .byte 0x52 14673 1657 01 .byte 0x1 14674 1658 30 .byte 0x30 14675 1659 0E .uleb128 0xe 14676 165a 01 .byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 732 14677 165b 53 .byte 0x53 14678 165c 02 .byte 0x2 14679 165d 77 .byte 0x77 14680 165e 00 .sleb128 0 14681 165f 0E .uleb128 0xe 14682 1660 02 .byte 0x2 14683 1661 7D .byte 0x7d 14684 1662 00 .sleb128 0 14685 1663 02 .byte 0x2 14686 1664 74 .byte 0x74 14687 1665 00 .sleb128 0 14688 1666 00 .byte 0 14689 1667 18 .uleb128 0x18 14690 1668 42010000 .4byte .LVL276 14691 166c 2F090000 .4byte 0x92f 14692 1670 95160000 .4byte 0x1695 14693 1674 0E .uleb128 0xe 14694 1675 01 .byte 0x1 14695 1676 50 .byte 0x50 14696 1677 02 .byte 0x2 14697 1678 76 .byte 0x76 14698 1679 00 .sleb128 0 14699 167a 0E .uleb128 0xe 14700 167b 01 .byte 0x1 14701 167c 51 .byte 0x51 14702 167d 05 .byte 0x5 14703 167e 0C .byte 0xc 14704 167f 02001000 .4byte 0x100002 14705 1683 0E .uleb128 0xe 14706 1684 01 .byte 0x1 14707 1685 52 .byte 0x52 14708 1686 01 .byte 0x1 14709 1687 31 .byte 0x31 14710 1688 0E .uleb128 0xe 14711 1689 01 .byte 0x1 14712 168a 53 .byte 0x53 14713 168b 01 .byte 0x1 14714 168c 49 .byte 0x49 14715 168d 0E .uleb128 0xe 14716 168e 02 .byte 0x2 14717 168f 7D .byte 0x7d 14718 1690 00 .sleb128 0 14719 1691 02 .byte 0x2 14720 1692 74 .byte 0x74 14721 1693 00 .sleb128 0 14722 1694 00 .byte 0 14723 1695 0D .uleb128 0xd 14724 1696 82010000 .4byte .LVL283 14725 169a 2F090000 .4byte 0x92f 14726 169e 0E .uleb128 0xe 14727 169f 01 .byte 0x1 14728 16a0 50 .byte 0x50 14729 16a1 02 .byte 0x2 14730 16a2 76 .byte 0x76 14731 16a3 00 .sleb128 0 14732 16a4 0E .uleb128 0xe 14733 16a5 01 .byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 733 14734 16a6 51 .byte 0x51 14735 16a7 05 .byte 0x5 14736 16a8 0C .byte 0xc 14737 16a9 02001000 .4byte 0x100002 14738 16ad 0E .uleb128 0xe 14739 16ae 01 .byte 0x1 14740 16af 52 .byte 0x52 14741 16b0 01 .byte 0x1 14742 16b1 31 .byte 0x31 14743 16b2 0E .uleb128 0xe 14744 16b3 01 .byte 0x1 14745 16b4 53 .byte 0x53 14746 16b5 01 .byte 0x1 14747 16b6 49 .byte 0x49 14748 16b7 0E .uleb128 0xe 14749 16b8 02 .byte 0x2 14750 16b9 7D .byte 0x7d 14751 16ba 00 .sleb128 0 14752 16bb 02 .byte 0x2 14753 16bc 74 .byte 0x74 14754 16bd 00 .sleb128 0 14755 16be 00 .byte 0 14756 16bf 00 .byte 0 14757 16c0 00 .byte 0 14758 16c1 17 .uleb128 0x17 14759 16c2 651B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7013 14760 16c6 34000000 .4byte .LBI414 14761 16ca 0100 .2byte .LVU1495 14762 16cc C8040000 .4byte .Ldebug_ranges0+0x4c8 14763 16d0 03 .byte 0x3 14764 16d1 7402 .2byte 0x274 14765 16d3 03 .byte 0x3 14766 16d4 01170000 .4byte 0x1701 14767 16d8 07 .uleb128 0x7 14768 16d9 6E1B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7022 14769 16dd 0E250000 .4byte .LLST164 14770 16e1 0C250000 .4byte .LVUS164 14771 16e5 0D .uleb128 0xd 14772 16e6 44000000 .4byte .LVL260 14773 16ea 39020000 .4byte 0x239 14774 16ee 0E .uleb128 0xe 14775 16ef 01 .byte 0x1 14776 16f0 50 .byte 0x50 14777 16f1 02 .byte 0x2 14778 16f2 91 .byte 0x91 14779 16f3 50 .sleb128 -48 14780 16f4 0E .uleb128 0xe 14781 16f5 01 .byte 0x1 14782 16f6 51 .byte 0x51 14783 16f7 07 .byte 0x7 14784 16f8 78 .byte 0x78 14785 16f9 00 .sleb128 0 14786 16fa 74 .byte 0x74 14787 16fb 00 .sleb128 0 14788 16fc 22 .byte 0x22 14789 16fd 23 .byte 0x23 14790 16fe 58 .uleb128 0x58 ARM GAS /tmp/ccjvgGVC.s page 734 14791 16ff 00 .byte 0 14792 1700 00 .byte 0 14793 1701 18 .uleb128 0x18 14794 1702 34000000 .4byte .LVL259 14795 1706 C9010000 .4byte 0x1c9 14796 170a 15170000 .4byte 0x1715 14797 170e 0E .uleb128 0xe 14798 170f 01 .byte 0x1 14799 1710 50 .byte 0x50 14800 1711 02 .byte 0x2 14801 1712 76 .byte 0x76 14802 1713 00 .sleb128 0 14803 1714 00 .byte 0 14804 1715 0D .uleb128 0xd 14805 1716 5A000000 .4byte .LVL263 14806 171a A8020000 .4byte 0x2a8 14807 171e 0E .uleb128 0xe 14808 171f 01 .byte 0x1 14809 1720 50 .byte 0x50 14810 1721 02 .byte 0x2 14811 1722 91 .byte 0x91 14812 1723 50 .sleb128 -48 14813 1724 00 .byte 0 14814 1725 00 .byte 0 14815 1726 24 .uleb128 0x24 14816 1727 8B1A0000 .4byte diskio_sdio.cpp.de088c1c+6795 14817 172b 38010000 .4byte .LASF4 14818 172f 00000000 .4byte .LFB63 14819 1733 3C000000 .4byte .LFE63 14820 1737 29250000 .4byte .LLST165 14821 173b 01 .byte 0x1 14822 173c DE170000 .4byte 0x17de 14823 1740 05 .uleb128 0x5 14824 1741 A91A0000 .4byte diskio_sdio.cpp.de088c1c+6825 14825 1745 4B250000 .4byte .LLST166 14826 1749 49250000 .4byte .LVUS166 14827 174d 25 .uleb128 0x25 14828 174e 9C1A0000 .4byte diskio_sdio.cpp.de088c1c+6812 14829 1752 2C01 .2byte 0x12c 14830 1754 26 .uleb128 0x26 14831 1755 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 14832 1759 02000000 .4byte .LBB435 14833 175d 06000000 .4byte .LBE435 14834 1761 05 .byte 0x5 14835 1762 7801 .2byte 0x178 14836 1764 1F .byte 0x1f 14837 1765 7A170000 .4byte 0x177a 14838 1769 27 .uleb128 0x27 14839 176a C70D0000 .4byte timers_driver.cpp.6123c072+3527 14840 176e 02000000 .4byte .LBB436 14841 1772 06000000 .4byte .LBE436 14842 1776 0A .byte 0xa 14843 1777 1B .byte 0x1b 14844 1778 1B .byte 0x1b 14845 1779 00 .byte 0 14846 177a 26 .uleb128 0x26 14847 177b 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 ARM GAS /tmp/ccjvgGVC.s page 735 14848 177f 06000000 .4byte .LBB438 14849 1783 08000000 .4byte .LBE438 14850 1787 05 .byte 0x5 14851 1788 7A01 .2byte 0x17a 14852 178a 14 .byte 0x14 14853 178b A0170000 .4byte 0x17a0 14854 178f 27 .uleb128 0x27 14855 1790 C70D0000 .4byte timers_driver.cpp.6123c072+3527 14856 1794 06000000 .4byte .LBB439 14857 1798 08000000 .4byte .LBE439 14858 179c 0A .byte 0xa 14859 179d 1B .byte 0x1b 14860 179e 1B .byte 0x1b 14861 179f 00 .byte 0 14862 17a0 28 .uleb128 0x28 14863 17a1 B61A0000 .4byte diskio_sdio.cpp.de088c1c+6838 14864 17a5 E0040000 .4byte .Ldebug_ranges0+0x4e0 14865 17a9 0B .uleb128 0xb 14866 17aa B71A0000 .4byte diskio_sdio.cpp.de088c1c+6839 14867 17ae 08 .uleb128 0x8 14868 17af C61A0000 .4byte diskio_sdio.cpp.de088c1c+6854 14869 17b3 F8040000 .4byte .Ldebug_ranges0+0x4f8 14870 17b7 05 .byte 0x5 14871 17b8 7B01 .2byte 0x17b 14872 17ba 27 .byte 0x27 14873 17bb 0A .uleb128 0xa 14874 17bc F8040000 .4byte .Ldebug_ranges0+0x4f8 14875 17c0 05 .uleb128 0x5 14876 17c1 D71A0000 .4byte diskio_sdio.cpp.de088c1c+6871 14877 17c5 62250000 .4byte .LLST167 14878 17c9 5E250000 .4byte .LVUS167 14879 17cd 0D .uleb128 0xd 14880 17ce 1C000000 .4byte .LVL290 14881 17d2 DE170000 .4byte 0x17de 14882 17d6 1C .uleb128 0x1c 14883 17d7 01 .byte 0x1 14884 17d8 50 .byte 0x50 14885 17d9 00 .byte 0 14886 17da 00 .byte 0 14887 17db 00 .byte 0 14888 17dc 00 .byte 0 14889 17dd 00 .byte 0 14890 17de 10 .uleb128 0x10 14891 17df 5D140000 .4byte stm32f4xx_hal_sd.c.fce97b96+5213 14892 17e3 06 .uleb128 0x6 14893 17e4 3C180000 .4byte diskio_sdio.cpp.de088c1c+6204 14894 17e8 00000000 .4byte .LFB65 14895 17ec 38000000 .4byte .LFE65 14896 17f0 80250000 .4byte .LLST168 14897 17f4 01 .byte 0x1 14898 17f5 80190000 .4byte 0x1980 14899 17f9 07 .uleb128 0x7 14900 17fa 52180000 .4byte diskio_sdio.cpp.de088c1c+6226 14901 17fe A8250000 .4byte .LLST169 14902 1802 A0250000 .4byte .LVUS169 14903 1806 07 .uleb128 0x7 14904 1807 5F180000 .4byte diskio_sdio.cpp.de088c1c+6239 ARM GAS /tmp/ccjvgGVC.s page 736 14905 180b F6250000 .4byte .LLST170 14906 180f EE250000 .4byte .LVUS170 14907 1813 07 .uleb128 0x7 14908 1814 6C180000 .4byte diskio_sdio.cpp.de088c1c+6252 14909 1818 44260000 .4byte .LLST171 14910 181c 3C260000 .4byte .LVUS171 14911 1820 05 .uleb128 0x5 14912 1821 79180000 .4byte diskio_sdio.cpp.de088c1c+6265 14913 1825 90260000 .4byte .LLST172 14914 1829 8A260000 .4byte .LVUS172 14915 182d 15 .uleb128 0x15 14916 182e F2180000 .4byte diskio_sdio.cpp.de088c1c+6386 14917 1832 0E000000 .4byte .LBI461 14918 1836 0200 .2byte .LVU1665 14919 1838 0E000000 .4byte .LBB461 14920 183c 12000000 .4byte .LBE461 14921 1840 05 .byte 0x5 14922 1841 3A02 .2byte 0x23a 14923 1843 22 .byte 0x22 14924 1844 85180000 .4byte 0x1885 14925 1848 07 .uleb128 0x7 14926 1849 03190000 .4byte diskio_sdio.cpp.de088c1c+6403 14927 184d BD260000 .4byte .LLST173 14928 1851 BB260000 .4byte .LVUS173 14929 1855 0B .uleb128 0xb 14930 1856 10190000 .4byte diskio_sdio.cpp.de088c1c+6416 14931 185a 16 .uleb128 0x16 14932 185b FA140000 .4byte stm32f4xx_hal_sd.c.fce97b96+5370 14933 185f 0E000000 .4byte .LBI463 14934 1863 0500 .2byte .LVU1668 14935 1865 0E000000 .4byte .LBB463 14936 1869 12000000 .4byte .LBE463 14937 186d 05 .byte 0x5 14938 186e 1802 .2byte 0x218 14939 1870 18 .byte 0x18 14940 1871 09 .uleb128 0x9 14941 1872 0D150000 .4byte stm32f4xx_hal_sd.c.fce97b96+5389 14942 1876 07 .uleb128 0x7 14943 1877 1A150000 .4byte stm32f4xx_hal_sd.c.fce97b96+5402 14944 187b D2260000 .4byte .LLST175 14945 187f D0260000 .4byte .LVUS175 14946 1883 00 .byte 0 14947 1884 00 .byte 0 14948 1885 17 .uleb128 0x17 14949 1886 87180000 .4byte diskio_sdio.cpp.de088c1c+6279 14950 188a 1E000000 .4byte .LBI465 14951 188e 0300 .2byte .LVU1692 14952 1890 10050000 .4byte .Ldebug_ranges0+0x510 14953 1894 05 .byte 0x5 14954 1895 4202 .2byte 0x242 14955 1897 20 .byte 0x20 14956 1898 14190000 .4byte 0x1914 14957 189c 07 .uleb128 0x7 14958 189d 98180000 .4byte diskio_sdio.cpp.de088c1c+6296 14959 18a1 EC260000 .4byte .LLST176 14960 18a5 EA260000 .4byte .LVUS176 14961 18a9 0A .uleb128 0xa ARM GAS /tmp/ccjvgGVC.s page 737 14962 18aa 10050000 .4byte .Ldebug_ranges0+0x510 14963 18ae 0B .uleb128 0xb 14964 18af A5180000 .4byte diskio_sdio.cpp.de088c1c+6309 14965 18b3 05 .uleb128 0x5 14966 18b4 B2180000 .4byte diskio_sdio.cpp.de088c1c+6322 14967 18b8 01270000 .4byte .LLST178 14968 18bc FF260000 .4byte .LVUS178 14969 18c0 14 .uleb128 0x14 14970 18c1 C6180000 .4byte diskio_sdio.cpp.de088c1c+6342 14971 18c5 1E000000 .4byte .LBI467 14972 18c9 0600 .2byte .LVU1695 14973 18cb 28050000 .4byte .Ldebug_ranges0+0x528 14974 18cf 05 .byte 0x5 14975 18d0 2E02 .2byte 0x22e 14976 18d2 25 .byte 0x25 14977 18d3 07 .uleb128 0x7 14978 18d4 D7180000 .4byte diskio_sdio.cpp.de088c1c+6359 14979 18d8 17270000 .4byte .LLST179 14980 18dc 15270000 .4byte .LVUS179 14981 18e0 0A .uleb128 0xa 14982 18e1 28050000 .4byte .Ldebug_ranges0+0x528 14983 18e5 0B .uleb128 0xb 14984 18e6 E4180000 .4byte diskio_sdio.cpp.de088c1c+6372 14985 18ea 14 .uleb128 0x14 14986 18eb FA140000 .4byte stm32f4xx_hal_sd.c.fce97b96+5370 14987 18ef 1E000000 .4byte .LBI469 14988 18f3 0900 .2byte .LVU1698 14989 18f5 28050000 .4byte .Ldebug_ranges0+0x528 14990 18f9 05 .byte 0x5 14991 18fa 2302 .2byte 0x223 14992 18fc 18 .byte 0x18 14993 18fd 09 .uleb128 0x9 14994 18fe 0D150000 .4byte stm32f4xx_hal_sd.c.fce97b96+5389 14995 1902 07 .uleb128 0x7 14996 1903 1A150000 .4byte stm32f4xx_hal_sd.c.fce97b96+5402 14997 1907 31270000 .4byte .LLST180 14998 190b 2F270000 .4byte .LVUS180 14999 190f 00 .byte 0 15000 1910 00 .byte 0 15001 1911 00 .byte 0 15002 1912 00 .byte 0 15003 1913 00 .byte 0 15004 1914 15 .uleb128 0x15 15005 1915 C6180000 .4byte diskio_sdio.cpp.de088c1c+6342 15006 1919 18000000 .4byte .LBI475 15007 191d 0200 .2byte .LVU1682 15008 191f 18000000 .4byte .LBB475 15009 1923 1E000000 .4byte .LBE475 15010 1927 05 .byte 0x5 15011 1928 3E02 .2byte 0x23e 15012 192a 21 .byte 0x21 15013 192b 6C190000 .4byte 0x196c 15014 192f 07 .uleb128 0x7 15015 1930 D7180000 .4byte diskio_sdio.cpp.de088c1c+6359 15016 1934 4B270000 .4byte .LLST181 15017 1938 49270000 .4byte .LVUS181 15018 193c 0B .uleb128 0xb ARM GAS /tmp/ccjvgGVC.s page 738 15019 193d E4180000 .4byte diskio_sdio.cpp.de088c1c+6372 15020 1941 16 .uleb128 0x16 15021 1942 FA140000 .4byte stm32f4xx_hal_sd.c.fce97b96+5370 15022 1946 18000000 .4byte .LBI477 15023 194a 0500 .2byte .LVU1685 15024 194c 18000000 .4byte .LBB477 15025 1950 1C000000 .4byte .LBE477 15026 1954 05 .byte 0x5 15027 1955 2302 .2byte 0x223 15028 1957 18 .byte 0x18 15029 1958 09 .uleb128 0x9 15030 1959 0D150000 .4byte stm32f4xx_hal_sd.c.fce97b96+5389 15031 195d 07 .uleb128 0x7 15032 195e 1A150000 .4byte stm32f4xx_hal_sd.c.fce97b96+5402 15033 1962 60270000 .4byte .LLST183 15034 1966 5E270000 .4byte .LVUS183 15035 196a 00 .byte 0 15036 196b 00 .byte 0 15037 196c 0D .uleb128 0xd 15038 196d 2A000000 .4byte .LVL302 15039 1971 26170000 .4byte 0x1726 15040 1975 29 .uleb128 0x29 15041 1976 89190000 .4byte 0x1989 15042 197a 03 .byte 0x3 15043 197b 0A .byte 0xa 15044 197c 2C01 .2byte 0x12c 15045 197e 00 .byte 0 15046 197f 00 .byte 0 15047 1980 2A .uleb128 0x2a 15048 1981 8B1A0000 .4byte diskio_sdio.cpp.de088c1c+6795 15049 1985 8F190000 .4byte 0x198f 15050 1989 09 .uleb128 0x9 15051 198a 9C1A0000 .4byte diskio_sdio.cpp.de088c1c+6812 15052 198e 00 .byte 0 15053 198f 24 .uleb128 0x24 15054 1990 E0070000 .4byte usbd_ctlreq.c.170b801d+2016 15055 1994 65000000 .4byte .LASF5 15056 1998 00000000 .4byte .LFB72 15057 199c 44000000 .4byte .LFE72 15058 19a0 78270000 .4byte .LLST184 15059 19a4 01 .byte 0x1 15060 19a5 2C1A0000 .4byte 0x1a2c 15061 19a9 07 .uleb128 0x7 15062 19aa EF070000 .4byte usbd_ctlreq.c.170b801d+2031 15063 19ae 9E270000 .4byte .LLST185 15064 19b2 98270000 .4byte .LVUS185 15065 19b6 07 .uleb128 0x7 15066 19b7 09080000 .4byte usbd_ctlreq.c.170b801d+2057 15067 19bb D4270000 .4byte .LLST186 15068 19bf D0270000 .4byte .LVUS186 15069 19c3 05 .uleb128 0x5 15070 19c4 16080000 .4byte usbd_ctlreq.c.170b801d+2070 15071 19c8 FA270000 .4byte .LLST187 15072 19cc F2270000 .4byte .LVUS187 15073 19d0 05 .uleb128 0x5 15074 19d1 23080000 .4byte usbd_ctlreq.c.170b801d+2083 15075 19d5 3C280000 .4byte .LLST188 ARM GAS /tmp/ccjvgGVC.s page 739 15076 19d9 32280000 .4byte .LVUS188 15077 19dd 09 .uleb128 0x9 15078 19de FC070000 .4byte usbd_ctlreq.c.170b801d+2044 15079 19e2 1E .uleb128 0x1e 15080 19e3 A6070000 .4byte usbd_ctlreq.c.170b801d+1958 15081 19e7 06000000 .4byte .LBB482 15082 19eb 0A000000 .4byte .LBE482 15083 19ef 0C .byte 0xc 15084 19f0 EF03 .2byte 0x3ef 15085 19f2 0A .byte 0xa 15086 19f3 07 .uleb128 0x7 15087 19f4 B8070000 .4byte usbd_ctlreq.c.170b801d+1976 15088 19f8 83280000 .4byte .LLST189 15089 19fc 7F280000 .4byte .LVUS189 15090 1a00 05 .uleb128 0x5 15091 1a01 C5070000 .4byte usbd_ctlreq.c.170b801d+1989 15092 1a05 A3280000 .4byte .LLST190 15093 1a09 A1280000 .4byte .LVUS190 15094 1a0d 05 .uleb128 0x5 15095 1a0e D2070000 .4byte usbd_ctlreq.c.170b801d+2002 15096 1a12 83280000 .4byte .LLST189 15097 1a16 7F280000 .4byte .LVUS189 15098 1a1a 0D .uleb128 0xd 15099 1a1b 0A000000 .4byte .LVL305 15100 1a1f 7F340000 .4byte 0x347f 15101 1a23 0E .uleb128 0xe 15102 1a24 01 .byte 0x1 15103 1a25 50 .byte 0x50 15104 1a26 02 .byte 0x2 15105 1a27 74 .byte 0x74 15106 1a28 00 .sleb128 0 15107 1a29 00 .byte 0 15108 1a2a 00 .byte 0 15109 1a2b 00 .byte 0 15110 1a2c 24 .uleb128 0x24 15111 1a2d A91B0000 .4byte usbd_conf.c.0873f3d7+7081 15112 1a31 87000000 .4byte .LASF6 15113 1a35 00000000 .4byte .LFB75 15114 1a39 50000000 .4byte .LFE75 15115 1a3d B7280000 .4byte .LLST192 15116 1a41 01 .byte 0x1 15117 1a42 CE1A0000 .4byte 0x1ace 15118 1a46 05 .uleb128 0x5 15119 1a47 C91B0000 .4byte usbd_conf.c.0873f3d7+7113 15120 1a4b F5280000 .4byte .LLST193 15121 1a4f EF280000 .4byte .LVUS193 15122 1a53 2B .uleb128 0x2b 15123 1a54 D61B0000 .4byte usbd_conf.c.0873f3d7+7126 15124 1a58 00 .byte 0 15125 1a59 09 .uleb128 0x9 15126 1a5a BC1B0000 .4byte usbd_conf.c.0873f3d7+7100 15127 1a5e 2C .uleb128 0x2c 15128 1a5f AE130000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5038 15129 1a63 40050000 .4byte .Ldebug_ranges0+0x540 15130 1a67 0D .byte 0xd 15131 1a68 B401 .2byte 0x1b4 15132 1a6a 10 .byte 0x10 ARM GAS /tmp/ccjvgGVC.s page 740 15133 1a6b C31A0000 .4byte 0x1ac3 15134 1a6f 07 .uleb128 0x7 15135 1a70 C1130000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5057 15136 1a74 24290000 .4byte .LLST194 15137 1a78 20290000 .4byte .LVUS194 15138 1a7c 0A .uleb128 0xa 15139 1a7d 40050000 .4byte .Ldebug_ranges0+0x540 15140 1a81 05 .uleb128 0x5 15141 1a82 CE130000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5070 15142 1a86 48290000 .4byte .LLST195 15143 1a8a 42290000 .4byte .LVUS195 15144 1a8e 26 .uleb128 0x26 15145 1a8f 83160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5763 15146 1a93 2C000000 .4byte .LBB490 15147 1a97 34000000 .4byte .LBE490 15148 1a9b 0E .byte 0xe 15149 1a9c F603 .2byte 0x3f6 15150 1a9e 03 .byte 0x3 15151 1a9f B11A0000 .4byte 0x1ab1 15152 1aa3 07 .uleb128 0x7 15153 1aa4 95160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5781 15154 1aa8 74290000 .4byte .LLST196 15155 1aac 72290000 .4byte .LVUS196 15156 1ab0 00 .byte 0 15157 1ab1 0D .uleb128 0xd 15158 1ab2 38000000 .4byte .LVL318 15159 1ab6 6F000000 .4byte 0x6f 15160 1aba 0E .uleb128 0xe 15161 1abb 01 .byte 0x1 15162 1abc 50 .byte 0x50 15163 1abd 02 .byte 0x2 15164 1abe 70 .byte 0x70 15165 1abf 00 .sleb128 0 15166 1ac0 00 .byte 0 15167 1ac1 00 .byte 0 15168 1ac2 00 .byte 0 15169 1ac3 13 .uleb128 0x13 15170 1ac4 46000000 .4byte .LVL321 15171 1ac8 01 .byte 0x1 15172 1ac9 CE1A0000 .4byte 0x1ace 15173 1acd 00 .byte 0 15174 1ace 10 .uleb128 0x10 15175 1acf D3170000 .4byte usbd_conf.c.0873f3d7+6099 15176 1ad3 24 .uleb128 0x24 15177 1ad4 1F1C0000 .4byte usbd_conf.c.0873f3d7+7199 15178 1ad8 66030000 .4byte .LASF7 15179 1adc 00000000 .4byte .LFB80 15180 1ae0 CC030000 .4byte .LFE80 15181 1ae4 87290000 .4byte .LLST197 15182 1ae8 01 .byte 0x1 15183 1ae9 011F0000 .4byte 0x1f01 15184 1aed 09 .uleb128 0x9 15185 1aee 321C0000 .4byte usbd_conf.c.0873f3d7+7218 15186 1af2 2C .uleb128 0x2c 15187 1af3 35140000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5173 15188 1af7 58050000 .4byte .Ldebug_ranges0+0x558 15189 1afb 0D .byte 0xd ARM GAS /tmp/ccjvgGVC.s page 741 15190 1afc 8D01 .2byte 0x18d 15191 1afe 09 .byte 0x9 15192 1aff 461E0000 .4byte 0x1e46 15193 1b03 09 .uleb128 0x9 15194 1b04 43140000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5187 15195 1b08 0A .uleb128 0xa 15196 1b09 58050000 .4byte .Ldebug_ranges0+0x558 15197 1b0d 05 .uleb128 0x5 15198 1b0e 4F140000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5199 15199 1b12 CF290000 .4byte .LLST199 15200 1b16 CB290000 .4byte .LVUS199 15201 1b1a 05 .uleb128 0x5 15202 1b1b 5B140000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5211 15203 1b1f 012A0000 .4byte .LLST200 15204 1b23 F3290000 .4byte .LVUS200 15205 1b27 11 .uleb128 0x11 15206 1b28 CC1D0000 .4byte usbd_conf.c.0873f3d7+7628 15207 1b2c 3E000000 .4byte .LBB546 15208 1b30 BA000000 .4byte .LBE546 15209 1b34 0E .byte 0xe 15210 1b35 A8 .byte 0xa8 15211 1b36 05 .byte 0x5 15212 1b37 2C1C0000 .4byte 0x1c2c 15213 1b3b 09 .uleb128 0x9 15214 1b3c DA1D0000 .4byte usbd_conf.c.0873f3d7+7642 15215 1b40 21 .uleb128 0x21 15216 1b41 E61D0000 .4byte usbd_conf.c.0873f3d7+7654 15217 1b45 48000000 .4byte .LBB548 15218 1b49 5C000000 .4byte .LBE548 15219 1b4d 5A1B0000 .4byte 0x1b5a 15220 1b51 19 .uleb128 0x19 15221 1b52 E71D0000 .4byte usbd_conf.c.0873f3d7+7655 15222 1b56 02 .byte 0x2 15223 1b57 91 .byte 0x91 15224 1b58 54 .sleb128 -44 15225 1b59 00 .byte 0 15226 1b5a 11 .uleb128 0x11 15227 1b5b FF1D0000 .4byte usbd_conf.c.0873f3d7+7679 15228 1b5f 5C000000 .4byte .LBB549 15229 1b63 64000000 .4byte .LBE549 15230 1b67 0D .byte 0xd 15231 1b68 6A .byte 0x6a 15232 1b69 05 .byte 0x5 15233 1b6a 891B0000 .4byte 0x1b89 15234 1b6e 07 .uleb128 0x7 15235 1b6f 0D1E0000 .4byte usbd_conf.c.0873f3d7+7693 15236 1b73 5A2A0000 .4byte .LLST202 15237 1b77 582A0000 .4byte .LVUS202 15238 1b7b 07 .uleb128 0x7 15239 1b7c 1A1E0000 .4byte usbd_conf.c.0873f3d7+7706 15240 1b80 712A0000 .4byte .LLST203 15241 1b84 6F2A0000 .4byte .LVUS203 15242 1b88 00 .byte 0 15243 1b89 11 .uleb128 0x11 15244 1b8a 441E0000 .4byte usbd_conf.c.0873f3d7+7748 15245 1b8e 64000000 .4byte .LBB551 15246 1b92 68000000 .4byte .LBE551 ARM GAS /tmp/ccjvgGVC.s page 742 15247 1b96 0D .byte 0xd 15248 1b97 6B .byte 0x6b 15249 1b98 05 .byte 0x5 15250 1b99 AB1B0000 .4byte 0x1bab 15251 1b9d 07 .uleb128 0x7 15252 1b9e 521E0000 .4byte usbd_conf.c.0873f3d7+7762 15253 1ba2 872A0000 .4byte .LLST204 15254 1ba6 852A0000 .4byte .LVUS204 15255 1baa 00 .byte 0 15256 1bab 12 .uleb128 0x12 15257 1bac F8100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4344 15258 1bb0 78050000 .4byte .Ldebug_ranges0+0x578 15259 1bb4 0D .byte 0xd 15260 1bb5 72 .byte 0x72 15261 1bb6 03 .byte 0x3 15262 1bb7 E41B0000 .4byte 0x1be4 15263 1bbb 09 .uleb128 0x9 15264 1bbc 0B110000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4363 15265 1bc0 0A .uleb128 0xa 15266 1bc1 78050000 .4byte .Ldebug_ranges0+0x578 15267 1bc5 05 .uleb128 0x5 15268 1bc6 18110000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4376 15269 1bca 9E2A0000 .4byte .LLST206 15270 1bce 9C2A0000 .4byte .LVUS206 15271 1bd2 0D .uleb128 0xd 15272 1bd3 70000000 .4byte .LVL329 15273 1bd7 45000000 .4byte 0x45 15274 1bdb 0E .uleb128 0xe 15275 1bdc 01 .byte 0x1 15276 1bdd 50 .byte 0x50 15277 1bde 02 .byte 0x2 15278 1bdf 70 .byte 0x70 15279 1be0 00 .sleb128 0 15280 1be1 00 .byte 0 15281 1be2 00 .byte 0 15282 1be3 00 .byte 0 15283 1be4 11 .uleb128 0x11 15284 1be5 26110000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4390 15285 1be9 90000000 .4byte .LBB557 15286 1bed BA000000 .4byte .LBE557 15287 1bf1 0D .byte 0xd 15288 1bf2 74 .byte 0x74 15289 1bf3 03 .byte 0x3 15290 1bf4 1B1C0000 .4byte 0x1c1b 15291 1bf8 09 .uleb128 0x9 15292 1bf9 39110000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4409 15293 1bfd 05 .uleb128 0x5 15294 1bfe 46110000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4422 15295 1c02 B62A0000 .4byte .LLST208 15296 1c06 B42A0000 .4byte .LVUS208 15297 1c0a 0D .uleb128 0xd 15298 1c0b B4000000 .4byte .LVL332 15299 1c0f 6F000000 .4byte 0x6f 15300 1c13 0E .uleb128 0xe 15301 1c14 01 .byte 0x1 15302 1c15 50 .byte 0x50 15303 1c16 02 .byte 0x2 ARM GAS /tmp/ccjvgGVC.s page 743 15304 1c17 70 .byte 0x70 15305 1c18 00 .sleb128 0 15306 1c19 00 .byte 0 15307 1c1a 00 .byte 0 15308 1c1b 0D .uleb128 0xd 15309 1c1c 90000000 .4byte .LVL331 15310 1c20 011F0000 .4byte 0x1f01 15311 1c24 0E .uleb128 0xe 15312 1c25 01 .byte 0x1 15313 1c26 50 .byte 0x50 15314 1c27 02 .byte 0x2 15315 1c28 08 .byte 0x8 15316 1c29 32 .byte 0x32 15317 1c2a 00 .byte 0 15318 1c2b 00 .byte 0 15319 1c2c 11 .uleb128 0x11 15320 1c2d 64160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5732 15321 1c31 CE000000 .4byte .LBB559 15322 1c35 D6000000 .4byte .LBE559 15323 1c39 0E .byte 0xe 15324 1c3a B5 .byte 0xb5 15325 1c3b 03 .byte 0x3 15326 1c3c 4E1C0000 .4byte 0x1c4e 15327 1c40 07 .uleb128 0x7 15328 1c41 76160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5750 15329 1c45 CE2A0000 .4byte .LLST209 15330 1c49 CC2A0000 .4byte .LVUS209 15331 1c4d 00 .byte 0 15332 1c4e 12 .uleb128 0x12 15333 1c4f E5160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5861 15334 1c53 90050000 .4byte .Ldebug_ranges0+0x590 15335 1c57 0E .byte 0xe 15336 1c58 B8 .byte 0xb8 15337 1c59 07 .byte 0x7 15338 1c5a A81C0000 .4byte 0x1ca8 15339 1c5e 09 .uleb128 0x9 15340 1c5f FF160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5887 15341 1c63 07 .uleb128 0x7 15342 1c64 F3160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5875 15343 1c68 E82A0000 .4byte .LLST210 15344 1c6c E42A0000 .4byte .LVUS210 15345 1c70 0A .uleb128 0xa 15346 1c71 90050000 .4byte .Ldebug_ranges0+0x590 15347 1c75 05 .uleb128 0x5 15348 1c76 0B170000 .4byte stm32f4xx_ll_usb.c.034a61b9+5899 15349 1c7a 102B0000 .4byte .LLST211 15350 1c7e 0C2B0000 .4byte .LVUS211 15351 1c82 18 .uleb128 0x18 15352 1c83 10010000 .4byte .LVL337 15353 1c87 061F0000 .4byte 0x1f06 15354 1c8b 961C0000 .4byte 0x1c96 15355 1c8f 0E .uleb128 0xe 15356 1c90 01 .byte 0x1 15357 1c91 50 .byte 0x50 15358 1c92 02 .byte 0x2 15359 1c93 75 .byte 0x75 15360 1c94 00 .sleb128 0 ARM GAS /tmp/ccjvgGVC.s page 744 15361 1c95 00 .byte 0 15362 1c96 0D .uleb128 0xd 15363 1c97 68010000 .4byte .LVL350 15364 1c9b 061F0000 .4byte 0x1f06 15365 1c9f 0E .uleb128 0xe 15366 1ca0 01 .byte 0x1 15367 1ca1 50 .byte 0x50 15368 1ca2 02 .byte 0x2 15369 1ca3 75 .byte 0x75 15370 1ca4 00 .sleb128 0 15371 1ca5 00 .byte 0 15372 1ca6 00 .byte 0 15373 1ca7 00 .byte 0 15374 1ca8 12 .uleb128 0x12 15375 1ca9 2E160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5678 15376 1cad A8050000 .4byte .Ldebug_ranges0+0x5a8 15377 1cb1 0E .byte 0xe 15378 1cb2 BF .byte 0xbf 15379 1cb3 09 .byte 0x9 15380 1cb4 181D0000 .4byte 0x1d18 15381 1cb8 07 .uleb128 0x7 15382 1cb9 4C160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5708 15383 1cbd 322B0000 .4byte .LLST212 15384 1cc1 2E2B0000 .4byte .LVUS212 15385 1cc5 07 .uleb128 0x7 15386 1cc6 40160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5696 15387 1cca 562B0000 .4byte .LLST213 15388 1cce 522B0000 .4byte .LVUS213 15389 1cd2 0A .uleb128 0xa 15390 1cd3 A8050000 .4byte .Ldebug_ranges0+0x5a8 15391 1cd7 05 .uleb128 0x5 15392 1cd8 58160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5720 15393 1cdc 842B0000 .4byte .LLST214 15394 1ce0 7A2B0000 .4byte .LVUS214 15395 1ce4 26 .uleb128 0x26 15396 1ce5 060F0000 .4byte stm32f4xx_ll_usb.c.034a61b9+3846 15397 1ce9 A8010000 .4byte .LBB567 15398 1ced AA010000 .4byte .LBE567 15399 1cf1 02 .byte 0x2 15400 1cf2 1101 .2byte 0x111 15401 1cf4 0F .byte 0xf 15402 1cf5 071D0000 .4byte 0x1d07 15403 1cf9 07 .uleb128 0x7 15404 1cfa 190F0000 .4byte stm32f4xx_ll_usb.c.034a61b9+3865 15405 1cfe DA2B0000 .4byte .LLST215 15406 1d02 D82B0000 .4byte .LVUS215 15407 1d06 00 .byte 0 15408 1d07 0D .uleb128 0xd 15409 1d08 A8010000 .4byte .LVL353 15410 1d0c 011F0000 .4byte 0x1f01 15411 1d10 0E .uleb128 0xe 15412 1d11 01 .byte 0x1 15413 1d12 50 .byte 0x50 15414 1d13 01 .byte 0x1 15415 1d14 31 .byte 0x31 15416 1d15 00 .byte 0 15417 1d16 00 .byte 0 ARM GAS /tmp/ccjvgGVC.s page 745 15418 1d17 00 .byte 0 15419 1d18 12 .uleb128 0x12 15420 1d19 DB150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5595 15421 1d1d C0050000 .4byte .Ldebug_ranges0+0x5c0 15422 1d21 0E .byte 0xe 15423 1d22 DB .byte 0xdb 15424 1d23 07 .byte 0x7 15425 1d24 341E0000 .4byte 0x1e34 15426 1d28 09 .uleb128 0x9 15427 1d29 FB150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5627 15428 1d2d 07 .uleb128 0x7 15429 1d2e EE150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5614 15430 1d32 F42B0000 .4byte .LLST217 15431 1d36 F02B0000 .4byte .LVUS217 15432 1d3a 0A .uleb128 0xa 15433 1d3b C0050000 .4byte .Ldebug_ranges0+0x5c0 15434 1d3f 05 .uleb128 0x5 15435 1d40 08160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5640 15436 1d44 222C0000 .4byte .LLST218 15437 1d48 182C0000 .4byte .LVUS218 15438 1d4c 05 .uleb128 0x5 15439 1d4d 15160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5653 15440 1d51 F42B0000 .4byte .LLST217 15441 1d55 F02B0000 .4byte .LVUS217 15442 1d59 05 .uleb128 0x5 15443 1d5a 22160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5666 15444 1d5e 852C0000 .4byte .LLST220 15445 1d62 752C0000 .4byte .LVUS220 15446 1d66 26 .uleb128 0x26 15447 1d67 37150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5431 15448 1d6b 3E020000 .4byte .LBB572 15449 1d6f 40020000 .4byte .LBE572 15450 1d73 02 .byte 0x2 15451 1d74 6501 .2byte 0x165 15452 1d76 0D .byte 0xd 15453 1d77 8B1D0000 .4byte 0x1d8b 15454 1d7b 09 .uleb128 0x9 15455 1d7c 4A150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5450 15456 1d80 09 .uleb128 0x9 15457 1d81 57150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5463 15458 1d85 0B .uleb128 0xb 15459 1d86 64150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5476 15460 1d8a 00 .byte 0 15461 1d8b 2C .uleb128 0x2c 15462 1d8c 37150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5431 15463 1d90 D8050000 .4byte .Ldebug_ranges0+0x5d8 15464 1d94 02 .byte 0x2 15465 1d95 7001 .2byte 0x170 15466 1d97 0B .byte 0xb 15467 1d98 CA1D0000 .4byte 0x1dca 15468 1d9c 07 .uleb128 0x7 15469 1d9d 4A150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5450 15470 1da1 EB2C0000 .4byte .LLST221 15471 1da5 E92C0000 .4byte .LVUS221 15472 1da9 07 .uleb128 0x7 15473 1daa 57150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5463 15474 1dae 032D0000 .4byte .LLST222 ARM GAS /tmp/ccjvgGVC.s page 746 15475 1db2 012D0000 .4byte .LVUS222 15476 1db6 0A .uleb128 0xa 15477 1db7 D8050000 .4byte .Ldebug_ranges0+0x5d8 15478 1dbb 05 .uleb128 0x5 15479 1dbc 64150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5476 15480 1dc0 EB2C0000 .4byte .LLST221 15481 1dc4 E92C0000 .4byte .LVUS221 15482 1dc8 00 .byte 0 15483 1dc9 00 .byte 0 15484 1dca 26 .uleb128 0x26 15485 1dcb 37150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5431 15486 1dcf 4C030000 .4byte .LBB577 15487 1dd3 52030000 .4byte .LBE577 15488 1dd7 02 .byte 0x2 15489 1dd8 6A01 .2byte 0x16a 15490 1dda 0D .byte 0xd 15491 1ddb 071E0000 .4byte 0x1e07 15492 1ddf 07 .uleb128 0x7 15493 1de0 4A150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5450 15494 1de4 192D0000 .4byte .LLST224 15495 1de8 172D0000 .4byte .LVUS224 15496 1dec 07 .uleb128 0x7 15497 1ded 57150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5463 15498 1df1 312D0000 .4byte .LLST225 15499 1df5 2F2D0000 .4byte .LVUS225 15500 1df9 05 .uleb128 0x5 15501 1dfa 64150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5476 15502 1dfe 192D0000 .4byte .LLST224 15503 1e02 172D0000 .4byte .LVUS224 15504 1e06 00 .byte 0 15505 1e07 18 .uleb128 0x18 15506 1e08 56020000 .4byte .LVL365 15507 1e0c 0B1F0000 .4byte 0x1f0b 15508 1e10 211E0000 .4byte 0x1e21 15509 1e14 0E .uleb128 0xe 15510 1e15 01 .byte 0x1 15511 1e16 50 .byte 0x50 15512 1e17 03 .byte 0x3 15513 1e18 44 .byte 0x44 15514 1e19 4A .byte 0x4a 15515 1e1a 24 .byte 0x24 15516 1e1b 0E .uleb128 0xe 15517 1e1c 01 .byte 0x1 15518 1e1d 51 .byte 0x51 15519 1e1e 01 .byte 0x1 15520 1e1f 40 .byte 0x40 15521 1e20 00 .byte 0 15522 1e21 0D .uleb128 0xd 15523 1e22 60020000 .4byte .LVL367 15524 1e26 101F0000 .4byte 0x1f10 15525 1e2a 0E .uleb128 0xe 15526 1e2b 01 .byte 0x1 15527 1e2c 50 .byte 0x50 15528 1e2d 03 .byte 0x3 15529 1e2e 44 .byte 0x44 15530 1e2f 4A .byte 0x4a 15531 1e30 24 .byte 0x24 ARM GAS /tmp/ccjvgGVC.s page 747 15532 1e31 00 .byte 0 15533 1e32 00 .byte 0 15534 1e33 00 .byte 0 15535 1e34 0D .uleb128 0xd 15536 1e35 FC020000 .4byte .LVL373 15537 1e39 45000000 .4byte 0x45 15538 1e3d 0E .uleb128 0xe 15539 1e3e 01 .byte 0x1 15540 1e3f 50 .byte 0x50 15541 1e40 02 .byte 0x2 15542 1e41 70 .byte 0x70 15543 1e42 00 .sleb128 0 15544 1e43 00 .byte 0 15545 1e44 00 .byte 0 15546 1e45 00 .byte 0 15547 1e46 26 .uleb128 0x26 15548 1e47 9F060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1695 15549 1e4b 30010000 .4byte .LBB586 15550 1e4f 38010000 .4byte .LBE586 15551 1e53 0D .byte 0xd 15552 1e54 9101 .2byte 0x191 15553 1e56 05 .byte 0x5 15554 1e57 6E1E0000 .4byte 0x1e6e 15555 1e5b 09 .uleb128 0x9 15556 1e5c B1060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1713 15557 1e60 07 .uleb128 0x7 15558 1e61 BD060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1725 15559 1e65 472D0000 .4byte .LLST228 15560 1e69 452D0000 .4byte .LVUS228 15561 1e6d 00 .byte 0 15562 1e6e 26 .uleb128 0x26 15563 1e6f CA060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1738 15564 1e73 38010000 .4byte .LBB588 15565 1e77 40010000 .4byte .LBE588 15566 1e7b 0D .byte 0xd 15567 1e7c 9201 .2byte 0x192 15568 1e7e 05 .byte 0x5 15569 1e7f B51E0000 .4byte 0x1eb5 15570 1e83 09 .uleb128 0x9 15571 1e84 D8060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1752 15572 1e88 07 .uleb128 0x7 15573 1e89 E4060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1764 15574 1e8d 5E2D0000 .4byte .LLST230 15575 1e91 5C2D0000 .4byte .LVUS230 15576 1e95 07 .uleb128 0x7 15577 1e96 F0060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1776 15578 1e9a 742D0000 .4byte .LLST231 15579 1e9e 722D0000 .4byte .LVUS231 15580 1ea2 0B .uleb128 0xb 15581 1ea3 FC060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1788 15582 1ea7 05 .uleb128 0x5 15583 1ea8 06070000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1798 15584 1eac 8B2D0000 .4byte .LLST232 15585 1eb0 892D0000 .4byte .LVUS232 15586 1eb4 00 .byte 0 15587 1eb5 1E .uleb128 0x1e 15588 1eb6 CA060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1738 ARM GAS /tmp/ccjvgGVC.s page 748 15589 1eba 40010000 .4byte .LBB590 15590 1ebe 50010000 .4byte .LBE590 15591 1ec2 0D .byte 0xd 15592 1ec3 9301 .2byte 0x193 15593 1ec5 05 .byte 0x5 15594 1ec6 09 .uleb128 0x9 15595 1ec7 D8060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1752 15596 1ecb 07 .uleb128 0x7 15597 1ecc E4060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1764 15598 1ed0 A02D0000 .4byte .LLST234 15599 1ed4 9E2D0000 .4byte .LVUS234 15600 1ed8 07 .uleb128 0x7 15601 1ed9 F0060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1776 15602 1edd B62D0000 .4byte .LLST235 15603 1ee1 B42D0000 .4byte .LVUS235 15604 1ee5 05 .uleb128 0x5 15605 1ee6 FC060000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1788 15606 1eea CD2D0000 .4byte .LLST236 15607 1eee CB2D0000 .4byte .LVUS236 15608 1ef2 05 .uleb128 0x5 15609 1ef3 06070000 .4byte stm32f4xx_hal_pcd_ex.c.acbfb54e+1798 15610 1ef7 E72D0000 .4byte .LLST237 15611 1efb E12D0000 .4byte .LVUS237 15612 1eff 00 .byte 0 15613 1f00 00 .byte 0 15614 1f01 10 .uleb128 0x10 15615 1f02 52080000 .4byte stm32f4xx_hal.c.655a4cc6+2130 15616 1f06 10 .uleb128 0x10 15617 1f07 560E0000 .4byte stm32f4xx_ll_usb.c.034a61b9+3670 15618 1f0b 10 .uleb128 0x10 15619 1f0c A0150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5536 15620 1f10 10 .uleb128 0x10 15621 1f11 72150000 .4byte stm32f4xx_ll_usb.c.034a61b9+5490 15622 1f15 24 .uleb128 0x24 15623 1f16 86030000 .4byte stm32f4xx_hal_flash.c.42ea4ea3+902 15624 1f1a 6D010000 .4byte .LASF8 15625 1f1e 00000000 .4byte .LFB110 15626 1f22 BC000000 .4byte .LFE110 15627 1f26 172E0000 .4byte .LLST238 15628 1f2a 01 .byte 0x1 15629 1f2b 951F0000 .4byte 0x1f95 15630 1f2f 05 .uleb128 0x5 15631 1f30 A6030000 .4byte stm32f4xx_hal_flash.c.42ea4ea3+934 15632 1f34 3D2E0000 .4byte .LLST239 15633 1f38 372E0000 .4byte .LVUS239 15634 1f3c 25 .uleb128 0x25 15635 1f3d 99030000 .4byte stm32f4xx_hal_flash.c.42ea4ea3+921 15636 1f41 50C3 .2byte 0xc350 15637 1f43 2C .uleb128 0x2c 15638 1f44 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 15639 1f48 F0050000 .4byte .Ldebug_ranges0+0x5f0 15640 1f4c 11 .byte 0x11 15641 1f4d 3302 .2byte 0x233 15642 1f4f 0F .byte 0xf 15643 1f50 611F0000 .4byte 0x1f61 15644 1f54 2D .uleb128 0x2d 15645 1f55 C70D0000 .4byte timers_driver.cpp.6123c072+3527 ARM GAS /tmp/ccjvgGVC.s page 749 15646 1f59 F0050000 .4byte .Ldebug_ranges0+0x5f0 15647 1f5d 0A .byte 0xa 15648 1f5e 1B .byte 0x1b 15649 1f5f 1B .byte 0x1b 15650 1f60 00 .byte 0 15651 1f61 2E .uleb128 0x2e 15652 1f62 D8020000 .4byte stm32f4xx_hal_flash.c.42ea4ea3+728 15653 1f66 2A000000 .4byte .LBB609 15654 1f6a 9E000000 .4byte .LBE609 15655 1f6e 11 .byte 0x11 15656 1f6f 4F02 .2byte 0x24f 15657 1f71 05 .byte 0x5 15658 1f72 1E .uleb128 0x1e 15659 1f73 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 15660 1f77 A2000000 .4byte .LBB611 15661 1f7b A4000000 .4byte .LBE611 15662 1f7f 11 .byte 0x11 15663 1f80 3902 .2byte 0x239 15664 1f82 1D .byte 0x1d 15665 1f83 27 .uleb128 0x27 15666 1f84 C70D0000 .4byte timers_driver.cpp.6123c072+3527 15667 1f88 A2000000 .4byte .LBB612 15668 1f8c A4000000 .4byte .LBE612 15669 1f90 0A .byte 0xa 15670 1f91 1B .byte 0x1b 15671 1f92 1B .byte 0x1b 15672 1f93 00 .byte 0 15673 1f94 00 .byte 0 15674 1f95 2F .uleb128 0x2f 15675 1f96 8F0D0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3471 15676 1f9a F8030000 .4byte .LASF9 15677 1f9e 00000000 .4byte .LFB114 15678 1fa2 1A000000 .4byte .LFE114 15679 1fa6 02 .byte 0x2 15680 1fa7 7D .byte 0x7d 15681 1fa8 00 .sleb128 0 15682 1fa9 01 .byte 0x1 15683 1faa CA1F0000 .4byte 0x1fca 15684 1fae 04 .uleb128 0x4 15685 1faf A20D0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3490 15686 1fb3 01 .byte 0x1 15687 1fb4 50 .byte 0x50 15688 1fb5 04 .uleb128 0x4 15689 1fb6 AF0D0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3503 15690 1fba 01 .byte 0x1 15691 1fbb 51 .byte 0x51 15692 1fbc 05 .uleb128 0x5 15693 1fbd BC0D0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3516 15694 1fc1 6B2E0000 .4byte .LLST240 15695 1fc5 672E0000 .4byte .LVUS240 15696 1fc9 00 .byte 0 15697 1fca 06 .uleb128 0x6 15698 1fcb 71190000 .4byte diskio_sdio.cpp.de088c1c+6513 15699 1fcf 00000000 .4byte .LFB115 15700 1fd3 6C010000 .4byte .LFE115 15701 1fd7 952E0000 .4byte .LLST241 15702 1fdb 01 .byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 750 15703 1fdc 0B220000 .4byte 0x220b 15704 1fe0 07 .uleb128 0x7 15705 1fe1 82190000 .4byte diskio_sdio.cpp.de088c1c+6530 15706 1fe5 E32E0000 .4byte .LLST242 15707 1fe9 DB2E0000 .4byte .LVUS242 15708 1fed 07 .uleb128 0x7 15709 1fee 8F190000 .4byte diskio_sdio.cpp.de088c1c+6543 15710 1ff2 1F2F0000 .4byte .LLST243 15711 1ff6 172F0000 .4byte .LVUS243 15712 1ffa 07 .uleb128 0x7 15713 1ffb 9C190000 .4byte diskio_sdio.cpp.de088c1c+6556 15714 1fff 6F2F0000 .4byte .LLST244 15715 2003 652F0000 .4byte .LVUS244 15716 2007 05 .uleb128 0x5 15717 2008 A9190000 .4byte diskio_sdio.cpp.de088c1c+6569 15718 200c C22F0000 .4byte .LLST245 15719 2010 C02F0000 .4byte .LVUS245 15720 2014 17 .uleb128 0x17 15721 2015 50170000 .4byte stm32f4xx_hal_sd.c.fce97b96+5968 15722 2019 16000000 .4byte .LBI630 15723 201d 0100 .2byte .LVU2059 15724 201f 08060000 .4byte .Ldebug_ranges0+0x608 15725 2023 05 .byte 0x5 15726 2024 DC01 .2byte 0x1dc 15727 2026 1D .byte 0x1d 15728 2027 B2210000 .4byte 0x21b2 15729 202b 09 .uleb128 0x9 15730 202c 63170000 .4byte stm32f4xx_hal_sd.c.fce97b96+5987 15731 2030 07 .uleb128 0x7 15732 2031 70170000 .4byte stm32f4xx_hal_sd.c.fce97b96+6000 15733 2035 E12F0000 .4byte .LLST247 15734 2039 D52F0000 .4byte .LVUS247 15735 203d 07 .uleb128 0x7 15736 203e 7D170000 .4byte stm32f4xx_hal_sd.c.fce97b96+6013 15737 2042 35300000 .4byte .LLST248 15738 2046 2B300000 .4byte .LVUS248 15739 204a 07 .uleb128 0x7 15740 204b 8A170000 .4byte stm32f4xx_hal_sd.c.fce97b96+6026 15741 204f 99300000 .4byte .LLST249 15742 2053 8F300000 .4byte .LVUS249 15743 2057 0A .uleb128 0xa 15744 2058 08060000 .4byte .Ldebug_ranges0+0x608 15745 205c 0B .uleb128 0xb 15746 205d 97170000 .4byte stm32f4xx_hal_sd.c.fce97b96+6039 15747 2061 05 .uleb128 0x5 15748 2062 A4170000 .4byte stm32f4xx_hal_sd.c.fce97b96+6052 15749 2066 F2300000 .4byte .LLST250 15750 206a EA300000 .4byte .LVUS250 15751 206e 05 .uleb128 0x5 15752 206f B1170000 .4byte stm32f4xx_hal_sd.c.fce97b96+6065 15753 2073 2C310000 .4byte .LLST251 15754 2077 26310000 .4byte .LVUS251 15755 207b 17 .uleb128 0x17 15756 207c 1A0B0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2842 15757 2080 80000000 .4byte .LBI632 15758 2084 0000 .2byte .LVU2091 15759 2086 30060000 .4byte .Ldebug_ranges0+0x630 ARM GAS /tmp/ccjvgGVC.s page 751 15760 208a 06 .byte 0x6 15761 208b 3A05 .2byte 0x53a 15762 208d 14 .byte 0x14 15763 208e C2200000 .4byte 0x20c2 15764 2092 07 .uleb128 0x7 15765 2093 2D0B0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2861 15766 2097 76310000 .4byte .LLST252 15767 209b 74310000 .4byte .LVUS252 15768 209f 07 .uleb128 0x7 15769 20a0 3A0B0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2874 15770 20a4 8D310000 .4byte .LLST253 15771 20a8 89310000 .4byte .LVUS253 15772 20ac 0A .uleb128 0xa 15773 20ad 30060000 .4byte .Ldebug_ranges0+0x630 15774 20b1 19 .uleb128 0x19 15775 20b2 470B0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2887 15776 20b6 02 .byte 0x2 15777 20b7 91 .byte 0x91 15778 20b8 44 .sleb128 -60 15779 20b9 19 .uleb128 0x19 15780 20ba 540B0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2900 15781 20be 01 .byte 0x1 15782 20bf 57 .byte 0x57 15783 20c0 00 .byte 0 15784 20c1 00 .byte 0 15785 20c2 17 .uleb128 0x17 15786 20c3 620B0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2914 15787 20c7 84000000 .4byte .LBI635 15788 20cb 0000 .2byte .LVU2098 15789 20cd 48060000 .4byte .Ldebug_ranges0+0x648 15790 20d1 06 .byte 0x6 15791 20d2 4105 .2byte 0x541 15792 20d4 14 .byte 0x14 15793 20d5 46210000 .4byte 0x2146 15794 20d9 07 .uleb128 0x7 15795 20da 750B0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2933 15796 20de CC310000 .4byte .LLST254 15797 20e2 CA310000 .4byte .LVUS254 15798 20e6 07 .uleb128 0x7 15799 20e7 820B0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2946 15800 20eb E3310000 .4byte .LLST255 15801 20ef DF310000 .4byte .LVUS255 15802 20f3 0A .uleb128 0xa 15803 20f4 48060000 .4byte .Ldebug_ranges0+0x648 15804 20f8 19 .uleb128 0x19 15805 20f9 8F0B0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2959 15806 20fd 02 .byte 0x2 15807 20fe 91 .byte 0x91 15808 20ff 44 .sleb128 -60 15809 2100 05 .uleb128 0x5 15810 2101 9C0B0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+2972 15811 2105 22320000 .4byte .LLST256 15812 2109 20320000 .4byte .LVUS256 15813 210d 18 .uleb128 0x18 15814 210e 94000000 .4byte .LVL405 15815 2112 951F0000 .4byte 0x1f95 15816 2116 27210000 .4byte 0x2127 ARM GAS /tmp/ccjvgGVC.s page 752 15817 211a 0E .uleb128 0xe 15818 211b 01 .byte 0x1 15819 211c 50 .byte 0x50 15820 211d 02 .byte 0x2 15821 211e 75 .byte 0x75 15822 211f 00 .sleb128 0 15823 2120 0E .uleb128 0xe 15824 2121 01 .byte 0x1 15825 2122 51 .byte 0x51 15826 2123 02 .byte 0x2 15827 2124 71 .byte 0x71 15828 2125 00 .sleb128 0 15829 2126 00 .byte 0 15830 2127 0D .uleb128 0xd 15831 2128 9E000000 .4byte .LVL406 15832 212c 0B220000 .4byte 0x220b 15833 2130 0E .uleb128 0xe 15834 2131 01 .byte 0x1 15835 2132 50 .byte 0x50 15836 2133 02 .byte 0x2 15837 2134 75 .byte 0x75 15838 2135 00 .sleb128 0 15839 2136 0E .uleb128 0xe 15840 2137 01 .byte 0x1 15841 2138 51 .byte 0x51 15842 2139 02 .byte 0x2 15843 213a 77 .byte 0x77 15844 213b 00 .sleb128 0 15845 213c 0E .uleb128 0xe 15846 213d 01 .byte 0x1 15847 213e 52 .byte 0x52 15848 213f 03 .byte 0x3 15849 2140 0A .byte 0xa 15850 2141 8813 .2byte 0x1388 15851 2143 00 .byte 0 15852 2144 00 .byte 0 15853 2145 00 .byte 0 15854 2146 17 .uleb128 0x17 15855 2147 F20C0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3314 15856 214b 0A010000 .4byte .LBI640 15857 214f 0000 .2byte .LVU2142 15858 2151 60060000 .4byte .Ldebug_ranges0+0x660 15859 2155 06 .byte 0x6 15860 2156 6B05 .2byte 0x56b 15861 2158 0D .byte 0xd 15862 2159 8B210000 .4byte 0x218b 15863 215d 07 .uleb128 0x7 15864 215e 050D0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3333 15865 2162 37320000 .4byte .LLST257 15866 2166 35320000 .4byte .LVUS257 15867 216a 07 .uleb128 0x7 15868 216b 120D0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3346 15869 216f 4C320000 .4byte .LLST258 15870 2173 4A320000 .4byte .LVUS258 15871 2177 0A .uleb128 0xa 15872 2178 60060000 .4byte .Ldebug_ranges0+0x660 15873 217c 05 .uleb128 0x5 ARM GAS /tmp/ccjvgGVC.s page 753 15874 217d 1F0D0000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+3359 15875 2181 68320000 .4byte .LLST259 15876 2185 64320000 .4byte .LVUS259 15877 2189 00 .byte 0 15878 218a 00 .byte 0 15879 218b 0D .uleb128 0xd 15880 218c E8000000 .4byte .LVL412 15881 2190 10220000 .4byte 0x2210 15882 2194 0E .uleb128 0xe 15883 2195 01 .byte 0x1 15884 2196 50 .byte 0x50 15885 2197 02 .byte 0x2 15886 2198 79 .byte 0x79 15887 2199 00 .sleb128 0 15888 219a 0E .uleb128 0xe 15889 219b 01 .byte 0x1 15890 219c 51 .byte 0x51 15891 219d 02 .byte 0x2 15892 219e 7A .byte 0x7a 15893 219f 00 .sleb128 0 15894 21a0 0E .uleb128 0xe 15895 21a1 01 .byte 0x1 15896 21a2 52 .byte 0x52 15897 21a3 03 .byte 0x3 15898 21a4 75 .byte 0x75 15899 21a5 8001 .sleb128 128 15900 21a7 0E .uleb128 0xe 15901 21a8 01 .byte 0x1 15902 21a9 53 .byte 0x53 15903 21aa 04 .byte 0x4 15904 21ab 76 .byte 0x76 15905 21ac 00 .sleb128 0 15906 21ad 32 .byte 0x32 15907 21ae 25 .byte 0x25 15908 21af 00 .byte 0 15909 21b0 00 .byte 0 15910 21b1 00 .byte 0 15911 21b2 17 .uleb128 0x17 15912 21b3 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 15913 21b7 20010000 .4byte .LBI649 15914 21bb 0200 .2byte .LVU2150 15915 21bd 78060000 .4byte .Ldebug_ranges0+0x678 15916 21c1 05 .byte 0x5 15917 21c2 E201 .2byte 0x1e2 15918 21c4 21 .byte 0x21 15919 21c5 DC210000 .4byte 0x21dc 15920 21c9 20 .uleb128 0x20 15921 21ca C70D0000 .4byte timers_driver.cpp.6123c072+3527 15922 21ce 20010000 .4byte .LBI650 15923 21d2 0400 .2byte .LVU2152 15924 21d4 78060000 .4byte .Ldebug_ranges0+0x678 15925 21d8 0A .byte 0xa 15926 21d9 1B .byte 0x1b 15927 21da 1B .byte 0x1b 15928 21db 00 .byte 0 15929 21dc 16 .uleb128 0x16 15930 21dd 37050000 .4byte stm32_hal.cpp.5fa2d4dd+1335 ARM GAS /tmp/ccjvgGVC.s page 754 15931 21e1 28010000 .4byte .LBI656 15932 21e5 0000 .2byte .LVU2160 15933 21e7 28010000 .4byte .LBB656 15934 21eb 2A010000 .4byte .LBE656 15935 21ef 05 .byte 0x5 15936 21f0 E301 .2byte 0x1e3 15937 21f2 2C .byte 0x2c 15938 21f3 23 .uleb128 0x23 15939 21f4 C70D0000 .4byte timers_driver.cpp.6123c072+3527 15940 21f8 28010000 .4byte .LBI657 15941 21fc 0200 .2byte .LVU2162 15942 21fe 28010000 .4byte .LBB657 15943 2202 2A010000 .4byte .LBE657 15944 2206 0A .byte 0xa 15945 2207 1B .byte 0x1b 15946 2208 1B .byte 0x1b 15947 2209 00 .byte 0 15948 220a 00 .byte 0 15949 220b 10 .uleb128 0x10 15950 220c 47050000 .4byte stm32f4xx_ll_sdmmc.c.480b9fa5+1351 15951 2210 10 .uleb128 0x10 15952 2211 4E070000 .4byte stm32f4xx_hal_dma.c.aaf79847+1870 15953 2215 06 .uleb128 0x6 15954 2216 1E190000 .4byte diskio_sdio.cpp.de088c1c+6430 15955 221a 00000000 .4byte .LFB123 15956 221e 90000000 .4byte .LFE123 15957 2222 89320000 .4byte .LLST260 15958 2226 01 .byte 0x1 15959 2227 0D230000 .4byte 0x230d 15960 222b 07 .uleb128 0x7 15961 222c 2F190000 .4byte diskio_sdio.cpp.de088c1c+6447 15962 2230 AD320000 .4byte .LLST261 15963 2234 A9320000 .4byte .LVUS261 15964 2238 07 .uleb128 0x7 15965 2239 3C190000 .4byte diskio_sdio.cpp.de088c1c+6460 15966 223d E4320000 .4byte .LLST262 15967 2241 D4320000 .4byte .LVUS262 15968 2245 07 .uleb128 0x7 15969 2246 49190000 .4byte diskio_sdio.cpp.de088c1c+6473 15970 224a 7A330000 .4byte .LLST263 15971 224e 70330000 .4byte .LVUS263 15972 2252 07 .uleb128 0x7 15973 2253 56190000 .4byte diskio_sdio.cpp.de088c1c+6486 15974 2257 C9330000 .4byte .LLST264 15975 225b B9330000 .4byte .LVUS264 15976 225f 05 .uleb128 0x5 15977 2260 63190000 .4byte diskio_sdio.cpp.de088c1c+6499 15978 2264 5D340000 .4byte .LLST265 15979 2268 51340000 .4byte .LVUS265 15980 226c 18 .uleb128 0x18 15981 226d 0C000000 .4byte .LVL420 15982 2271 26170000 .4byte 0x1726 15983 2275 83220000 .4byte 0x2283 15984 2279 29 .uleb128 0x29 15985 227a 89190000 .4byte 0x1989 15986 227e 03 .byte 0x3 15987 227f 0A .byte 0xa ARM GAS /tmp/ccjvgGVC.s page 755 15988 2280 2C01 .2byte 0x12c 15989 2282 00 .byte 0 15990 2283 18 .uleb128 0x18 15991 2284 36000000 .4byte .LVL423 15992 2288 CA1F0000 .4byte 0x1fca 15993 228c A3220000 .4byte 0x22a3 15994 2290 0E .uleb128 0xe 15995 2291 01 .byte 0x1 15996 2292 50 .byte 0x50 15997 2293 02 .byte 0x2 15998 2294 75 .byte 0x75 15999 2295 00 .sleb128 0 16000 2296 0E .uleb128 0xe 16001 2297 01 .byte 0x1 16002 2298 51 .byte 0x51 16003 2299 02 .byte 0x2 16004 229a 74 .byte 0x74 16005 229b 00 .sleb128 0 16006 229c 0E .uleb128 0xe 16007 229d 01 .byte 0x1 16008 229e 52 .byte 0x52 16009 229f 02 .byte 0x2 16010 22a0 76 .byte 0x76 16011 22a1 00 .sleb128 0 16012 22a2 00 .byte 0 16013 22a3 18 .uleb128 0x18 16014 22a4 3E000000 .4byte .LVL424 16015 22a8 26170000 .4byte 0x1726 16016 22ac BA220000 .4byte 0x22ba 16017 22b0 29 .uleb128 0x29 16018 22b1 89190000 .4byte 0x1989 16019 22b5 03 .byte 0x3 16020 22b6 0A .byte 0xa 16021 22b7 2C01 .2byte 0x12c 16022 22b9 00 .byte 0 16023 22ba 18 .uleb128 0x18 16024 22bb 54000000 .4byte .LVL426 16025 22bf 8C340000 .4byte 0x348c 16026 22c3 DD220000 .4byte 0x22dd 16027 22c7 1C .uleb128 0x1c 16028 22c8 01 .byte 0x1 16029 22c9 50 .byte 0x50 16030 22ca 0E .uleb128 0xe 16031 22cb 01 .byte 0x1 16032 22cc 51 .byte 0x51 16033 22cd 07 .byte 0x7 16034 22ce 74 .byte 0x74 16035 22cf 00 .sleb128 0 16036 22d0 39 .byte 0x39 16037 22d1 24 .byte 0x24 16038 22d2 75 .byte 0x75 16039 22d3 00 .sleb128 0 16040 22d4 22 .byte 0x22 16041 22d5 0E .uleb128 0xe 16042 22d6 01 .byte 0x1 16043 22d7 52 .byte 0x52 16044 22d8 03 .byte 0x3 ARM GAS /tmp/ccjvgGVC.s page 756 16045 22d9 0A .byte 0xa 16046 22da 0002 .2byte 0x200 16047 22dc 00 .byte 0 16048 22dd 18 .uleb128 0x18 16049 22de 60000000 .4byte .LVL428 16050 22e2 CA1F0000 .4byte 0x1fca 16051 22e6 F9220000 .4byte 0x22f9 16052 22ea 1C .uleb128 0x1c 16053 22eb 01 .byte 0x1 16054 22ec 50 .byte 0x50 16055 22ed 0E .uleb128 0xe 16056 22ee 01 .byte 0x1 16057 22ef 51 .byte 0x51 16058 22f0 02 .byte 0x2 16059 22f1 74 .byte 0x74 16060 22f2 00 .sleb128 0 16061 22f3 0E .uleb128 0xe 16062 22f4 01 .byte 0x1 16063 22f5 52 .byte 0x52 16064 22f6 01 .byte 0x1 16065 22f7 31 .byte 0x31 16066 22f8 00 .byte 0 16067 22f9 0D .uleb128 0xd 16068 22fa 68000000 .4byte .LVL430 16069 22fe 26170000 .4byte 0x1726 16070 2302 29 .uleb128 0x29 16071 2303 89190000 .4byte 0x1989 16072 2307 03 .byte 0x3 16073 2308 0A .byte 0xa 16074 2309 2C01 .2byte 0x12c 16075 230b 00 .byte 0 16076 230c 00 .byte 0 16077 230d 24 .uleb128 0x24 16078 230e 070E0000 .4byte usbd_core.c.5297c1c6+3591 16079 2312 6A040000 .4byte .LASF10 16080 2316 00000000 .4byte .LFB126 16081 231a E4000000 .4byte .LFE126 16082 231e AB340000 .4byte .LLST266 16083 2322 01 .byte 0x1 16084 2323 26250000 .4byte 0x2526 16085 2327 0B .uleb128 0xb 16086 2328 250E0000 .4byte usbd_core.c.5297c1c6+3621 16087 232c 09 .uleb128 0x9 16088 232d 190E0000 .4byte usbd_core.c.5297c1c6+3609 16089 2331 11 .uleb128 0x11 16090 2332 6E1B0000 .4byte usbd_conf.c.0873f3d7+7022 16091 2336 02000000 .4byte .LBB685 16092 233a 46000000 .4byte .LBE685 16093 233e 12 .byte 0x12 16094 233f 9A .byte 0x9a 16095 2340 09 .byte 0x9 16096 2341 DD230000 .4byte 0x23dd 16097 2345 09 .uleb128 0x9 16098 2346 811B0000 .4byte usbd_conf.c.0873f3d7+7041 16099 234a 05 .uleb128 0x5 16100 234b 8E1B0000 .4byte usbd_conf.c.0873f3d7+7054 16101 234f CD340000 .4byte .LLST268 ARM GAS /tmp/ccjvgGVC.s page 757 16102 2353 CB340000 .4byte .LVUS268 16103 2357 05 .uleb128 0x5 16104 2358 9B1B0000 .4byte usbd_conf.c.0873f3d7+7067 16105 235c CD340000 .4byte .LLST268 16106 2360 CB340000 .4byte .LVUS268 16107 2364 1E .uleb128 0x1e 16108 2365 80130000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4992 16109 2369 08000000 .4byte .LBB687 16110 236d 46000000 .4byte .LBE687 16111 2371 0D .byte 0xd 16112 2372 C501 .2byte 0x1c5 16113 2374 10 .byte 0x10 16114 2375 07 .uleb128 0x7 16115 2376 93130000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5011 16116 237a E3340000 .4byte .LLST270 16117 237e E1340000 .4byte .LVUS270 16118 2382 05 .uleb128 0x5 16119 2383 A0130000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5024 16120 2387 FC340000 .4byte .LLST271 16121 238b F6340000 .4byte .LVUS271 16122 238f 26 .uleb128 0x26 16123 2390 64160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5732 16124 2394 18000000 .4byte .LBB689 16125 2398 20000000 .4byte .LBE689 16126 239c 0E .byte 0xe 16127 239d 0704 .2byte 0x407 16128 239f 03 .byte 0x3 16129 23a0 B2230000 .4byte 0x23b2 16130 23a4 07 .uleb128 0x7 16131 23a5 76160000 .4byte stm32f4xx_ll_usb.c.034a61b9+5750 16132 23a9 28350000 .4byte .LLST272 16133 23ad 26350000 .4byte .LVUS272 16134 23b1 00 .byte 0 16135 23b2 18 .uleb128 0x18 16136 23b3 28000000 .4byte .LVL440 16137 23b7 45000000 .4byte 0x45 16138 23bb C6230000 .4byte 0x23c6 16139 23bf 0E .uleb128 0xe 16140 23c0 01 .byte 0x1 16141 23c1 50 .byte 0x50 16142 23c2 02 .byte 0x2 16143 23c3 70 .byte 0x70 16144 23c4 00 .sleb128 0 16145 23c5 00 .byte 0 16146 23c6 0D .uleb128 0xd 16147 23c7 2C000000 .4byte .LVL441 16148 23cb 0B1F0000 .4byte 0x1f0b 16149 23cf 0E .uleb128 0xe 16150 23d0 01 .byte 0x1 16151 23d1 50 .byte 0x50 16152 23d2 02 .byte 0x2 16153 23d3 76 .byte 0x76 16154 23d4 00 .sleb128 0 16155 23d5 0E .uleb128 0xe 16156 23d6 01 .byte 0x1 16157 23d7 51 .byte 0x51 16158 23d8 01 .byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 758 16159 23d9 40 .byte 0x40 16160 23da 00 .byte 0 16161 23db 00 .byte 0 16162 23dc 00 .byte 0 16163 23dd 12 .uleb128 0x12 16164 23de E41B0000 .4byte usbd_conf.c.0873f3d7+7140 16165 23e2 90060000 .4byte .Ldebug_ranges0+0x690 16166 23e6 12 .byte 0x12 16167 23e7 BE .byte 0xbe 16168 23e8 09 .byte 0x9 16169 23e9 19250000 .4byte 0x2519 16170 23ed 09 .uleb128 0x9 16171 23ee F71B0000 .4byte usbd_conf.c.0873f3d7+7159 16172 23f2 0A .uleb128 0xa 16173 23f3 90060000 .4byte .Ldebug_ranges0+0x690 16174 23f7 05 .uleb128 0x5 16175 23f8 041C0000 .4byte usbd_conf.c.0873f3d7+7172 16176 23fc 3E350000 .4byte .LLST274 16177 2400 3C350000 .4byte .LVUS274 16178 2404 05 .uleb128 0x5 16179 2405 111C0000 .4byte usbd_conf.c.0873f3d7+7185 16180 2409 3E350000 .4byte .LLST274 16181 240d 3C350000 .4byte .LVUS274 16182 2411 1E .uleb128 0x1e 16183 2412 16140000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5142 16184 2416 6C000000 .4byte .LBB693 16185 241a D4000000 .4byte .LBE693 16186 241e 0D .byte 0xd 16187 241f A301 .2byte 0x1a3 16188 2421 10 .byte 0x10 16189 2422 07 .uleb128 0x7 16190 2423 28140000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+5160 16191 2427 54350000 .4byte .LLST276 16192 242b 52350000 .4byte .LVUS276 16193 242f 11 .uleb128 0x11 16194 2430 36110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4406 16195 2434 7E000000 .4byte .LBB695 16196 2438 AE000000 .4byte .LBE695 16197 243c 0E .byte 0xe 16198 243d FF .byte 0xff 16199 243e 07 .byte 0x7 16200 243f A1240000 .4byte 0x24a1 16201 2443 07 .uleb128 0x7 16202 2444 49110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4425 16203 2448 69350000 .4byte .LLST277 16204 244c 67350000 .4byte .LVUS277 16205 2450 05 .uleb128 0x5 16206 2451 56110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4438 16207 2455 80350000 .4byte .LLST278 16208 2459 7C350000 .4byte .LVUS278 16209 245d 05 .uleb128 0x5 16210 245e 63110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4451 16211 2462 69350000 .4byte .LLST277 16212 2466 67350000 .4byte .LVUS277 16213 246a 05 .uleb128 0x5 16214 246b 70110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4464 16215 246f A0350000 .4byte .LLST280 ARM GAS /tmp/ccjvgGVC.s page 759 16216 2473 9E350000 .4byte .LVUS280 16217 2477 18 .uleb128 0x18 16218 2478 A2000000 .4byte .LVL447 16219 247c 101F0000 .4byte 0x1f10 16220 2480 8B240000 .4byte 0x248b 16221 2484 0E .uleb128 0xe 16222 2485 01 .byte 0x1 16223 2486 50 .byte 0x50 16224 2487 02 .byte 0x2 16225 2488 74 .byte 0x74 16226 2489 00 .sleb128 0 16227 248a 00 .byte 0 16228 248b 0D .uleb128 0xd 16229 248c AC000000 .4byte .LVL449 16230 2490 0B1F0000 .4byte 0x1f0b 16231 2494 0E .uleb128 0xe 16232 2495 01 .byte 0x1 16233 2496 50 .byte 0x50 16234 2497 02 .byte 0x2 16235 2498 74 .byte 0x74 16236 2499 00 .sleb128 0 16237 249a 0E .uleb128 0xe 16238 249b 01 .byte 0x1 16239 249c 51 .byte 0x51 16240 249d 01 .byte 0x1 16241 249e 40 .byte 0x40 16242 249f 00 .byte 0 16243 24a0 00 .byte 0 16244 24a1 1E .uleb128 0x1e 16245 24a2 B11D0000 .4byte usbd_conf.c.0873f3d7+7601 16246 24a6 AE000000 .4byte .LBB697 16247 24aa CE000000 .4byte .LBE697 16248 24ae 0E .byte 0xe 16249 24af 0E01 .2byte 0x10e 16250 24b1 03 .byte 0x3 16251 24b2 07 .uleb128 0x7 16252 24b3 BF1D0000 .4byte usbd_conf.c.0873f3d7+7615 16253 24b7 B6350000 .4byte .LLST281 16254 24bb B4350000 .4byte .LVUS281 16255 24bf 1F .uleb128 0x1f 16256 24c0 B11D0000 .4byte usbd_conf.c.0873f3d7+7601 16257 24c4 B4000000 .4byte .LBB699 16258 24c8 CE000000 .4byte .LBE699 16259 24cc 0D .byte 0xd 16260 24cd 77 .byte 0x77 16261 24ce 06 .byte 0x6 16262 24cf 09 .uleb128 0x9 16263 24d0 BF1D0000 .4byte usbd_conf.c.0873f3d7+7615 16264 24d4 1F .uleb128 0x1f 16265 24d5 281E0000 .4byte usbd_conf.c.0873f3d7+7720 16266 24d9 BE000000 .4byte .LBB701 16267 24dd CE000000 .4byte .LBE701 16268 24e1 0D .byte 0xd 16269 24e2 8C .byte 0x8c 16270 24e3 05 .byte 0x5 16271 24e4 07 .uleb128 0x7 16272 24e5 361E0000 .4byte usbd_conf.c.0873f3d7+7734 ARM GAS /tmp/ccjvgGVC.s page 760 16273 24e9 CB350000 .4byte .LLST282 16274 24ed C9350000 .4byte .LVUS282 16275 24f1 2E .uleb128 0x2e 16276 24f2 601E0000 .4byte usbd_conf.c.0873f3d7+7776 16277 24f6 C6000000 .4byte .LBB703 16278 24fa CA000000 .4byte .LBE703 16279 24fe 0F .byte 0xf 16280 24ff C106 .2byte 0x6c1 16281 2501 05 .byte 0x5 16282 2502 2E .uleb128 0x2e 16283 2503 6A1E0000 .4byte usbd_conf.c.0873f3d7+7786 16284 2507 CA000000 .4byte .LBB705 16285 250b CE000000 .4byte .LBE705 16286 250f 0F .byte 0xf 16287 2510 C206 .2byte 0x6c2 16288 2512 05 .byte 0x5 16289 2513 00 .byte 0 16290 2514 00 .byte 0 16291 2515 00 .byte 0 16292 2516 00 .byte 0 16293 2517 00 .byte 0 16294 2518 00 .byte 0 16295 2519 1D .uleb128 0x1d 16296 251a 5A000000 .4byte .LVL443 16297 251e 0E .uleb128 0xe 16298 251f 01 .byte 0x1 16299 2520 50 .byte 0x50 16300 2521 02 .byte 0x2 16301 2522 74 .byte 0x74 16302 2523 00 .sleb128 0 16303 2524 00 .byte 0 16304 2525 00 .byte 0 16305 2526 24 .uleb128 0x24 16306 2527 D00D0000 .4byte usbd_core.c.5297c1c6+3536 16307 252b FB000000 .4byte .LASF11 16308 252f 00000000 .4byte .LFB142 16309 2533 30000000 .4byte .LFE142 16310 2537 E0350000 .4byte .LLST283 16311 253b 01 .byte 0x1 16312 253c 67250000 .4byte 0x2567 16313 2540 07 .uleb128 0x7 16314 2541 EE0D0000 .4byte usbd_core.c.5297c1c6+3566 16315 2545 12360000 .4byte .LLST284 16316 2549 0C360000 .4byte .LVUS284 16317 254d 19 .uleb128 0x19 16318 254e FA0D0000 .4byte usbd_core.c.5297c1c6+3578 16319 2552 02 .byte 0x2 16320 2553 91 .byte 0x91 16321 2554 76 .sleb128 -10 16322 2555 09 .uleb128 0x9 16323 2556 E20D0000 .4byte usbd_core.c.5297c1c6+3554 16324 255a 1D .uleb128 0x1d 16325 255b 1A000000 .4byte .LVL457 16326 255f 0E .uleb128 0xe 16327 2560 01 .byte 0x1 16328 2561 50 .byte 0x50 16329 2562 02 .byte 0x2 ARM GAS /tmp/ccjvgGVC.s page 761 16330 2563 91 .byte 0x91 16331 2564 76 .sleb128 -10 16332 2565 00 .byte 0 16333 2566 00 .byte 0 16334 2567 24 .uleb128 0x24 16335 2568 A5180000 .4byte usbd_conf.c.0873f3d7+6309 16336 256c 86030000 .4byte .LASF12 16337 2570 00000000 .4byte .LFB144 16338 2574 48000000 .4byte .LFE144 16339 2578 46360000 .4byte .LLST285 16340 257c 01 .byte 0x1 16341 257d 36260000 .4byte 0x2636 16342 2581 07 .uleb128 0x7 16343 2582 B8180000 .4byte usbd_conf.c.0873f3d7+6328 16344 2586 8E360000 .4byte .LLST286 16345 258a 8A360000 .4byte .LVUS286 16346 258e 07 .uleb128 0x7 16347 258f C5180000 .4byte usbd_conf.c.0873f3d7+6341 16348 2593 B9360000 .4byte .LLST287 16349 2597 B5360000 .4byte .LVUS287 16350 259b 07 .uleb128 0x7 16351 259c D2180000 .4byte usbd_conf.c.0873f3d7+6354 16352 25a0 EA360000 .4byte .LLST288 16353 25a4 E0360000 .4byte .LVUS288 16354 25a8 07 .uleb128 0x7 16355 25a9 DF180000 .4byte usbd_conf.c.0873f3d7+6367 16356 25ad 59370000 .4byte .LLST289 16357 25b1 4D370000 .4byte .LVUS289 16358 25b5 2B .uleb128 0x2b 16359 25b6 EC180000 .4byte usbd_conf.c.0873f3d7+6380 16360 25ba 00 .byte 0 16361 25bb 2B .uleb128 0x2b 16362 25bc F9180000 .4byte usbd_conf.c.0873f3d7+6393 16363 25c0 00 .byte 0 16364 25c1 08 .uleb128 0x8 16365 25c2 DB0F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4059 16366 25c6 A8060000 .4byte .Ldebug_ranges0+0x6a8 16367 25ca 0D .byte 0xd 16368 25cb 6F02 .2byte 0x26f 16369 25cd 10 .byte 0x10 16370 25ce 07 .uleb128 0x7 16371 25cf EE0F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4078 16372 25d3 CD370000 .4byte .LLST290 16373 25d7 C9370000 .4byte .LVUS290 16374 25db 07 .uleb128 0x7 16375 25dc FB0F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4091 16376 25e0 EF370000 .4byte .LLST291 16377 25e4 EB370000 .4byte .LVUS291 16378 25e8 07 .uleb128 0x7 16379 25e9 08100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4104 16380 25ed 20380000 .4byte .LLST292 16381 25f1 16380000 .4byte .LVUS292 16382 25f5 07 .uleb128 0x7 16383 25f6 15100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4117 16384 25fa 8F380000 .4byte .LLST293 16385 25fe 83380000 .4byte .LVUS293 16386 2602 0A .uleb128 0xa ARM GAS /tmp/ccjvgGVC.s page 762 16387 2603 A8060000 .4byte .Ldebug_ranges0+0x6a8 16388 2607 05 .uleb128 0x5 16389 2608 22100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4130 16390 260c 01390000 .4byte .LLST294 16391 2610 FF380000 .4byte .LVUS294 16392 2614 30 .uleb128 0x30 16393 2615 42000000 .4byte .LVL467 16394 2619 01 .byte 0x1 16395 261a 77010000 .4byte 0x177 16396 261e 29260000 .4byte 0x2629 16397 2622 0E .uleb128 0xe 16398 2623 01 .byte 0x1 16399 2624 51 .byte 0x51 16400 2625 02 .byte 0x2 16401 2626 71 .byte 0x71 16402 2627 00 .sleb128 0 16403 2628 00 .byte 0 16404 2629 13 .uleb128 0x13 16405 262a 48000000 .4byte .LVL469 16406 262e 01 .byte 0x1 16407 262f 99000000 .4byte 0x99 16408 2633 00 .byte 0 16409 2634 00 .byte 0 16410 2635 00 .byte 0 16411 2636 24 .uleb128 0x24 16412 2637 07190000 .4byte usbd_conf.c.0873f3d7+6407 16413 263b 1C040000 .4byte .LASF13 16414 263f 00000000 .4byte .LFB147 16415 2643 42000000 .4byte .LFE147 16416 2647 14390000 .4byte .LLST295 16417 264b 01 .byte 0x1 16418 264c 05270000 .4byte 0x2705 16419 2650 07 .uleb128 0x7 16420 2651 1A190000 .4byte usbd_conf.c.0873f3d7+6426 16421 2655 5C390000 .4byte .LLST296 16422 2659 58390000 .4byte .LVUS296 16423 265d 07 .uleb128 0x7 16424 265e 27190000 .4byte usbd_conf.c.0873f3d7+6439 16425 2662 87390000 .4byte .LLST297 16426 2666 83390000 .4byte .LVUS297 16427 266a 07 .uleb128 0x7 16428 266b 34190000 .4byte usbd_conf.c.0873f3d7+6452 16429 266f B8390000 .4byte .LLST298 16430 2673 AE390000 .4byte .LVUS298 16431 2677 07 .uleb128 0x7 16432 2678 41190000 .4byte usbd_conf.c.0873f3d7+6465 16433 267c 253A0000 .4byte .LLST299 16434 2680 193A0000 .4byte .LVUS299 16435 2684 2B .uleb128 0x2b 16436 2685 4E190000 .4byte usbd_conf.c.0873f3d7+6478 16437 2689 00 .byte 0 16438 268a 2B .uleb128 0x2b 16439 268b 5B190000 .4byte usbd_conf.c.0873f3d7+6491 16440 268f 00 .byte 0 16441 2690 08 .uleb128 0x8 16442 2691 590F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3929 16443 2695 C8060000 .4byte .Ldebug_ranges0+0x6c8 ARM GAS /tmp/ccjvgGVC.s page 763 16444 2699 0D .byte 0xd 16445 269a 5B02 .2byte 0x25b 16446 269c 10 .byte 0x10 16447 269d 07 .uleb128 0x7 16448 269e 6C0F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3948 16449 26a2 973A0000 .4byte .LLST300 16450 26a6 933A0000 .4byte .LVUS300 16451 26aa 07 .uleb128 0x7 16452 26ab 790F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3961 16453 26af B93A0000 .4byte .LLST301 16454 26b3 B53A0000 .4byte .LVUS301 16455 26b7 07 .uleb128 0x7 16456 26b8 860F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3974 16457 26bc EA3A0000 .4byte .LLST302 16458 26c0 E03A0000 .4byte .LVUS302 16459 26c4 07 .uleb128 0x7 16460 26c5 930F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3987 16461 26c9 573B0000 .4byte .LLST303 16462 26cd 4B3B0000 .4byte .LVUS303 16463 26d1 0A .uleb128 0xa 16464 26d2 C8060000 .4byte .Ldebug_ranges0+0x6c8 16465 26d6 05 .uleb128 0x5 16466 26d7 A00F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4000 16467 26db C73B0000 .4byte .LLST304 16468 26df C53B0000 .4byte .LVUS304 16469 26e3 30 .uleb128 0x30 16470 26e4 3C000000 .4byte .LVL479 16471 26e8 01 .byte 0x1 16472 26e9 77010000 .4byte 0x177 16473 26ed F8260000 .4byte 0x26f8 16474 26f1 0E .uleb128 0xe 16475 26f2 01 .byte 0x1 16476 26f3 51 .byte 0x51 16477 26f4 02 .byte 0x2 16478 26f5 71 .byte 0x71 16479 26f6 00 .sleb128 0 16480 26f7 00 .byte 0 16481 26f8 13 .uleb128 0x13 16482 26f9 42000000 .4byte .LVL481 16483 26fd 01 .byte 0x1 16484 26fe 99000000 .4byte 0x99 16485 2702 00 .byte 0 16486 2703 00 .byte 0 16487 2704 00 .byte 0 16488 2705 24 .uleb128 0x24 16489 2706 EC190000 .4byte usbd_conf.c.0873f3d7+6636 16490 270a A0040000 .4byte .LASF14 16491 270e 00000000 .4byte .LFB150 16492 2712 82000000 .4byte .LFE150 16493 2716 DA3B0000 .4byte .LLST305 16494 271a 01 .byte 0x1 16495 271b CD270000 .4byte 0x27cd 16496 271f 07 .uleb128 0x7 16497 2720 FF190000 .4byte usbd_conf.c.0873f3d7+6655 16498 2724 FE3B0000 .4byte .LLST306 16499 2728 FA3B0000 .4byte .LVUS306 16500 272c 07 .uleb128 0x7 ARM GAS /tmp/ccjvgGVC.s page 764 16501 272d 0C1A0000 .4byte usbd_conf.c.0873f3d7+6668 16502 2731 293C0000 .4byte .LLST307 16503 2735 253C0000 .4byte .LVUS307 16504 2739 05 .uleb128 0x5 16505 273a 191A0000 .4byte usbd_conf.c.0873f3d7+6681 16506 273e 523C0000 .4byte .LLST308 16507 2742 503C0000 .4byte .LVUS308 16508 2746 05 .uleb128 0x5 16509 2747 261A0000 .4byte usbd_conf.c.0873f3d7+6694 16510 274b 523C0000 .4byte .LLST308 16511 274f 503C0000 .4byte .LVUS308 16512 2753 08 .uleb128 0x8 16513 2754 DF0E0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3807 16514 2758 E8060000 .4byte .Ldebug_ranges0+0x6e8 16515 275c 0D .byte 0xd 16516 275d 2102 .2byte 0x221 16517 275f 10 .byte 0x10 16518 2760 07 .uleb128 0x7 16519 2761 F20E0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3826 16520 2765 683C0000 .4byte .LLST310 16521 2769 663C0000 .4byte .LVUS310 16522 276d 07 .uleb128 0x7 16523 276e FF0E0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3839 16524 2772 7F3C0000 .4byte .LLST311 16525 2776 7B3C0000 .4byte .LVUS311 16526 277a 0A .uleb128 0xa 16527 277b E8060000 .4byte .Ldebug_ranges0+0x6e8 16528 277f 05 .uleb128 0x5 16529 2780 0C0F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3852 16530 2784 AA3C0000 .4byte .LLST312 16531 2788 A63C0000 .4byte .LVUS312 16532 278c 1E .uleb128 0x1e 16533 278d 7C110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4476 16534 2791 4C000000 .4byte .LBB731 16535 2795 7A000000 .4byte .LBE731 16536 2799 0E .byte 0xe 16537 279a 9F07 .2byte 0x79f 16538 279c 09 .byte 0x9 16539 279d 07 .uleb128 0x7 16540 279e 9C110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4508 16541 27a2 FC3E0000 .4byte .LLST313 16542 27a6 F83E0000 .4byte .LVUS313 16543 27aa 07 .uleb128 0x7 16544 27ab 8F110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4495 16545 27af 4C410000 .4byte .LLST314 16546 27b3 4A410000 .4byte .LVUS314 16547 27b7 05 .uleb128 0x5 16548 27b8 A8110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4520 16549 27bc 62410000 .4byte .LLST315 16550 27c0 60410000 .4byte .LVUS315 16551 27c4 0B .uleb128 0xb 16552 27c5 B5110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4533 16553 27c9 00 .byte 0 16554 27ca 00 .byte 0 16555 27cb 00 .byte 0 16556 27cc 00 .byte 0 16557 27cd 24 .uleb128 0x24 ARM GAS /tmp/ccjvgGVC.s page 765 16558 27ce 7C1A0000 .4byte usbd_conf.c.0873f3d7+6780 16559 27d2 4F030000 .4byte .LASF15 16560 27d6 00000000 .4byte .LFB155 16561 27da 30000000 .4byte .LFE155 16562 27de 76410000 .4byte .LLST316 16563 27e2 01 .byte 0x1 16564 27e3 6A280000 .4byte 0x286a 16565 27e7 07 .uleb128 0x7 16566 27e8 8F1A0000 .4byte usbd_conf.c.0873f3d7+6799 16567 27ec 9A410000 .4byte .LLST317 16568 27f0 96410000 .4byte .LVUS317 16569 27f4 07 .uleb128 0x7 16570 27f5 9C1A0000 .4byte usbd_conf.c.0873f3d7+6812 16571 27f9 C9410000 .4byte .LLST318 16572 27fd C1410000 .4byte .LVUS318 16573 2801 05 .uleb128 0x5 16574 2802 A91A0000 .4byte usbd_conf.c.0873f3d7+6825 16575 2806 13420000 .4byte .LLST319 16576 280a 0F420000 .4byte .LVUS319 16577 280e 05 .uleb128 0x5 16578 280f B61A0000 .4byte usbd_conf.c.0873f3d7+6838 16579 2813 13420000 .4byte .LLST319 16580 2817 0F420000 .4byte .LVUS319 16581 281b 08 .uleb128 0x8 16582 281c B10E0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3761 16583 2820 00070000 .4byte .Ldebug_ranges0+0x700 16584 2824 0D .byte 0xd 16585 2825 FD01 .2byte 0x1fd 16586 2827 10 .byte 0x10 16587 2828 07 .uleb128 0x7 16588 2829 C40E0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3780 16589 282d 37420000 .4byte .LLST321 16590 2831 33420000 .4byte .LVUS321 16591 2835 07 .uleb128 0x7 16592 2836 D10E0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3793 16593 283a 5D420000 .4byte .LLST322 16594 283e 55420000 .4byte .LVUS322 16595 2842 18 .uleb128 0x18 16596 2843 22000000 .4byte .LVL495 16597 2847 0B1F0000 .4byte 0x1f0b 16598 284b 5F280000 .4byte 0x285f 16599 284f 0E .uleb128 0xe 16600 2850 01 .byte 0x1 16601 2851 51 .byte 0x51 16602 2852 0B .byte 0xb 16603 2853 F3 .byte 0xf3 16604 2854 03 .uleb128 0x3 16605 2855 F5 .byte 0xf5 16606 2856 01 .uleb128 0x1 16607 2857 29 .uleb128 0x29 16608 2858 F7 .byte 0xf7 16609 2859 30 .uleb128 0x30 16610 285a F7 .byte 0xf7 16611 285b 00 .uleb128 0 16612 285c 3F .byte 0x3f 16613 285d 1A .byte 0x1a 16614 285e 00 .byte 0 ARM GAS /tmp/ccjvgGVC.s page 766 16615 285f 0F .uleb128 0xf 16616 2860 2E000000 .4byte .LVL498 16617 2864 101F0000 .4byte 0x1f10 16618 2868 00 .byte 0 16619 2869 00 .byte 0 16620 286a 24 .uleb128 0x24 16621 286b C41A0000 .4byte usbd_conf.c.0873f3d7+6852 16622 286f 89040000 .4byte .LASF19 16623 2873 00000000 .4byte .LFB158 16624 2877 D8000000 .4byte .LFE158 16625 287b A3420000 .4byte .LLST323 16626 287f 01 .byte 0x1 16627 2880 3C290000 .4byte 0x293c 16628 2884 07 .uleb128 0x7 16629 2885 D71A0000 .4byte usbd_conf.c.0873f3d7+6871 16630 2889 C7420000 .4byte .LLST324 16631 288d C3420000 .4byte .LVUS324 16632 2891 07 .uleb128 0x7 16633 2892 E41A0000 .4byte usbd_conf.c.0873f3d7+6884 16634 2896 F2420000 .4byte .LLST325 16635 289a EE420000 .4byte .LVUS325 16636 289e 05 .uleb128 0x5 16637 289f F11A0000 .4byte usbd_conf.c.0873f3d7+6897 16638 28a3 1D430000 .4byte .LLST326 16639 28a7 19430000 .4byte .LVUS326 16640 28ab 05 .uleb128 0x5 16641 28ac FE1A0000 .4byte usbd_conf.c.0873f3d7+6910 16642 28b0 1D430000 .4byte .LLST326 16643 28b4 19430000 .4byte .LVUS326 16644 28b8 08 .uleb128 0x8 16645 28b9 2F100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4143 16646 28bd 18070000 .4byte .Ldebug_ranges0+0x718 16647 28c1 0D .byte 0xd 16648 28c2 EB01 .2byte 0x1eb 16649 28c4 10 .byte 0x10 16650 28c5 07 .uleb128 0x7 16651 28c6 42100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4162 16652 28ca 41430000 .4byte .LLST328 16653 28ce 3D430000 .4byte .LVUS328 16654 28d2 07 .uleb128 0x7 16655 28d3 4F100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4175 16656 28d7 65430000 .4byte .LLST329 16657 28db 5F430000 .4byte .LVUS329 16658 28df 0A .uleb128 0xa 16659 28e0 18070000 .4byte .Ldebug_ranges0+0x718 16660 28e4 05 .uleb128 0x5 16661 28e5 5C100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4188 16662 28e9 A6430000 .4byte .LLST330 16663 28ed A0430000 .4byte .LVUS330 16664 28f1 08 .uleb128 0x8 16665 28f2 1A140000 .4byte stm32f4xx_ll_usb.c.034a61b9+5146 16666 28f6 38070000 .4byte .Ldebug_ranges0+0x738 16667 28fa 0E .byte 0xe 16668 28fb FA06 .2byte 0x6fa 16669 28fd 09 .byte 0x9 16670 28fe 07 .uleb128 0x7 16671 28ff 3A140000 .4byte stm32f4xx_ll_usb.c.034a61b9+5178 ARM GAS /tmp/ccjvgGVC.s page 767 16672 2903 35480000 .4byte .LLST331 16673 2907 2F480000 .4byte .LVUS331 16674 290b 07 .uleb128 0x7 16675 290c 2D140000 .4byte stm32f4xx_ll_usb.c.034a61b9+5165 16676 2910 C44C0000 .4byte .LLST332 16677 2914 BE4C0000 .4byte .LVUS332 16678 2918 0A .uleb128 0xa 16679 2919 38070000 .4byte .Ldebug_ranges0+0x738 16680 291d 05 .uleb128 0x5 16681 291e 46140000 .4byte stm32f4xx_ll_usb.c.034a61b9+5190 16682 2922 F54C0000 .4byte .LLST333 16683 2926 EF4C0000 .4byte .LVUS333 16684 292a 05 .uleb128 0x5 16685 292b 53140000 .4byte stm32f4xx_ll_usb.c.034a61b9+5203 16686 292f 264D0000 .4byte .LLST334 16687 2933 204D0000 .4byte .LVUS334 16688 2937 00 .byte 0 16689 2938 00 .byte 0 16690 2939 00 .byte 0 16691 293a 00 .byte 0 16692 293b 00 .byte 0 16693 293c 24 .uleb128 0x24 16694 293d 0C1B0000 .4byte usbd_conf.c.0873f3d7+6924 16695 2941 A1000000 .4byte .LASF20 16696 2945 00000000 .4byte .LFB163 16697 2949 C0000000 .4byte .LFE163 16698 294d BE510000 .4byte .LLST335 16699 2951 01 .byte 0x1 16700 2952 422A0000 .4byte 0x2a42 16701 2956 07 .uleb128 0x7 16702 2957 1F1B0000 .4byte usbd_conf.c.0873f3d7+6943 16703 295b E2510000 .4byte .LLST336 16704 295f DE510000 .4byte .LVUS336 16705 2963 07 .uleb128 0x7 16706 2964 2C1B0000 .4byte usbd_conf.c.0873f3d7+6956 16707 2968 0D520000 .4byte .LLST337 16708 296c 09520000 .4byte .LVUS337 16709 2970 04 .uleb128 0x4 16710 2971 391B0000 .4byte usbd_conf.c.0873f3d7+6969 16711 2975 01 .byte 0x1 16712 2976 52 .byte 0x52 16713 2977 07 .uleb128 0x7 16714 2978 461B0000 .4byte usbd_conf.c.0873f3d7+6982 16715 297c 3C520000 .4byte .LLST338 16716 2980 34520000 .4byte .LVUS338 16717 2984 05 .uleb128 0x5 16718 2985 531B0000 .4byte usbd_conf.c.0873f3d7+6995 16719 2989 86520000 .4byte .LLST339 16720 298d 82520000 .4byte .LVUS339 16721 2991 05 .uleb128 0x5 16722 2992 601B0000 .4byte usbd_conf.c.0873f3d7+7008 16723 2996 86520000 .4byte .LLST339 16724 299a 82520000 .4byte .LVUS339 16725 299e 08 .uleb128 0x8 16726 299f 69100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4201 16727 29a3 50070000 .4byte .Ldebug_ranges0+0x750 16728 29a7 0D .byte 0xd ARM GAS /tmp/ccjvgGVC.s page 768 16729 29a8 D901 .2byte 0x1d9 16730 29aa 10 .byte 0x10 16731 29ab 07 .uleb128 0x7 16732 29ac 7C100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4220 16733 29b0 AA520000 .4byte .LLST341 16734 29b4 A6520000 .4byte .LVUS341 16735 29b8 07 .uleb128 0x7 16736 29b9 89100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4233 16737 29bd CC520000 .4byte .LLST342 16738 29c1 C8520000 .4byte .LVUS342 16739 29c5 07 .uleb128 0x7 16740 29c6 96100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4246 16741 29ca 04530000 .4byte .LLST343 16742 29ce FC520000 .4byte .LVUS343 16743 29d2 07 .uleb128 0x7 16744 29d3 A3100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4259 16745 29d7 4E530000 .4byte .LLST344 16746 29db 4A530000 .4byte .LVUS344 16747 29df 0A .uleb128 0xa 16748 29e0 50070000 .4byte .Ldebug_ranges0+0x750 16749 29e4 2B .uleb128 0x2b 16750 29e5 B0100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4272 16751 29e9 00 .byte 0 16752 29ea 05 .uleb128 0x5 16753 29eb BD100000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+4285 16754 29ef 76530000 .4byte .LLST345 16755 29f3 6C530000 .4byte .LVUS345 16756 29f7 08 .uleb128 0x8 16757 29f8 A8140000 .4byte stm32f4xx_ll_usb.c.034a61b9+5288 16758 29fc 68070000 .4byte .Ldebug_ranges0+0x768 16759 2a00 0E .byte 0xe 16760 2a01 DD06 .2byte 0x6dd 16761 2a03 09 .byte 0x9 16762 2a04 07 .uleb128 0x7 16763 2a05 BB140000 .4byte stm32f4xx_ll_usb.c.034a61b9+5307 16764 2a09 72560000 .4byte .LLST346 16765 2a0d 6E560000 .4byte .LVUS346 16766 2a11 07 .uleb128 0x7 16767 2a12 C8140000 .4byte stm32f4xx_ll_usb.c.034a61b9+5320 16768 2a16 98560000 .4byte .LLST347 16769 2a1a 90560000 .4byte .LVUS347 16770 2a1e 0A .uleb128 0xa 16771 2a1f 68070000 .4byte .Ldebug_ranges0+0x768 16772 2a23 05 .uleb128 0x5 16773 2a24 D4140000 .4byte stm32f4xx_ll_usb.c.034a61b9+5332 16774 2a28 72560000 .4byte .LLST346 16775 2a2c 6E560000 .4byte .LVUS346 16776 2a30 05 .uleb128 0x5 16777 2a31 E1140000 .4byte stm32f4xx_ll_usb.c.034a61b9+5345 16778 2a35 84590000 .4byte .LLST349 16779 2a39 80590000 .4byte .LVUS349 16780 2a3d 00 .byte 0 16781 2a3e 00 .byte 0 16782 2a3f 00 .byte 0 16783 2a40 00 .byte 0 16784 2a41 00 .byte 0 16785 2a42 24 .uleb128 0x24 ARM GAS /tmp/ccjvgGVC.s page 769 16786 2a43 3D100000 .4byte usbd_msc_scsi.c.1d296ac0+4157 16787 2a47 94010000 .4byte .LASF21 16788 2a4b 00000000 .4byte .LFB168 16789 2a4f 38000000 .4byte .LFE168 16790 2a53 BE590000 .4byte .LLST350 16791 2a57 01 .byte 0x1 16792 2a58 982A0000 .4byte 0x2a98 16793 2a5c 07 .uleb128 0x7 16794 2a5d 4C100000 .4byte usbd_msc_scsi.c.1d296ac0+4172 16795 2a61 E2590000 .4byte .LLST351 16796 2a65 DE590000 .4byte .LVUS351 16797 2a69 04 .uleb128 0x4 16798 2a6a 66100000 .4byte usbd_msc_scsi.c.1d296ac0+4198 16799 2a6e 01 .byte 0x1 16800 2a6f 51 .byte 0x51 16801 2a70 07 .uleb128 0x7 16802 2a71 73100000 .4byte usbd_msc_scsi.c.1d296ac0+4211 16803 2a75 0F5A0000 .4byte .LLST352 16804 2a79 095A0000 .4byte .LVUS352 16805 2a7d 05 .uleb128 0x5 16806 2a7e 80100000 .4byte usbd_msc_scsi.c.1d296ac0+4224 16807 2a82 455A0000 .4byte .LLST353 16808 2a86 435A0000 .4byte .LVUS353 16809 2a8a 07 .uleb128 0x7 16810 2a8b 59100000 .4byte usbd_msc_scsi.c.1d296ac0+4185 16811 2a8f 5A5A0000 .4byte .LLST354 16812 2a93 585A0000 .4byte .LVUS354 16813 2a97 00 .byte 0 16814 2a98 2A .uleb128 0x2a 16815 2a99 3D100000 .4byte usbd_msc_scsi.c.1d296ac0+4157 16816 2a9d A72A0000 .4byte 0x2aa7 16817 2aa1 09 .uleb128 0x9 16818 2aa2 59100000 .4byte usbd_msc_scsi.c.1d296ac0+4185 16819 2aa6 00 .byte 0 16820 2aa7 24 .uleb128 0x24 16821 2aa8 B60B0000 .4byte usbd_msc_scsi.c.1d296ac0+2998 16822 2aac BC040000 .4byte .LASF22 16823 2ab0 00000000 .4byte .LFB170 16824 2ab4 16000000 .4byte .LFE170 16825 2ab8 725A0000 .4byte .LLST355 16826 2abc 01 .byte 0x1 16827 2abd 322B0000 .4byte 0x2b32 16828 2ac1 04 .uleb128 0x4 16829 2ac2 C80B0000 .4byte usbd_msc_scsi.c.1d296ac0+3016 16830 2ac6 01 .byte 0x1 16831 2ac7 50 .byte 0x50 16832 2ac8 04 .uleb128 0x4 16833 2ac9 D50B0000 .4byte usbd_msc_scsi.c.1d296ac0+3029 16834 2acd 01 .byte 0x1 16835 2ace 51 .byte 0x51 16836 2acf 07 .uleb128 0x7 16837 2ad0 E20B0000 .4byte usbd_msc_scsi.c.1d296ac0+3042 16838 2ad4 965A0000 .4byte .LLST356 16839 2ad8 925A0000 .4byte .LVUS356 16840 2adc 05 .uleb128 0x5 16841 2add EF0B0000 .4byte usbd_msc_scsi.c.1d296ac0+3055 16842 2ae1 C15A0000 .4byte .LLST357 ARM GAS /tmp/ccjvgGVC.s page 770 16843 2ae5 BD5A0000 .4byte .LVUS357 16844 2ae9 08 .uleb128 0x8 16845 2aea B60B0000 .4byte usbd_msc_scsi.c.1d296ac0+2998 16846 2aee 90070000 .4byte .Ldebug_ranges0+0x790 16847 2af2 14 .byte 0x14 16848 2af3 0A05 .2byte 0x50a 16849 2af5 0F .byte 0xf 16850 2af6 07 .uleb128 0x7 16851 2af7 C80B0000 .4byte usbd_msc_scsi.c.1d296ac0+3016 16852 2afb EC5A0000 .4byte .LLST358 16853 2aff E85A0000 .4byte .LVUS358 16854 2b03 07 .uleb128 0x7 16855 2b04 D50B0000 .4byte usbd_msc_scsi.c.1d296ac0+3029 16856 2b08 0E5B0000 .4byte .LLST359 16857 2b0c 0A5B0000 .4byte .LVUS359 16858 2b10 07 .uleb128 0x7 16859 2b11 E20B0000 .4byte usbd_msc_scsi.c.1d296ac0+3042 16860 2b15 305B0000 .4byte .LLST360 16861 2b19 2C5B0000 .4byte .LVUS360 16862 2b1d 0A .uleb128 0xa 16863 2b1e 90070000 .4byte .Ldebug_ranges0+0x790 16864 2b22 05 .uleb128 0x5 16865 2b23 EF0B0000 .4byte usbd_msc_scsi.c.1d296ac0+3055 16866 2b27 665B0000 .4byte .LLST361 16867 2b2b 605B0000 .4byte .LVUS361 16868 2b2f 00 .byte 0 16869 2b30 00 .byte 0 16870 2b31 00 .byte 0 16871 2b32 2F .uleb128 0x2f 16872 2b33 32070000 .4byte usbd_ioreq.c.dfbe71b7+1842 16873 2b37 50040000 .4byte .LASF23 16874 2b3b 00000000 .4byte .LFB174 16875 2b3f 10000000 .4byte .LFE174 16876 2b43 02 .byte 0x2 16877 2b44 7D .byte 0x7d 16878 2b45 00 .sleb128 0 16879 2b46 01 .byte 0x1 16880 2b47 802B0000 .4byte 0x2b80 16881 2b4b 07 .uleb128 0x7 16882 2b4c 44070000 .4byte usbd_ioreq.c.dfbe71b7+1860 16883 2b50 935B0000 .4byte .LLST362 16884 2b54 8F5B0000 .4byte .LVUS362 16885 2b58 31 .uleb128 0x31 16886 2b59 10000000 .4byte .LVL540 16887 2b5d 01 .byte 0x1 16888 2b5e 36260000 .4byte 0x2636 16889 2b62 0E .uleb128 0xe 16890 2b63 01 .byte 0x1 16891 2b64 50 .byte 0x50 16892 2b65 09 .byte 0x9 16893 2b66 F3 .byte 0xf3 16894 2b67 03 .uleb128 0x3 16895 2b68 F5 .byte 0xf5 16896 2b69 00 .uleb128 0 16897 2b6a 29 .uleb128 0x29 16898 2b6b F7 .byte 0xf7 16899 2b6c 30 .uleb128 0x30 ARM GAS /tmp/ccjvgGVC.s page 771 16900 2b6d F7 .byte 0xf7 16901 2b6e 00 .uleb128 0 16902 2b6f 0E .uleb128 0xe 16903 2b70 01 .byte 0x1 16904 2b71 51 .byte 0x51 16905 2b72 01 .byte 0x1 16906 2b73 30 .byte 0x30 16907 2b74 0E .uleb128 0xe 16908 2b75 01 .byte 0x1 16909 2b76 52 .byte 0x52 16910 2b77 01 .byte 0x1 16911 2b78 30 .byte 0x30 16912 2b79 0E .uleb128 0xe 16913 2b7a 01 .byte 0x1 16914 2b7b 53 .byte 0x53 16915 2b7c 01 .byte 0x1 16916 2b7d 30 .byte 0x30 16917 2b7e 00 .byte 0 16918 2b7f 00 .byte 0 16919 2b80 32 .uleb128 0x32 16920 2b81 6F1D0000 .4byte usbd_conf.c.0873f3d7+7535 16921 2b85 14000000 .4byte .LASF36 16922 2b89 00000000 .4byte .LFB176 16923 2b8d 88000000 .4byte .LFE176 16924 2b91 BA5B0000 .4byte .LLST363 16925 2b95 692C0000 .4byte 0x2c69 16926 2b99 07 .uleb128 0x7 16927 2b9a 891D0000 .4byte usbd_conf.c.0873f3d7+7561 16928 2b9e 305C0000 .4byte .LLST364 16929 2ba2 225C0000 .4byte .LVUS364 16930 2ba6 09 .uleb128 0x9 16931 2ba7 7D1D0000 .4byte usbd_conf.c.0873f3d7+7549 16932 2bab 33 .uleb128 0x33 16933 2bac 5A0C0000 .4byte usbd_core.c.5297c1c6+3162 16934 2bb0 A8070000 .4byte .Ldebug_ranges0+0x7a8 16935 2bb4 0D .byte 0xd 16936 2bb5 AB .byte 0xab 16937 2bb6 03 .byte 0x3 16938 2bb7 09 .uleb128 0x9 16939 2bb8 870C0000 .4byte usbd_core.c.5297c1c6+3207 16940 2bbc 07 .uleb128 0x7 16941 2bbd 6D0C0000 .4byte usbd_core.c.5297c1c6+3181 16942 2bc1 A35C0000 .4byte .LLST366 16943 2bc5 975C0000 .4byte .LVUS366 16944 2bc9 07 .uleb128 0x7 16945 2bca 7A0C0000 .4byte usbd_core.c.5297c1c6+3194 16946 2bce FB5C0000 .4byte .LLST367 16947 2bd2 ED5C0000 .4byte .LVUS367 16948 2bd6 0A .uleb128 0xa 16949 2bd7 A8070000 .4byte .Ldebug_ranges0+0x7a8 16950 2bdb 05 .uleb128 0x5 16951 2bdc 940C0000 .4byte usbd_core.c.5297c1c6+3220 16952 2be0 6A5D0000 .4byte .LLST368 16953 2be4 625D0000 .4byte .LVUS368 16954 2be8 2B .uleb128 0x2b 16955 2be9 A10C0000 .4byte usbd_core.c.5297c1c6+3233 16956 2bed 00 .byte 0 ARM GAS /tmp/ccjvgGVC.s page 772 16957 2bee 05 .uleb128 0x5 16958 2bef AE0C0000 .4byte usbd_core.c.5297c1c6+3246 16959 2bf3 AC5D0000 .4byte .LLST369 16960 2bf7 AA5D0000 .4byte .LVUS369 16961 2bfb 2C .uleb128 0x2c 16962 2bfc 51070000 .4byte usbd_ioreq.c.dfbe71b7+1873 16963 2c00 D8070000 .4byte .Ldebug_ranges0+0x7d8 16964 2c04 12 .byte 0x12 16965 2c05 5E02 .2byte 0x25e 16966 2c07 0F .byte 0xf 16967 2c08 4C2C0000 .4byte 0x2c4c 16968 2c0c 07 .uleb128 0x7 16969 2c0d 63070000 .4byte usbd_ioreq.c.dfbe71b7+1891 16970 2c11 C45D0000 .4byte .LLST370 16971 2c15 C05D0000 .4byte .LVUS370 16972 2c19 07 .uleb128 0x7 16973 2c1a 6F070000 .4byte usbd_ioreq.c.dfbe71b7+1903 16974 2c1e E45D0000 .4byte .LLST371 16975 2c22 E25D0000 .4byte .LVUS371 16976 2c26 07 .uleb128 0x7 16977 2c27 7B070000 .4byte usbd_ioreq.c.dfbe71b7+1915 16978 2c2b FF5D0000 .4byte .LLST372 16979 2c2f F75D0000 .4byte .LVUS372 16980 2c33 31 .uleb128 0x31 16981 2c34 40000000 .4byte .LVL549 16982 2c38 01 .byte 0x1 16983 2c39 67250000 .4byte 0x2567 16984 2c3d 0E .uleb128 0xe 16985 2c3e 01 .byte 0x1 16986 2c3f 51 .byte 0x51 16987 2c40 09 .byte 0x9 16988 2c41 F3 .byte 0xf3 16989 2c42 03 .uleb128 0x3 16990 2c43 F5 .byte 0xf5 16991 2c44 00 .uleb128 0 16992 2c45 29 .uleb128 0x29 16993 2c46 F7 .byte 0xf7 16994 2c47 37 .uleb128 0x37 16995 2c48 F7 .byte 0xf7 16996 2c49 00 .uleb128 0 16997 2c4a 00 .byte 0 16998 2c4b 00 .byte 0 16999 2c4c 1A .uleb128 0x1a 17000 2c4d 58000000 .4byte .LVL550 17001 2c51 5C2C0000 .4byte 0x2c5c 17002 2c55 0E .uleb128 0xe 17003 2c56 01 .byte 0x1 17004 2c57 50 .byte 0x50 17005 2c58 02 .byte 0x2 17006 2c59 74 .byte 0x74 17007 2c5a 00 .sleb128 0 17008 2c5b 00 .byte 0 17009 2c5c 13 .uleb128 0x13 17010 2c5d 62000000 .4byte .LVL552 17011 2c61 01 .byte 0x1 17012 2c62 322B0000 .4byte 0x2b32 17013 2c66 00 .byte 0 ARM GAS /tmp/ccjvgGVC.s page 773 17014 2c67 00 .byte 0 17015 2c68 00 .byte 0 17016 2c69 24 .uleb128 0x24 17017 2c6a F6070000 .4byte usbd_ioreq.c.dfbe71b7+2038 17018 2c6e E0030000 .4byte .LASF24 17019 2c72 00000000 .4byte .LFB182 17020 2c76 1C000000 .4byte .LFE182 17021 2c7a A05E0000 .4byte .LLST373 17022 2c7e 01 .byte 0x1 17023 2c7f E22C0000 .4byte 0x2ce2 17024 2c83 07 .uleb128 0x7 17025 2c84 04080000 .4byte usbd_ioreq.c.dfbe71b7+2052 17026 2c88 D05E0000 .4byte .LLST374 17027 2c8c CC5E0000 .4byte .LVUS374 17028 2c90 07 .uleb128 0x7 17029 2c91 10080000 .4byte usbd_ioreq.c.dfbe71b7+2064 17030 2c95 FD5E0000 .4byte .LLST375 17031 2c99 F75E0000 .4byte .LVUS375 17032 2c9d 07 .uleb128 0x7 17033 2c9e 1C080000 .4byte usbd_ioreq.c.dfbe71b7+2076 17034 2ca2 355F0000 .4byte .LLST376 17035 2ca6 2F5F0000 .4byte .LVUS376 17036 2caa 31 .uleb128 0x31 17037 2cab 1C000000 .4byte .LVL560 17038 2caf 01 .byte 0x1 17039 2cb0 36260000 .4byte 0x2636 17040 2cb4 0E .uleb128 0xe 17041 2cb5 01 .byte 0x1 17042 2cb6 50 .byte 0x50 17043 2cb7 09 .byte 0x9 17044 2cb8 F3 .byte 0xf3 17045 2cb9 03 .uleb128 0x3 17046 2cba F5 .byte 0xf5 17047 2cbb 00 .uleb128 0 17048 2cbc 29 .uleb128 0x29 17049 2cbd F7 .byte 0xf7 17050 2cbe 30 .uleb128 0x30 17051 2cbf F7 .byte 0xf7 17052 2cc0 00 .uleb128 0 17053 2cc1 0E .uleb128 0xe 17054 2cc2 01 .byte 0x1 17055 2cc3 51 .byte 0x51 17056 2cc4 01 .byte 0x1 17057 2cc5 30 .byte 0x30 17058 2cc6 0E .uleb128 0xe 17059 2cc7 01 .byte 0x1 17060 2cc8 52 .byte 0x52 17061 2cc9 09 .byte 0x9 17062 2cca F3 .byte 0xf3 17063 2ccb 03 .uleb128 0x3 17064 2ccc F5 .byte 0xf5 17065 2ccd 01 .uleb128 0x1 17066 2cce 29 .uleb128 0x29 17067 2ccf F7 .byte 0xf7 17068 2cd0 30 .uleb128 0x30 17069 2cd1 F7 .byte 0xf7 17070 2cd2 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 774 17071 2cd3 0E .uleb128 0xe 17072 2cd4 01 .byte 0x1 17073 2cd5 53 .byte 0x53 17074 2cd6 09 .byte 0x9 17075 2cd7 F3 .byte 0xf3 17076 2cd8 03 .uleb128 0x3 17077 2cd9 F5 .byte 0xf5 17078 2cda 02 .uleb128 0x2 17079 2cdb 29 .uleb128 0x29 17080 2cdc F7 .byte 0xf7 17081 2cdd 30 .uleb128 0x30 17082 2cde F7 .byte 0xf7 17083 2cdf 00 .uleb128 0 17084 2ce0 00 .byte 0 17085 2ce1 00 .byte 0 17086 2ce2 2F .uleb128 0x2f 17087 2ce3 F70C0000 .4byte usbd_core.c.5297c1c6+3319 17088 2ce7 F7020000 .4byte .LASF25 17089 2ceb 00000000 .4byte .LFB184 17090 2cef 08000000 .4byte .LFE184 17091 2cf3 02 .byte 0x2 17092 2cf4 7D .byte 0x7d 17093 2cf5 00 .sleb128 0 17094 2cf6 01 .byte 0x1 17095 2cf7 3D2D0000 .4byte 0x2d3d 17096 2cfb 07 .uleb128 0x7 17097 2cfc 0A0D0000 .4byte usbd_core.c.5297c1c6+3338 17098 2d00 6B5F0000 .4byte .LLST377 17099 2d04 675F0000 .4byte .LVUS377 17100 2d08 07 .uleb128 0x7 17101 2d09 170D0000 .4byte usbd_core.c.5297c1c6+3351 17102 2d0d 965F0000 .4byte .LLST378 17103 2d11 925F0000 .4byte .LVUS378 17104 2d15 2B .uleb128 0x2b 17105 2d16 240D0000 .4byte usbd_core.c.5297c1c6+3364 17106 2d1a 00 .byte 0 17107 2d1b 34 .uleb128 0x34 17108 2d1c 08000000 .4byte .LVL562 17109 2d20 01 .byte 0x1 17110 2d21 0E .uleb128 0xe 17111 2d22 01 .byte 0x1 17112 2d23 50 .byte 0x50 17113 2d24 09 .byte 0x9 17114 2d25 F3 .byte 0xf3 17115 2d26 03 .uleb128 0x3 17116 2d27 F5 .byte 0xf5 17117 2d28 00 .uleb128 0 17118 2d29 29 .uleb128 0x29 17119 2d2a F7 .byte 0xf7 17120 2d2b 30 .uleb128 0x30 17121 2d2c F7 .byte 0xf7 17122 2d2d 00 .uleb128 0 17123 2d2e 0E .uleb128 0xe 17124 2d2f 01 .byte 0x1 17125 2d30 51 .byte 0x51 17126 2d31 09 .byte 0x9 17127 2d32 F3 .byte 0xf3 ARM GAS /tmp/ccjvgGVC.s page 775 17128 2d33 03 .uleb128 0x3 17129 2d34 F5 .byte 0xf5 17130 2d35 01 .uleb128 0x1 17131 2d36 29 .uleb128 0x29 17132 2d37 F7 .byte 0xf7 17133 2d38 37 .uleb128 0x37 17134 2d39 F7 .byte 0xf7 17135 2d3a 00 .uleb128 0 17136 2d3b 00 .byte 0 17137 2d3c 00 .byte 0 17138 2d3d 24 .uleb128 0x24 17139 2d3e 830E0000 .4byte stm32f4xx_ll_usb.c.034a61b9+3715 17140 2d42 37030000 .4byte .LASF26 17141 2d46 00000000 .4byte .LFB186 17142 2d4a 4C000000 .4byte .LFE186 17143 2d4e BD5F0000 .4byte .LLST379 17144 2d52 01 .byte 0x1 17145 2d53 872D0000 .4byte 0x2d87 17146 2d57 04 .uleb128 0x4 17147 2d58 960E0000 .4byte stm32f4xx_ll_usb.c.034a61b9+3734 17148 2d5c 01 .byte 0x1 17149 2d5d 50 .byte 0x50 17150 2d5e 04 .uleb128 0x4 17151 2d5f A30E0000 .4byte stm32f4xx_ll_usb.c.034a61b9+3747 17152 2d63 01 .byte 0x1 17153 2d64 51 .byte 0x51 17154 2d65 04 .uleb128 0x4 17155 2d66 B00E0000 .4byte stm32f4xx_ll_usb.c.034a61b9+3760 17156 2d6a 01 .byte 0x1 17157 2d6b 52 .byte 0x52 17158 2d6c 05 .uleb128 0x5 17159 2d6d BD0E0000 .4byte stm32f4xx_ll_usb.c.034a61b9+3773 17160 2d71 DF5F0000 .4byte .LLST380 17161 2d75 DD5F0000 .4byte .LVUS380 17162 2d79 05 .uleb128 0x5 17163 2d7a CA0E0000 .4byte stm32f4xx_ll_usb.c.034a61b9+3786 17164 2d7e F45F0000 .4byte .LLST381 17165 2d82 F25F0000 .4byte .LVUS381 17166 2d86 00 .byte 0 17167 2d87 24 .uleb128 0x24 17168 2d88 341A0000 .4byte usbd_conf.c.0873f3d7+6708 17169 2d8c 4E000000 .4byte .LASF27 17170 2d90 00000000 .4byte .LFB188 17171 2d94 8E000000 .4byte .LFE188 17172 2d98 07600000 .4byte .LLST382 17173 2d9c 01 .byte 0x1 17174 2d9d 6B2E0000 .4byte 0x2e6b 17175 2da1 07 .uleb128 0x7 17176 2da2 471A0000 .4byte usbd_conf.c.0873f3d7+6727 17177 2da6 2D600000 .4byte .LLST383 17178 2daa 27600000 .4byte .LVUS383 17179 2dae 07 .uleb128 0x7 17180 2daf 541A0000 .4byte usbd_conf.c.0873f3d7+6740 17181 2db3 67600000 .4byte .LLST384 17182 2db7 5F600000 .4byte .LVUS384 17183 2dbb 05 .uleb128 0x5 17184 2dbc 611A0000 .4byte usbd_conf.c.0873f3d7+6753 ARM GAS /tmp/ccjvgGVC.s page 776 17185 2dc0 B1600000 .4byte .LLST385 17186 2dc4 AD600000 .4byte .LVUS385 17187 2dc8 05 .uleb128 0x5 17188 2dc9 6E1A0000 .4byte usbd_conf.c.0873f3d7+6766 17189 2dcd B1600000 .4byte .LLST385 17190 2dd1 AD600000 .4byte .LVUS385 17191 2dd5 08 .uleb128 0x8 17192 2dd6 1F0F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3871 17193 2dda F8070000 .4byte .Ldebug_ranges0+0x7f8 17194 2dde 0D .byte 0xd 17195 2ddf 0F02 .2byte 0x20f 17196 2de1 10 .byte 0x10 17197 2de2 07 .uleb128 0x7 17198 2de3 320F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3890 17199 2de7 D5600000 .4byte .LLST387 17200 2deb D1600000 .4byte .LVUS387 17201 2def 07 .uleb128 0x7 17202 2df0 3F0F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3903 17203 2df4 FB600000 .4byte .LLST388 17204 2df8 F3600000 .4byte .LVUS388 17205 2dfc 0A .uleb128 0xa 17206 2dfd F8070000 .4byte .Ldebug_ranges0+0x7f8 17207 2e01 05 .uleb128 0x5 17208 2e02 4C0F0000 .4byte stm32f4xx_hal_pcd.c.b9bf79ae+3916 17209 2e06 45610000 .4byte .LLST389 17210 2e0a 41610000 .4byte .LVUS389 17211 2e0e 2C .uleb128 0x2c 17212 2e0f C9110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4553 17213 2e13 10080000 .4byte .Ldebug_ranges0+0x810 17214 2e17 0E .byte 0xe 17215 2e18 7507 .2byte 0x775 17216 2e1a 09 .byte 0x9 17217 2e1b 522E0000 .4byte 0x2e52 17218 2e1f 09 .uleb128 0x9 17219 2e20 E9110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4585 17220 2e24 07 .uleb128 0x7 17221 2e25 DC110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4572 17222 2e29 65610000 .4byte .LLST390 17223 2e2d 63610000 .4byte .LVUS390 17224 2e31 0A .uleb128 0xa 17225 2e32 10080000 .4byte .Ldebug_ranges0+0x810 17226 2e36 05 .uleb128 0x5 17227 2e37 F5110000 .4byte stm32f4xx_ll_usb.c.034a61b9+4597 17228 2e3b 65610000 .4byte .LLST390 17229 2e3f 63610000 .4byte .LVUS390 17230 2e43 05 .uleb128 0x5 17231 2e44 02120000 .4byte stm32f4xx_ll_usb.c.034a61b9+4610 17232 2e48 7A610000 .4byte .LLST392 17233 2e4c 78610000 .4byte .LVUS392 17234 2e50 00 .byte 0 17235 2e51 00 .byte 0 17236 2e52 0D .uleb128 0xd 17237 2e53 74000000 .4byte .LVL574 17238 2e57 3D2D0000 .4byte 0x2d3d 17239 2e5b 0E .uleb128 0xe 17240 2e5c 01 .byte 0x1 17241 2e5d 51 .byte 0x51 ARM GAS /tmp/ccjvgGVC.s page 777 17242 2e5e 02 .byte 0x2 17243 2e5f 71 .byte 0x71 17244 2e60 00 .sleb128 0 17245 2e61 0E .uleb128 0xe 17246 2e62 01 .byte 0x1 17247 2e63 52 .byte 0x52 17248 2e64 02 .byte 0x2 17249 2e65 72 .byte 0x72 17250 2e66 00 .sleb128 0 17251 2e67 00 .byte 0 17252 2e68 00 .byte 0 17253 2e69 00 .byte 0 17254 2e6a 00 .byte 0 17255 2e6b 24 .uleb128 0x24 17256 2e6c 31080000 .4byte usbd_ctlreq.c.170b801d+2097 17257 2e70 3B040000 .4byte .LASF28 17258 2e74 00000000 .4byte .LFB193 17259 2e78 16000000 .4byte .LFE193 17260 2e7c 8D610000 .4byte .LLST393 17261 2e80 01 .byte 0x1 17262 2e81 D72E0000 .4byte 0x2ed7 17263 2e85 07 .uleb128 0x7 17264 2e86 40080000 .4byte usbd_ctlreq.c.170b801d+2112 17265 2e8a C1610000 .4byte .LLST394 17266 2e8e B9610000 .4byte .LVUS394 17267 2e92 07 .uleb128 0x7 17268 2e93 4D080000 .4byte usbd_ctlreq.c.170b801d+2125 17269 2e97 00620000 .4byte .LLST395 17270 2e9b FE610000 .4byte .LVUS395 17271 2e9f 18 .uleb128 0x18 17272 2ea0 0A000000 .4byte .LVL580 17273 2ea4 872D0000 .4byte 0x2d87 17274 2ea8 B92E0000 .4byte 0x2eb9 17275 2eac 0E .uleb128 0xe 17276 2ead 01 .byte 0x1 17277 2eae 50 .byte 0x50 17278 2eaf 02 .byte 0x2 17279 2eb0 74 .byte 0x74 17280 2eb1 00 .sleb128 0 17281 2eb2 0E .uleb128 0xe 17282 2eb3 01 .byte 0x1 17283 2eb4 51 .byte 0x51 17284 2eb5 02 .byte 0x2 17285 2eb6 09 .byte 0x9 17286 2eb7 80 .byte 0x80 17287 2eb8 00 .byte 0 17288 2eb9 31 .uleb128 0x31 17289 2eba 16000000 .4byte .LVL582 17290 2ebe 01 .byte 0x1 17291 2ebf 872D0000 .4byte 0x2d87 17292 2ec3 0E .uleb128 0xe 17293 2ec4 01 .byte 0x1 17294 2ec5 50 .byte 0x50 17295 2ec6 09 .byte 0x9 17296 2ec7 F3 .byte 0xf3 17297 2ec8 03 .uleb128 0x3 17298 2ec9 F5 .byte 0xf5 ARM GAS /tmp/ccjvgGVC.s page 778 17299 2eca 00 .uleb128 0 17300 2ecb 29 .uleb128 0x29 17301 2ecc F7 .byte 0xf7 17302 2ecd 30 .uleb128 0x30 17303 2ece F7 .byte 0xf7 17304 2ecf 00 .uleb128 0 17305 2ed0 0E .uleb128 0xe 17306 2ed1 01 .byte 0x1 17307 2ed2 51 .byte 0x51 17308 2ed3 01 .byte 0x1 17309 2ed4 30 .byte 0x30 17310 2ed5 00 .byte 0 17311 2ed6 00 .byte 0 17312 2ed7 2A .uleb128 0x2a 17313 2ed8 31080000 .4byte usbd_ctlreq.c.170b801d+2097 17314 2edc E62E0000 .4byte 0x2ee6 17315 2ee0 09 .uleb128 0x9 17316 2ee1 4D080000 .4byte usbd_ctlreq.c.170b801d+2125 17317 2ee5 00 .byte 0 17318 2ee6 24 .uleb128 0x24 17319 2ee7 E0050000 .4byte stm32f4xx_ll_usart.c.f9e8ba61+1504 17320 2eeb 20030000 .4byte .LASF29 17321 2eef 00000000 .4byte .LFB195 17322 2ef3 C8000000 .4byte .LFE195 17323 2ef7 18620000 .4byte .LLST396 17324 2efb 01 .byte 0x1 17325 2efc CA2F0000 .4byte 0x2fca 17326 2f00 07 .uleb128 0x7 17327 2f01 F2050000 .4byte stm32f4xx_ll_usart.c.f9e8ba61+1522 17328 2f05 8A620000 .4byte .LLST397 17329 2f09 68620000 .4byte .LVUS397 17330 2f0d 2B .uleb128 0x2b 17331 2f0e FE050000 .4byte stm32f4xx_ll_usart.c.f9e8ba61+1534 17332 2f12 00 .byte 0 17333 2f13 18 .uleb128 0x18 17334 2f14 0E000000 .4byte .LVL585 17335 2f18 CA2F0000 .4byte 0x2fca 17336 2f1c 262F0000 .4byte 0x2f26 17337 2f20 0E .uleb128 0xe 17338 2f21 01 .byte 0x1 17339 2f22 50 .byte 0x50 17340 2f23 01 .byte 0x1 17341 2f24 40 .byte 0x40 17342 2f25 00 .byte 0 17343 2f26 13 .uleb128 0x13 17344 2f27 18000000 .4byte .LVL586 17345 2f2b 01 .byte 0x1 17346 2f2c CF2F0000 .4byte 0x2fcf 17347 2f30 18 .uleb128 0x18 17348 2f31 26000000 .4byte .LVL588 17349 2f35 D42F0000 .4byte 0x2fd4 17350 2f39 452F0000 .4byte 0x2f45 17351 2f3d 0E .uleb128 0xe 17352 2f3e 01 .byte 0x1 17353 2f3f 50 .byte 0x50 17354 2f40 03 .byte 0x3 17355 2f41 40 .byte 0x40 ARM GAS /tmp/ccjvgGVC.s page 779 17356 2f42 3D .byte 0x3d 17357 2f43 24 .byte 0x24 17358 2f44 00 .byte 0 17359 2f45 13 .uleb128 0x13 17360 2f46 32000000 .4byte .LVL589 17361 2f4a 01 .byte 0x1 17362 2f4b D92F0000 .4byte 0x2fd9 17363 2f4f 18 .uleb128 0x18 17364 2f50 40000000 .4byte .LVL591 17365 2f54 D42F0000 .4byte 0x2fd4 17366 2f58 642F0000 .4byte 0x2f64 17367 2f5c 0E .uleb128 0xe 17368 2f5d 01 .byte 0x1 17369 2f5e 50 .byte 0x50 17370 2f5f 03 .byte 0x3 17371 2f60 40 .byte 0x40 17372 2f61 3E .byte 0x3e 17373 2f62 24 .byte 0x24 17374 2f63 00 .byte 0 17375 2f64 18 .uleb128 0x18 17376 2f65 52000000 .4byte .LVL594 17377 2f69 CA2F0000 .4byte 0x2fca 17378 2f6d 782F0000 .4byte 0x2f78 17379 2f71 0E .uleb128 0xe 17380 2f72 01 .byte 0x1 17381 2f73 50 .byte 0x50 17382 2f74 02 .byte 0x2 17383 2f75 08 .byte 0x8 17384 2f76 20 .byte 0x20 17385 2f77 00 .byte 0 17386 2f78 18 .uleb128 0x18 17387 2f79 64000000 .4byte .LVL597 17388 2f7d D42F0000 .4byte 0x2fd4 17389 2f81 8D2F0000 .4byte 0x2f8d 17390 2f85 0E .uleb128 0xe 17391 2f86 01 .byte 0x1 17392 2f87 50 .byte 0x50 17393 2f88 03 .byte 0x3 17394 2f89 40 .byte 0x40 17395 2f8a 3F .byte 0x3f 17396 2f8b 24 .byte 0x24 17397 2f8c 00 .byte 0 17398 2f8d 18 .uleb128 0x18 17399 2f8e 78000000 .4byte .LVL600 17400 2f92 D42F0000 .4byte 0x2fd4 17401 2f96 A22F0000 .4byte 0x2fa2 17402 2f9a 0E .uleb128 0xe 17403 2f9b 01 .byte 0x1 17404 2f9c 50 .byte 0x50 17405 2f9d 03 .byte 0x3 17406 2f9e 40 .byte 0x40 17407 2f9f 40 .byte 0x40 17408 2fa0 24 .byte 0x24 17409 2fa1 00 .byte 0 17410 2fa2 18 .uleb128 0x18 17411 2fa3 8C000000 .4byte .LVL603 17412 2fa7 D42F0000 .4byte 0x2fd4 ARM GAS /tmp/ccjvgGVC.s page 780 17413 2fab B72F0000 .4byte 0x2fb7 17414 2faf 0E .uleb128 0xe 17415 2fb0 01 .byte 0x1 17416 2fb1 50 .byte 0x50 17417 2fb2 03 .byte 0x3 17418 2fb3 40 .byte 0x40 17419 2fb4 4A .byte 0x4a 17420 2fb5 24 .byte 0x24 17421 2fb6 00 .byte 0 17422 2fb7 0D .uleb128 0xd 17423 2fb8 A0000000 .4byte .LVL606 17424 2fbc D42F0000 .4byte 0x2fd4 17425 2fc0 0E .uleb128 0xe 17426 2fc1 01 .byte 0x1 17427 2fc2 50 .byte 0x50 17428 2fc3 04 .byte 0x4 17429 2fc4 40 .byte 0x40 17430 2fc5 4B .byte 0x4b 17431 2fc6 24 .byte 0x24 17432 2fc7 1F .byte 0x1f 17433 2fc8 00 .byte 0 17434 2fc9 00 .byte 0 17435 2fca 10 .uleb128 0x10 17436 2fcb 27060000 .4byte stm32f4xx_ll_usart.c.f9e8ba61+1575 17437 2fcf 10 .uleb128 0x10 17438 2fd0 0B060000 .4byte stm32f4xx_ll_usart.c.f9e8ba61+1547 17439 2fd4 10 .uleb128 0x10 17440 2fd5 5F060000 .4byte stm32f4xx_ll_usart.c.f9e8ba61+1631 17441 2fd9 10 .uleb128 0x10 17442 2fda 43060000 .4byte stm32f4xx_ll_usart.c.f9e8ba61+1603 17443 2fde 06 .uleb128 0x6 17444 2fdf AE190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6574 17445 2fe3 00000000 .4byte .LFB196 17446 2fe7 B0020000 .4byte .LFE196 17447 2feb 95630000 .4byte .LLST398 17448 2fef 01 .byte 0x1 17449 2ff0 C5320000 .4byte 0x32c5 17450 2ff4 07 .uleb128 0x7 17451 2ff5 C4190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6596 17452 2ff9 BF630000 .4byte .LLST399 17453 2ffd B5630000 .4byte .LVUS399 17454 3001 07 .uleb128 0x7 17455 3002 D1190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6609 17456 3006 18640000 .4byte .LLST400 17457 300a 10640000 .4byte .LVUS400 17458 300e 07 .uleb128 0x7 17459 300f DE190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6622 17460 3013 6A640000 .4byte .LLST401 17461 3017 5E640000 .4byte .LVUS401 17462 301b 05 .uleb128 0x5 17463 301c EB190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6635 17464 3020 C8640000 .4byte .LLST402 17465 3024 C6640000 .4byte .LVUS402 17466 3028 05 .uleb128 0x5 17467 3029 F8190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6648 17468 302d E1640000 .4byte .LLST403 17469 3031 DB640000 .4byte .LVUS403 ARM GAS /tmp/ccjvgGVC.s page 781 17470 3035 05 .uleb128 0x5 17471 3036 031A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6659 17472 303a 34650000 .4byte .LLST404 17473 303e 32650000 .4byte .LVUS404 17474 3042 17 .uleb128 0x17 17475 3043 C91A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6857 17476 3047 00000000 .4byte .LBI831 17477 304b 0200 .2byte .LVU2694 17478 304d 28080000 .4byte .Ldebug_ranges0+0x828 17479 3051 03 .byte 0x3 17480 3052 DA01 .2byte 0x1da 17481 3054 1C .byte 0x1c 17482 3055 67300000 .4byte 0x3067 17483 3059 07 .uleb128 0x7 17484 305a D91A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6873 17485 305e 4F650000 .4byte .LLST405 17486 3062 49650000 .4byte .LVUS405 17487 3066 00 .byte 0 17488 3067 17 .uleb128 0x17 17489 3068 361A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6710 17490 306c 52000000 .4byte .LBI843 17491 3070 0100 .2byte .LVU2738 17492 3072 60080000 .4byte .Ldebug_ranges0+0x860 17493 3076 03 .byte 0x3 17494 3077 FD01 .2byte 0x1fd 17495 3079 14 .byte 0x14 17496 307a 42310000 .4byte 0x3142 17497 307e 07 .uleb128 0x7 17498 307f 471A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6727 17499 3083 7A650000 .4byte .LLST406 17500 3087 78650000 .4byte .LVUS406 17501 308b 18 .uleb128 0x18 17502 308c 58000000 .4byte .LVL616 17503 3090 C5320000 .4byte 0x32c5 17504 3094 9F300000 .4byte 0x309f 17505 3098 0E .uleb128 0xe 17506 3099 01 .byte 0x1 17507 309a 50 .byte 0x50 17508 309b 02 .byte 0x2 17509 309c 77 .byte 0x77 17510 309d 00 .sleb128 0 17511 309e 00 .byte 0 17512 309f 18 .uleb128 0x18 17513 30a0 62000000 .4byte .LVL617 17514 30a4 CA320000 .4byte 0x32ca 17515 30a8 BD300000 .4byte 0x30bd 17516 30ac 0E .uleb128 0xe 17517 30ad 01 .byte 0x1 17518 30ae 50 .byte 0x50 17519 30af 02 .byte 0x2 17520 30b0 77 .byte 0x77 17521 30b1 00 .sleb128 0 17522 30b2 0E .uleb128 0xe 17523 30b3 01 .byte 0x1 17524 30b4 51 .byte 0x51 17525 30b5 01 .byte 0x1 17526 30b6 45 .byte 0x45 ARM GAS /tmp/ccjvgGVC.s page 782 17527 30b7 0E .uleb128 0xe 17528 30b8 01 .byte 0x1 17529 30b9 52 .byte 0x52 17530 30ba 01 .byte 0x1 17531 30bb 31 .byte 0x31 17532 30bc 00 .byte 0 17533 30bd 18 .uleb128 0x18 17534 30be 6E000000 .4byte .LVL618 17535 30c2 CF320000 .4byte 0x32cf 17536 30c6 D7300000 .4byte 0x30d7 17537 30ca 0E .uleb128 0xe 17538 30cb 01 .byte 0x1 17539 30cc 50 .byte 0x50 17540 30cd 02 .byte 0x2 17541 30ce 77 .byte 0x77 17542 30cf 00 .sleb128 0 17543 30d0 0E .uleb128 0xe 17544 30d1 01 .byte 0x1 17545 30d2 51 .byte 0x51 17546 30d3 02 .byte 0x2 17547 30d4 78 .byte 0x78 17548 30d5 00 .sleb128 0 17549 30d6 00 .byte 0 17550 30d7 18 .uleb128 0x18 17551 30d8 76000000 .4byte .LVL619 17552 30dc C5320000 .4byte 0x32c5 17553 30e0 EB300000 .4byte 0x30eb 17554 30e4 0E .uleb128 0xe 17555 30e5 01 .byte 0x1 17556 30e6 50 .byte 0x50 17557 30e7 02 .byte 0x2 17558 30e8 77 .byte 0x77 17559 30e9 00 .sleb128 0 17560 30ea 00 .byte 0 17561 30eb 18 .uleb128 0x18 17562 30ec 80000000 .4byte .LVL620 17563 30f0 CA320000 .4byte 0x32ca 17564 30f4 09310000 .4byte 0x3109 17565 30f8 0E .uleb128 0xe 17566 30f9 01 .byte 0x1 17567 30fa 50 .byte 0x50 17568 30fb 02 .byte 0x2 17569 30fc 77 .byte 0x77 17570 30fd 00 .sleb128 0 17571 30fe 0E .uleb128 0xe 17572 30ff 01 .byte 0x1 17573 3100 51 .byte 0x51 17574 3101 01 .byte 0x1 17575 3102 45 .byte 0x45 17576 3103 0E .uleb128 0xe 17577 3104 01 .byte 0x1 17578 3105 52 .byte 0x52 17579 3106 01 .byte 0x1 17580 3107 31 .byte 0x31 17581 3108 00 .byte 0 17582 3109 18 .uleb128 0x18 17583 310a 88000000 .4byte .LVL621 ARM GAS /tmp/ccjvgGVC.s page 783 17584 310e CF320000 .4byte 0x32cf 17585 3112 23310000 .4byte 0x3123 17586 3116 0E .uleb128 0xe 17587 3117 01 .byte 0x1 17588 3118 50 .byte 0x50 17589 3119 02 .byte 0x2 17590 311a 77 .byte 0x77 17591 311b 00 .sleb128 0 17592 311c 0E .uleb128 0xe 17593 311d 01 .byte 0x1 17594 311e 51 .byte 0x51 17595 311f 02 .byte 0x2 17596 3120 78 .byte 0x78 17597 3121 00 .sleb128 0 17598 3122 00 .byte 0 17599 3123 1A .uleb128 0x1a 17600 3124 90000000 .4byte .LVL622 17601 3128 32310000 .4byte 0x3132 17602 312c 0E .uleb128 0xe 17603 312d 01 .byte 0x1 17604 312e 50 .byte 0x50 17605 312f 01 .byte 0x1 17606 3130 31 .byte 0x31 17607 3131 00 .byte 0 17608 3132 0D .uleb128 0xd 17609 3133 96000000 .4byte .LVL623 17610 3137 011F0000 .4byte 0x1f01 17611 313b 0E .uleb128 0xe 17612 313c 01 .byte 0x1 17613 313d 50 .byte 0x50 17614 313e 01 .byte 0x1 17615 313f 44 .byte 0x44 17616 3140 00 .byte 0 17617 3141 00 .byte 0 17618 3142 17 .uleb128 0x17 17619 3143 741A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6772 17620 3147 98000000 .4byte .LBI847 17621 314b 0000 .2byte .LVU2753 17622 314d 78080000 .4byte .Ldebug_ranges0+0x878 17623 3151 03 .byte 0x3 17624 3152 0202 .2byte 0x202 17625 3154 17 .byte 0x17 17626 3155 70310000 .4byte 0x3170 17627 3159 07 .uleb128 0x7 17628 315a 851A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6789 17629 315e 93650000 .4byte .LLST407 17630 3162 8D650000 .4byte .LVUS407 17631 3166 0F .uleb128 0xf 17632 3167 A6000000 .4byte .LVL625 17633 316b D4320000 .4byte 0x32d4 17634 316f 00 .byte 0 17635 3170 17 .uleb128 0x17 17636 3171 AB1E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7851 17637 3175 A6000000 .4byte .LBI850 17638 3179 0200 .2byte .LVU2760 17639 317b 90080000 .4byte .Ldebug_ranges0+0x890 17640 317f 03 .byte 0x3 ARM GAS /tmp/ccjvgGVC.s page 784 17641 3180 0702 .2byte 0x207 17642 3182 13 .byte 0x13 17643 3183 E0310000 .4byte 0x31e0 17644 3187 07 .uleb128 0x7 17645 3188 BA1E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7866 17646 318c C4650000 .4byte .LLST408 17647 3190 BC650000 .4byte .LVUS408 17648 3194 0A .uleb128 0xa 17649 3195 90080000 .4byte .Ldebug_ranges0+0x890 17650 3199 05 .uleb128 0x5 17651 319a C71E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7879 17652 319e 35660000 .4byte .LLST409 17653 31a2 2B660000 .4byte .LVUS409 17654 31a6 05 .uleb128 0x5 17655 31a7 D41E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7892 17656 31ab B6660000 .4byte .LLST410 17657 31af AC660000 .4byte .LVUS410 17658 31b3 14 .uleb128 0x14 17659 31b4 CD070000 .4byte stm32f4xx_hal_rcc.c.a76d2c75+1997 17660 31b8 E0000000 .4byte .LBI852 17661 31bc 0100 .2byte .LVU2791 17662 31be B0080000 .4byte .Ldebug_ranges0+0x8b0 17663 31c2 09 .byte 0x9 17664 31c3 F201 .2byte 0x1f2 17665 31c5 0B .byte 0xb 17666 31c6 35 .uleb128 0x35 17667 31c7 DC070000 .4byte stm32f4xx_hal_rcc.c.a76d2c75+2012 17668 31cb E0000000 .4byte .LBI854 17669 31cf 0300 .2byte .LVU2793 17670 31d1 E0000000 .4byte .LBB854 17671 31d5 E0000000 .4byte .LBE854 17672 31d9 17 .byte 0x17 17673 31da BD03 .2byte 0x3bd 17674 31dc 0B .byte 0xb 17675 31dd 00 .byte 0 17676 31de 00 .byte 0 17677 31df 00 .byte 0 17678 31e0 15 .uleb128 0x15 17679 31e1 EA060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1770 17680 31e5 D8010000 .4byte .LBI862 17681 31e9 0300 .2byte .LVU2855 17682 31eb D8010000 .4byte .LBB862 17683 31ef 0A020000 .4byte .LBE862 17684 31f3 03 .byte 0x3 17685 31f4 0F02 .2byte 0x20f 17686 31f6 23 .byte 0x23 17687 31f7 47320000 .4byte 0x3247 17688 31fb 07 .uleb128 0x7 17689 31fc 04070000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1796 17690 3200 FD660000 .4byte .LLST411 17691 3204 FB660000 .4byte .LVUS411 17692 3208 07 .uleb128 0x7 17693 3209 F8060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1784 17694 320d 13670000 .4byte .LLST412 17695 3211 11670000 .4byte .LVUS412 17696 3215 36 .uleb128 0x36 17697 3216 EA060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1770 ARM GAS /tmp/ccjvgGVC.s page 785 17698 321a E4010000 .4byte .LBI864 17699 321e 0000 .2byte .LVU2860 17700 3220 E4010000 .4byte .LBB864 17701 3224 0A020000 .4byte .LBE864 17702 3228 18 .byte 0x18 17703 3229 59 .byte 0x59 17704 322a 13 .byte 0x13 17705 322b 07 .uleb128 0x7 17706 322c 04070000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1796 17707 3230 3A670000 .4byte .LLST413 17708 3234 38670000 .4byte .LVUS413 17709 3238 07 .uleb128 0x7 17710 3239 F8060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1784 17711 323d 50670000 .4byte .LLST414 17712 3241 4E670000 .4byte .LVUS414 17713 3245 00 .byte 0 17714 3246 00 .byte 0 17715 3247 16 .uleb128 0x16 17716 3248 AD060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1709 17717 324c 0A020000 .4byte .LBI866 17718 3250 0200 .2byte .LVU2871 17719 3252 0A020000 .4byte .LBB866 17720 3256 38020000 .4byte .LBE866 17721 325a 03 .byte 0x3 17722 325b 1502 .2byte 0x215 17723 325d 24 .byte 0x24 17724 325e 07 .uleb128 0x7 17725 325f CB060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1739 17726 3263 77670000 .4byte .LLST415 17727 3267 75670000 .4byte .LVUS415 17728 326b 07 .uleb128 0x7 17729 326c BF060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1727 17730 3270 8D670000 .4byte .LLST416 17731 3274 8B670000 .4byte .LVUS416 17732 3278 05 .uleb128 0x5 17733 3279 D7060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1751 17734 327d B4670000 .4byte .LLST417 17735 3281 B2670000 .4byte .LVUS417 17736 3285 36 .uleb128 0x36 17737 3286 AD060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1709 17738 328a 16020000 .4byte .LBI868 17739 328e 0000 .2byte .LVU2876 17740 3290 16020000 .4byte .LBB868 17741 3294 38020000 .4byte .LBE868 17742 3298 18 .byte 0x18 17743 3299 7F .byte 0x7f 17744 329a 13 .byte 0x13 17745 329b 07 .uleb128 0x7 17746 329c CB060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1739 17747 32a0 CA670000 .4byte .LLST418 17748 32a4 C8670000 .4byte .LVUS418 17749 32a8 07 .uleb128 0x7 17750 32a9 BF060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1727 17751 32ad E0670000 .4byte .LLST419 17752 32b1 DE670000 .4byte .LVUS419 17753 32b5 05 .uleb128 0x5 17754 32b6 D7060000 .4byte stm32f4xx_hal_i2c_ex.c.fed97abf+1751 ARM GAS /tmp/ccjvgGVC.s page 786 17755 32ba 07680000 .4byte .LLST420 17756 32be 05680000 .4byte .LVUS420 17757 32c2 00 .byte 0 17758 32c3 00 .byte 0 17759 32c4 00 .byte 0 17760 32c5 10 .uleb128 0x10 17761 32c6 6F060000 .4byte stm32_gpio.cpp.de966cb2+1647 17762 32ca 10 .uleb128 0x10 17763 32cb 18080000 .4byte stm32_gpio.cpp.de966cb2+2072 17764 32cf 10 .uleb128 0x10 17765 32d0 07070000 .4byte stm32_gpio.cpp.de966cb2+1799 17766 32d4 10 .uleb128 0x10 17767 32d5 961B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7062 17768 32d9 06 .uleb128 0x6 17769 32da 6C190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6508 17770 32de 00000000 .4byte .LFB210 17771 32e2 A8000000 .4byte .LFE210 17772 32e6 1F680000 .4byte .LLST421 17773 32ea 01 .byte 0x1 17774 32eb 4E340000 .4byte 0x344e 17775 32ef 07 .uleb128 0x7 17776 32f0 82190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6530 17777 32f4 47680000 .4byte .LLST422 17778 32f8 3F680000 .4byte .LVUS422 17779 32fc 05 .uleb128 0x5 17780 32fd 8F190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6543 17781 3301 7F680000 .4byte .LLST423 17782 3305 7B680000 .4byte .LVUS423 17783 3309 05 .uleb128 0x5 17784 330a 9A190000 .4byte stm32_i2c_driver.cpp.5a928bb9+6554 17785 330e AA680000 .4byte .LLST424 17786 3312 A8680000 .4byte .LVUS424 17787 3316 17 .uleb128 0x17 17788 3317 AC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6828 17789 331b 00000000 .4byte .LBI885 17790 331f 0200 .2byte .LVU2903 17791 3321 C8080000 .4byte .Ldebug_ranges0+0x8c8 17792 3325 03 .byte 0x3 17793 3326 2302 .2byte 0x223 17794 3328 28 .byte 0x28 17795 3329 3B330000 .4byte 0x333b 17796 332d 07 .uleb128 0x7 17797 332e BC1A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6844 17798 3332 CE680000 .4byte .LLST425 17799 3336 C8680000 .4byte .LVUS425 17800 333a 00 .byte 0 17801 333b 17 .uleb128 0x17 17802 333c 8A1E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7818 17803 3340 0E000000 .4byte .LBI891 17804 3344 0400 .2byte .LVU2915 17805 3346 E8080000 .4byte .Ldebug_ranges0+0x8e8 17806 334a 03 .byte 0x3 17807 334b 2602 .2byte 0x226 17808 334d 15 .byte 0x15 17809 334e 81330000 .4byte 0x3381 17810 3352 07 .uleb128 0x7 17811 3353 9D1E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7837 ARM GAS /tmp/ccjvgGVC.s page 787 17812 3357 04690000 .4byte .LLST426 17813 335b 00690000 .4byte .LVUS426 17814 335f 14 .uleb128 0x14 17815 3360 8A1E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7818 17816 3364 0E000000 .4byte .LBI892 17817 3368 0600 .2byte .LVU2917 17818 336a E8080000 .4byte .Ldebug_ranges0+0x8e8 17819 336e 09 .byte 0x9 17820 336f 2602 .2byte 0x226 17821 3371 13 .byte 0x13 17822 3372 07 .uleb128 0x7 17823 3373 9D1E0000 .4byte stm32f4xx_hal_i2c.c.5babf799+7837 17824 3377 31690000 .4byte .LLST427 17825 337b 2D690000 .4byte .LVUS427 17826 337f 00 .byte 0 17827 3380 00 .byte 0 17828 3381 17 .uleb128 0x17 17829 3382 551A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6741 17830 3386 4A000000 .4byte .LBI906 17831 338a 0000 .2byte .LVU2951 17832 338c 18090000 .4byte .Ldebug_ranges0+0x918 17833 3390 03 .byte 0x3 17834 3391 2A02 .2byte 0x22a 17835 3393 18 .byte 0x18 17836 3394 AF330000 .4byte 0x33af 17837 3398 07 .uleb128 0x7 17838 3399 661A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6758 17839 339d 5E690000 .4byte .LLST428 17840 33a1 5A690000 .4byte .LVUS428 17841 33a5 0F .uleb128 0xf 17842 33a6 58000000 .4byte .LVL656 17843 33aa 4E340000 .4byte 0x344e 17844 33ae 00 .byte 0 17845 33af 15 .uleb128 0x15 17846 33b0 C91A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6857 17847 33b4 58000000 .4byte .LBI909 17848 33b8 0200 .2byte .LVU2958 17849 33ba 58000000 .4byte .LBB909 17850 33be 58000000 .4byte .LBE909 17851 33c2 03 .byte 0x3 17852 33c3 2F02 .2byte 0x22f 17853 33c5 1C .byte 0x1c 17854 33c6 D8330000 .4byte 0x33d8 17855 33ca 07 .uleb128 0x7 17856 33cb D91A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6873 17857 33cf 7E690000 .4byte .LLST429 17858 33d3 7C690000 .4byte .LVUS429 17859 33d7 00 .byte 0 17860 33d8 17 .uleb128 0x17 17861 33d9 171A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6679 17862 33dd 62000000 .4byte .LBI910 17863 33e1 0000 .2byte .LVU2967 17864 33e3 30090000 .4byte .Ldebug_ranges0+0x930 17865 33e7 03 .byte 0x3 17866 33e8 3202 .2byte 0x232 17867 33ea 12 .byte 0x12 17868 33eb 38340000 .4byte 0x3438 ARM GAS /tmp/ccjvgGVC.s page 788 17869 33ef 07 .uleb128 0x7 17870 33f0 281A0000 .4byte stm32_i2c_driver.cpp.5a928bb9+6696 17871 33f4 93690000 .4byte .LLST430 17872 33f8 91690000 .4byte .LVUS430 17873 33fc 18 .uleb128 0x18 17874 33fd 6A000000 .4byte .LVL658 17875 3401 CA320000 .4byte 0x32ca 17876 3405 14340000 .4byte 0x3414 17877 3409 0E .uleb128 0xe 17878 340a 01 .byte 0x1 17879 340b 51 .byte 0x51 17880 340c 01 .byte 0x1 17881 340d 30 .byte 0x30 17882 340e 0E .uleb128 0xe 17883 340f 01 .byte 0x1 17884 3410 52 .byte 0x52 17885 3411 01 .byte 0x1 17886 3412 30 .byte 0x30 17887 3413 00 .byte 0 17888 3414 18 .uleb128 0x18 17889 3415 74000000 .4byte .LVL659 17890 3419 CA320000 .4byte 0x32ca 17891 341d 2C340000 .4byte 0x342c 17892 3421 0E .uleb128 0xe 17893 3422 01 .byte 0x1 17894 3423 51 .byte 0x51 17895 3424 01 .byte 0x1 17896 3425 30 .byte 0x30 17897 3426 0E .uleb128 0xe 17898 3427 01 .byte 0x1 17899 3428 52 .byte 0x52 17900 3429 01 .byte 0x1 17901 342a 30 .byte 0x30 17902 342b 00 .byte 0 17903 342c 1D .uleb128 0x1d 17904 342d 7C000000 .4byte .LVL660 17905 3431 0E .uleb128 0xe 17906 3432 01 .byte 0x1 17907 3433 50 .byte 0x50 17908 3434 01 .byte 0x1 17909 3435 30 .byte 0x30 17910 3436 00 .byte 0 17911 3437 00 .byte 0 17912 3438 0D .uleb128 0xd 17913 3439 48000000 .4byte .LVL654 17914 343d 99340000 .4byte 0x3499 17915 3441 0E .uleb128 0xe 17916 3442 01 .byte 0x1 17917 3443 51 .byte 0x51 17918 3444 01 .byte 0x1 17919 3445 30 .byte 0x30 17920 3446 0E .uleb128 0xe 17921 3447 01 .byte 0x1 17922 3448 52 .byte 0x52 17923 3449 02 .byte 0x2 17924 344a 08 .byte 0x8 17925 344b 20 .byte 0x20 ARM GAS /tmp/ccjvgGVC.s page 789 17926 344c 00 .byte 0 17927 344d 00 .byte 0 17928 344e 10 .uleb128 0x10 17929 344f 7B1B0000 .4byte stm32_i2c_driver.cpp.5a928bb9+7035 17930 3453 19 .uleb128 0x19 17931 3454 0C070000 .4byte stm32f4xx_hal.c.655a4cc6+1804 17932 3458 05 .byte 0x5 17933 3459 03 .byte 0x3 17934 345a 00000000 .4byte uwTick 17935 345e 19 .uleb128 0x19 17936 345f F6140000 .4byte usbd_cdc.cpp.d80fdf96+5366 17937 3463 05 .byte 0x5 17938 3464 03 .byte 0x3 17939 3465 00000000 .4byte _ZL15usbSerialDriver 17940 3469 19 .uleb128 0x19 17941 346a 03150000 .4byte usbd_cdc.cpp.d80fdf96+5379 17942 346e 05 .byte 0x5 17943 346f 03 .byte 0x3 17944 3470 00000000 .4byte UsbSerialPort 17945 3474 19 .uleb128 0x19 17946 3475 64140000 .4byte stm32_i2c_driver.cpp.5a928bb9+5220 17947 3479 05 .byte 0x5 17948 347a 03 .byte 0x3 17949 347b 00000000 .4byte _ZL9_i2c_devs 17950 347f 37 .uleb128 0x37 17951 3480 01 .byte 0x1 17952 3481 01 .byte 0x1 17953 3482 B5030000 .4byte .LASF30 17954 3486 A4030000 .4byte .LASF32 17955 348a 19 .byte 0x19 17956 348b 00 .byte 0 17957 348c 37 .uleb128 0x37 17958 348d 01 .byte 0x1 17959 348e 01 .byte 0x1 17960 348f 00000000 .4byte .LASF31 17961 3493 CF030000 .4byte .LASF33 17962 3497 19 .byte 0x19 17963 3498 00 .byte 0 17964 3499 37 .uleb128 0x37 17965 349a 01 .byte 0x1 17966 349b 01 .byte 0x1 17967 349c 34040000 .4byte .LASF34 17968 34a0 3D000000 .4byte .LASF35 17969 34a4 19 .byte 0x19 17970 34a5 00 .byte 0 17971 34a6 00 .byte 0 17972 .section .debug_abbrev,"",%progbits 17973 .Ldebug_abbrev0: 17974 0000 01 .uleb128 0x1 17975 0001 11 .uleb128 0x11 17976 0002 01 .byte 0x1 17977 0003 25 .uleb128 0x25 17978 0004 0E .uleb128 0xe 17979 0005 13 .uleb128 0x13 17980 0006 0B .uleb128 0xb 17981 0007 03 .uleb128 0x3 17982 0008 0E .uleb128 0xe ARM GAS /tmp/ccjvgGVC.s page 790 17983 0009 1B .uleb128 0x1b 17984 000a 0E .uleb128 0xe 17985 000b 55 .uleb128 0x55 17986 000c 06 .uleb128 0x6 17987 000d 11 .uleb128 0x11 17988 000e 01 .uleb128 0x1 17989 000f 52 .uleb128 0x52 17990 0010 01 .uleb128 0x1 17991 0011 10 .uleb128 0x10 17992 0012 06 .uleb128 0x6 17993 0013 00 .byte 0 17994 0014 00 .byte 0 17995 0015 02 .uleb128 0x2 17996 0016 24 .uleb128 0x24 17997 0017 00 .byte 0 17998 0018 0B .uleb128 0xb 17999 0019 0B .uleb128 0xb 18000 001a 3E .uleb128 0x3e 18001 001b 0B .uleb128 0xb 18002 001c 03 .uleb128 0x3 18003 001d 0E .uleb128 0xe 18004 001e 00 .byte 0 18005 001f 00 .byte 0 18006 0020 03 .uleb128 0x3 18007 0021 2E .uleb128 0x2e 18008 0022 01 .byte 0x1 18009 0023 31 .uleb128 0x31 18010 0024 10 .uleb128 0x10 18011 0025 11 .uleb128 0x11 18012 0026 01 .uleb128 0x1 18013 0027 12 .uleb128 0x12 18014 0028 01 .uleb128 0x1 18015 0029 40 .uleb128 0x40 18016 002a 0A .uleb128 0xa 18017 002b 9742 .uleb128 0x2117 18018 002d 0C .uleb128 0xc 18019 002e 01 .uleb128 0x1 18020 002f 13 .uleb128 0x13 18021 0030 00 .byte 0 18022 0031 00 .byte 0 18023 0032 04 .uleb128 0x4 18024 0033 05 .uleb128 0x5 18025 0034 00 .byte 0 18026 0035 31 .uleb128 0x31 18027 0036 10 .uleb128 0x10 18028 0037 02 .uleb128 0x2 18029 0038 0A .uleb128 0xa 18030 0039 00 .byte 0 18031 003a 00 .byte 0 18032 003b 05 .uleb128 0x5 18033 003c 34 .uleb128 0x34 18034 003d 00 .byte 0 18035 003e 31 .uleb128 0x31 18036 003f 10 .uleb128 0x10 18037 0040 02 .uleb128 0x2 18038 0041 06 .uleb128 0x6 18039 0042 B742 .uleb128 0x2137 ARM GAS /tmp/ccjvgGVC.s page 791 18040 0044 06 .uleb128 0x6 18041 0045 00 .byte 0 18042 0046 00 .byte 0 18043 0047 06 .uleb128 0x6 18044 0048 2E .uleb128 0x2e 18045 0049 01 .byte 0x1 18046 004a 31 .uleb128 0x31 18047 004b 10 .uleb128 0x10 18048 004c 11 .uleb128 0x11 18049 004d 01 .uleb128 0x1 18050 004e 12 .uleb128 0x12 18051 004f 01 .uleb128 0x1 18052 0050 40 .uleb128 0x40 18053 0051 06 .uleb128 0x6 18054 0052 9742 .uleb128 0x2117 18055 0054 0C .uleb128 0xc 18056 0055 01 .uleb128 0x1 18057 0056 13 .uleb128 0x13 18058 0057 00 .byte 0 18059 0058 00 .byte 0 18060 0059 07 .uleb128 0x7 18061 005a 05 .uleb128 0x5 18062 005b 00 .byte 0 18063 005c 31 .uleb128 0x31 18064 005d 10 .uleb128 0x10 18065 005e 02 .uleb128 0x2 18066 005f 06 .uleb128 0x6 18067 0060 B742 .uleb128 0x2137 18068 0062 06 .uleb128 0x6 18069 0063 00 .byte 0 18070 0064 00 .byte 0 18071 0065 08 .uleb128 0x8 18072 0066 1D .uleb128 0x1d 18073 0067 01 .byte 0x1 18074 0068 31 .uleb128 0x31 18075 0069 10 .uleb128 0x10 18076 006a 55 .uleb128 0x55 18077 006b 06 .uleb128 0x6 18078 006c 58 .uleb128 0x58 18079 006d 0B .uleb128 0xb 18080 006e 59 .uleb128 0x59 18081 006f 05 .uleb128 0x5 18082 0070 57 .uleb128 0x57 18083 0071 0B .uleb128 0xb 18084 0072 00 .byte 0 18085 0073 00 .byte 0 18086 0074 09 .uleb128 0x9 18087 0075 05 .uleb128 0x5 18088 0076 00 .byte 0 18089 0077 31 .uleb128 0x31 18090 0078 10 .uleb128 0x10 18091 0079 00 .byte 0 18092 007a 00 .byte 0 18093 007b 0A .uleb128 0xa 18094 007c 0B .uleb128 0xb 18095 007d 01 .byte 0x1 18096 007e 55 .uleb128 0x55 ARM GAS /tmp/ccjvgGVC.s page 792 18097 007f 06 .uleb128 0x6 18098 0080 00 .byte 0 18099 0081 00 .byte 0 18100 0082 0B .uleb128 0xb 18101 0083 34 .uleb128 0x34 18102 0084 00 .byte 0 18103 0085 31 .uleb128 0x31 18104 0086 10 .uleb128 0x10 18105 0087 00 .byte 0 18106 0088 00 .byte 0 18107 0089 0C .uleb128 0xc 18108 008a 1D .uleb128 0x1d 18109 008b 01 .byte 0x1 18110 008c 31 .uleb128 0x31 18111 008d 10 .uleb128 0x10 18112 008e 52 .uleb128 0x52 18113 008f 01 .uleb128 0x1 18114 0090 B842 .uleb128 0x2138 18115 0092 05 .uleb128 0x5 18116 0093 11 .uleb128 0x11 18117 0094 01 .uleb128 0x1 18118 0095 12 .uleb128 0x12 18119 0096 01 .uleb128 0x1 18120 0097 58 .uleb128 0x58 18121 0098 0B .uleb128 0xb 18122 0099 59 .uleb128 0x59 18123 009a 0B .uleb128 0xb 18124 009b 57 .uleb128 0x57 18125 009c 0B .uleb128 0xb 18126 009d 01 .uleb128 0x1 18127 009e 13 .uleb128 0x13 18128 009f 00 .byte 0 18129 00a0 00 .byte 0 18130 00a1 0D .uleb128 0xd 18131 00a2 898201 .uleb128 0x4109 18132 00a5 01 .byte 0x1 18133 00a6 11 .uleb128 0x11 18134 00a7 01 .uleb128 0x1 18135 00a8 31 .uleb128 0x31 18136 00a9 13 .uleb128 0x13 18137 00aa 00 .byte 0 18138 00ab 00 .byte 0 18139 00ac 0E .uleb128 0xe 18140 00ad 8A8201 .uleb128 0x410a 18141 00b0 00 .byte 0 18142 00b1 02 .uleb128 0x2 18143 00b2 0A .uleb128 0xa 18144 00b3 9142 .uleb128 0x2111 18145 00b5 0A .uleb128 0xa 18146 00b6 00 .byte 0 18147 00b7 00 .byte 0 18148 00b8 0F .uleb128 0xf 18149 00b9 898201 .uleb128 0x4109 18150 00bc 00 .byte 0 18151 00bd 11 .uleb128 0x11 18152 00be 01 .uleb128 0x1 18153 00bf 31 .uleb128 0x31 ARM GAS /tmp/ccjvgGVC.s page 793 18154 00c0 13 .uleb128 0x13 18155 00c1 00 .byte 0 18156 00c2 00 .byte 0 18157 00c3 10 .uleb128 0x10 18158 00c4 2E .uleb128 0x2e 18159 00c5 00 .byte 0 18160 00c6 31 .uleb128 0x31 18161 00c7 10 .uleb128 0x10 18162 00c8 00 .byte 0 18163 00c9 00 .byte 0 18164 00ca 11 .uleb128 0x11 18165 00cb 1D .uleb128 0x1d 18166 00cc 01 .byte 0x1 18167 00cd 31 .uleb128 0x31 18168 00ce 10 .uleb128 0x10 18169 00cf 11 .uleb128 0x11 18170 00d0 01 .uleb128 0x1 18171 00d1 12 .uleb128 0x12 18172 00d2 01 .uleb128 0x1 18173 00d3 58 .uleb128 0x58 18174 00d4 0B .uleb128 0xb 18175 00d5 59 .uleb128 0x59 18176 00d6 0B .uleb128 0xb 18177 00d7 57 .uleb128 0x57 18178 00d8 0B .uleb128 0xb 18179 00d9 01 .uleb128 0x1 18180 00da 13 .uleb128 0x13 18181 00db 00 .byte 0 18182 00dc 00 .byte 0 18183 00dd 12 .uleb128 0x12 18184 00de 1D .uleb128 0x1d 18185 00df 01 .byte 0x1 18186 00e0 31 .uleb128 0x31 18187 00e1 10 .uleb128 0x10 18188 00e2 55 .uleb128 0x55 18189 00e3 06 .uleb128 0x6 18190 00e4 58 .uleb128 0x58 18191 00e5 0B .uleb128 0xb 18192 00e6 59 .uleb128 0x59 18193 00e7 0B .uleb128 0xb 18194 00e8 57 .uleb128 0x57 18195 00e9 0B .uleb128 0xb 18196 00ea 01 .uleb128 0x1 18197 00eb 13 .uleb128 0x13 18198 00ec 00 .byte 0 18199 00ed 00 .byte 0 18200 00ee 13 .uleb128 0x13 18201 00ef 898201 .uleb128 0x4109 18202 00f2 00 .byte 0 18203 00f3 11 .uleb128 0x11 18204 00f4 01 .uleb128 0x1 18205 00f5 9542 .uleb128 0x2115 18206 00f7 0C .uleb128 0xc 18207 00f8 31 .uleb128 0x31 18208 00f9 13 .uleb128 0x13 18209 00fa 00 .byte 0 18210 00fb 00 .byte 0 ARM GAS /tmp/ccjvgGVC.s page 794 18211 00fc 14 .uleb128 0x14 18212 00fd 1D .uleb128 0x1d 18213 00fe 01 .byte 0x1 18214 00ff 31 .uleb128 0x31 18215 0100 10 .uleb128 0x10 18216 0101 52 .uleb128 0x52 18217 0102 01 .uleb128 0x1 18218 0103 B842 .uleb128 0x2138 18219 0105 05 .uleb128 0x5 18220 0106 55 .uleb128 0x55 18221 0107 06 .uleb128 0x6 18222 0108 58 .uleb128 0x58 18223 0109 0B .uleb128 0xb 18224 010a 59 .uleb128 0x59 18225 010b 05 .uleb128 0x5 18226 010c 57 .uleb128 0x57 18227 010d 0B .uleb128 0xb 18228 010e 00 .byte 0 18229 010f 00 .byte 0 18230 0110 15 .uleb128 0x15 18231 0111 1D .uleb128 0x1d 18232 0112 01 .byte 0x1 18233 0113 31 .uleb128 0x31 18234 0114 10 .uleb128 0x10 18235 0115 52 .uleb128 0x52 18236 0116 01 .uleb128 0x1 18237 0117 B842 .uleb128 0x2138 18238 0119 05 .uleb128 0x5 18239 011a 11 .uleb128 0x11 18240 011b 01 .uleb128 0x1 18241 011c 12 .uleb128 0x12 18242 011d 01 .uleb128 0x1 18243 011e 58 .uleb128 0x58 18244 011f 0B .uleb128 0xb 18245 0120 59 .uleb128 0x59 18246 0121 05 .uleb128 0x5 18247 0122 57 .uleb128 0x57 18248 0123 0B .uleb128 0xb 18249 0124 01 .uleb128 0x1 18250 0125 13 .uleb128 0x13 18251 0126 00 .byte 0 18252 0127 00 .byte 0 18253 0128 16 .uleb128 0x16 18254 0129 1D .uleb128 0x1d 18255 012a 01 .byte 0x1 18256 012b 31 .uleb128 0x31 18257 012c 10 .uleb128 0x10 18258 012d 52 .uleb128 0x52 18259 012e 01 .uleb128 0x1 18260 012f B842 .uleb128 0x2138 18261 0131 05 .uleb128 0x5 18262 0132 11 .uleb128 0x11 18263 0133 01 .uleb128 0x1 18264 0134 12 .uleb128 0x12 18265 0135 01 .uleb128 0x1 18266 0136 58 .uleb128 0x58 18267 0137 0B .uleb128 0xb ARM GAS /tmp/ccjvgGVC.s page 795 18268 0138 59 .uleb128 0x59 18269 0139 05 .uleb128 0x5 18270 013a 57 .uleb128 0x57 18271 013b 0B .uleb128 0xb 18272 013c 00 .byte 0 18273 013d 00 .byte 0 18274 013e 17 .uleb128 0x17 18275 013f 1D .uleb128 0x1d 18276 0140 01 .byte 0x1 18277 0141 31 .uleb128 0x31 18278 0142 10 .uleb128 0x10 18279 0143 52 .uleb128 0x52 18280 0144 01 .uleb128 0x1 18281 0145 B842 .uleb128 0x2138 18282 0147 05 .uleb128 0x5 18283 0148 55 .uleb128 0x55 18284 0149 06 .uleb128 0x6 18285 014a 58 .uleb128 0x58 18286 014b 0B .uleb128 0xb 18287 014c 59 .uleb128 0x59 18288 014d 05 .uleb128 0x5 18289 014e 57 .uleb128 0x57 18290 014f 0B .uleb128 0xb 18291 0150 01 .uleb128 0x1 18292 0151 13 .uleb128 0x13 18293 0152 00 .byte 0 18294 0153 00 .byte 0 18295 0154 18 .uleb128 0x18 18296 0155 898201 .uleb128 0x4109 18297 0158 01 .byte 0x1 18298 0159 11 .uleb128 0x11 18299 015a 01 .uleb128 0x1 18300 015b 31 .uleb128 0x31 18301 015c 13 .uleb128 0x13 18302 015d 01 .uleb128 0x1 18303 015e 13 .uleb128 0x13 18304 015f 00 .byte 0 18305 0160 00 .byte 0 18306 0161 19 .uleb128 0x19 18307 0162 34 .uleb128 0x34 18308 0163 00 .byte 0 18309 0164 31 .uleb128 0x31 18310 0165 10 .uleb128 0x10 18311 0166 02 .uleb128 0x2 18312 0167 0A .uleb128 0xa 18313 0168 00 .byte 0 18314 0169 00 .byte 0 18315 016a 1A .uleb128 0x1a 18316 016b 898201 .uleb128 0x4109 18317 016e 01 .byte 0x1 18318 016f 11 .uleb128 0x11 18319 0170 01 .uleb128 0x1 18320 0171 01 .uleb128 0x1 18321 0172 13 .uleb128 0x13 18322 0173 00 .byte 0 18323 0174 00 .byte 0 18324 0175 1B .uleb128 0x1b ARM GAS /tmp/ccjvgGVC.s page 796 18325 0176 898201 .uleb128 0x4109 18326 0179 01 .byte 0x1 18327 017a 11 .uleb128 0x11 18328 017b 01 .uleb128 0x1 18329 017c 9542 .uleb128 0x2115 18330 017e 0C .uleb128 0xc 18331 017f 01 .uleb128 0x1 18332 0180 13 .uleb128 0x13 18333 0181 00 .byte 0 18334 0182 00 .byte 0 18335 0183 1C .uleb128 0x1c 18336 0184 8A8201 .uleb128 0x410a 18337 0187 00 .byte 0 18338 0188 02 .uleb128 0x2 18339 0189 0A .uleb128 0xa 18340 018a 00 .byte 0 18341 018b 00 .byte 0 18342 018c 1D .uleb128 0x1d 18343 018d 898201 .uleb128 0x4109 18344 0190 01 .byte 0x1 18345 0191 11 .uleb128 0x11 18346 0192 01 .uleb128 0x1 18347 0193 00 .byte 0 18348 0194 00 .byte 0 18349 0195 1E .uleb128 0x1e 18350 0196 1D .uleb128 0x1d 18351 0197 01 .byte 0x1 18352 0198 31 .uleb128 0x31 18353 0199 10 .uleb128 0x10 18354 019a 11 .uleb128 0x11 18355 019b 01 .uleb128 0x1 18356 019c 12 .uleb128 0x12 18357 019d 01 .uleb128 0x1 18358 019e 58 .uleb128 0x58 18359 019f 0B .uleb128 0xb 18360 01a0 59 .uleb128 0x59 18361 01a1 05 .uleb128 0x5 18362 01a2 57 .uleb128 0x57 18363 01a3 0B .uleb128 0xb 18364 01a4 00 .byte 0 18365 01a5 00 .byte 0 18366 01a6 1F .uleb128 0x1f 18367 01a7 1D .uleb128 0x1d 18368 01a8 01 .byte 0x1 18369 01a9 31 .uleb128 0x31 18370 01aa 10 .uleb128 0x10 18371 01ab 11 .uleb128 0x11 18372 01ac 01 .uleb128 0x1 18373 01ad 12 .uleb128 0x12 18374 01ae 01 .uleb128 0x1 18375 01af 58 .uleb128 0x58 18376 01b0 0B .uleb128 0xb 18377 01b1 59 .uleb128 0x59 18378 01b2 0B .uleb128 0xb 18379 01b3 57 .uleb128 0x57 18380 01b4 0B .uleb128 0xb 18381 01b5 00 .byte 0 ARM GAS /tmp/ccjvgGVC.s page 797 18382 01b6 00 .byte 0 18383 01b7 20 .uleb128 0x20 18384 01b8 1D .uleb128 0x1d 18385 01b9 00 .byte 0 18386 01ba 31 .uleb128 0x31 18387 01bb 10 .uleb128 0x10 18388 01bc 52 .uleb128 0x52 18389 01bd 01 .uleb128 0x1 18390 01be B842 .uleb128 0x2138 18391 01c0 05 .uleb128 0x5 18392 01c1 55 .uleb128 0x55 18393 01c2 06 .uleb128 0x6 18394 01c3 58 .uleb128 0x58 18395 01c4 0B .uleb128 0xb 18396 01c5 59 .uleb128 0x59 18397 01c6 0B .uleb128 0xb 18398 01c7 57 .uleb128 0x57 18399 01c8 0B .uleb128 0xb 18400 01c9 00 .byte 0 18401 01ca 00 .byte 0 18402 01cb 21 .uleb128 0x21 18403 01cc 0B .uleb128 0xb 18404 01cd 01 .byte 0x1 18405 01ce 31 .uleb128 0x31 18406 01cf 10 .uleb128 0x10 18407 01d0 11 .uleb128 0x11 18408 01d1 01 .uleb128 0x1 18409 01d2 12 .uleb128 0x12 18410 01d3 01 .uleb128 0x1 18411 01d4 01 .uleb128 0x1 18412 01d5 13 .uleb128 0x13 18413 01d6 00 .byte 0 18414 01d7 00 .byte 0 18415 01d8 22 .uleb128 0x22 18416 01d9 0B .uleb128 0xb 18417 01da 01 .byte 0x1 18418 01db 31 .uleb128 0x31 18419 01dc 10 .uleb128 0x10 18420 01dd 55 .uleb128 0x55 18421 01de 06 .uleb128 0x6 18422 01df 01 .uleb128 0x1 18423 01e0 13 .uleb128 0x13 18424 01e1 00 .byte 0 18425 01e2 00 .byte 0 18426 01e3 23 .uleb128 0x23 18427 01e4 1D .uleb128 0x1d 18428 01e5 00 .byte 0 18429 01e6 31 .uleb128 0x31 18430 01e7 10 .uleb128 0x10 18431 01e8 52 .uleb128 0x52 18432 01e9 01 .uleb128 0x1 18433 01ea B842 .uleb128 0x2138 18434 01ec 05 .uleb128 0x5 18435 01ed 11 .uleb128 0x11 18436 01ee 01 .uleb128 0x1 18437 01ef 12 .uleb128 0x12 18438 01f0 01 .uleb128 0x1 ARM GAS /tmp/ccjvgGVC.s page 798 18439 01f1 58 .uleb128 0x58 18440 01f2 0B .uleb128 0xb 18441 01f3 59 .uleb128 0x59 18442 01f4 0B .uleb128 0xb 18443 01f5 57 .uleb128 0x57 18444 01f6 0B .uleb128 0xb 18445 01f7 00 .byte 0 18446 01f8 00 .byte 0 18447 01f9 24 .uleb128 0x24 18448 01fa 2E .uleb128 0x2e 18449 01fb 01 .byte 0x1 18450 01fc 31 .uleb128 0x31 18451 01fd 10 .uleb128 0x10 18452 01fe 8740 .uleb128 0x2007 18453 0200 0E .uleb128 0xe 18454 0201 11 .uleb128 0x11 18455 0202 01 .uleb128 0x1 18456 0203 12 .uleb128 0x12 18457 0204 01 .uleb128 0x1 18458 0205 40 .uleb128 0x40 18459 0206 06 .uleb128 0x6 18460 0207 9742 .uleb128 0x2117 18461 0209 0C .uleb128 0xc 18462 020a 01 .uleb128 0x1 18463 020b 13 .uleb128 0x13 18464 020c 00 .byte 0 18465 020d 00 .byte 0 18466 020e 25 .uleb128 0x25 18467 020f 05 .uleb128 0x5 18468 0210 00 .byte 0 18469 0211 31 .uleb128 0x31 18470 0212 10 .uleb128 0x10 18471 0213 1C .uleb128 0x1c 18472 0214 05 .uleb128 0x5 18473 0215 00 .byte 0 18474 0216 00 .byte 0 18475 0217 26 .uleb128 0x26 18476 0218 1D .uleb128 0x1d 18477 0219 01 .byte 0x1 18478 021a 31 .uleb128 0x31 18479 021b 10 .uleb128 0x10 18480 021c 11 .uleb128 0x11 18481 021d 01 .uleb128 0x1 18482 021e 12 .uleb128 0x12 18483 021f 01 .uleb128 0x1 18484 0220 58 .uleb128 0x58 18485 0221 0B .uleb128 0xb 18486 0222 59 .uleb128 0x59 18487 0223 05 .uleb128 0x5 18488 0224 57 .uleb128 0x57 18489 0225 0B .uleb128 0xb 18490 0226 01 .uleb128 0x1 18491 0227 13 .uleb128 0x13 18492 0228 00 .byte 0 18493 0229 00 .byte 0 18494 022a 27 .uleb128 0x27 18495 022b 1D .uleb128 0x1d ARM GAS /tmp/ccjvgGVC.s page 799 18496 022c 00 .byte 0 18497 022d 31 .uleb128 0x31 18498 022e 10 .uleb128 0x10 18499 022f 11 .uleb128 0x11 18500 0230 01 .uleb128 0x1 18501 0231 12 .uleb128 0x12 18502 0232 01 .uleb128 0x1 18503 0233 58 .uleb128 0x58 18504 0234 0B .uleb128 0xb 18505 0235 59 .uleb128 0x59 18506 0236 0B .uleb128 0xb 18507 0237 57 .uleb128 0x57 18508 0238 0B .uleb128 0xb 18509 0239 00 .byte 0 18510 023a 00 .byte 0 18511 023b 28 .uleb128 0x28 18512 023c 0B .uleb128 0xb 18513 023d 01 .byte 0x1 18514 023e 31 .uleb128 0x31 18515 023f 10 .uleb128 0x10 18516 0240 55 .uleb128 0x55 18517 0241 06 .uleb128 0x6 18518 0242 00 .byte 0 18519 0243 00 .byte 0 18520 0244 29 .uleb128 0x29 18521 0245 8A8201 .uleb128 0x410a 18522 0248 00 .byte 0 18523 0249 31 .uleb128 0x31 18524 024a 13 .uleb128 0x13 18525 024b 9142 .uleb128 0x2111 18526 024d 0A .uleb128 0xa 18527 024e 00 .byte 0 18528 024f 00 .byte 0 18529 0250 2A .uleb128 0x2a 18530 0251 2E .uleb128 0x2e 18531 0252 01 .byte 0x1 18532 0253 31 .uleb128 0x31 18533 0254 10 .uleb128 0x10 18534 0255 01 .uleb128 0x1 18535 0256 13 .uleb128 0x13 18536 0257 00 .byte 0 18537 0258 00 .byte 0 18538 0259 2B .uleb128 0x2b 18539 025a 34 .uleb128 0x34 18540 025b 00 .byte 0 18541 025c 31 .uleb128 0x31 18542 025d 10 .uleb128 0x10 18543 025e 1C .uleb128 0x1c 18544 025f 0B .uleb128 0xb 18545 0260 00 .byte 0 18546 0261 00 .byte 0 18547 0262 2C .uleb128 0x2c 18548 0263 1D .uleb128 0x1d 18549 0264 01 .byte 0x1 18550 0265 31 .uleb128 0x31 18551 0266 10 .uleb128 0x10 18552 0267 55 .uleb128 0x55 ARM GAS /tmp/ccjvgGVC.s page 800 18553 0268 06 .uleb128 0x6 18554 0269 58 .uleb128 0x58 18555 026a 0B .uleb128 0xb 18556 026b 59 .uleb128 0x59 18557 026c 05 .uleb128 0x5 18558 026d 57 .uleb128 0x57 18559 026e 0B .uleb128 0xb 18560 026f 01 .uleb128 0x1 18561 0270 13 .uleb128 0x13 18562 0271 00 .byte 0 18563 0272 00 .byte 0 18564 0273 2D .uleb128 0x2d 18565 0274 1D .uleb128 0x1d 18566 0275 00 .byte 0 18567 0276 31 .uleb128 0x31 18568 0277 10 .uleb128 0x10 18569 0278 55 .uleb128 0x55 18570 0279 06 .uleb128 0x6 18571 027a 58 .uleb128 0x58 18572 027b 0B .uleb128 0xb 18573 027c 59 .uleb128 0x59 18574 027d 0B .uleb128 0xb 18575 027e 57 .uleb128 0x57 18576 027f 0B .uleb128 0xb 18577 0280 00 .byte 0 18578 0281 00 .byte 0 18579 0282 2E .uleb128 0x2e 18580 0283 1D .uleb128 0x1d 18581 0284 00 .byte 0 18582 0285 31 .uleb128 0x31 18583 0286 10 .uleb128 0x10 18584 0287 11 .uleb128 0x11 18585 0288 01 .uleb128 0x1 18586 0289 12 .uleb128 0x12 18587 028a 01 .uleb128 0x1 18588 028b 58 .uleb128 0x58 18589 028c 0B .uleb128 0xb 18590 028d 59 .uleb128 0x59 18591 028e 05 .uleb128 0x5 18592 028f 57 .uleb128 0x57 18593 0290 0B .uleb128 0xb 18594 0291 00 .byte 0 18595 0292 00 .byte 0 18596 0293 2F .uleb128 0x2f 18597 0294 2E .uleb128 0x2e 18598 0295 01 .byte 0x1 18599 0296 31 .uleb128 0x31 18600 0297 10 .uleb128 0x10 18601 0298 8740 .uleb128 0x2007 18602 029a 0E .uleb128 0xe 18603 029b 11 .uleb128 0x11 18604 029c 01 .uleb128 0x1 18605 029d 12 .uleb128 0x12 18606 029e 01 .uleb128 0x1 18607 029f 40 .uleb128 0x40 18608 02a0 0A .uleb128 0xa 18609 02a1 9742 .uleb128 0x2117 ARM GAS /tmp/ccjvgGVC.s page 801 18610 02a3 0C .uleb128 0xc 18611 02a4 01 .uleb128 0x1 18612 02a5 13 .uleb128 0x13 18613 02a6 00 .byte 0 18614 02a7 00 .byte 0 18615 02a8 30 .uleb128 0x30 18616 02a9 898201 .uleb128 0x4109 18617 02ac 01 .byte 0x1 18618 02ad 11 .uleb128 0x11 18619 02ae 01 .uleb128 0x1 18620 02af 9542 .uleb128 0x2115 18621 02b1 0C .uleb128 0xc 18622 02b2 31 .uleb128 0x31 18623 02b3 13 .uleb128 0x13 18624 02b4 01 .uleb128 0x1 18625 02b5 13 .uleb128 0x13 18626 02b6 00 .byte 0 18627 02b7 00 .byte 0 18628 02b8 31 .uleb128 0x31 18629 02b9 898201 .uleb128 0x4109 18630 02bc 01 .byte 0x1 18631 02bd 11 .uleb128 0x11 18632 02be 01 .uleb128 0x1 18633 02bf 9542 .uleb128 0x2115 18634 02c1 0C .uleb128 0xc 18635 02c2 31 .uleb128 0x31 18636 02c3 13 .uleb128 0x13 18637 02c4 00 .byte 0 18638 02c5 00 .byte 0 18639 02c6 32 .uleb128 0x32 18640 02c7 2E .uleb128 0x2e 18641 02c8 01 .byte 0x1 18642 02c9 31 .uleb128 0x31 18643 02ca 10 .uleb128 0x10 18644 02cb 8740 .uleb128 0x2007 18645 02cd 0E .uleb128 0xe 18646 02ce 11 .uleb128 0x11 18647 02cf 01 .uleb128 0x1 18648 02d0 12 .uleb128 0x12 18649 02d1 01 .uleb128 0x1 18650 02d2 40 .uleb128 0x40 18651 02d3 06 .uleb128 0x6 18652 02d4 01 .uleb128 0x1 18653 02d5 13 .uleb128 0x13 18654 02d6 00 .byte 0 18655 02d7 00 .byte 0 18656 02d8 33 .uleb128 0x33 18657 02d9 1D .uleb128 0x1d 18658 02da 01 .byte 0x1 18659 02db 31 .uleb128 0x31 18660 02dc 10 .uleb128 0x10 18661 02dd 55 .uleb128 0x55 18662 02de 06 .uleb128 0x6 18663 02df 58 .uleb128 0x58 18664 02e0 0B .uleb128 0xb 18665 02e1 59 .uleb128 0x59 18666 02e2 0B .uleb128 0xb ARM GAS /tmp/ccjvgGVC.s page 802 18667 02e3 57 .uleb128 0x57 18668 02e4 0B .uleb128 0xb 18669 02e5 00 .byte 0 18670 02e6 00 .byte 0 18671 02e7 34 .uleb128 0x34 18672 02e8 898201 .uleb128 0x4109 18673 02eb 01 .byte 0x1 18674 02ec 11 .uleb128 0x11 18675 02ed 01 .uleb128 0x1 18676 02ee 9542 .uleb128 0x2115 18677 02f0 0C .uleb128 0xc 18678 02f1 00 .byte 0 18679 02f2 00 .byte 0 18680 02f3 35 .uleb128 0x35 18681 02f4 1D .uleb128 0x1d 18682 02f5 00 .byte 0 18683 02f6 31 .uleb128 0x31 18684 02f7 10 .uleb128 0x10 18685 02f8 52 .uleb128 0x52 18686 02f9 01 .uleb128 0x1 18687 02fa B842 .uleb128 0x2138 18688 02fc 05 .uleb128 0x5 18689 02fd 11 .uleb128 0x11 18690 02fe 01 .uleb128 0x1 18691 02ff 12 .uleb128 0x12 18692 0300 01 .uleb128 0x1 18693 0301 58 .uleb128 0x58 18694 0302 0B .uleb128 0xb 18695 0303 59 .uleb128 0x59 18696 0304 05 .uleb128 0x5 18697 0305 57 .uleb128 0x57 18698 0306 0B .uleb128 0xb 18699 0307 00 .byte 0 18700 0308 00 .byte 0 18701 0309 36 .uleb128 0x36 18702 030a 1D .uleb128 0x1d 18703 030b 01 .byte 0x1 18704 030c 31 .uleb128 0x31 18705 030d 10 .uleb128 0x10 18706 030e 52 .uleb128 0x52 18707 030f 01 .uleb128 0x1 18708 0310 B842 .uleb128 0x2138 18709 0312 05 .uleb128 0x5 18710 0313 11 .uleb128 0x11 18711 0314 01 .uleb128 0x1 18712 0315 12 .uleb128 0x12 18713 0316 01 .uleb128 0x1 18714 0317 58 .uleb128 0x58 18715 0318 0B .uleb128 0xb 18716 0319 59 .uleb128 0x59 18717 031a 0B .uleb128 0xb 18718 031b 57 .uleb128 0x57 18719 031c 0B .uleb128 0xb 18720 031d 00 .byte 0 18721 031e 00 .byte 0 18722 031f 37 .uleb128 0x37 18723 0320 2E .uleb128 0x2e ARM GAS /tmp/ccjvgGVC.s page 803 18724 0321 00 .byte 0 18725 0322 3F .uleb128 0x3f 18726 0323 0C .uleb128 0xc 18727 0324 3C .uleb128 0x3c 18728 0325 0C .uleb128 0xc 18729 0326 8740 .uleb128 0x2007 18730 0328 0E .uleb128 0xe 18731 0329 03 .uleb128 0x3 18732 032a 0E .uleb128 0xe 18733 032b 3A .uleb128 0x3a 18734 032c 0B .uleb128 0xb 18735 032d 3B .uleb128 0x3b 18736 032e 0B .uleb128 0xb 18737 032f 00 .byte 0 18738 0330 00 .byte 0 18739 0331 00 .byte 0 18740 .section .debug_loc,"",%progbits 18741 .Ldebug_loc0: 18742 .LVUS0: 18743 0000 01 .uleb128 .LVU1 18744 0001 00 .uleb128 0 18745 .LLST0: 18746 0002 00000000 .4byte .LVL0 18747 0006 1A000000 .4byte .LFE1 18748 000a 0100 .2byte 0x1 18749 000c 50 .byte 0x50 18750 000d 00000000 .4byte 0 18751 0011 00000000 .4byte 0 18752 .LVUS1: 18753 0015 01 .uleb128 .LVU7 18754 0016 00 .uleb128 0 18755 .LLST1: 18756 0017 00000000 .4byte .LVL1 18757 001b 1A000000 .4byte .LFE3 18758 001f 0100 .2byte 0x1 18759 0021 50 .byte 0x50 18760 0022 00000000 .4byte 0 18761 0026 00000000 .4byte 0 18762 .LLST2: 18763 002a 00000000 .4byte .LFB5 18764 002e 04000000 .4byte .LCFI0 18765 0032 0200 .2byte 0x2 18766 0034 7D .byte 0x7d 18767 0035 00 .sleb128 0 18768 0036 04000000 .4byte .LCFI0 18769 003a 8C010000 .4byte .LFE5 18770 003e 0200 .2byte 0x2 18771 0040 7D .byte 0x7d 18772 0041 1C .sleb128 28 18773 0042 00000000 .4byte 0 18774 0046 00000000 .4byte 0 18775 .LVUS3: 18776 004a 00 .uleb128 0 18777 004b 00 .uleb128 .LVU72 18778 004c 00 .uleb128 .LVU72 18779 004d 00 .uleb128 .LVU73 18780 004e 00 .uleb128 .LVU73 ARM GAS /tmp/ccjvgGVC.s page 804 18781 004f 00 .uleb128 .LVU84 18782 0050 00 .uleb128 .LVU84 18783 0051 00 .uleb128 .LVU86 18784 0052 00 .uleb128 .LVU86 18785 0053 00 .uleb128 .LVU90 18786 0054 00 .uleb128 .LVU90 18787 0055 00 .uleb128 0 18788 .LLST3: 18789 0056 00000000 .4byte .LVL2 18790 005a DA000000 .4byte .LVL8 18791 005e 0100 .2byte 0x1 18792 0060 50 .byte 0x50 18793 0061 DA000000 .4byte .LVL8 18794 0065 DE000000 .4byte .LVL9 18795 0069 0A00 .2byte 0xa 18796 006b F3 .byte 0xf3 18797 006c 03 .uleb128 0x3 18798 006d F5 .byte 0xf5 18799 006e 00 .uleb128 0 18800 006f 29 .uleb128 0x29 18801 0070 F7 .byte 0xf7 18802 0071 30 .uleb128 0x30 18803 0072 F7 .byte 0xf7 18804 0073 00 .uleb128 0 18805 0074 9F .byte 0x9f 18806 0075 DE000000 .4byte .LVL9 18807 0079 04010000 .4byte .LVL13 18808 007d 0100 .2byte 0x1 18809 007f 50 .byte 0x50 18810 0080 04010000 .4byte .LVL13 18811 0084 0A010000 .4byte .LVL14 18812 0088 0400 .2byte 0x4 18813 008a 70 .byte 0x70 18814 008b 8060 .sleb128 -4096 18815 008d 9F .byte 0x9f 18816 008e 0A010000 .4byte .LVL14 18817 0092 1A010000 .4byte .LVL17 18818 0096 0400 .2byte 0x4 18819 0098 76 .byte 0x76 18820 0099 806E .sleb128 -2304 18821 009b 9F .byte 0x9f 18822 009c 1A010000 .4byte .LVL17 18823 00a0 8C010000 .4byte .LFE5 18824 00a4 0100 .2byte 0x1 18825 00a6 50 .byte 0x50 18826 00a7 00000000 .4byte 0 18827 00ab 00000000 .4byte 0 18828 .LVUS4: 18829 00af 00 .uleb128 0 18830 00b0 00 .uleb128 .LVU72 18831 00b1 00 .uleb128 .LVU72 18832 00b2 00 .uleb128 .LVU73 18833 00b3 00 .uleb128 .LVU73 18834 00b4 00 .uleb128 .LVU87 18835 00b5 00 .uleb128 .LVU87 18836 00b6 00 .uleb128 .LVU90 18837 00b7 00 .uleb128 .LVU90 ARM GAS /tmp/ccjvgGVC.s page 805 18838 00b8 00 .uleb128 0 18839 .LLST4: 18840 00b9 00000000 .4byte .LVL2 18841 00bd DA000000 .4byte .LVL8 18842 00c1 0100 .2byte 0x1 18843 00c3 51 .byte 0x51 18844 00c4 DA000000 .4byte .LVL8 18845 00c8 DE000000 .4byte .LVL9 18846 00cc 0A00 .2byte 0xa 18847 00ce F3 .byte 0xf3 18848 00cf 03 .uleb128 0x3 18849 00d0 F5 .byte 0xf5 18850 00d1 01 .uleb128 0x1 18851 00d2 29 .uleb128 0x29 18852 00d3 F7 .byte 0xf7 18853 00d4 30 .uleb128 0x30 18854 00d5 F7 .byte 0xf7 18855 00d6 00 .uleb128 0 18856 00d7 9F .byte 0x9f 18857 00d8 DE000000 .4byte .LVL9 18858 00dc 0E010000 .4byte .LVL15 18859 00e0 0100 .2byte 0x1 18860 00e2 51 .byte 0x51 18861 00e3 0E010000 .4byte .LVL15 18862 00e7 1A010000 .4byte .LVL17 18863 00eb 0A00 .2byte 0xa 18864 00ed F3 .byte 0xf3 18865 00ee 03 .uleb128 0x3 18866 00ef F5 .byte 0xf5 18867 00f0 01 .uleb128 0x1 18868 00f1 29 .uleb128 0x29 18869 00f2 F7 .byte 0xf7 18870 00f3 30 .uleb128 0x30 18871 00f4 F7 .byte 0xf7 18872 00f5 00 .uleb128 0 18873 00f6 9F .byte 0x9f 18874 00f7 1A010000 .4byte .LVL17 18875 00fb 8C010000 .4byte .LFE5 18876 00ff 0100 .2byte 0x1 18877 0101 51 .byte 0x51 18878 0102 00000000 .4byte 0 18879 0106 00000000 .4byte 0 18880 .LVUS5: 18881 010a 00 .uleb128 0 18882 010b 00 .uleb128 .LVU16 18883 010c 00 .uleb128 .LVU16 18884 010d 00 .uleb128 0 18885 .LLST5: 18886 010e 00000000 .4byte .LVL2 18887 0112 08000000 .4byte .LVL3 18888 0116 0100 .2byte 0x1 18889 0118 52 .byte 0x52 18890 0119 08000000 .4byte .LVL3 18891 011d 8C010000 .4byte .LFE5 18892 0121 0100 .2byte 0x1 18893 0123 5C .byte 0x5c 18894 0124 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 806 18895 0128 00000000 .4byte 0 18896 .LVUS6: 18897 012c 01 .uleb128 .LVU13 18898 012d 00 .uleb128 .LVU72 18899 012e 00 .uleb128 .LVU72 18900 012f 00 .uleb128 .LVU73 18901 0130 00 .uleb128 .LVU73 18902 0131 00 .uleb128 .LVU84 18903 0132 00 .uleb128 .LVU84 18904 0133 00 .uleb128 .LVU86 18905 0134 00 .uleb128 .LVU86 18906 0135 00 .uleb128 .LVU90 18907 0136 00 .uleb128 .LVU90 18908 0137 00 .uleb128 0 18909 .LLST6: 18910 0138 00000000 .4byte .LVL2 18911 013c DA000000 .4byte .LVL8 18912 0140 0100 .2byte 0x1 18913 0142 50 .byte 0x50 18914 0143 DA000000 .4byte .LVL8 18915 0147 DE000000 .4byte .LVL9 18916 014b 0A00 .2byte 0xa 18917 014d F3 .byte 0xf3 18918 014e 03 .uleb128 0x3 18919 014f F5 .byte 0xf5 18920 0150 00 .uleb128 0 18921 0151 29 .uleb128 0x29 18922 0152 F7 .byte 0xf7 18923 0153 30 .uleb128 0x30 18924 0154 F7 .byte 0xf7 18925 0155 00 .uleb128 0 18926 0156 9F .byte 0x9f 18927 0157 DE000000 .4byte .LVL9 18928 015b 04010000 .4byte .LVL13 18929 015f 0100 .2byte 0x1 18930 0161 50 .byte 0x50 18931 0162 04010000 .4byte .LVL13 18932 0166 0A010000 .4byte .LVL14 18933 016a 0400 .2byte 0x4 18934 016c 70 .byte 0x70 18935 016d 8060 .sleb128 -4096 18936 016f 9F .byte 0x9f 18937 0170 0A010000 .4byte .LVL14 18938 0174 1A010000 .4byte .LVL17 18939 0178 0400 .2byte 0x4 18940 017a 76 .byte 0x76 18941 017b 806E .sleb128 -2304 18942 017d 9F .byte 0x9f 18943 017e 1A010000 .4byte .LVL17 18944 0182 8C010000 .4byte .LFE5 18945 0186 0100 .2byte 0x1 18946 0188 50 .byte 0x50 18947 0189 00000000 .4byte 0 18948 018d 00000000 .4byte 0 18949 .LVUS7: 18950 0191 00 .uleb128 .LVU17 18951 0192 00 .uleb128 .LVU32 ARM GAS /tmp/ccjvgGVC.s page 807 18952 0193 00 .uleb128 .LVU43 18953 0194 00 .uleb128 .LVU70 18954 0195 00 .uleb128 .LVU73 18955 0196 00 .uleb128 .LVU92 18956 0197 00 .uleb128 .LVU92 18957 0198 00 .uleb128 .LVU93 18958 .LLST7: 18959 0199 0C000000 .4byte .LVL4 18960 019d 46000000 .4byte .LVL5 18961 01a1 0100 .2byte 0x1 18962 01a3 58 .byte 0x58 18963 01a4 70000000 .4byte .LVL6 18964 01a8 CE000000 .4byte .LVL7 18965 01ac 0100 .2byte 0x1 18966 01ae 58 .byte 0x58 18967 01af DE000000 .4byte .LVL9 18968 01b3 24010000 .4byte .LVL18 18969 01b7 0100 .2byte 0x1 18970 01b9 58 .byte 0x58 18971 01ba 24010000 .4byte .LVL18 18972 01be 2A010000 .4byte .LVL19 18973 01c2 0800 .2byte 0x8 18974 01c4 71 .byte 0x71 18975 01c5 00 .sleb128 0 18976 01c6 94 .byte 0x94 18977 01c7 01 .byte 0x1 18978 01c8 08 .byte 0x8 18979 01c9 FF .byte 0xff 18980 01ca 1A .byte 0x1a 18981 01cb 9F .byte 0x9f 18982 01cc 00000000 .4byte 0 18983 01d0 00000000 .4byte 0 18984 .LVUS8: 18985 01d4 00 .uleb128 .LVU106 18986 01d5 00 .uleb128 .LVU109 18987 01d6 00 .uleb128 .LVU109 18988 01d7 00 .uleb128 0 18989 .LLST8: 18990 01d8 52010000 .4byte .LVL20 18991 01dc 5C010000 .4byte .LVL21 18992 01e0 1100 .2byte 0x11 18993 01e2 73 .byte 0x73 18994 01e3 00 .sleb128 0 18995 01e4 77 .byte 0x77 18996 01e5 00 .sleb128 0 18997 01e6 22 .byte 0x22 18998 01e7 31 .byte 0x31 18999 01e8 1C .byte 0x1c 19000 01e9 F7 .byte 0xf7 19001 01ea 30 .uleb128 0x30 19002 01eb 77 .byte 0x77 19003 01ec 00 .sleb128 0 19004 01ed F7 .byte 0xf7 19005 01ee 30 .uleb128 0x30 19006 01ef 1B .byte 0x1b 19007 01f0 F7 .byte 0xf7 19008 01f1 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 808 19009 01f2 9F .byte 0x9f 19010 01f3 5C010000 .4byte .LVL21 19011 01f7 8C010000 .4byte .LFE5 19012 01fb 1200 .2byte 0x12 19013 01fd 77 .byte 0x77 19014 01fe 00 .sleb128 0 19015 01ff 71 .byte 0x71 19016 0200 14 .sleb128 20 19017 0201 06 .byte 0x6 19018 0202 22 .byte 0x22 19019 0203 31 .byte 0x31 19020 0204 1C .byte 0x1c 19021 0205 F7 .byte 0xf7 19022 0206 30 .uleb128 0x30 19023 0207 77 .byte 0x77 19024 0208 00 .sleb128 0 19025 0209 F7 .byte 0xf7 19026 020a 30 .uleb128 0x30 19027 020b 1B .byte 0x1b 19028 020c F7 .byte 0xf7 19029 020d 00 .uleb128 0 19030 020e 9F .byte 0x9f 19031 020f 00000000 .4byte 0 19032 0213 00000000 .4byte 0 19033 .LVUS9: 19034 0217 00 .uleb128 .LVU78 19035 0218 00 .uleb128 .LVU84 19036 0219 00 .uleb128 .LVU84 19037 021a 00 .uleb128 .LVU86 19038 021b 00 .uleb128 .LVU86 19039 021c 00 .uleb128 .LVU90 19040 .LLST9: 19041 021d F4000000 .4byte .LVL10 19042 0221 04010000 .4byte .LVL13 19043 0225 0100 .2byte 0x1 19044 0227 50 .byte 0x50 19045 0228 04010000 .4byte .LVL13 19046 022c 0A010000 .4byte .LVL14 19047 0230 0400 .2byte 0x4 19048 0232 70 .byte 0x70 19049 0233 8060 .sleb128 -4096 19050 0235 9F .byte 0x9f 19051 0236 0A010000 .4byte .LVL14 19052 023a 1A010000 .4byte .LVL17 19053 023e 0400 .2byte 0x4 19054 0240 76 .byte 0x76 19055 0241 806E .sleb128 -2304 19056 0243 9F .byte 0x9f 19057 0244 00000000 .4byte 0 19058 0248 00000000 .4byte 0 19059 .LVUS10: 19060 024c 00 .uleb128 .LVU78 19061 024d 00 .uleb128 .LVU87 19062 024e 00 .uleb128 .LVU87 19063 024f 00 .uleb128 .LVU90 19064 .LLST10: 19065 0250 F4000000 .4byte .LVL10 ARM GAS /tmp/ccjvgGVC.s page 809 19066 0254 0E010000 .4byte .LVL15 19067 0258 0200 .2byte 0x2 19068 025a 71 .byte 0x71 19069 025b 0C .sleb128 12 19070 025c 0E010000 .4byte .LVL15 19071 0260 1A010000 .4byte .LVL17 19072 0264 0B00 .2byte 0xb 19073 0266 F3 .byte 0xf3 19074 0267 03 .uleb128 0x3 19075 0268 F5 .byte 0xf5 19076 0269 01 .uleb128 0x1 19077 026a 29 .uleb128 0x29 19078 026b F7 .byte 0xf7 19079 026c 30 .uleb128 0x30 19080 026d F7 .byte 0xf7 19081 026e 00 .uleb128 0 19082 026f 23 .byte 0x23 19083 0270 0C .uleb128 0xc 19084 0271 00000000 .4byte 0 19085 0275 00000000 .4byte 0 19086 .LVUS11: 19087 0279 00 .uleb128 .LVU78 19088 027a 00 .uleb128 .LVU80 19089 .LLST11: 19090 027b F4000000 .4byte .LVL10 19091 027f FC000000 .4byte .LVL11 19092 0283 0100 .2byte 0x1 19093 0285 53 .byte 0x53 19094 0286 00000000 .4byte 0 19095 028a 00000000 .4byte 0 19096 .LVUS12: 19097 028e 00 .uleb128 .LVU78 19098 028f 00 .uleb128 .LVU90 19099 .LLST12: 19100 0290 F4000000 .4byte .LVL10 19101 0294 1A010000 .4byte .LVL17 19102 0298 0100 .2byte 0x1 19103 029a 5C .byte 0x5c 19104 029b 00000000 .4byte 0 19105 029f 00000000 .4byte 0 19106 .LVUS14: 19107 02a3 00 .uleb128 .LVU78 19108 02a4 00 .uleb128 .LVU87 19109 02a5 00 .uleb128 .LVU87 19110 02a6 00 .uleb128 .LVU89 19111 02a7 00 .uleb128 .LVU89 19112 02a8 00 .uleb128 .LVU90 19113 .LLST14: 19114 02a9 F4000000 .4byte .LVL10 19115 02ad 0E010000 .4byte .LVL15 19116 02b1 0200 .2byte 0x2 19117 02b3 71 .byte 0x71 19118 02b4 0C .sleb128 12 19119 02b5 0E010000 .4byte .LVL15 19120 02b9 16010000 .4byte .LVL16 19121 02bd 0100 .2byte 0x1 19122 02bf 52 .byte 0x52 ARM GAS /tmp/ccjvgGVC.s page 810 19123 02c0 16010000 .4byte .LVL16 19124 02c4 1A010000 .4byte .LVL17 19125 02c8 0300 .2byte 0x3 19126 02ca 72 .byte 0x72 19127 02cb 7C .sleb128 -4 19128 02cc 9F .byte 0x9f 19129 02cd 00000000 .4byte 0 19130 02d1 00000000 .4byte 0 19131 .LVUS15: 19132 02d5 00 .uleb128 .LVU82 19133 02d6 00 .uleb128 .LVU87 19134 .LLST15: 19135 02d7 FE000000 .4byte .LVL12 19136 02db 0E010000 .4byte .LVL15 19137 02df 0200 .2byte 0x2 19138 02e1 30 .byte 0x30 19139 02e2 9F .byte 0x9f 19140 02e3 00000000 .4byte 0 19141 02e7 00000000 .4byte 0 19142 .LLST16: 19143 02eb 00000000 .4byte .LFB9 19144 02ef 06000000 .4byte .LCFI1 19145 02f3 0200 .2byte 0x2 19146 02f5 7D .byte 0x7d 19147 02f6 00 .sleb128 0 19148 02f7 06000000 .4byte .LCFI1 19149 02fb F0000000 .4byte .LFE9 19150 02ff 0200 .2byte 0x2 19151 0301 7D .byte 0x7d 19152 0302 18 .sleb128 24 19153 0303 00000000 .4byte 0 19154 0307 00000000 .4byte 0 19155 .LVUS17: 19156 030b 00 .uleb128 0 19157 030c 00 .uleb128 .LVU141 19158 030d 00 .uleb128 .LVU141 19159 030e 00 .uleb128 .LVU142 19160 030f 00 .uleb128 .LVU142 19161 0310 00 .uleb128 .LVU162 19162 0311 00 .uleb128 .LVU162 19163 0312 00 .uleb128 0 19164 .LLST17: 19165 0313 00000000 .4byte .LVL22 19166 0317 4C000000 .4byte .LVL25 19167 031b 0100 .2byte 0x1 19168 031d 50 .byte 0x50 19169 031e 4C000000 .4byte .LVL25 19170 0322 50000000 .4byte .LVL26 19171 0326 0A00 .2byte 0xa 19172 0328 F3 .byte 0xf3 19173 0329 03 .uleb128 0x3 19174 032a F5 .byte 0xf5 19175 032b 00 .uleb128 0 19176 032c 29 .uleb128 0x29 19177 032d F7 .byte 0xf7 19178 032e 30 .uleb128 0x30 19179 032f F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 811 19180 0330 00 .uleb128 0 19181 0331 9F .byte 0x9f 19182 0332 50000000 .4byte .LVL26 19183 0336 A8000000 .4byte .LVL30 19184 033a 0100 .2byte 0x1 19185 033c 50 .byte 0x50 19186 033d A8000000 .4byte .LVL30 19187 0341 F0000000 .4byte .LFE9 19188 0345 0400 .2byte 0x4 19189 0347 70 .byte 0x70 19190 0348 806A .sleb128 -2816 19191 034a 9F .byte 0x9f 19192 034b 00000000 .4byte 0 19193 034f 00000000 .4byte 0 19194 .LVUS18: 19195 0353 00 .uleb128 0 19196 0354 00 .uleb128 .LVU137 19197 0355 00 .uleb128 .LVU137 19198 0356 00 .uleb128 .LVU142 19199 0357 00 .uleb128 .LVU142 19200 0358 00 .uleb128 .LVU158 19201 0359 00 .uleb128 .LVU158 19202 035a 00 .uleb128 .LVU161 19203 035b 00 .uleb128 .LVU161 19204 035c 00 .uleb128 .LVU178 19205 035d 00 .uleb128 .LVU178 19206 035e 00 .uleb128 0 19207 .LLST18: 19208 035f 00000000 .4byte .LVL22 19209 0363 3C000000 .4byte .LVL24 19210 0367 0100 .2byte 0x1 19211 0369 52 .byte 0x52 19212 036a 3C000000 .4byte .LVL24 19213 036e 50000000 .4byte .LVL26 19214 0372 0A00 .2byte 0xa 19215 0374 F3 .byte 0xf3 19216 0375 03 .uleb128 0x3 19217 0376 F5 .byte 0xf5 19218 0377 02 .uleb128 0x2 19219 0378 29 .uleb128 0x29 19220 0379 F7 .byte 0xf7 19221 037a 37 .uleb128 0x37 19222 037b F7 .byte 0xf7 19223 037c 00 .uleb128 0 19224 037d 9F .byte 0x9f 19225 037e 50000000 .4byte .LVL26 19226 0382 92000000 .4byte .LVL27 19227 0386 0100 .2byte 0x1 19228 0388 52 .byte 0x52 19229 0389 92000000 .4byte .LVL27 19230 038d A4000000 .4byte .LVL29 19231 0391 0A00 .2byte 0xa 19232 0393 F3 .byte 0xf3 19233 0394 03 .uleb128 0x3 19234 0395 F5 .byte 0xf5 19235 0396 02 .uleb128 0x2 19236 0397 29 .uleb128 0x29 ARM GAS /tmp/ccjvgGVC.s page 812 19237 0398 F7 .byte 0xf7 19238 0399 37 .uleb128 0x37 19239 039a F7 .byte 0xf7 19240 039b 00 .uleb128 0 19241 039c 9F .byte 0x9f 19242 039d A4000000 .4byte .LVL29 19243 03a1 D8000000 .4byte .LVL31 19244 03a5 0100 .2byte 0x1 19245 03a7 52 .byte 0x52 19246 03a8 D8000000 .4byte .LVL31 19247 03ac F0000000 .4byte .LFE9 19248 03b0 0A00 .2byte 0xa 19249 03b2 F3 .byte 0xf3 19250 03b3 03 .uleb128 0x3 19251 03b4 F5 .byte 0xf5 19252 03b5 02 .uleb128 0x2 19253 03b6 29 .uleb128 0x29 19254 03b7 F7 .byte 0xf7 19255 03b8 37 .uleb128 0x37 19256 03b9 F7 .byte 0xf7 19257 03ba 00 .uleb128 0 19258 03bb 9F .byte 0x9f 19259 03bc 00000000 .4byte 0 19260 03c0 00000000 .4byte 0 19261 .LVUS19: 19262 03c4 01 .uleb128 .LVU118 19263 03c5 00 .uleb128 .LVU141 19264 03c6 00 .uleb128 .LVU141 19265 03c7 00 .uleb128 .LVU142 19266 03c8 00 .uleb128 .LVU142 19267 03c9 00 .uleb128 .LVU162 19268 03ca 00 .uleb128 .LVU162 19269 03cb 00 .uleb128 0 19270 .LLST19: 19271 03cc 00000000 .4byte .LVL22 19272 03d0 4C000000 .4byte .LVL25 19273 03d4 0100 .2byte 0x1 19274 03d6 50 .byte 0x50 19275 03d7 4C000000 .4byte .LVL25 19276 03db 50000000 .4byte .LVL26 19277 03df 0A00 .2byte 0xa 19278 03e1 F3 .byte 0xf3 19279 03e2 03 .uleb128 0x3 19280 03e3 F5 .byte 0xf5 19281 03e4 00 .uleb128 0 19282 03e5 29 .uleb128 0x29 19283 03e6 F7 .byte 0xf7 19284 03e7 30 .uleb128 0x30 19285 03e8 F7 .byte 0xf7 19286 03e9 00 .uleb128 0 19287 03ea 9F .byte 0x9f 19288 03eb 50000000 .4byte .LVL26 19289 03ef A8000000 .4byte .LVL30 19290 03f3 0100 .2byte 0x1 19291 03f5 50 .byte 0x50 19292 03f6 A8000000 .4byte .LVL30 19293 03fa F0000000 .4byte .LFE9 ARM GAS /tmp/ccjvgGVC.s page 813 19294 03fe 0400 .2byte 0x4 19295 0400 70 .byte 0x70 19296 0401 806A .sleb128 -2816 19297 0403 9F .byte 0x9f 19298 0404 00000000 .4byte 0 19299 0408 00000000 .4byte 0 19300 .LVUS20: 19301 040c 00 .uleb128 .LVU121 19302 040d 00 .uleb128 .LVU141 19303 040e 00 .uleb128 .LVU142 19304 040f 00 .uleb128 .LVU159 19305 0410 00 .uleb128 .LVU161 19306 0411 00 .uleb128 0 19307 .LLST20: 19308 0412 0A000000 .4byte .LVL23 19309 0416 4C000000 .4byte .LVL25 19310 041a 0600 .2byte 0x6 19311 041c 7E .byte 0x7e 19312 041d 00 .sleb128 0 19313 041e 08 .byte 0x8 19314 041f FF .byte 0xff 19315 0420 1A .byte 0x1a 19316 0421 9F .byte 0x9f 19317 0422 50000000 .4byte .LVL26 19318 0426 96000000 .4byte .LVL28 19319 042a 0600 .2byte 0x6 19320 042c 7E .byte 0x7e 19321 042d 00 .sleb128 0 19322 042e 08 .byte 0x8 19323 042f FF .byte 0xff 19324 0430 1A .byte 0x1a 19325 0431 9F .byte 0x9f 19326 0432 A4000000 .4byte .LVL29 19327 0436 F0000000 .4byte .LFE9 19328 043a 0600 .2byte 0x6 19329 043c 7E .byte 0x7e 19330 043d 00 .sleb128 0 19331 043e 08 .byte 0x8 19332 043f FF .byte 0xff 19333 0440 1A .byte 0x1a 19334 0441 9F .byte 0x9f 19335 0442 00000000 .4byte 0 19336 0446 00000000 .4byte 0 19337 .LLST21: 19338 044a 00000000 .4byte .LFB10 19339 044e 06000000 .4byte .LCFI2 19340 0452 0200 .2byte 0x2 19341 0454 7D .byte 0x7d 19342 0455 00 .sleb128 0 19343 0456 06000000 .4byte .LCFI2 19344 045a 20000000 .4byte .LFE10 19345 045e 0200 .2byte 0x2 19346 0460 7D .byte 0x7d 19347 0461 08 .sleb128 8 19348 0462 00000000 .4byte 0 19349 0466 00000000 .4byte 0 19350 .LVUS22: ARM GAS /tmp/ccjvgGVC.s page 814 19351 046a 00 .uleb128 0 19352 046b 00 .uleb128 .LVU190 19353 046c 00 .uleb128 .LVU190 19354 046d 00 .uleb128 0 19355 .LLST22: 19356 046e 00000000 .4byte .LVL32 19357 0472 0D000000 .4byte .LVL33-1 19358 0476 0100 .2byte 0x1 19359 0478 50 .byte 0x50 19360 0479 0D000000 .4byte .LVL33-1 19361 047d 20000000 .4byte .LFE10 19362 0481 0100 .2byte 0x1 19363 0483 54 .byte 0x54 19364 0484 00000000 .4byte 0 19365 0488 00000000 .4byte 0 19366 .LVUS23: 19367 048c 00 .uleb128 .LVU191 19368 048d 00 .uleb128 .LVU196 19369 .LLST23: 19370 048e 10000000 .4byte .LVL34 19371 0492 1E000000 .4byte .LVL36 19372 0496 0100 .2byte 0x1 19373 0498 54 .byte 0x54 19374 0499 00000000 .4byte 0 19375 049d 00000000 .4byte 0 19376 .LLST24: 19377 04a1 00000000 .4byte .LFB13 19378 04a5 04000000 .4byte .LCFI3 19379 04a9 0200 .2byte 0x2 19380 04ab 7D .byte 0x7d 19381 04ac 00 .sleb128 0 19382 04ad 04000000 .4byte .LCFI3 19383 04b1 1C000000 .4byte .LFE13 19384 04b5 0200 .2byte 0x2 19385 04b7 7D .byte 0x7d 19386 04b8 08 .sleb128 8 19387 04b9 00000000 .4byte 0 19388 04bd 00000000 .4byte 0 19389 .LVUS25: 19390 04c1 00 .uleb128 0 19391 04c2 00 .uleb128 .LVU206 19392 04c3 00 .uleb128 .LVU206 19393 04c4 00 .uleb128 0 19394 .LLST25: 19395 04c5 00000000 .4byte .LVL37 19396 04c9 0D000000 .4byte .LVL38-1 19397 04cd 0100 .2byte 0x1 19398 04cf 50 .byte 0x50 19399 04d0 0D000000 .4byte .LVL38-1 19400 04d4 1C000000 .4byte .LFE13 19401 04d8 0100 .2byte 0x1 19402 04da 54 .byte 0x54 19403 04db 00000000 .4byte 0 19404 04df 00000000 .4byte 0 19405 .LVUS26: 19406 04e3 00 .uleb128 0 19407 04e4 00 .uleb128 .LVU206 ARM GAS /tmp/ccjvgGVC.s page 815 19408 04e5 00 .uleb128 .LVU206 19409 04e6 00 .uleb128 0 19410 .LLST26: 19411 04e7 00000000 .4byte .LVL37 19412 04eb 0D000000 .4byte .LVL38-1 19413 04ef 0100 .2byte 0x1 19414 04f1 51 .byte 0x51 19415 04f2 0D000000 .4byte .LVL38-1 19416 04f6 1C000000 .4byte .LFE13 19417 04fa 0A00 .2byte 0xa 19418 04fc F3 .byte 0xf3 19419 04fd 03 .uleb128 0x3 19420 04fe F5 .byte 0xf5 19421 04ff 01 .uleb128 0x1 19422 0500 29 .uleb128 0x29 19423 0501 F7 .byte 0xf7 19424 0502 30 .uleb128 0x30 19425 0503 F7 .byte 0xf7 19426 0504 00 .uleb128 0 19427 0505 9F .byte 0x9f 19428 0506 00000000 .4byte 0 19429 050a 00000000 .4byte 0 19430 .LVUS27: 19431 050e 00 .uleb128 .LVU207 19432 050f 00 .uleb128 .LVU210 19433 .LLST27: 19434 0510 10000000 .4byte .LVL39 19435 0514 1A000000 .4byte .LVL41 19436 0518 0100 .2byte 0x1 19437 051a 54 .byte 0x54 19438 051b 00000000 .4byte 0 19439 051f 00000000 .4byte 0 19440 .LLST28: 19441 0523 00000000 .4byte .LFB16 19442 0527 02000000 .4byte .LCFI4 19443 052b 0200 .2byte 0x2 19444 052d 7D .byte 0x7d 19445 052e 00 .sleb128 0 19446 052f 02000000 .4byte .LCFI4 19447 0533 14000000 .4byte .LCFI5 19448 0537 0200 .2byte 0x2 19449 0539 7D .byte 0x7d 19450 053a 08 .sleb128 8 19451 053b 14000000 .4byte .LCFI5 19452 053f 18000000 .4byte .LCFI6 19453 0543 0200 .2byte 0x2 19454 0545 7D .byte 0x7d 19455 0546 00 .sleb128 0 19456 0547 18000000 .4byte .LCFI6 19457 054b 1A000000 .4byte .LFE16 19458 054f 0200 .2byte 0x2 19459 0551 7D .byte 0x7d 19460 0552 08 .sleb128 8 19461 0553 00000000 .4byte 0 19462 0557 00000000 .4byte 0 19463 .LVUS29: 19464 055b 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 816 19465 055c 00 .uleb128 .LVU217 19466 055d 00 .uleb128 .LVU217 19467 055e 00 .uleb128 .LVU222 19468 055f 00 .uleb128 .LVU222 19469 0560 00 .uleb128 .LVU223 19470 0561 00 .uleb128 .LVU223 19471 0562 00 .uleb128 0 19472 .LLST29: 19473 0563 00000000 .4byte .LVL42 19474 0567 07000000 .4byte .LVL43-1 19475 056b 0100 .2byte 0x1 19476 056d 50 .byte 0x50 19477 056e 07000000 .4byte .LVL43-1 19478 0572 14000000 .4byte .LVL45 19479 0576 0100 .2byte 0x1 19480 0578 54 .byte 0x54 19481 0579 14000000 .4byte .LVL45 19482 057d 18000000 .4byte .LVL46 19483 0581 0A00 .2byte 0xa 19484 0583 F3 .byte 0xf3 19485 0584 03 .uleb128 0x3 19486 0585 F5 .byte 0xf5 19487 0586 00 .uleb128 0 19488 0587 29 .uleb128 0x29 19489 0588 F7 .byte 0xf7 19490 0589 30 .uleb128 0x30 19491 058a F7 .byte 0xf7 19492 058b 00 .uleb128 0 19493 058c 9F .byte 0x9f 19494 058d 18000000 .4byte .LVL46 19495 0591 1A000000 .4byte .LFE16 19496 0595 0100 .2byte 0x1 19497 0597 54 .byte 0x54 19498 0598 00000000 .4byte 0 19499 059c 00000000 .4byte 0 19500 .LVUS30: 19501 05a0 00 .uleb128 .LVU218 19502 05a1 00 .uleb128 .LVU222 19503 05a2 00 .uleb128 .LVU222 19504 05a3 00 .uleb128 .LVU223 19505 .LLST30: 19506 05a4 0A000000 .4byte .LVL44 19507 05a8 14000000 .4byte .LVL45 19508 05ac 0100 .2byte 0x1 19509 05ae 54 .byte 0x54 19510 05af 14000000 .4byte .LVL45 19511 05b3 18000000 .4byte .LVL46 19512 05b7 0A00 .2byte 0xa 19513 05b9 F3 .byte 0xf3 19514 05ba 03 .uleb128 0x3 19515 05bb F5 .byte 0xf5 19516 05bc 00 .uleb128 0 19517 05bd 29 .uleb128 0x29 19518 05be F7 .byte 0xf7 19519 05bf 30 .uleb128 0x30 19520 05c0 F7 .byte 0xf7 19521 05c1 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 817 19522 05c2 9F .byte 0x9f 19523 05c3 00000000 .4byte 0 19524 05c7 00000000 .4byte 0 19525 .LLST31: 19526 05cb 00000000 .4byte .LFB18 19527 05cf 02000000 .4byte .LCFI7 19528 05d3 0200 .2byte 0x2 19529 05d5 7D .byte 0x7d 19530 05d6 00 .sleb128 0 19531 05d7 02000000 .4byte .LCFI7 19532 05db A4010000 .4byte .LCFI8 19533 05df 0200 .2byte 0x2 19534 05e1 7D .byte 0x7d 19535 05e2 10 .sleb128 16 19536 05e3 A4010000 .4byte .LCFI8 19537 05e7 AA010000 .4byte .LCFI9 19538 05eb 0200 .2byte 0x2 19539 05ed 7D .byte 0x7d 19540 05ee 00 .sleb128 0 19541 05ef AA010000 .4byte .LCFI9 19542 05f3 E8010000 .4byte .LFE18 19543 05f7 0200 .2byte 0x2 19544 05f9 7D .byte 0x7d 19545 05fa 10 .sleb128 16 19546 05fb 00000000 .4byte 0 19547 05ff 00000000 .4byte 0 19548 .LVUS33: 19549 0603 00 .uleb128 .LVU271 19550 0604 00 .uleb128 .LVU274 19551 0605 00 .uleb128 .LVU293 19552 0606 00 .uleb128 .LVU296 19553 .LLST33: 19554 0607 7A000000 .4byte .LVL62 19555 060b 80000000 .4byte .LVL63 19556 060f 0100 .2byte 0x1 19557 0611 50 .byte 0x50 19558 0612 B0000000 .4byte .LVL69 19559 0616 B6000000 .4byte .LVL70 19560 061a 0100 .2byte 0x1 19561 061c 50 .byte 0x50 19562 061d 00000000 .4byte 0 19563 0621 00000000 .4byte 0 19564 .LVUS34: 19565 0625 00 .uleb128 .LVU235 19566 0626 00 .uleb128 .LVU242 19567 0627 00 .uleb128 .LVU262 19568 0628 00 .uleb128 .LVU286 19569 0629 00 .uleb128 .LVU289 19570 062a 00 .uleb128 .LVU362 19571 062b 00 .uleb128 .LVU374 19572 062c 00 .uleb128 .LVU375 19573 .LLST34: 19574 062d 08000000 .4byte .LVL48 19575 0631 1E000000 .4byte .LVL51 19576 0635 0100 .2byte 0x1 19577 0637 56 .byte 0x56 19578 0638 4A000000 .4byte .LVL61 ARM GAS /tmp/ccjvgGVC.s page 818 19579 063c 9E000000 .4byte .LVL67 19580 0640 0100 .2byte 0x1 19581 0642 56 .byte 0x56 19582 0643 A2000000 .4byte .LVL68 19583 0647 94010000 .4byte .LVL84 19584 064b 0100 .2byte 0x1 19585 064d 56 .byte 0x56 19586 064e AA010000 .4byte .LVL87 19587 0652 AE010000 .4byte .LVL88 19588 0656 0100 .2byte 0x1 19589 0658 56 .byte 0x56 19590 0659 00000000 .4byte 0 19591 065d 00000000 .4byte 0 19592 .LVUS36: 19593 0661 00 .uleb128 .LVU246 19594 0662 00 .uleb128 .LVU252 19595 .LLST36: 19596 0663 24000000 .4byte .LVL53 19597 0667 32000000 .4byte .LVL56 19598 066b 0100 .2byte 0x1 19599 066d 52 .byte 0x52 19600 066e 00000000 .4byte 0 19601 0672 00000000 .4byte 0 19602 .LVUS37: 19603 0676 00 .uleb128 .LVU240 19604 0677 00 .uleb128 .LVU242 19605 .LLST37: 19606 0678 14000000 .4byte .LVL50 19607 067c 1E000000 .4byte .LVL51 19608 0680 0100 .2byte 0x1 19609 0682 50 .byte 0x50 19610 0683 00000000 .4byte 0 19611 0687 00000000 .4byte 0 19612 .LVUS38: 19613 068b 00 .uleb128 .LVU242 19614 068c 00 .uleb128 .LVU248 19615 068d 00 .uleb128 .LVU248 19616 068e 00 .uleb128 .LVU250 19617 068f 00 .uleb128 .LVU250 19618 0690 00 .uleb128 .LVU253 19619 0691 00 .uleb128 .LVU253 19620 0692 00 .uleb128 .LVU254 19621 0693 00 .uleb128 .LVU254 19622 0694 00 .uleb128 .LVU255 19623 0695 00 .uleb128 .LVU255 19624 0696 00 .uleb128 .LVU260 19625 .LLST38: 19626 0697 1E000000 .4byte .LVL51 19627 069b 28000000 .4byte .LVL54 19628 069f 0300 .2byte 0x3 19629 06a1 73 .byte 0x73 19630 06a2 7C .sleb128 -4 19631 06a3 9F .byte 0x9f 19632 06a4 28000000 .4byte .LVL54 19633 06a8 2E000000 .4byte .LVL55 19634 06ac 0300 .2byte 0x3 19635 06ae 73 .byte 0x73 ARM GAS /tmp/ccjvgGVC.s page 819 19636 06af 7D .sleb128 -3 19637 06b0 9F .byte 0x9f 19638 06b1 2E000000 .4byte .LVL55 19639 06b5 36000000 .4byte .LVL57 19640 06b9 0300 .2byte 0x3 19641 06bb 73 .byte 0x73 19642 06bc 7E .sleb128 -2 19643 06bd 9F .byte 0x9f 19644 06be 36000000 .4byte .LVL57 19645 06c2 3A000000 .4byte .LVL58 19646 06c6 0300 .2byte 0x3 19647 06c8 73 .byte 0x73 19648 06c9 7F .sleb128 -1 19649 06ca 9F .byte 0x9f 19650 06cb 3A000000 .4byte .LVL58 19651 06cf 3C000000 .4byte .LVL59 19652 06d3 0100 .2byte 0x1 19653 06d5 53 .byte 0x53 19654 06d6 3C000000 .4byte .LVL59 19655 06da 48000000 .4byte .LVL60 19656 06de 0300 .2byte 0x3 19657 06e0 73 .byte 0x73 19658 06e1 7C .sleb128 -4 19659 06e2 9F .byte 0x9f 19660 06e3 00000000 .4byte 0 19661 06e7 00000000 .4byte 0 19662 .LVUS39: 19663 06eb 00 .uleb128 .LVU243 19664 06ec 00 .uleb128 .LVU246 19665 .LLST39: 19666 06ed 20000000 .4byte .LVL52 19667 06f1 24000000 .4byte .LVL53 19668 06f5 0100 .2byte 0x1 19669 06f7 52 .byte 0x52 19670 06f8 00000000 .4byte 0 19671 06fc 00000000 .4byte 0 19672 .LVUS42: 19673 0700 00 .uleb128 .LVU363 19674 0701 01 .uleb128 .LVU372 19675 0702 00 .uleb128 .LVU378 19676 0703 00 .uleb128 .LVU384 19677 .LLST42: 19678 0704 96010000 .4byte .LVL85 19679 0708 A6010000 .4byte .LVL86 19680 070c 0100 .2byte 0x1 19681 070e 50 .byte 0x50 19682 070f B6010000 .4byte .LVL89 19683 0713 C6010000 .4byte .LVL90 19684 0717 0100 .2byte 0x1 19685 0719 50 .byte 0x50 19686 071a 00000000 .4byte 0 19687 071e 00000000 .4byte 0 19688 .LVUS43: 19689 0722 00 .uleb128 .LVU378 19690 0723 00 .uleb128 .LVU384 19691 .LLST43: 19692 0724 B6010000 .4byte .LVL89 ARM GAS /tmp/ccjvgGVC.s page 820 19693 0728 C6010000 .4byte .LVL90 19694 072c 0100 .2byte 0x1 19695 072e 50 .byte 0x50 19696 072f 00000000 .4byte 0 19697 0733 00000000 .4byte 0 19698 .LVUS47: 19699 0737 00 .uleb128 .LVU316 19700 0738 00 .uleb128 .LVU318 19701 .LLST47: 19702 0739 EE000000 .4byte .LVL78 19703 073d F2000000 .4byte .LVL79 19704 0741 2600 .2byte 0x26 19705 0743 73 .byte 0x73 19706 0744 7D .sleb128 -3 19707 0745 94 .byte 0x94 19708 0746 01 .byte 0x1 19709 0747 08 .byte 0x8 19710 0748 FF .byte 0xff 19711 0749 1A .byte 0x1a 19712 074a 38 .byte 0x38 19713 074b 24 .byte 0x24 19714 074c 73 .byte 0x73 19715 074d 7E .sleb128 -2 19716 074e 94 .byte 0x94 19717 074f 01 .byte 0x1 19718 0750 08 .byte 0x8 19719 0751 FF .byte 0xff 19720 0752 1A .byte 0x1a 19721 0753 40 .byte 0x40 19722 0754 24 .byte 0x24 19723 0755 21 .byte 0x21 19724 0756 73 .byte 0x73 19725 0757 7F .sleb128 -1 19726 0758 94 .byte 0x94 19727 0759 01 .byte 0x1 19728 075a 08 .byte 0x8 19729 075b FF .byte 0xff 19730 075c 1A .byte 0x1a 19731 075d 48 .byte 0x48 19732 075e 24 .byte 0x24 19733 075f 21 .byte 0x21 19734 0760 73 .byte 0x73 19735 0761 7C .sleb128 -4 19736 0762 94 .byte 0x94 19737 0763 01 .byte 0x1 19738 0764 08 .byte 0x8 19739 0765 FF .byte 0xff 19740 0766 1A .byte 0x1a 19741 0767 21 .byte 0x21 19742 0768 9F .byte 0x9f 19743 0769 00000000 .4byte 0 19744 076d 00000000 .4byte 0 19745 .LVUS48: 19746 0771 00 .uleb128 .LVU313 19747 0772 00 .uleb128 .LVU315 19748 .LLST48: 19749 0773 E0000000 .4byte .LVL76 ARM GAS /tmp/ccjvgGVC.s page 821 19750 0777 EA000000 .4byte .LVL77 19751 077b 0100 .2byte 0x1 19752 077d 52 .byte 0x52 19753 077e 00000000 .4byte 0 19754 0782 00000000 .4byte 0 19755 .LVUS49: 19756 0786 00 .uleb128 .LVU315 19757 0787 00 .uleb128 .LVU323 19758 .LLST49: 19759 0788 EA000000 .4byte .LVL77 19760 078c FE000000 .4byte .LVL80 19761 0790 0100 .2byte 0x1 19762 0792 53 .byte 0x53 19763 0793 00000000 .4byte 0 19764 0797 00000000 .4byte 0 19765 .LVUS50: 19766 079b 01 .uleb128 .LVU317 19767 079c 00 .uleb128 .LVU318 19768 .LLST50: 19769 079d EE000000 .4byte .LVL78 19770 07a1 F2000000 .4byte .LVL79 19771 07a5 0600 .2byte 0x6 19772 07a7 F2 .byte 0xf2 19773 07a8 A8040000 .4byte .Ldebug_info0+1192 19774 07ac 00 .sleb128 0 19775 07ad 00000000 .4byte 0 19776 07b1 00000000 .4byte 0 19777 .LVUS51: 19778 07b5 00 .uleb128 .LVU316 19779 07b6 00 .uleb128 .LVU318 19780 .LLST51: 19781 07b7 EE000000 .4byte .LVL78 19782 07bb F2000000 .4byte .LVL79 19783 07bf 0100 .2byte 0x1 19784 07c1 55 .byte 0x55 19785 07c2 00000000 .4byte 0 19786 07c6 00000000 .4byte 0 19787 .LLST53: 19788 07ca 00000000 .4byte .LFB38 19789 07ce 02000000 .4byte .LCFI10 19790 07d2 0200 .2byte 0x2 19791 07d4 7D .byte 0x7d 19792 07d5 00 .sleb128 0 19793 07d6 02000000 .4byte .LCFI10 19794 07da EA000000 .4byte .LCFI11 19795 07de 0200 .2byte 0x2 19796 07e0 7D .byte 0x7d 19797 07e1 20 .sleb128 32 19798 07e2 EA000000 .4byte .LCFI11 19799 07e6 EE000000 .4byte .LCFI12 19800 07ea 0200 .2byte 0x2 19801 07ec 7D .byte 0x7d 19802 07ed 14 .sleb128 20 19803 07ee EE000000 .4byte .LCFI12 19804 07f2 F0000000 .4byte .LCFI13 19805 07f6 0200 .2byte 0x2 19806 07f8 7D .byte 0x7d ARM GAS /tmp/ccjvgGVC.s page 822 19807 07f9 00 .sleb128 0 19808 07fa F0000000 .4byte .LCFI13 19809 07fe 74010000 .4byte .LCFI14 19810 0802 0200 .2byte 0x2 19811 0804 7D .byte 0x7d 19812 0805 20 .sleb128 32 19813 0806 74010000 .4byte .LCFI14 19814 080a 80010000 .4byte .LFE38 19815 080e 0200 .2byte 0x2 19816 0810 7D .byte 0x7d 19817 0811 14 .sleb128 20 19818 0812 00000000 .4byte 0 19819 0816 00000000 .4byte 0 19820 .LVUS54: 19821 081a 00 .uleb128 .LVU405 19822 081b 00 .uleb128 .LVU446 19823 081c 00 .uleb128 .LVU468 19824 081d 00 .uleb128 .LVU472 19825 .LLST54: 19826 081e 12000000 .4byte .LVL94 19827 0822 A2000000 .4byte .LVL96 19828 0826 0100 .2byte 0x1 19829 0828 56 .byte 0x56 19830 0829 F0000000 .4byte .LVL99 19831 082d 00010000 .4byte .LVL100 19832 0831 0100 .2byte 0x1 19833 0833 56 .byte 0x56 19834 0834 00000000 .4byte 0 19835 0838 00000000 .4byte 0 19836 .LVUS55: 19837 083c 00 .uleb128 .LVU403 19838 083d 00 .uleb128 .LVU464 19839 083e 00 .uleb128 .LVU468 19840 083f 00 .uleb128 .LVU484 19841 0840 00 .uleb128 .LVU493 19842 0841 00 .uleb128 .LVU500 19843 .LLST55: 19844 0842 0E000000 .4byte .LVL93 19845 0846 E2000000 .4byte .LVL97 19846 084a 0D00 .2byte 0xd 19847 084c 77 .byte 0x77 19848 084d 00 .sleb128 0 19849 084e F7 .byte 0xf7 19850 084f 30 .uleb128 0x30 19851 0850 0A .byte 0xa 19852 0851 8025 .2byte 0x2580 19853 0853 F7 .byte 0xf7 19854 0854 30 .uleb128 0x30 19855 0855 1B .byte 0x1b 19856 0856 F7 .byte 0xf7 19857 0857 00 .uleb128 0 19858 0858 9F .byte 0x9f 19859 0859 F0000000 .4byte .LVL99 19860 085d 26010000 .4byte .LVL102 19861 0861 0D00 .2byte 0xd 19862 0863 77 .byte 0x77 19863 0864 00 .sleb128 0 ARM GAS /tmp/ccjvgGVC.s page 823 19864 0865 F7 .byte 0xf7 19865 0866 30 .uleb128 0x30 19866 0867 0A .byte 0xa 19867 0868 8025 .2byte 0x2580 19868 086a F7 .byte 0xf7 19869 086b 30 .uleb128 0x30 19870 086c 1B .byte 0x1b 19871 086d F7 .byte 0xf7 19872 086e 00 .uleb128 0 19873 086f 9F .byte 0x9f 19874 0870 54010000 .4byte .LVL103 19875 0874 72010000 .4byte .LVL104 19876 0878 0D00 .2byte 0xd 19877 087a 77 .byte 0x77 19878 087b 00 .sleb128 0 19879 087c F7 .byte 0xf7 19880 087d 30 .uleb128 0x30 19881 087e 0A .byte 0xa 19882 087f 8025 .2byte 0x2580 19883 0881 F7 .byte 0xf7 19884 0882 30 .uleb128 0x30 19885 0883 1B .byte 0x1b 19886 0884 F7 .byte 0xf7 19887 0885 00 .uleb128 0 19888 0886 9F .byte 0x9f 19889 0887 00000000 .4byte 0 19890 088b 00000000 .4byte 0 19891 .LVUS56: 19892 088f 00 .uleb128 .LVU403 19893 0890 00 .uleb128 .LVU467 19894 0891 00 .uleb128 .LVU468 19895 0892 00 .uleb128 .LVU502 19896 .LLST56: 19897 0893 0E000000 .4byte .LVL93 19898 0897 EE000000 .4byte .LVL98 19899 089b 0100 .2byte 0x1 19900 089d 55 .byte 0x55 19901 089e F0000000 .4byte .LVL99 19902 08a2 76010000 .4byte .LVL105 19903 08a6 0100 .2byte 0x1 19904 08a8 55 .byte 0x55 19905 08a9 00000000 .4byte 0 19906 08ad 00000000 .4byte 0 19907 .LLST58: 19908 08b1 00000000 .4byte .LFB46 19909 08b5 04000000 .4byte .LCFI15 19910 08b9 0200 .2byte 0x2 19911 08bb 7D .byte 0x7d 19912 08bc 00 .sleb128 0 19913 08bd 04000000 .4byte .LCFI15 19914 08c1 06000000 .4byte .LCFI16 19915 08c5 0200 .2byte 0x2 19916 08c7 7D .byte 0x7d 19917 08c8 24 .sleb128 36 19918 08c9 06000000 .4byte .LCFI16 19919 08cd 5A000000 .4byte .LCFI17 19920 08d1 0300 .2byte 0x3 ARM GAS /tmp/ccjvgGVC.s page 824 19921 08d3 7D .byte 0x7d 19922 08d4 C800 .sleb128 72 19923 08d6 5A000000 .4byte .LCFI17 19924 08da 5E000000 .4byte .LCFI18 19925 08de 0200 .2byte 0x2 19926 08e0 7D .byte 0x7d 19927 08e1 24 .sleb128 36 19928 08e2 5E000000 .4byte .LCFI18 19929 08e6 54020000 .4byte .LFE46 19930 08ea 0300 .2byte 0x3 19931 08ec 7D .byte 0x7d 19932 08ed C800 .sleb128 72 19933 08ef 00000000 .4byte 0 19934 08f3 00000000 .4byte 0 19935 .LVUS59: 19936 08f7 00 .uleb128 0 19937 08f8 00 .uleb128 .LVU521 19938 08f9 00 .uleb128 .LVU521 19939 08fa 00 .uleb128 .LVU548 19940 08fb 00 .uleb128 .LVU548 19941 08fc 00 .uleb128 .LVU693 19942 08fd 00 .uleb128 .LVU693 19943 08fe 00 .uleb128 0 19944 .LLST59: 19945 08ff 00000000 .4byte .LVL108 19946 0903 24000000 .4byte .LVL110 19947 0907 0100 .2byte 0x1 19948 0909 50 .byte 0x50 19949 090a 24000000 .4byte .LVL110 19950 090e 5E000000 .4byte .LVL116 19951 0912 0100 .2byte 0x1 19952 0914 55 .byte 0x55 19953 0915 5E000000 .4byte .LVL116 19954 0919 34020000 .4byte .LVL138 19955 091d 0A00 .2byte 0xa 19956 091f F3 .byte 0xf3 19957 0920 03 .uleb128 0x3 19958 0921 F5 .byte 0xf5 19959 0922 00 .uleb128 0 19960 0923 29 .uleb128 0x29 19961 0924 F7 .byte 0xf7 19962 0925 37 .uleb128 0x37 19963 0926 F7 .byte 0xf7 19964 0927 00 .uleb128 0 19965 0928 9F .byte 0x9f 19966 0929 34020000 .4byte .LVL138 19967 092d 54020000 .4byte .LFE46 19968 0931 0100 .2byte 0x1 19969 0933 50 .byte 0x50 19970 0934 00000000 .4byte 0 19971 0938 00000000 .4byte 0 19972 .LVUS60: 19973 093c 00 .uleb128 0 19974 093d 00 .uleb128 .LVU522 19975 093e 00 .uleb128 .LVU522 19976 093f 00 .uleb128 .LVU693 19977 0940 00 .uleb128 .LVU693 ARM GAS /tmp/ccjvgGVC.s page 825 19978 0941 00 .uleb128 0 19979 .LLST60: 19980 0942 00000000 .4byte .LVL108 19981 0946 27000000 .4byte .LVL111-1 19982 094a 0100 .2byte 0x1 19983 094c 51 .byte 0x51 19984 094d 27000000 .4byte .LVL111-1 19985 0951 34020000 .4byte .LVL138 19986 0955 0200 .2byte 0x2 19987 0957 91 .byte 0x91 19988 0958 40 .sleb128 -64 19989 0959 34020000 .4byte .LVL138 19990 095d 54020000 .4byte .LFE46 19991 0961 0100 .2byte 0x1 19992 0963 51 .byte 0x51 19993 0964 00000000 .4byte 0 19994 0968 00000000 .4byte 0 19995 .LVUS61: 19996 096c 00 .uleb128 0 19997 096d 00 .uleb128 .LVU522 19998 096e 00 .uleb128 .LVU522 19999 096f 00 .uleb128 .LVU693 20000 0970 00 .uleb128 .LVU693 20001 0971 00 .uleb128 0 20002 .LLST61: 20003 0972 00000000 .4byte .LVL108 20004 0976 27000000 .4byte .LVL111-1 20005 097a 0100 .2byte 0x1 20006 097c 52 .byte 0x52 20007 097d 27000000 .4byte .LVL111-1 20008 0981 34020000 .4byte .LVL138 20009 0985 0200 .2byte 0x2 20010 0987 91 .byte 0x91 20011 0988 44 .sleb128 -60 20012 0989 34020000 .4byte .LVL138 20013 098d 54020000 .4byte .LFE46 20014 0991 0100 .2byte 0x1 20015 0993 52 .byte 0x52 20016 0994 00000000 .4byte 0 20017 0998 00000000 .4byte 0 20018 .LVUS62: 20019 099c 00 .uleb128 0 20020 099d 00 .uleb128 .LVU522 20021 099e 00 .uleb128 .LVU522 20022 099f 00 .uleb128 .LVU544 20023 09a0 00 .uleb128 .LVU544 20024 09a1 00 .uleb128 .LVU693 20025 09a2 00 .uleb128 .LVU693 20026 09a3 00 .uleb128 0 20027 .LLST62: 20028 09a4 00000000 .4byte .LVL108 20029 09a8 27000000 .4byte .LVL111-1 20030 09ac 0100 .2byte 0x1 20031 09ae 53 .byte 0x53 20032 09af 27000000 .4byte .LVL111-1 20033 09b3 4C000000 .4byte .LVL114 20034 09b7 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 826 20035 09b9 5A .byte 0x5a 20036 09ba 4C000000 .4byte .LVL114 20037 09be 34020000 .4byte .LVL138 20038 09c2 0A00 .2byte 0xa 20039 09c4 F3 .byte 0xf3 20040 09c5 03 .uleb128 0x3 20041 09c6 F5 .byte 0xf5 20042 09c7 03 .uleb128 0x3 20043 09c8 29 .uleb128 0x29 20044 09c9 F7 .byte 0xf7 20045 09ca 3E .uleb128 0x3e 20046 09cb F7 .byte 0xf7 20047 09cc 00 .uleb128 0 20048 09cd 9F .byte 0x9f 20049 09ce 34020000 .4byte .LVL138 20050 09d2 54020000 .4byte .LFE46 20051 09d6 0100 .2byte 0x1 20052 09d8 53 .byte 0x53 20053 09d9 00000000 .4byte 0 20054 09dd 00000000 .4byte 0 20055 .LVUS63: 20056 09e1 00 .uleb128 0 20057 09e2 00 .uleb128 .LVU544 20058 09e3 00 .uleb128 .LVU548 20059 09e4 00 .uleb128 .LVU586 20060 09e5 00 .uleb128 .LVU587 20061 09e6 00 .uleb128 .LVU590 20062 09e7 00 .uleb128 .LVU693 20063 09e8 00 .uleb128 0 20064 .LLST63: 20065 09e9 00000000 .4byte .LVL108 20066 09ed 4C000000 .4byte .LVL114 20067 09f1 0200 .2byte 0x2 20068 09f3 91 .byte 0x91 20069 09f4 00 .sleb128 0 20070 09f5 5E000000 .4byte .LVL116 20071 09f9 D6000000 .4byte .LVL120 20072 09fd 0200 .2byte 0x2 20073 09ff 91 .byte 0x91 20074 0a00 00 .sleb128 0 20075 0a01 D8000000 .4byte .LVL121 20076 0a05 DE000000 .4byte .LVL122 20077 0a09 0200 .2byte 0x2 20078 0a0b 91 .byte 0x91 20079 0a0c 00 .sleb128 0 20080 0a0d 34020000 .4byte .LVL138 20081 0a11 54020000 .4byte .LFE46 20082 0a15 0200 .2byte 0x2 20083 0a17 91 .byte 0x91 20084 0a18 00 .sleb128 0 20085 0a19 00000000 .4byte 0 20086 0a1d 00000000 .4byte 0 20087 .LVUS64: 20088 0a21 00 .uleb128 .LVU517 20089 0a22 00 .uleb128 .LVU547 20090 0a23 00 .uleb128 .LVU548 20091 0a24 00 .uleb128 .LVU693 ARM GAS /tmp/ccjvgGVC.s page 827 20092 .LLST64: 20093 0a25 22000000 .4byte .LVL109 20094 0a29 56000000 .4byte .LVL115 20095 0a2d 0100 .2byte 0x1 20096 0a2f 56 .byte 0x56 20097 0a30 5E000000 .4byte .LVL116 20098 0a34 34020000 .4byte .LVL138 20099 0a38 0100 .2byte 0x1 20100 0a3a 56 .byte 0x56 20101 0a3b 00000000 .4byte 0 20102 0a3f 00000000 .4byte 0 20103 .LVUS65: 20104 0a43 02 .uleb128 .LVU509 20105 0a44 00 .uleb128 .LVU517 20106 0a45 00 .uleb128 .LVU693 20107 0a46 00 .uleb128 .LVU695 20108 .LLST65: 20109 0a47 00000000 .4byte .LVL108 20110 0a4b 22000000 .4byte .LVL109 20111 0a4f 0100 .2byte 0x1 20112 0a51 50 .byte 0x50 20113 0a52 34020000 .4byte .LVL138 20114 0a56 38020000 .4byte .LVL139 20115 0a5a 0100 .2byte 0x1 20116 0a5c 50 .byte 0x50 20117 0a5d 00000000 .4byte 0 20118 0a61 00000000 .4byte 0 20119 .LVUS66: 20120 0a65 01 .uleb128 .LVU523 20121 0a66 00 .uleb128 .LVU530 20122 .LLST66: 20123 0a67 28000000 .4byte .LVL111 20124 0a6b 3C000000 .4byte .LVL112 20125 0a6f 0900 .2byte 0x9 20126 0a71 77 .byte 0x77 20127 0a72 00 .sleb128 0 20128 0a73 03 .byte 0x3 20129 0a74 58000000 .4byte _ZL9_i2c_devs+88 20130 0a78 22 .byte 0x22 20131 0a79 9F .byte 0x9f 20132 0a7a 00000000 .4byte 0 20133 0a7e 00000000 .4byte 0 20134 .LVUS67: 20135 0a82 02 .uleb128 .LVU532 20136 0a83 00 .uleb128 .LVU544 20137 0a84 00 .uleb128 .LVU548 20138 0a85 00 .uleb128 .LVU602 20139 0a86 00 .uleb128 .LVU603 20140 0a87 04 .uleb128 .LVU635 20141 0a88 00 .uleb128 .LVU637 20142 0a89 00 .uleb128 .LVU654 20143 0a8a 00 .uleb128 .LVU655 20144 0a8b 00 .uleb128 .LVU693 20145 .LLST67: 20146 0a8c 3C000000 .4byte .LVL112 20147 0a90 4C000000 .4byte .LVL114 20148 0a94 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 828 20149 0a96 56 .byte 0x56 20150 0a97 5E000000 .4byte .LVL116 20151 0a9b 0C010000 .4byte .LVL126 20152 0a9f 0100 .2byte 0x1 20153 0aa1 56 .byte 0x56 20154 0aa2 0E010000 .4byte .LVL127 20155 0aa6 72010000 .4byte .LVL130 20156 0aaa 0100 .2byte 0x1 20157 0aac 56 .byte 0x56 20158 0aad 76010000 .4byte .LVL131 20159 0ab1 BE010000 .4byte .LVL135 20160 0ab5 0100 .2byte 0x1 20161 0ab7 56 .byte 0x56 20162 0ab8 C0010000 .4byte .LVL136 20163 0abc 34020000 .4byte .LVL138 20164 0ac0 0100 .2byte 0x1 20165 0ac2 56 .byte 0x56 20166 0ac3 00000000 .4byte 0 20167 0ac7 00000000 .4byte 0 20168 .LVUS68: 20169 0acb 02 .uleb128 .LVU532 20170 0acc 00 .uleb128 .LVU544 20171 0acd 00 .uleb128 .LVU548 20172 0ace 00 .uleb128 .LVU602 20173 0acf 00 .uleb128 .LVU603 20174 0ad0 04 .uleb128 .LVU635 20175 0ad1 00 .uleb128 .LVU637 20176 0ad2 00 .uleb128 .LVU654 20177 0ad3 00 .uleb128 .LVU655 20178 0ad4 00 .uleb128 .LVU693 20179 .LLST68: 20180 0ad5 3C000000 .4byte .LVL112 20181 0ad9 4C000000 .4byte .LVL114 20182 0add 0700 .2byte 0x7 20183 0adf 91 .byte 0x91 20184 0ae0 40 .sleb128 -64 20185 0ae1 94 .byte 0x94 20186 0ae2 02 .byte 0x2 20187 0ae3 31 .byte 0x31 20188 0ae4 24 .byte 0x24 20189 0ae5 9F .byte 0x9f 20190 0ae6 5E000000 .4byte .LVL116 20191 0aea 0C010000 .4byte .LVL126 20192 0aee 0700 .2byte 0x7 20193 0af0 91 .byte 0x91 20194 0af1 40 .sleb128 -64 20195 0af2 94 .byte 0x94 20196 0af3 02 .byte 0x2 20197 0af4 31 .byte 0x31 20198 0af5 24 .byte 0x24 20199 0af6 9F .byte 0x9f 20200 0af7 0E010000 .4byte .LVL127 20201 0afb 72010000 .4byte .LVL130 20202 0aff 0700 .2byte 0x7 20203 0b01 91 .byte 0x91 20204 0b02 40 .sleb128 -64 20205 0b03 94 .byte 0x94 ARM GAS /tmp/ccjvgGVC.s page 829 20206 0b04 02 .byte 0x2 20207 0b05 31 .byte 0x31 20208 0b06 24 .byte 0x24 20209 0b07 9F .byte 0x9f 20210 0b08 76010000 .4byte .LVL131 20211 0b0c BE010000 .4byte .LVL135 20212 0b10 0700 .2byte 0x7 20213 0b12 91 .byte 0x91 20214 0b13 40 .sleb128 -64 20215 0b14 94 .byte 0x94 20216 0b15 02 .byte 0x2 20217 0b16 31 .byte 0x31 20218 0b17 24 .byte 0x24 20219 0b18 9F .byte 0x9f 20220 0b19 C0010000 .4byte .LVL136 20221 0b1d 34020000 .4byte .LVL138 20222 0b21 0700 .2byte 0x7 20223 0b23 91 .byte 0x91 20224 0b24 40 .sleb128 -64 20225 0b25 94 .byte 0x94 20226 0b26 02 .byte 0x2 20227 0b27 31 .byte 0x31 20228 0b28 24 .byte 0x24 20229 0b29 9F .byte 0x9f 20230 0b2a 00000000 .4byte 0 20231 0b2e 00000000 .4byte 0 20232 .LVUS69: 20233 0b32 02 .uleb128 .LVU532 20234 0b33 00 .uleb128 .LVU544 20235 0b34 00 .uleb128 .LVU548 20236 0b35 00 .uleb128 .LVU602 20237 0b36 00 .uleb128 .LVU603 20238 0b37 04 .uleb128 .LVU635 20239 0b38 00 .uleb128 .LVU637 20240 0b39 00 .uleb128 .LVU654 20241 0b3a 00 .uleb128 .LVU655 20242 0b3b 00 .uleb128 .LVU693 20243 .LLST69: 20244 0b3c 3C000000 .4byte .LVL112 20245 0b40 4C000000 .4byte .LVL114 20246 0b44 0200 .2byte 0x2 20247 0b46 91 .byte 0x91 20248 0b47 44 .sleb128 -60 20249 0b48 5E000000 .4byte .LVL116 20250 0b4c 0C010000 .4byte .LVL126 20251 0b50 0200 .2byte 0x2 20252 0b52 91 .byte 0x91 20253 0b53 44 .sleb128 -60 20254 0b54 0E010000 .4byte .LVL127 20255 0b58 72010000 .4byte .LVL130 20256 0b5c 0200 .2byte 0x2 20257 0b5e 91 .byte 0x91 20258 0b5f 44 .sleb128 -60 20259 0b60 76010000 .4byte .LVL131 20260 0b64 BE010000 .4byte .LVL135 20261 0b68 0200 .2byte 0x2 20262 0b6a 91 .byte 0x91 ARM GAS /tmp/ccjvgGVC.s page 830 20263 0b6b 44 .sleb128 -60 20264 0b6c C0010000 .4byte .LVL136 20265 0b70 34020000 .4byte .LVL138 20266 0b74 0200 .2byte 0x2 20267 0b76 91 .byte 0x91 20268 0b77 44 .sleb128 -60 20269 0b78 00000000 .4byte 0 20270 0b7c 00000000 .4byte 0 20271 .LVUS70: 20272 0b80 02 .uleb128 .LVU532 20273 0b81 00 .uleb128 .LVU544 20274 0b82 00 .uleb128 .LVU548 20275 0b83 00 .uleb128 .LVU595 20276 0b84 00 .uleb128 .LVU595 20277 0b85 00 .uleb128 .LVU602 20278 0b86 00 .uleb128 .LVU603 20279 0b87 04 .uleb128 .LVU635 20280 0b88 00 .uleb128 .LVU637 20281 0b89 00 .uleb128 .LVU654 20282 0b8a 00 .uleb128 .LVU655 20283 0b8b 00 .uleb128 .LVU693 20284 .LLST70: 20285 0b8c 3C000000 .4byte .LVL112 20286 0b90 4C000000 .4byte .LVL114 20287 0b94 0100 .2byte 0x1 20288 0b96 5A .byte 0x5a 20289 0b97 5E000000 .4byte .LVL116 20290 0b9b F2000000 .4byte .LVL125 20291 0b9f 0100 .2byte 0x1 20292 0ba1 5A .byte 0x5a 20293 0ba2 F2000000 .4byte .LVL125 20294 0ba6 0C010000 .4byte .LVL126 20295 0baa 0A00 .2byte 0xa 20296 0bac F3 .byte 0xf3 20297 0bad 03 .uleb128 0x3 20298 0bae F5 .byte 0xf5 20299 0baf 03 .uleb128 0x3 20300 0bb0 29 .uleb128 0x29 20301 0bb1 F7 .byte 0xf7 20302 0bb2 3E .uleb128 0x3e 20303 0bb3 F7 .byte 0xf7 20304 0bb4 00 .uleb128 0 20305 0bb5 9F .byte 0x9f 20306 0bb6 0E010000 .4byte .LVL127 20307 0bba 72010000 .4byte .LVL130 20308 0bbe 0A00 .2byte 0xa 20309 0bc0 F3 .byte 0xf3 20310 0bc1 03 .uleb128 0x3 20311 0bc2 F5 .byte 0xf5 20312 0bc3 03 .uleb128 0x3 20313 0bc4 29 .uleb128 0x29 20314 0bc5 F7 .byte 0xf7 20315 0bc6 3E .uleb128 0x3e 20316 0bc7 F7 .byte 0xf7 20317 0bc8 00 .uleb128 0 20318 0bc9 9F .byte 0x9f 20319 0bca 76010000 .4byte .LVL131 ARM GAS /tmp/ccjvgGVC.s page 831 20320 0bce BE010000 .4byte .LVL135 20321 0bd2 0A00 .2byte 0xa 20322 0bd4 F3 .byte 0xf3 20323 0bd5 03 .uleb128 0x3 20324 0bd6 F5 .byte 0xf5 20325 0bd7 03 .uleb128 0x3 20326 0bd8 29 .uleb128 0x29 20327 0bd9 F7 .byte 0xf7 20328 0bda 3E .uleb128 0x3e 20329 0bdb F7 .byte 0xf7 20330 0bdc 00 .uleb128 0 20331 0bdd 9F .byte 0x9f 20332 0bde C0010000 .4byte .LVL136 20333 0be2 34020000 .4byte .LVL138 20334 0be6 0A00 .2byte 0xa 20335 0be8 F3 .byte 0xf3 20336 0be9 03 .uleb128 0x3 20337 0bea F5 .byte 0xf5 20338 0beb 03 .uleb128 0x3 20339 0bec 29 .uleb128 0x29 20340 0bed F7 .byte 0xf7 20341 0bee 3E .uleb128 0x3e 20342 0bef F7 .byte 0xf7 20343 0bf0 00 .uleb128 0 20344 0bf1 9F .byte 0x9f 20345 0bf2 00000000 .4byte 0 20346 0bf6 00000000 .4byte 0 20347 .LVUS71: 20348 0bfa 02 .uleb128 .LVU532 20349 0bfb 00 .uleb128 .LVU544 20350 0bfc 00 .uleb128 .LVU548 20351 0bfd 00 .uleb128 .LVU602 20352 0bfe 00 .uleb128 .LVU603 20353 0bff 04 .uleb128 .LVU635 20354 0c00 00 .uleb128 .LVU637 20355 0c01 00 .uleb128 .LVU654 20356 0c02 00 .uleb128 .LVU655 20357 0c03 00 .uleb128 .LVU693 20358 .LLST71: 20359 0c04 3C000000 .4byte .LVL112 20360 0c08 4C000000 .4byte .LVL114 20361 0c0c 0100 .2byte 0x1 20362 0c0e 58 .byte 0x58 20363 0c0f 5E000000 .4byte .LVL116 20364 0c13 0C010000 .4byte .LVL126 20365 0c17 0100 .2byte 0x1 20366 0c19 58 .byte 0x58 20367 0c1a 0E010000 .4byte .LVL127 20368 0c1e 72010000 .4byte .LVL130 20369 0c22 0100 .2byte 0x1 20370 0c24 58 .byte 0x58 20371 0c25 76010000 .4byte .LVL131 20372 0c29 BE010000 .4byte .LVL135 20373 0c2d 0100 .2byte 0x1 20374 0c2f 58 .byte 0x58 20375 0c30 C0010000 .4byte .LVL136 20376 0c34 34020000 .4byte .LVL138 ARM GAS /tmp/ccjvgGVC.s page 832 20377 0c38 0100 .2byte 0x1 20378 0c3a 58 .byte 0x58 20379 0c3b 00000000 .4byte 0 20380 0c3f 00000000 .4byte 0 20381 .LVUS72: 20382 0c43 00 .uleb128 .LVU540 20383 0c44 00 .uleb128 .LVU544 20384 0c45 00 .uleb128 .LVU548 20385 0c46 00 .uleb128 .LVU602 20386 0c47 00 .uleb128 .LVU603 20387 0c48 04 .uleb128 .LVU635 20388 0c49 00 .uleb128 .LVU637 20389 0c4a 00 .uleb128 .LVU654 20390 0c4b 00 .uleb128 .LVU655 20391 0c4c 00 .uleb128 .LVU693 20392 .LLST72: 20393 0c4d 44000000 .4byte .LVL113 20394 0c51 4C000000 .4byte .LVL114 20395 0c55 0100 .2byte 0x1 20396 0c57 57 .byte 0x57 20397 0c58 5E000000 .4byte .LVL116 20398 0c5c 0C010000 .4byte .LVL126 20399 0c60 0100 .2byte 0x1 20400 0c62 57 .byte 0x57 20401 0c63 0E010000 .4byte .LVL127 20402 0c67 72010000 .4byte .LVL130 20403 0c6b 0100 .2byte 0x1 20404 0c6d 57 .byte 0x57 20405 0c6e 76010000 .4byte .LVL131 20406 0c72 BE010000 .4byte .LVL135 20407 0c76 0100 .2byte 0x1 20408 0c78 57 .byte 0x57 20409 0c79 C0010000 .4byte .LVL136 20410 0c7d 34020000 .4byte .LVL138 20411 0c81 0100 .2byte 0x1 20412 0c83 57 .byte 0x57 20413 0c84 00000000 .4byte 0 20414 0c88 00000000 .4byte 0 20415 .LVUS73: 20416 0c8c 01 .uleb128 .LVU578 20417 0c8d 00 .uleb128 .LVU602 20418 0c8e 00 .uleb128 .LVU603 20419 0c8f 00 .uleb128 .LVU615 20420 0c90 00 .uleb128 .LVU637 20421 0c91 00 .uleb128 .LVU645 20422 .LLST73: 20423 0c92 BE000000 .4byte .LVL118 20424 0c96 0C010000 .4byte .LVL126 20425 0c9a 0100 .2byte 0x1 20426 0c9c 56 .byte 0x56 20427 0c9d 0E010000 .4byte .LVL127 20428 0ca1 36010000 .4byte .LVL129 20429 0ca5 0100 .2byte 0x1 20430 0ca7 56 .byte 0x56 20431 0ca8 76010000 .4byte .LVL131 20432 0cac 9C010000 .4byte .LVL133 20433 0cb0 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 833 20434 0cb2 56 .byte 0x56 20435 0cb3 00000000 .4byte 0 20436 0cb7 00000000 .4byte 0 20437 .LVUS74: 20438 0cbb 01 .uleb128 .LVU578 20439 0cbc 00 .uleb128 .LVU602 20440 0cbd 00 .uleb128 .LVU603 20441 0cbe 00 .uleb128 .LVU615 20442 0cbf 00 .uleb128 .LVU637 20443 0cc0 00 .uleb128 .LVU645 20444 .LLST74: 20445 0cc1 BE000000 .4byte .LVL118 20446 0cc5 0C010000 .4byte .LVL126 20447 0cc9 0700 .2byte 0x7 20448 0ccb 91 .byte 0x91 20449 0ccc 40 .sleb128 -64 20450 0ccd 94 .byte 0x94 20451 0cce 02 .byte 0x2 20452 0ccf 31 .byte 0x31 20453 0cd0 24 .byte 0x24 20454 0cd1 9F .byte 0x9f 20455 0cd2 0E010000 .4byte .LVL127 20456 0cd6 36010000 .4byte .LVL129 20457 0cda 0700 .2byte 0x7 20458 0cdc 91 .byte 0x91 20459 0cdd 40 .sleb128 -64 20460 0cde 94 .byte 0x94 20461 0cdf 02 .byte 0x2 20462 0ce0 31 .byte 0x31 20463 0ce1 24 .byte 0x24 20464 0ce2 9F .byte 0x9f 20465 0ce3 76010000 .4byte .LVL131 20466 0ce7 9C010000 .4byte .LVL133 20467 0ceb 0700 .2byte 0x7 20468 0ced 91 .byte 0x91 20469 0cee 40 .sleb128 -64 20470 0cef 94 .byte 0x94 20471 0cf0 02 .byte 0x2 20472 0cf1 31 .byte 0x31 20473 0cf2 24 .byte 0x24 20474 0cf3 9F .byte 0x9f 20475 0cf4 00000000 .4byte 0 20476 0cf8 00000000 .4byte 0 20477 .LVUS75: 20478 0cfc 01 .uleb128 .LVU578 20479 0cfd 00 .uleb128 .LVU602 20480 0cfe 00 .uleb128 .LVU603 20481 0cff 00 .uleb128 .LVU615 20482 0d00 00 .uleb128 .LVU637 20483 0d01 00 .uleb128 .LVU645 20484 .LLST75: 20485 0d02 BE000000 .4byte .LVL118 20486 0d06 0C010000 .4byte .LVL126 20487 0d0a 0100 .2byte 0x1 20488 0d0c 58 .byte 0x58 20489 0d0d 0E010000 .4byte .LVL127 20490 0d11 36010000 .4byte .LVL129 ARM GAS /tmp/ccjvgGVC.s page 834 20491 0d15 0100 .2byte 0x1 20492 0d17 58 .byte 0x58 20493 0d18 76010000 .4byte .LVL131 20494 0d1c 9C010000 .4byte .LVL133 20495 0d20 0100 .2byte 0x1 20496 0d22 58 .byte 0x58 20497 0d23 00000000 .4byte 0 20498 0d27 00000000 .4byte 0 20499 .LVUS76: 20500 0d2b 01 .uleb128 .LVU578 20501 0d2c 00 .uleb128 .LVU602 20502 0d2d 00 .uleb128 .LVU603 20503 0d2e 00 .uleb128 .LVU615 20504 0d2f 00 .uleb128 .LVU637 20505 0d30 00 .uleb128 .LVU645 20506 .LLST76: 20507 0d31 BE000000 .4byte .LVL118 20508 0d35 0C010000 .4byte .LVL126 20509 0d39 0100 .2byte 0x1 20510 0d3b 57 .byte 0x57 20511 0d3c 0E010000 .4byte .LVL127 20512 0d40 36010000 .4byte .LVL129 20513 0d44 0100 .2byte 0x1 20514 0d46 57 .byte 0x57 20515 0d47 76010000 .4byte .LVL131 20516 0d4b 9C010000 .4byte .LVL133 20517 0d4f 0100 .2byte 0x1 20518 0d51 57 .byte 0x57 20519 0d52 00000000 .4byte 0 20520 0d56 00000000 .4byte 0 20521 .LVUS77: 20522 0d5a 00 .uleb128 .LVU581 20523 0d5b 00 .uleb128 .LVU593 20524 .LLST77: 20525 0d5c C0000000 .4byte .LVL119 20526 0d60 E8000000 .4byte .LVL123 20527 0d64 0100 .2byte 0x1 20528 0d66 51 .byte 0x51 20529 0d67 00000000 .4byte 0 20530 0d6b 00000000 .4byte 0 20531 .LLST78: 20532 0d6f 00000000 .4byte .LFB51 20533 0d73 04000000 .4byte .LCFI19 20534 0d77 0200 .2byte 0x2 20535 0d79 7D .byte 0x7d 20536 0d7a 00 .sleb128 0 20537 0d7b 04000000 .4byte .LCFI19 20538 0d7f 06000000 .4byte .LCFI20 20539 0d83 0200 .2byte 0x2 20540 0d85 7D .byte 0x7d 20541 0d86 24 .sleb128 36 20542 0d87 06000000 .4byte .LCFI20 20543 0d8b 0E010000 .4byte .LCFI21 20544 0d8f 0300 .2byte 0x3 20545 0d91 7D .byte 0x7d 20546 0d92 D800 .sleb128 88 20547 0d94 0E010000 .4byte .LCFI21 ARM GAS /tmp/ccjvgGVC.s page 835 20548 0d98 12010000 .4byte .LCFI22 20549 0d9c 0200 .2byte 0x2 20550 0d9e 7D .byte 0x7d 20551 0d9f 24 .sleb128 36 20552 0da0 12010000 .4byte .LCFI22 20553 0da4 50030000 .4byte .LFE51 20554 0da8 0300 .2byte 0x3 20555 0daa 7D .byte 0x7d 20556 0dab D800 .sleb128 88 20557 0dad 00000000 .4byte 0 20558 0db1 00000000 .4byte 0 20559 .LVUS79: 20560 0db5 00 .uleb128 0 20561 0db6 00 .uleb128 .LVU710 20562 0db7 00 .uleb128 .LVU710 20563 0db8 00 .uleb128 .LVU796 20564 0db9 00 .uleb128 .LVU796 20565 0dba 00 .uleb128 .LVU978 20566 0dbb 00 .uleb128 .LVU978 20567 0dbc 00 .uleb128 0 20568 .LLST79: 20569 0dbd 00000000 .4byte .LVL140 20570 0dc1 24000000 .4byte .LVL142 20571 0dc5 0100 .2byte 0x1 20572 0dc7 50 .byte 0x50 20573 0dc8 24000000 .4byte .LVL142 20574 0dcc 12010000 .4byte .LVL161 20575 0dd0 0100 .2byte 0x1 20576 0dd2 59 .byte 0x59 20577 0dd3 12010000 .4byte .LVL161 20578 0dd7 44030000 .4byte .LVL180 20579 0ddb 0A00 .2byte 0xa 20580 0ddd F3 .byte 0xf3 20581 0dde 03 .uleb128 0x3 20582 0ddf F5 .byte 0xf5 20583 0de0 00 .uleb128 0 20584 0de1 29 .uleb128 0x29 20585 0de2 F7 .byte 0xf7 20586 0de3 37 .uleb128 0x37 20587 0de4 F7 .byte 0xf7 20588 0de5 00 .uleb128 0 20589 0de6 9F .byte 0x9f 20590 0de7 44030000 .4byte .LVL180 20591 0deb 50030000 .4byte .LFE51 20592 0def 0100 .2byte 0x1 20593 0df1 50 .byte 0x50 20594 0df2 00000000 .4byte 0 20595 0df6 00000000 .4byte 0 20596 .LVUS80: 20597 0dfa 00 .uleb128 0 20598 0dfb 00 .uleb128 .LVU711 20599 0dfc 00 .uleb128 .LVU711 20600 0dfd 00 .uleb128 .LVU789 20601 0dfe 00 .uleb128 .LVU789 20602 0dff 00 .uleb128 .LVU978 20603 0e00 00 .uleb128 .LVU978 20604 0e01 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 836 20605 .LLST80: 20606 0e02 00000000 .4byte .LVL140 20607 0e06 27000000 .4byte .LVL143-1 20608 0e0a 0100 .2byte 0x1 20609 0e0c 51 .byte 0x51 20610 0e0d 27000000 .4byte .LVL143-1 20611 0e11 F4000000 .4byte .LVL157 20612 0e15 0300 .2byte 0x3 20613 0e17 91 .byte 0x91 20614 0e18 B07F .sleb128 -80 20615 0e1a F4000000 .4byte .LVL157 20616 0e1e 44030000 .4byte .LVL180 20617 0e22 0A00 .2byte 0xa 20618 0e24 F3 .byte 0xf3 20619 0e25 03 .uleb128 0x3 20620 0e26 F5 .byte 0xf5 20621 0e27 01 .uleb128 0x1 20622 0e28 29 .uleb128 0x29 20623 0e29 F7 .byte 0xf7 20624 0e2a 3E .uleb128 0x3e 20625 0e2b F7 .byte 0xf7 20626 0e2c 00 .uleb128 0 20627 0e2d 9F .byte 0x9f 20628 0e2e 44030000 .4byte .LVL180 20629 0e32 50030000 .4byte .LFE51 20630 0e36 0100 .2byte 0x1 20631 0e38 51 .byte 0x51 20632 0e39 00000000 .4byte 0 20633 0e3d 00000000 .4byte 0 20634 .LVUS81: 20635 0e41 00 .uleb128 0 20636 0e42 00 .uleb128 .LVU711 20637 0e43 00 .uleb128 .LVU711 20638 0e44 00 .uleb128 .LVU792 20639 0e45 00 .uleb128 .LVU792 20640 0e46 00 .uleb128 .LVU796 20641 0e47 00 .uleb128 .LVU796 20642 0e48 00 .uleb128 .LVU821 20643 0e49 00 .uleb128 .LVU821 20644 0e4a 00 .uleb128 .LVU835 20645 0e4b 00 .uleb128 .LVU835 20646 0e4c 00 .uleb128 .LVU895 20647 0e4d 00 .uleb128 .LVU895 20648 0e4e 00 .uleb128 .LVU978 20649 0e4f 00 .uleb128 .LVU978 20650 0e50 00 .uleb128 0 20651 .LLST81: 20652 0e51 00000000 .4byte .LVL140 20653 0e55 27000000 .4byte .LVL143-1 20654 0e59 0100 .2byte 0x1 20655 0e5b 52 .byte 0x52 20656 0e5c 27000000 .4byte .LVL143-1 20657 0e60 00010000 .4byte .LVL158 20658 0e64 0300 .2byte 0x3 20659 0e66 91 .byte 0x91 20660 0e67 B47F .sleb128 -76 20661 0e69 00010000 .4byte .LVL158 ARM GAS /tmp/ccjvgGVC.s page 837 20662 0e6d 12010000 .4byte .LVL161 20663 0e71 0A00 .2byte 0xa 20664 0e73 F3 .byte 0xf3 20665 0e74 03 .uleb128 0x3 20666 0e75 F5 .byte 0xf5 20667 0e76 02 .uleb128 0x2 20668 0e77 29 .uleb128 0x29 20669 0e78 F7 .byte 0xf7 20670 0e79 30 .uleb128 0x30 20671 0e7a F7 .byte 0xf7 20672 0e7b 00 .uleb128 0 20673 0e7c 9F .byte 0x9f 20674 0e7d 12010000 .4byte .LVL161 20675 0e81 64010000 .4byte .LVL165 20676 0e85 0300 .2byte 0x3 20677 0e87 91 .byte 0x91 20678 0e88 B47F .sleb128 -76 20679 0e8a 64010000 .4byte .LVL165 20680 0e8e 7C010000 .4byte .LVL167 20681 0e92 0A00 .2byte 0xa 20682 0e94 F3 .byte 0xf3 20683 0e95 03 .uleb128 0x3 20684 0e96 F5 .byte 0xf5 20685 0e97 02 .uleb128 0x2 20686 0e98 29 .uleb128 0x29 20687 0e99 F7 .byte 0xf7 20688 0e9a 30 .uleb128 0x30 20689 0e9b F7 .byte 0xf7 20690 0e9c 00 .uleb128 0 20691 0e9d 9F .byte 0x9f 20692 0e9e 7C010000 .4byte .LVL167 20693 0ea2 3E020000 .4byte .LVL173 20694 0ea6 0300 .2byte 0x3 20695 0ea8 91 .byte 0x91 20696 0ea9 B47F .sleb128 -76 20697 0eab 3E020000 .4byte .LVL173 20698 0eaf 44030000 .4byte .LVL180 20699 0eb3 0A00 .2byte 0xa 20700 0eb5 F3 .byte 0xf3 20701 0eb6 03 .uleb128 0x3 20702 0eb7 F5 .byte 0xf5 20703 0eb8 02 .uleb128 0x2 20704 0eb9 29 .uleb128 0x29 20705 0eba F7 .byte 0xf7 20706 0ebb 30 .uleb128 0x30 20707 0ebc F7 .byte 0xf7 20708 0ebd 00 .uleb128 0 20709 0ebe 9F .byte 0x9f 20710 0ebf 44030000 .4byte .LVL180 20711 0ec3 50030000 .4byte .LFE51 20712 0ec7 0100 .2byte 0x1 20713 0ec9 52 .byte 0x52 20714 0eca 00000000 .4byte 0 20715 0ece 00000000 .4byte 0 20716 .LVUS82: 20717 0ed2 00 .uleb128 0 20718 0ed3 00 .uleb128 .LVU711 ARM GAS /tmp/ccjvgGVC.s page 838 20719 0ed4 00 .uleb128 .LVU711 20720 0ed5 00 .uleb128 .LVU785 20721 0ed6 00 .uleb128 .LVU785 20722 0ed7 00 .uleb128 .LVU978 20723 0ed8 00 .uleb128 .LVU978 20724 0ed9 00 .uleb128 0 20725 .LLST82: 20726 0eda 00000000 .4byte .LVL140 20727 0ede 27000000 .4byte .LVL143-1 20728 0ee2 0100 .2byte 0x1 20729 0ee4 53 .byte 0x53 20730 0ee5 27000000 .4byte .LVL143-1 20731 0ee9 E4000000 .4byte .LVL156 20732 0eed 0100 .2byte 0x1 20733 0eef 5A .byte 0x5a 20734 0ef0 E4000000 .4byte .LVL156 20735 0ef4 44030000 .4byte .LVL180 20736 0ef8 0A00 .2byte 0xa 20737 0efa F3 .byte 0xf3 20738 0efb 03 .uleb128 0x3 20739 0efc F5 .byte 0xf5 20740 0efd 03 .uleb128 0x3 20741 0efe 29 .uleb128 0x29 20742 0eff F7 .byte 0xf7 20743 0f00 3E .uleb128 0x3e 20744 0f01 F7 .byte 0xf7 20745 0f02 00 .uleb128 0 20746 0f03 9F .byte 0x9f 20747 0f04 44030000 .4byte .LVL180 20748 0f08 50030000 .4byte .LFE51 20749 0f0c 0100 .2byte 0x1 20750 0f0e 53 .byte 0x53 20751 0f0f 00000000 .4byte 0 20752 0f13 00000000 .4byte 0 20753 .LVUS83: 20754 0f17 00 .uleb128 0 20755 0f18 00 .uleb128 .LVU776 20756 0f19 00 .uleb128 .LVU777 20757 0f1a 00 .uleb128 .LVU780 20758 0f1b 00 .uleb128 .LVU978 20759 0f1c 00 .uleb128 0 20760 .LLST83: 20761 0f1d 00000000 .4byte .LVL140 20762 0f21 C8000000 .4byte .LVL151 20763 0f25 0200 .2byte 0x2 20764 0f27 91 .byte 0x91 20765 0f28 00 .sleb128 0 20766 0f29 CA000000 .4byte .LVL152 20767 0f2d D0000000 .4byte .LVL153 20768 0f31 0200 .2byte 0x2 20769 0f33 91 .byte 0x91 20770 0f34 00 .sleb128 0 20771 0f35 44030000 .4byte .LVL180 20772 0f39 50030000 .4byte .LFE51 20773 0f3d 0200 .2byte 0x2 20774 0f3f 91 .byte 0x91 20775 0f40 00 .sleb128 0 ARM GAS /tmp/ccjvgGVC.s page 839 20776 0f41 00000000 .4byte 0 20777 0f45 00000000 .4byte 0 20778 .LVUS84: 20779 0f49 00 .uleb128 .LVU706 20780 0f4a 00 .uleb128 .LVU795 20781 0f4b 00 .uleb128 .LVU796 20782 0f4c 00 .uleb128 .LVU920 20783 0f4d 00 .uleb128 .LVU920 20784 0f4e 00 .uleb128 .LVU921 20785 0f4f 00 .uleb128 .LVU921 20786 0f50 00 .uleb128 .LVU940 20787 0f51 00 .uleb128 .LVU940 20788 0f52 00 .uleb128 .LVU942 20789 0f53 00 .uleb128 .LVU942 20790 0f54 00 .uleb128 .LVU978 20791 .LLST84: 20792 0f55 22000000 .4byte .LVL141 20793 0f59 0A010000 .4byte .LVL160 20794 0f5d 0100 .2byte 0x1 20795 0f5f 56 .byte 0x56 20796 0f60 12010000 .4byte .LVL161 20797 0f64 9C020000 .4byte .LVL175 20798 0f68 0100 .2byte 0x1 20799 0f6a 56 .byte 0x56 20800 0f6b 9C020000 .4byte .LVL175 20801 0f6f 9F020000 .4byte .LVL176-1 20802 0f73 0100 .2byte 0x1 20803 0f75 50 .byte 0x50 20804 0f76 9F020000 .4byte .LVL176-1 20805 0f7a D2020000 .4byte .LVL177 20806 0f7e 0100 .2byte 0x1 20807 0f80 56 .byte 0x56 20808 0f81 D2020000 .4byte .LVL177 20809 0f85 D5020000 .4byte .LVL178-1 20810 0f89 0100 .2byte 0x1 20811 0f8b 50 .byte 0x50 20812 0f8c D5020000 .4byte .LVL178-1 20813 0f90 44030000 .4byte .LVL180 20814 0f94 0100 .2byte 0x1 20815 0f96 56 .byte 0x56 20816 0f97 00000000 .4byte 0 20817 0f9b 00000000 .4byte 0 20818 .LVUS85: 20819 0f9f 02 .uleb128 .LVU698 20820 0fa0 00 .uleb128 .LVU706 20821 0fa1 00 .uleb128 .LVU978 20822 0fa2 00 .uleb128 .LVU980 20823 .LLST85: 20824 0fa3 00000000 .4byte .LVL140 20825 0fa7 22000000 .4byte .LVL141 20826 0fab 0100 .2byte 0x1 20827 0fad 50 .byte 0x50 20828 0fae 44030000 .4byte .LVL180 20829 0fb2 48030000 .4byte .LVL181 20830 0fb6 0100 .2byte 0x1 20831 0fb8 50 .byte 0x50 20832 0fb9 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 840 20833 0fbd 00000000 .4byte 0 20834 .LVUS86: 20835 0fc1 01 .uleb128 .LVU712 20836 0fc2 00 .uleb128 .LVU716 20837 0fc3 00 .uleb128 .LVU716 20838 0fc4 00 .uleb128 .LVU718 20839 0fc5 00 .uleb128 .LVU718 20840 0fc6 00 .uleb128 .LVU721 20841 0fc7 00 .uleb128 .LVU721 20842 0fc8 00 .uleb128 .LVU721 20843 .LLST86: 20844 0fc9 28000000 .4byte .LVL143 20845 0fcd 2E000000 .4byte .LVL144 20846 0fd1 0900 .2byte 0x9 20847 0fd3 75 .byte 0x75 20848 0fd4 00 .sleb128 0 20849 0fd5 03 .byte 0x3 20850 0fd6 58000000 .4byte _ZL9_i2c_devs+88 20851 0fda 22 .byte 0x22 20852 0fdb 9F .byte 0x9f 20853 0fdc 2E000000 .4byte .LVL144 20854 0fe0 30000000 .4byte .LVL145 20855 0fe4 0900 .2byte 0x9 20856 0fe6 71 .byte 0x71 20857 0fe7 00 .sleb128 0 20858 0fe8 03 .byte 0x3 20859 0fe9 00000000 .4byte _ZL9_i2c_devs 20860 0fed 22 .byte 0x22 20861 0fee 9F .byte 0x9f 20862 0fef 30000000 .4byte .LVL145 20863 0ff3 39000000 .4byte .LVL146-1 20864 0ff7 0100 .2byte 0x1 20865 0ff9 51 .byte 0x51 20866 0ffa 39000000 .4byte .LVL146-1 20867 0ffe 3A000000 .4byte .LVL146 20868 1002 0400 .2byte 0x4 20869 1004 76 .byte 0x76 20870 1005 D800 .sleb128 88 20871 1007 9F .byte 0x9f 20872 1008 00000000 .4byte 0 20873 100c 00000000 .4byte 0 20874 .LVUS87: 20875 1010 02 .uleb128 .LVU723 20876 1011 00 .uleb128 .LVU794 20877 1012 00 .uleb128 .LVU796 20878 1013 04 .uleb128 .LVU833 20879 1014 00 .uleb128 .LVU835 20880 1015 00 .uleb128 .LVU920 20881 1016 00 .uleb128 .LVU920 20882 1017 00 .uleb128 .LVU921 20883 1018 00 .uleb128 .LVU921 20884 1019 00 .uleb128 .LVU940 20885 101a 00 .uleb128 .LVU940 20886 101b 00 .uleb128 .LVU942 20887 101c 00 .uleb128 .LVU942 20888 101d 00 .uleb128 .LVU978 20889 .LLST87: ARM GAS /tmp/ccjvgGVC.s page 841 20890 101e 3A000000 .4byte .LVL146 20891 1022 04010000 .4byte .LVL159 20892 1026 0100 .2byte 0x1 20893 1028 56 .byte 0x56 20894 1029 12010000 .4byte .LVL161 20895 102d 78010000 .4byte .LVL166 20896 1031 0100 .2byte 0x1 20897 1033 56 .byte 0x56 20898 1034 7C010000 .4byte .LVL167 20899 1038 9C020000 .4byte .LVL175 20900 103c 0100 .2byte 0x1 20901 103e 56 .byte 0x56 20902 103f 9C020000 .4byte .LVL175 20903 1043 9F020000 .4byte .LVL176-1 20904 1047 0100 .2byte 0x1 20905 1049 50 .byte 0x50 20906 104a 9F020000 .4byte .LVL176-1 20907 104e D2020000 .4byte .LVL177 20908 1052 0100 .2byte 0x1 20909 1054 56 .byte 0x56 20910 1055 D2020000 .4byte .LVL177 20911 1059 D5020000 .4byte .LVL178-1 20912 105d 0100 .2byte 0x1 20913 105f 50 .byte 0x50 20914 1060 D5020000 .4byte .LVL178-1 20915 1064 44030000 .4byte .LVL180 20916 1068 0100 .2byte 0x1 20917 106a 56 .byte 0x56 20918 106b 00000000 .4byte 0 20919 106f 00000000 .4byte 0 20920 .LVUS88: 20921 1073 02 .uleb128 .LVU723 20922 1074 00 .uleb128 .LVU789 20923 1075 00 .uleb128 .LVU796 20924 1076 00 .uleb128 .LVU804 20925 1077 00 .uleb128 .LVU835 20926 1078 00 .uleb128 .LVU837 20927 .LLST88: 20928 1079 3A000000 .4byte .LVL146 20929 107d F4000000 .4byte .LVL157 20930 1081 0800 .2byte 0x8 20931 1083 91 .byte 0x91 20932 1084 B07F .sleb128 -80 20933 1086 94 .byte 0x94 20934 1087 02 .byte 0x2 20935 1088 31 .byte 0x31 20936 1089 24 .byte 0x24 20937 108a 9F .byte 0x9f 20938 108b 12010000 .4byte .LVL161 20939 108f 2A010000 .4byte .LVL162 20940 1093 0800 .2byte 0x8 20941 1095 91 .byte 0x91 20942 1096 B07F .sleb128 -80 20943 1098 94 .byte 0x94 20944 1099 02 .byte 0x2 20945 109a 31 .byte 0x31 20946 109b 24 .byte 0x24 ARM GAS /tmp/ccjvgGVC.s page 842 20947 109c 9F .byte 0x9f 20948 109d 7C010000 .4byte .LVL167 20949 10a1 84010000 .4byte .LVL168 20950 10a5 0800 .2byte 0x8 20951 10a7 91 .byte 0x91 20952 10a8 B07F .sleb128 -80 20953 10aa 94 .byte 0x94 20954 10ab 02 .byte 0x2 20955 10ac 31 .byte 0x31 20956 10ad 24 .byte 0x24 20957 10ae 9F .byte 0x9f 20958 10af 00000000 .4byte 0 20959 10b3 00000000 .4byte 0 20960 .LVUS89: 20961 10b7 02 .uleb128 .LVU723 20962 10b8 00 .uleb128 .LVU792 20963 10b9 00 .uleb128 .LVU796 20964 10ba 00 .uleb128 .LVU821 20965 10bb 00 .uleb128 .LVU835 20966 10bc 00 .uleb128 .LVU895 20967 .LLST89: 20968 10bd 3A000000 .4byte .LVL146 20969 10c1 00010000 .4byte .LVL158 20970 10c5 0300 .2byte 0x3 20971 10c7 91 .byte 0x91 20972 10c8 B47F .sleb128 -76 20973 10ca 12010000 .4byte .LVL161 20974 10ce 64010000 .4byte .LVL165 20975 10d2 0300 .2byte 0x3 20976 10d4 91 .byte 0x91 20977 10d5 B47F .sleb128 -76 20978 10d7 7C010000 .4byte .LVL167 20979 10db 3E020000 .4byte .LVL173 20980 10df 0300 .2byte 0x3 20981 10e1 91 .byte 0x91 20982 10e2 B47F .sleb128 -76 20983 10e4 00000000 .4byte 0 20984 10e8 00000000 .4byte 0 20985 .LVUS90: 20986 10ec 02 .uleb128 .LVU723 20987 10ed 00 .uleb128 .LVU785 20988 10ee 00 .uleb128 .LVU785 20989 10ef 00 .uleb128 .LVU794 20990 10f0 00 .uleb128 .LVU796 20991 10f1 04 .uleb128 .LVU833 20992 10f2 00 .uleb128 .LVU835 20993 10f3 00 .uleb128 .LVU978 20994 .LLST90: 20995 10f4 3A000000 .4byte .LVL146 20996 10f8 E4000000 .4byte .LVL156 20997 10fc 0100 .2byte 0x1 20998 10fe 5A .byte 0x5a 20999 10ff E4000000 .4byte .LVL156 21000 1103 04010000 .4byte .LVL159 21001 1107 0A00 .2byte 0xa 21002 1109 F3 .byte 0xf3 21003 110a 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 843 21004 110b F5 .byte 0xf5 21005 110c 03 .uleb128 0x3 21006 110d 29 .uleb128 0x29 21007 110e F7 .byte 0xf7 21008 110f 3E .uleb128 0x3e 21009 1110 F7 .byte 0xf7 21010 1111 00 .uleb128 0 21011 1112 9F .byte 0x9f 21012 1113 12010000 .4byte .LVL161 21013 1117 78010000 .4byte .LVL166 21014 111b 0A00 .2byte 0xa 21015 111d F3 .byte 0xf3 21016 111e 03 .uleb128 0x3 21017 111f F5 .byte 0xf5 21018 1120 03 .uleb128 0x3 21019 1121 29 .uleb128 0x29 21020 1122 F7 .byte 0xf7 21021 1123 3E .uleb128 0x3e 21022 1124 F7 .byte 0xf7 21023 1125 00 .uleb128 0 21024 1126 9F .byte 0x9f 21025 1127 7C010000 .4byte .LVL167 21026 112b 44030000 .4byte .LVL180 21027 112f 0A00 .2byte 0xa 21028 1131 F3 .byte 0xf3 21029 1132 03 .uleb128 0x3 21030 1133 F5 .byte 0xf5 21031 1134 03 .uleb128 0x3 21032 1135 29 .uleb128 0x29 21033 1136 F7 .byte 0xf7 21034 1137 3E .uleb128 0x3e 21035 1138 F7 .byte 0xf7 21036 1139 00 .uleb128 0 21037 113a 9F .byte 0x9f 21038 113b 00000000 .4byte 0 21039 113f 00000000 .4byte 0 21040 .LVUS91: 21041 1143 02 .uleb128 .LVU723 21042 1144 00 .uleb128 .LVU794 21043 1145 00 .uleb128 .LVU796 21044 1146 04 .uleb128 .LVU833 21045 1147 00 .uleb128 .LVU835 21046 1148 00 .uleb128 .LVU920 21047 1149 00 .uleb128 .LVU920 21048 114a 00 .uleb128 .LVU921 21049 114b 00 .uleb128 .LVU921 21050 114c 00 .uleb128 .LVU940 21051 114d 00 .uleb128 .LVU940 21052 114e 00 .uleb128 .LVU942 21053 114f 00 .uleb128 .LVU942 21054 1150 00 .uleb128 .LVU978 21055 .LLST91: 21056 1151 3A000000 .4byte .LVL146 21057 1155 04010000 .4byte .LVL159 21058 1159 0100 .2byte 0x1 21059 115b 58 .byte 0x58 21060 115c 12010000 .4byte .LVL161 ARM GAS /tmp/ccjvgGVC.s page 844 21061 1160 78010000 .4byte .LVL166 21062 1164 0100 .2byte 0x1 21063 1166 58 .byte 0x58 21064 1167 7C010000 .4byte .LVL167 21065 116b 9C020000 .4byte .LVL175 21066 116f 0100 .2byte 0x1 21067 1171 58 .byte 0x58 21068 1172 9C020000 .4byte .LVL175 21069 1176 9F020000 .4byte .LVL176-1 21070 117a 0100 .2byte 0x1 21071 117c 53 .byte 0x53 21072 117d 9F020000 .4byte .LVL176-1 21073 1181 D2020000 .4byte .LVL177 21074 1185 0100 .2byte 0x1 21075 1187 58 .byte 0x58 21076 1188 D2020000 .4byte .LVL177 21077 118c D5020000 .4byte .LVL178-1 21078 1190 0100 .2byte 0x1 21079 1192 53 .byte 0x53 21080 1193 D5020000 .4byte .LVL178-1 21081 1197 44030000 .4byte .LVL180 21082 119b 0100 .2byte 0x1 21083 119d 58 .byte 0x58 21084 119e 00000000 .4byte 0 21085 11a2 00000000 .4byte 0 21086 .LVUS92: 21087 11a6 00 .uleb128 .LVU731 21088 11a7 00 .uleb128 .LVU794 21089 11a8 00 .uleb128 .LVU796 21090 11a9 04 .uleb128 .LVU833 21091 11aa 00 .uleb128 .LVU835 21092 11ab 00 .uleb128 .LVU978 21093 .LLST92: 21094 11ac 42000000 .4byte .LVL147 21095 11b0 04010000 .4byte .LVL159 21096 11b4 0100 .2byte 0x1 21097 11b6 57 .byte 0x57 21098 11b7 12010000 .4byte .LVL161 21099 11bb 78010000 .4byte .LVL166 21100 11bf 0100 .2byte 0x1 21101 11c1 57 .byte 0x57 21102 11c2 7C010000 .4byte .LVL167 21103 11c6 44030000 .4byte .LVL180 21104 11ca 0100 .2byte 0x1 21105 11cc 57 .byte 0x57 21106 11cd 00000000 .4byte 0 21107 11d1 00000000 .4byte 0 21108 .LVUS93: 21109 11d5 01 .uleb128 .LVU765 21110 11d6 00 .uleb128 .LVU792 21111 11d7 00 .uleb128 .LVU796 21112 11d8 00 .uleb128 .LVU807 21113 11d9 00 .uleb128 .LVU835 21114 11da 00 .uleb128 .LVU866 21115 .LLST93: 21116 11db A8000000 .4byte .LVL149 21117 11df 00010000 .4byte .LVL158 ARM GAS /tmp/ccjvgGVC.s page 845 21118 11e3 0100 .2byte 0x1 21119 11e5 56 .byte 0x56 21120 11e6 12010000 .4byte .LVL161 21121 11ea 3A010000 .4byte .LVL164 21122 11ee 0100 .2byte 0x1 21123 11f0 56 .byte 0x56 21124 11f1 7C010000 .4byte .LVL167 21125 11f5 EE010000 .4byte .LVL172 21126 11f9 0100 .2byte 0x1 21127 11fb 56 .byte 0x56 21128 11fc 00000000 .4byte 0 21129 1200 00000000 .4byte 0 21130 .LVUS94: 21131 1204 01 .uleb128 .LVU765 21132 1205 00 .uleb128 .LVU789 21133 1206 00 .uleb128 .LVU796 21134 1207 00 .uleb128 .LVU804 21135 1208 00 .uleb128 .LVU835 21136 1209 00 .uleb128 .LVU837 21137 .LLST94: 21138 120a A8000000 .4byte .LVL149 21139 120e F4000000 .4byte .LVL157 21140 1212 0800 .2byte 0x8 21141 1214 91 .byte 0x91 21142 1215 B07F .sleb128 -80 21143 1217 94 .byte 0x94 21144 1218 02 .byte 0x2 21145 1219 31 .byte 0x31 21146 121a 24 .byte 0x24 21147 121b 9F .byte 0x9f 21148 121c 12010000 .4byte .LVL161 21149 1220 2A010000 .4byte .LVL162 21150 1224 0800 .2byte 0x8 21151 1226 91 .byte 0x91 21152 1227 B07F .sleb128 -80 21153 1229 94 .byte 0x94 21154 122a 02 .byte 0x2 21155 122b 31 .byte 0x31 21156 122c 24 .byte 0x24 21157 122d 9F .byte 0x9f 21158 122e 7C010000 .4byte .LVL167 21159 1232 84010000 .4byte .LVL168 21160 1236 0800 .2byte 0x8 21161 1238 91 .byte 0x91 21162 1239 B07F .sleb128 -80 21163 123b 94 .byte 0x94 21164 123c 02 .byte 0x2 21165 123d 31 .byte 0x31 21166 123e 24 .byte 0x24 21167 123f 9F .byte 0x9f 21168 1240 00000000 .4byte 0 21169 1244 00000000 .4byte 0 21170 .LVUS95: 21171 1248 01 .uleb128 .LVU765 21172 1249 00 .uleb128 .LVU792 21173 124a 00 .uleb128 .LVU796 21174 124b 00 .uleb128 .LVU807 ARM GAS /tmp/ccjvgGVC.s page 846 21175 124c 00 .uleb128 .LVU835 21176 124d 00 .uleb128 .LVU866 21177 .LLST95: 21178 124e A8000000 .4byte .LVL149 21179 1252 00010000 .4byte .LVL158 21180 1256 0100 .2byte 0x1 21181 1258 58 .byte 0x58 21182 1259 12010000 .4byte .LVL161 21183 125d 3A010000 .4byte .LVL164 21184 1261 0100 .2byte 0x1 21185 1263 58 .byte 0x58 21186 1264 7C010000 .4byte .LVL167 21187 1268 EE010000 .4byte .LVL172 21188 126c 0100 .2byte 0x1 21189 126e 58 .byte 0x58 21190 126f 00000000 .4byte 0 21191 1273 00000000 .4byte 0 21192 .LVUS96: 21193 1277 01 .uleb128 .LVU765 21194 1278 00 .uleb128 .LVU792 21195 1279 00 .uleb128 .LVU796 21196 127a 00 .uleb128 .LVU807 21197 127b 00 .uleb128 .LVU835 21198 127c 00 .uleb128 .LVU866 21199 .LLST96: 21200 127d A8000000 .4byte .LVL149 21201 1281 00010000 .4byte .LVL158 21202 1285 0100 .2byte 0x1 21203 1287 57 .byte 0x57 21204 1288 12010000 .4byte .LVL161 21205 128c 3A010000 .4byte .LVL164 21206 1290 0100 .2byte 0x1 21207 1292 57 .byte 0x57 21208 1293 7C010000 .4byte .LVL167 21209 1297 EE010000 .4byte .LVL172 21210 129b 0100 .2byte 0x1 21211 129d 57 .byte 0x57 21212 129e 00000000 .4byte 0 21213 12a2 00000000 .4byte 0 21214 .LVUS97: 21215 12a6 00 .uleb128 .LVU768 21216 12a7 00 .uleb128 .LVU783 21217 .LLST97: 21218 12a8 AA000000 .4byte .LVL150 21219 12ac DA000000 .4byte .LVL154 21220 12b0 0100 .2byte 0x1 21221 12b2 51 .byte 0x51 21222 12b3 00000000 .4byte 0 21223 12b7 00000000 .4byte 0 21224 .LLST98: 21225 12bb 00000000 .4byte .LFB54 21226 12bf 04000000 .4byte .LCFI23 21227 12c3 0200 .2byte 0x2 21228 12c5 7D .byte 0x7d 21229 12c6 00 .sleb128 0 21230 12c7 04000000 .4byte .LCFI23 21231 12cb 06000000 .4byte .LCFI24 ARM GAS /tmp/ccjvgGVC.s page 847 21232 12cf 0200 .2byte 0x2 21233 12d1 7D .byte 0x7d 21234 12d2 24 .sleb128 36 21235 12d3 06000000 .4byte .LCFI24 21236 12d7 04010000 .4byte .LCFI25 21237 12db 0300 .2byte 0x3 21238 12dd 7D .byte 0x7d 21239 12de D800 .sleb128 88 21240 12e0 04010000 .4byte .LCFI25 21241 12e4 08010000 .4byte .LCFI26 21242 12e8 0200 .2byte 0x2 21243 12ea 7D .byte 0x7d 21244 12eb 24 .sleb128 36 21245 12ec 08010000 .4byte .LCFI26 21246 12f0 8C030000 .4byte .LFE54 21247 12f4 0300 .2byte 0x3 21248 12f6 7D .byte 0x7d 21249 12f7 D800 .sleb128 88 21250 12f9 00000000 .4byte 0 21251 12fd 00000000 .4byte 0 21252 .LVUS99: 21253 1301 00 .uleb128 0 21254 1302 00 .uleb128 .LVU995 21255 1303 00 .uleb128 .LVU995 21256 1304 00 .uleb128 .LVU1073 21257 1305 00 .uleb128 .LVU1073 21258 1306 00 .uleb128 .LVU1277 21259 1307 00 .uleb128 .LVU1277 21260 1308 00 .uleb128 0 21261 .LLST99: 21262 1309 00000000 .4byte .LVL182 21263 130d 26000000 .4byte .LVL184 21264 1311 0100 .2byte 0x1 21265 1313 50 .byte 0x50 21266 1314 26000000 .4byte .LVL184 21267 1318 08010000 .4byte .LVL197 21268 131c 0100 .2byte 0x1 21269 131e 59 .byte 0x59 21270 131f 08010000 .4byte .LVL197 21271 1323 80030000 .4byte .LVL222 21272 1327 0A00 .2byte 0xa 21273 1329 F3 .byte 0xf3 21274 132a 03 .uleb128 0x3 21275 132b F5 .byte 0xf5 21276 132c 00 .uleb128 0 21277 132d 29 .uleb128 0x29 21278 132e F7 .byte 0xf7 21279 132f 37 .uleb128 0x37 21280 1330 F7 .byte 0xf7 21281 1331 00 .uleb128 0 21282 1332 9F .byte 0x9f 21283 1333 80030000 .4byte .LVL222 21284 1337 8C030000 .4byte .LFE54 21285 133b 0100 .2byte 0x1 21286 133d 50 .byte 0x50 21287 133e 00000000 .4byte 0 21288 1342 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 848 21289 .LVUS100: 21290 1346 00 .uleb128 0 21291 1347 00 .uleb128 .LVU996 21292 1348 00 .uleb128 .LVU996 21293 1349 00 .uleb128 .LVU1069 21294 134a 00 .uleb128 .LVU1069 21295 134b 00 .uleb128 .LVU1277 21296 134c 00 .uleb128 .LVU1277 21297 134d 00 .uleb128 0 21298 .LLST100: 21299 134e 00000000 .4byte .LVL182 21300 1352 29000000 .4byte .LVL185-1 21301 1356 0100 .2byte 0x1 21302 1358 51 .byte 0x51 21303 1359 29000000 .4byte .LVL185-1 21304 135d F6000000 .4byte .LVL194 21305 1361 0100 .2byte 0x1 21306 1363 5B .byte 0x5b 21307 1364 F6000000 .4byte .LVL194 21308 1368 80030000 .4byte .LVL222 21309 136c 0A00 .2byte 0xa 21310 136e F3 .byte 0xf3 21311 136f 03 .uleb128 0x3 21312 1370 F5 .byte 0xf5 21313 1371 01 .uleb128 0x1 21314 1372 29 .uleb128 0x29 21315 1373 F7 .byte 0xf7 21316 1374 3E .uleb128 0x3e 21317 1375 F7 .byte 0xf7 21318 1376 00 .uleb128 0 21319 1377 9F .byte 0x9f 21320 1378 80030000 .4byte .LVL222 21321 137c 8C030000 .4byte .LFE54 21322 1380 0100 .2byte 0x1 21323 1382 51 .byte 0x51 21324 1383 00000000 .4byte 0 21325 1387 00000000 .4byte 0 21326 .LVUS101: 21327 138b 00 .uleb128 0 21328 138c 00 .uleb128 .LVU996 21329 138d 00 .uleb128 .LVU996 21330 138e 00 .uleb128 .LVU1069 21331 138f 00 .uleb128 .LVU1069 21332 1390 00 .uleb128 .LVU1277 21333 1391 00 .uleb128 .LVU1277 21334 1392 00 .uleb128 0 21335 .LLST101: 21336 1393 00000000 .4byte .LVL182 21337 1397 29000000 .4byte .LVL185-1 21338 139b 0100 .2byte 0x1 21339 139d 52 .byte 0x52 21340 139e 29000000 .4byte .LVL185-1 21341 13a2 F6000000 .4byte .LVL194 21342 13a6 0300 .2byte 0x3 21343 13a8 91 .byte 0x91 21344 13a9 B07F .sleb128 -80 21345 13ab F6000000 .4byte .LVL194 ARM GAS /tmp/ccjvgGVC.s page 849 21346 13af 80030000 .4byte .LVL222 21347 13b3 0A00 .2byte 0xa 21348 13b5 F3 .byte 0xf3 21349 13b6 03 .uleb128 0x3 21350 13b7 F5 .byte 0xf5 21351 13b8 02 .uleb128 0x2 21352 13b9 29 .uleb128 0x29 21353 13ba F7 .byte 0xf7 21354 13bb 3E .uleb128 0x3e 21355 13bc F7 .byte 0xf7 21356 13bd 00 .uleb128 0 21357 13be 9F .byte 0x9f 21358 13bf 80030000 .4byte .LVL222 21359 13c3 8C030000 .4byte .LFE54 21360 13c7 0100 .2byte 0x1 21361 13c9 52 .byte 0x52 21362 13ca 00000000 .4byte 0 21363 13ce 00000000 .4byte 0 21364 .LVUS102: 21365 13d2 00 .uleb128 0 21366 13d3 00 .uleb128 .LVU996 21367 13d4 00 .uleb128 .LVU996 21368 13d5 00 .uleb128 .LVU1069 21369 13d6 00 .uleb128 .LVU1069 21370 13d7 00 .uleb128 .LVU1277 21371 13d8 00 .uleb128 .LVU1277 21372 13d9 00 .uleb128 0 21373 .LLST102: 21374 13da 00000000 .4byte .LVL182 21375 13de 29000000 .4byte .LVL185-1 21376 13e2 0100 .2byte 0x1 21377 13e4 53 .byte 0x53 21378 13e5 29000000 .4byte .LVL185-1 21379 13e9 F6000000 .4byte .LVL194 21380 13ed 0300 .2byte 0x3 21381 13ef 91 .byte 0x91 21382 13f0 B47F .sleb128 -76 21383 13f2 F6000000 .4byte .LVL194 21384 13f6 80030000 .4byte .LVL222 21385 13fa 0A00 .2byte 0xa 21386 13fc F3 .byte 0xf3 21387 13fd 03 .uleb128 0x3 21388 13fe F5 .byte 0xf5 21389 13ff 03 .uleb128 0x3 21390 1400 29 .uleb128 0x29 21391 1401 F7 .byte 0xf7 21392 1402 3E .uleb128 0x3e 21393 1403 F7 .byte 0xf7 21394 1404 00 .uleb128 0 21395 1405 9F .byte 0x9f 21396 1406 80030000 .4byte .LVL222 21397 140a 8C030000 .4byte .LFE54 21398 140e 0100 .2byte 0x1 21399 1410 53 .byte 0x53 21400 1411 00000000 .4byte 0 21401 1415 00000000 .4byte 0 21402 .LVUS103: ARM GAS /tmp/ccjvgGVC.s page 850 21403 1419 00 .uleb128 0 21404 141a 00 .uleb128 .LVU1069 21405 141b 00 .uleb128 .LVU1073 21406 141c 00 .uleb128 .LVU1154 21407 141d 00 .uleb128 .LVU1169 21408 141e 00 .uleb128 .LVU1194 21409 141f 00 .uleb128 .LVU1277 21410 1420 00 .uleb128 0 21411 .LLST103: 21412 1421 00000000 .4byte .LVL182 21413 1425 F6000000 .4byte .LVL194 21414 1429 0200 .2byte 0x2 21415 142b 91 .byte 0x91 21416 142c 00 .sleb128 0 21417 142d 08010000 .4byte .LVL197 21418 1431 1C020000 .4byte .LVL211 21419 1435 0200 .2byte 0x2 21420 1437 91 .byte 0x91 21421 1438 00 .sleb128 0 21422 1439 34020000 .4byte .LVL214 21423 143d 7E020000 .4byte .LVL215 21424 1441 0200 .2byte 0x2 21425 1443 91 .byte 0x91 21426 1444 00 .sleb128 0 21427 1445 80030000 .4byte .LVL222 21428 1449 8C030000 .4byte .LFE54 21429 144d 0200 .2byte 0x2 21430 144f 91 .byte 0x91 21431 1450 00 .sleb128 0 21432 1451 00000000 .4byte 0 21433 1455 00000000 .4byte 0 21434 .LVUS104: 21435 1459 00 .uleb128 0 21436 145a 00 .uleb128 .LVU1069 21437 145b 00 .uleb128 .LVU1073 21438 145c 00 .uleb128 .LVU1154 21439 145d 00 .uleb128 .LVU1169 21440 145e 00 .uleb128 .LVU1194 21441 145f 00 .uleb128 .LVU1277 21442 1460 00 .uleb128 0 21443 .LLST104: 21444 1461 00000000 .4byte .LVL182 21445 1465 F6000000 .4byte .LVL194 21446 1469 0200 .2byte 0x2 21447 146b 91 .byte 0x91 21448 146c 04 .sleb128 4 21449 146d 08010000 .4byte .LVL197 21450 1471 1C020000 .4byte .LVL211 21451 1475 0200 .2byte 0x2 21452 1477 91 .byte 0x91 21453 1478 04 .sleb128 4 21454 1479 34020000 .4byte .LVL214 21455 147d 7E020000 .4byte .LVL215 21456 1481 0200 .2byte 0x2 21457 1483 91 .byte 0x91 21458 1484 04 .sleb128 4 21459 1485 80030000 .4byte .LVL222 ARM GAS /tmp/ccjvgGVC.s page 851 21460 1489 8C030000 .4byte .LFE54 21461 148d 0200 .2byte 0x2 21462 148f 91 .byte 0x91 21463 1490 04 .sleb128 4 21464 1491 00000000 .4byte 0 21465 1495 00000000 .4byte 0 21466 .LVUS105: 21467 1499 00 .uleb128 0 21468 149a 00 .uleb128 .LVU1069 21469 149b 00 .uleb128 .LVU1073 21470 149c 00 .uleb128 .LVU1096 21471 149d 00 .uleb128 .LVU1097 21472 149e 00 .uleb128 .LVU1153 21473 149f 00 .uleb128 .LVU1169 21474 14a0 00 .uleb128 .LVU1194 21475 14a1 00 .uleb128 .LVU1277 21476 14a2 00 .uleb128 0 21477 .LLST105: 21478 14a3 00000000 .4byte .LVL182 21479 14a7 F6000000 .4byte .LVL194 21480 14ab 0200 .2byte 0x2 21481 14ad 91 .byte 0x91 21482 14ae 08 .sleb128 8 21483 14af 08010000 .4byte .LVL197 21484 14b3 54010000 .4byte .LVL201 21485 14b7 0200 .2byte 0x2 21486 14b9 91 .byte 0x91 21487 14ba 08 .sleb128 8 21488 14bb 56010000 .4byte .LVL202 21489 14bf 16020000 .4byte .LVL210 21490 14c3 0200 .2byte 0x2 21491 14c5 91 .byte 0x91 21492 14c6 08 .sleb128 8 21493 14c7 34020000 .4byte .LVL214 21494 14cb 7E020000 .4byte .LVL215 21495 14cf 0200 .2byte 0x2 21496 14d1 91 .byte 0x91 21497 14d2 08 .sleb128 8 21498 14d3 80030000 .4byte .LVL222 21499 14d7 8C030000 .4byte .LFE54 21500 14db 0200 .2byte 0x2 21501 14dd 91 .byte 0x91 21502 14de 08 .sleb128 8 21503 14df 00000000 .4byte 0 21504 14e3 00000000 .4byte 0 21505 .LVUS106: 21506 14e7 00 .uleb128 .LVU991 21507 14e8 00 .uleb128 .LVU1067 21508 14e9 00 .uleb128 .LVU1067 21509 14ea 00 .uleb128 .LVU1069 21510 14eb 00 .uleb128 .LVU1069 21511 14ec 00 .uleb128 .LVU1072 21512 14ed 00 .uleb128 .LVU1073 21513 14ee 00 .uleb128 .LVU1168 21514 14ef 00 .uleb128 .LVU1168 21515 14f0 00 .uleb128 .LVU1169 21516 14f1 00 .uleb128 .LVU1169 ARM GAS /tmp/ccjvgGVC.s page 852 21517 14f2 00 .uleb128 .LVU1219 21518 14f3 00 .uleb128 .LVU1219 21519 14f4 00 .uleb128 .LVU1220 21520 14f5 00 .uleb128 .LVU1220 21521 14f6 00 .uleb128 .LVU1239 21522 14f7 00 .uleb128 .LVU1239 21523 14f8 00 .uleb128 .LVU1241 21524 14f9 00 .uleb128 .LVU1241 21525 14fa 00 .uleb128 .LVU1277 21526 .LLST106: 21527 14fb 24000000 .4byte .LVL183 21528 14ff EC000000 .4byte .LVL193 21529 1503 0100 .2byte 0x1 21530 1505 54 .byte 0x54 21531 1506 EC000000 .4byte .LVL193 21532 150a F6000000 .4byte .LVL194 21533 150e 0A00 .2byte 0xa 21534 1510 79 .byte 0x79 21535 1511 00 .sleb128 0 21536 1512 1F .byte 0x1f 21537 1513 08 .byte 0x8 21538 1514 A8 .byte 0xa8 21539 1515 1A .byte 0x1a 21540 1516 75 .byte 0x75 21541 1517 00 .sleb128 0 21542 1518 22 .byte 0x22 21543 1519 9F .byte 0x9f 21544 151a F6000000 .4byte .LVL194 21545 151e 00010000 .4byte .LVL196 21546 1522 0D00 .2byte 0xd 21547 1524 79 .byte 0x79 21548 1525 00 .sleb128 0 21549 1526 1F .byte 0x1f 21550 1527 08 .byte 0x8 21551 1528 A8 .byte 0xa8 21552 1529 1A .byte 0x1a 21553 152a 03 .byte 0x3 21554 152b 00000000 .4byte _ZL9_i2c_devs 21555 152f 22 .byte 0x22 21556 1530 9F .byte 0x9f 21557 1531 08010000 .4byte .LVL197 21558 1535 32020000 .4byte .LVL213 21559 1539 0100 .2byte 0x1 21560 153b 54 .byte 0x54 21561 153c 32020000 .4byte .LVL213 21562 1540 34020000 .4byte .LVL214 21563 1544 0D00 .2byte 0xd 21564 1546 79 .byte 0x79 21565 1547 00 .sleb128 0 21566 1548 1F .byte 0x1f 21567 1549 08 .byte 0x8 21568 154a A8 .byte 0xa8 21569 154b 1A .byte 0x1a 21570 154c 03 .byte 0x3 21571 154d 00000000 .4byte _ZL9_i2c_devs 21572 1551 22 .byte 0x22 21573 1552 9F .byte 0x9f ARM GAS /tmp/ccjvgGVC.s page 853 21574 1553 34020000 .4byte .LVL214 21575 1557 D8020000 .4byte .LVL217 21576 155b 0100 .2byte 0x1 21577 155d 54 .byte 0x54 21578 155e D8020000 .4byte .LVL217 21579 1562 DB020000 .4byte .LVL218-1 21580 1566 0100 .2byte 0x1 21581 1568 50 .byte 0x50 21582 1569 DB020000 .4byte .LVL218-1 21583 156d 0E030000 .4byte .LVL219 21584 1571 0100 .2byte 0x1 21585 1573 54 .byte 0x54 21586 1574 0E030000 .4byte .LVL219 21587 1578 11030000 .4byte .LVL220-1 21588 157c 0100 .2byte 0x1 21589 157e 50 .byte 0x50 21590 157f 11030000 .4byte .LVL220-1 21591 1583 80030000 .4byte .LVL222 21592 1587 0100 .2byte 0x1 21593 1589 54 .byte 0x54 21594 158a 00000000 .4byte 0 21595 158e 00000000 .4byte 0 21596 .LVUS107: 21597 1592 02 .uleb128 .LVU983 21598 1593 00 .uleb128 .LVU991 21599 1594 00 .uleb128 .LVU1277 21600 1595 00 .uleb128 .LVU1279 21601 .LLST107: 21602 1596 00000000 .4byte .LVL182 21603 159a 24000000 .4byte .LVL183 21604 159e 0100 .2byte 0x1 21605 15a0 50 .byte 0x50 21606 15a1 80030000 .4byte .LVL222 21607 15a5 84030000 .4byte .LVL223 21608 15a9 0100 .2byte 0x1 21609 15ab 50 .byte 0x50 21610 15ac 00000000 .4byte 0 21611 15b0 00000000 .4byte 0 21612 .LVUS108: 21613 15b4 01 .uleb128 .LVU997 21614 15b5 00 .uleb128 .LVU1001 21615 15b6 00 .uleb128 .LVU1001 21616 15b7 00 .uleb128 .LVU1003 21617 15b8 00 .uleb128 .LVU1003 21618 15b9 00 .uleb128 .LVU1006 21619 15ba 00 .uleb128 .LVU1006 21620 15bb 00 .uleb128 .LVU1006 21621 .LLST108: 21622 15bc 2A000000 .4byte .LVL185 21623 15c0 30000000 .4byte .LVL186 21624 15c4 0900 .2byte 0x9 21625 15c6 75 .byte 0x75 21626 15c7 00 .sleb128 0 21627 15c8 03 .byte 0x3 21628 15c9 58000000 .4byte _ZL9_i2c_devs+88 21629 15cd 22 .byte 0x22 21630 15ce 9F .byte 0x9f ARM GAS /tmp/ccjvgGVC.s page 854 21631 15cf 30000000 .4byte .LVL186 21632 15d3 32000000 .4byte .LVL187 21633 15d7 0900 .2byte 0x9 21634 15d9 71 .byte 0x71 21635 15da 00 .sleb128 0 21636 15db 03 .byte 0x3 21637 15dc 00000000 .4byte _ZL9_i2c_devs 21638 15e0 22 .byte 0x22 21639 15e1 9F .byte 0x9f 21640 15e2 32000000 .4byte .LVL187 21641 15e6 3B000000 .4byte .LVL188-1 21642 15ea 0100 .2byte 0x1 21643 15ec 51 .byte 0x51 21644 15ed 3B000000 .4byte .LVL188-1 21645 15f1 3C000000 .4byte .LVL188 21646 15f5 0400 .2byte 0x4 21647 15f7 74 .byte 0x74 21648 15f8 D800 .sleb128 88 21649 15fa 9F .byte 0x9f 21650 15fb 00000000 .4byte 0 21651 15ff 00000000 .4byte 0 21652 .LVUS109: 21653 1603 02 .uleb128 .LVU1008 21654 1604 00 .uleb128 .LVU1067 21655 1605 00 .uleb128 .LVU1067 21656 1606 00 .uleb128 .LVU1069 21657 1607 00 .uleb128 .LVU1069 21658 1608 00 .uleb128 .LVU1071 21659 1609 00 .uleb128 .LVU1073 21660 160a 04 .uleb128 .LVU1166 21661 160b 00 .uleb128 .LVU1169 21662 160c 00 .uleb128 .LVU1219 21663 160d 00 .uleb128 .LVU1219 21664 160e 00 .uleb128 .LVU1220 21665 160f 00 .uleb128 .LVU1220 21666 1610 00 .uleb128 .LVU1239 21667 1611 00 .uleb128 .LVU1239 21668 1612 00 .uleb128 .LVU1241 21669 1613 00 .uleb128 .LVU1241 21670 1614 00 .uleb128 .LVU1277 21671 .LLST109: 21672 1615 3C000000 .4byte .LVL188 21673 1619 EC000000 .4byte .LVL193 21674 161d 0100 .2byte 0x1 21675 161f 54 .byte 0x54 21676 1620 EC000000 .4byte .LVL193 21677 1624 F6000000 .4byte .LVL194 21678 1628 0A00 .2byte 0xa 21679 162a 79 .byte 0x79 21680 162b 00 .sleb128 0 21681 162c 1F .byte 0x1f 21682 162d 08 .byte 0x8 21683 162e A8 .byte 0xa8 21684 162f 1A .byte 0x1a 21685 1630 75 .byte 0x75 21686 1631 00 .sleb128 0 21687 1632 22 .byte 0x22 ARM GAS /tmp/ccjvgGVC.s page 855 21688 1633 9F .byte 0x9f 21689 1634 F6000000 .4byte .LVL194 21690 1638 FA000000 .4byte .LVL195 21691 163c 0D00 .2byte 0xd 21692 163e 79 .byte 0x79 21693 163f 00 .sleb128 0 21694 1640 1F .byte 0x1f 21695 1641 08 .byte 0x8 21696 1642 A8 .byte 0xa8 21697 1643 1A .byte 0x1a 21698 1644 03 .byte 0x3 21699 1645 00000000 .4byte _ZL9_i2c_devs 21700 1649 22 .byte 0x22 21701 164a 9F .byte 0x9f 21702 164b 08010000 .4byte .LVL197 21703 164f 30020000 .4byte .LVL212 21704 1653 0100 .2byte 0x1 21705 1655 54 .byte 0x54 21706 1656 34020000 .4byte .LVL214 21707 165a D8020000 .4byte .LVL217 21708 165e 0100 .2byte 0x1 21709 1660 54 .byte 0x54 21710 1661 D8020000 .4byte .LVL217 21711 1665 DB020000 .4byte .LVL218-1 21712 1669 0100 .2byte 0x1 21713 166b 50 .byte 0x50 21714 166c DB020000 .4byte .LVL218-1 21715 1670 0E030000 .4byte .LVL219 21716 1674 0100 .2byte 0x1 21717 1676 54 .byte 0x54 21718 1677 0E030000 .4byte .LVL219 21719 167b 11030000 .4byte .LVL220-1 21720 167f 0100 .2byte 0x1 21721 1681 50 .byte 0x50 21722 1682 11030000 .4byte .LVL220-1 21723 1686 80030000 .4byte .LVL222 21724 168a 0100 .2byte 0x1 21725 168c 54 .byte 0x54 21726 168d 00000000 .4byte 0 21727 1691 00000000 .4byte 0 21728 .LVUS110: 21729 1695 02 .uleb128 .LVU1008 21730 1696 00 .uleb128 .LVU1069 21731 1697 00 .uleb128 .LVU1069 21732 1698 00 .uleb128 .LVU1071 21733 1699 00 .uleb128 .LVU1073 21734 169a 00 .uleb128 .LVU1075 21735 169b 00 .uleb128 .LVU1075 21736 169c 04 .uleb128 .LVU1166 21737 169d 00 .uleb128 .LVU1169 21738 169e 00 .uleb128 .LVU1277 21739 .LLST110: 21740 169f 3C000000 .4byte .LVL188 21741 16a3 F6000000 .4byte .LVL194 21742 16a7 0500 .2byte 0x5 21743 16a9 7B .byte 0x7b 21744 16aa 00 .sleb128 0 ARM GAS /tmp/ccjvgGVC.s page 856 21745 16ab 31 .byte 0x31 21746 16ac 24 .byte 0x24 21747 16ad 9F .byte 0x9f 21748 16ae F6000000 .4byte .LVL194 21749 16b2 FA000000 .4byte .LVL195 21750 16b6 0C00 .2byte 0xc 21751 16b8 F3 .byte 0xf3 21752 16b9 03 .uleb128 0x3 21753 16ba F5 .byte 0xf5 21754 16bb 01 .uleb128 0x1 21755 16bc 29 .uleb128 0x29 21756 16bd F7 .byte 0xf7 21757 16be 3E .uleb128 0x3e 21758 16bf F7 .byte 0xf7 21759 16c0 00 .uleb128 0 21760 16c1 31 .byte 0x31 21761 16c2 24 .byte 0x24 21762 16c3 9F .byte 0x9f 21763 16c4 08010000 .4byte .LVL197 21764 16c8 0C010000 .4byte .LVL198 21765 16cc 0500 .2byte 0x5 21766 16ce 7B .byte 0x7b 21767 16cf 00 .sleb128 0 21768 16d0 31 .byte 0x31 21769 16d1 24 .byte 0x24 21770 16d2 9F .byte 0x9f 21771 16d3 0C010000 .4byte .LVL198 21772 16d7 30020000 .4byte .LVL212 21773 16db 0C00 .2byte 0xc 21774 16dd F3 .byte 0xf3 21775 16de 03 .uleb128 0x3 21776 16df F5 .byte 0xf5 21777 16e0 01 .uleb128 0x1 21778 16e1 29 .uleb128 0x29 21779 16e2 F7 .byte 0xf7 21780 16e3 3E .uleb128 0x3e 21781 16e4 F7 .byte 0xf7 21782 16e5 00 .uleb128 0 21783 16e6 31 .byte 0x31 21784 16e7 24 .byte 0x24 21785 16e8 9F .byte 0x9f 21786 16e9 34020000 .4byte .LVL214 21787 16ed 80030000 .4byte .LVL222 21788 16f1 0C00 .2byte 0xc 21789 16f3 F3 .byte 0xf3 21790 16f4 03 .uleb128 0x3 21791 16f5 F5 .byte 0xf5 21792 16f6 01 .uleb128 0x1 21793 16f7 29 .uleb128 0x29 21794 16f8 F7 .byte 0xf7 21795 16f9 3E .uleb128 0x3e 21796 16fa F7 .byte 0xf7 21797 16fb 00 .uleb128 0 21798 16fc 31 .byte 0x31 21799 16fd 24 .byte 0x24 21800 16fe 9F .byte 0x9f 21801 16ff 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 857 21802 1703 00000000 .4byte 0 21803 .LVUS111: 21804 1707 02 .uleb128 .LVU1008 21805 1708 00 .uleb128 .LVU1069 21806 1709 00 .uleb128 .LVU1073 21807 170a 00 .uleb128 .LVU1154 21808 170b 00 .uleb128 .LVU1169 21809 170c 00 .uleb128 .LVU1194 21810 .LLST111: 21811 170d 3C000000 .4byte .LVL188 21812 1711 F6000000 .4byte .LVL194 21813 1715 0300 .2byte 0x3 21814 1717 91 .byte 0x91 21815 1718 B07F .sleb128 -80 21816 171a 08010000 .4byte .LVL197 21817 171e 1C020000 .4byte .LVL211 21818 1722 0300 .2byte 0x3 21819 1724 91 .byte 0x91 21820 1725 B07F .sleb128 -80 21821 1727 34020000 .4byte .LVL214 21822 172b 7E020000 .4byte .LVL215 21823 172f 0300 .2byte 0x3 21824 1731 91 .byte 0x91 21825 1732 B07F .sleb128 -80 21826 1734 00000000 .4byte 0 21827 1738 00000000 .4byte 0 21828 .LVUS112: 21829 173c 02 .uleb128 .LVU1008 21830 173d 00 .uleb128 .LVU1069 21831 173e 00 .uleb128 .LVU1073 21832 173f 00 .uleb128 .LVU1154 21833 1740 00 .uleb128 .LVU1169 21834 1741 00 .uleb128 .LVU1194 21835 .LLST112: 21836 1742 3C000000 .4byte .LVL188 21837 1746 F6000000 .4byte .LVL194 21838 174a 0300 .2byte 0x3 21839 174c 91 .byte 0x91 21840 174d B47F .sleb128 -76 21841 174f 08010000 .4byte .LVL197 21842 1753 1C020000 .4byte .LVL211 21843 1757 0300 .2byte 0x3 21844 1759 91 .byte 0x91 21845 175a B47F .sleb128 -76 21846 175c 34020000 .4byte .LVL214 21847 1760 7E020000 .4byte .LVL215 21848 1764 0300 .2byte 0x3 21849 1766 91 .byte 0x91 21850 1767 B47F .sleb128 -76 21851 1769 00000000 .4byte 0 21852 176d 00000000 .4byte 0 21853 .LVUS113: 21854 1771 02 .uleb128 .LVU1008 21855 1772 00 .uleb128 .LVU1069 21856 1773 00 .uleb128 .LVU1073 21857 1774 00 .uleb128 .LVU1154 21858 1775 00 .uleb128 .LVU1169 ARM GAS /tmp/ccjvgGVC.s page 858 21859 1776 00 .uleb128 .LVU1194 21860 .LLST113: 21861 1777 3C000000 .4byte .LVL188 21862 177b F6000000 .4byte .LVL194 21863 177f 0200 .2byte 0x2 21864 1781 91 .byte 0x91 21865 1782 00 .sleb128 0 21866 1783 08010000 .4byte .LVL197 21867 1787 1C020000 .4byte .LVL211 21868 178b 0200 .2byte 0x2 21869 178d 91 .byte 0x91 21870 178e 00 .sleb128 0 21871 178f 34020000 .4byte .LVL214 21872 1793 7E020000 .4byte .LVL215 21873 1797 0200 .2byte 0x2 21874 1799 91 .byte 0x91 21875 179a 00 .sleb128 0 21876 179b 00000000 .4byte 0 21877 179f 00000000 .4byte 0 21878 .LVUS114: 21879 17a3 02 .uleb128 .LVU1008 21880 17a4 00 .uleb128 .LVU1069 21881 17a5 00 .uleb128 .LVU1073 21882 17a6 00 .uleb128 .LVU1154 21883 17a7 00 .uleb128 .LVU1169 21884 17a8 00 .uleb128 .LVU1194 21885 .LLST114: 21886 17a9 3C000000 .4byte .LVL188 21887 17ad F6000000 .4byte .LVL194 21888 17b1 0200 .2byte 0x2 21889 17b3 91 .byte 0x91 21890 17b4 04 .sleb128 4 21891 17b5 08010000 .4byte .LVL197 21892 17b9 1C020000 .4byte .LVL211 21893 17bd 0200 .2byte 0x2 21894 17bf 91 .byte 0x91 21895 17c0 04 .sleb128 4 21896 17c1 34020000 .4byte .LVL214 21897 17c5 7E020000 .4byte .LVL215 21898 17c9 0200 .2byte 0x2 21899 17cb 91 .byte 0x91 21900 17cc 04 .sleb128 4 21901 17cd 00000000 .4byte 0 21902 17d1 00000000 .4byte 0 21903 .LVUS115: 21904 17d5 02 .uleb128 .LVU1008 21905 17d6 00 .uleb128 .LVU1071 21906 17d7 00 .uleb128 .LVU1073 21907 17d8 04 .uleb128 .LVU1166 21908 17d9 00 .uleb128 .LVU1169 21909 17da 00 .uleb128 .LVU1219 21910 17db 00 .uleb128 .LVU1219 21911 17dc 00 .uleb128 .LVU1220 21912 17dd 00 .uleb128 .LVU1220 21913 17de 00 .uleb128 .LVU1239 21914 17df 00 .uleb128 .LVU1239 21915 17e0 00 .uleb128 .LVU1241 ARM GAS /tmp/ccjvgGVC.s page 859 21916 17e1 00 .uleb128 .LVU1241 21917 17e2 00 .uleb128 .LVU1277 21918 .LLST115: 21919 17e3 3C000000 .4byte .LVL188 21920 17e7 FA000000 .4byte .LVL195 21921 17eb 0100 .2byte 0x1 21922 17ed 57 .byte 0x57 21923 17ee 08010000 .4byte .LVL197 21924 17f2 30020000 .4byte .LVL212 21925 17f6 0100 .2byte 0x1 21926 17f8 57 .byte 0x57 21927 17f9 34020000 .4byte .LVL214 21928 17fd D8020000 .4byte .LVL217 21929 1801 0100 .2byte 0x1 21930 1803 57 .byte 0x57 21931 1804 D8020000 .4byte .LVL217 21932 1808 DB020000 .4byte .LVL218-1 21933 180c 0100 .2byte 0x1 21934 180e 53 .byte 0x53 21935 180f DB020000 .4byte .LVL218-1 21936 1813 0E030000 .4byte .LVL219 21937 1817 0100 .2byte 0x1 21938 1819 57 .byte 0x57 21939 181a 0E030000 .4byte .LVL219 21940 181e 11030000 .4byte .LVL220-1 21941 1822 0100 .2byte 0x1 21942 1824 53 .byte 0x53 21943 1825 11030000 .4byte .LVL220-1 21944 1829 80030000 .4byte .LVL222 21945 182d 0100 .2byte 0x1 21946 182f 57 .byte 0x57 21947 1830 00000000 .4byte 0 21948 1834 00000000 .4byte 0 21949 .LVUS116: 21950 1838 00 .uleb128 .LVU1016 21951 1839 00 .uleb128 .LVU1071 21952 183a 00 .uleb128 .LVU1073 21953 183b 04 .uleb128 .LVU1166 21954 183c 00 .uleb128 .LVU1169 21955 183d 00 .uleb128 .LVU1277 21956 .LLST116: 21957 183e 44000000 .4byte .LVL189 21958 1842 FA000000 .4byte .LVL195 21959 1846 0100 .2byte 0x1 21960 1848 56 .byte 0x56 21961 1849 08010000 .4byte .LVL197 21962 184d 30020000 .4byte .LVL212 21963 1851 0100 .2byte 0x1 21964 1853 56 .byte 0x56 21965 1854 34020000 .4byte .LVL214 21966 1858 80030000 .4byte .LVL222 21967 185c 0100 .2byte 0x1 21968 185e 56 .byte 0x56 21969 185f 00000000 .4byte 0 21970 1863 00000000 .4byte 0 21971 .LVUS117: 21972 1867 01 .uleb128 .LVU1057 ARM GAS /tmp/ccjvgGVC.s page 860 21973 1868 00 .uleb128 .LVU1067 21974 1869 00 .uleb128 .LVU1067 21975 186a 00 .uleb128 .LVU1069 21976 186b 00 .uleb128 .LVU1073 21977 186c 00 .uleb128 .LVU1096 21978 186d 00 .uleb128 .LVU1097 21979 186e 00 .uleb128 .LVU1134 21980 186f 00 .uleb128 .LVU1135 21981 1870 00 .uleb128 .LVU1141 21982 .LLST117: 21983 1871 C4000000 .4byte .LVL191 21984 1875 EC000000 .4byte .LVL193 21985 1879 0100 .2byte 0x1 21986 187b 54 .byte 0x54 21987 187c EC000000 .4byte .LVL193 21988 1880 F6000000 .4byte .LVL194 21989 1884 0A00 .2byte 0xa 21990 1886 79 .byte 0x79 21991 1887 00 .sleb128 0 21992 1888 1F .byte 0x1f 21993 1889 08 .byte 0x8 21994 188a A8 .byte 0xa8 21995 188b 1A .byte 0x1a 21996 188c 75 .byte 0x75 21997 188d 00 .sleb128 0 21998 188e 22 .byte 0x22 21999 188f 9F .byte 0x9f 22000 1890 08010000 .4byte .LVL197 22001 1894 54010000 .4byte .LVL201 22002 1898 0100 .2byte 0x1 22003 189a 54 .byte 0x54 22004 189b 56010000 .4byte .LVL202 22005 189f DE010000 .4byte .LVL206 22006 18a3 0100 .2byte 0x1 22007 18a5 54 .byte 0x54 22008 18a6 E0010000 .4byte .LVL207 22009 18aa F8010000 .4byte .LVL209 22010 18ae 0100 .2byte 0x1 22011 18b0 54 .byte 0x54 22012 18b1 00000000 .4byte 0 22013 18b5 00000000 .4byte 0 22014 .LVUS118: 22015 18b9 01 .uleb128 .LVU1057 22016 18ba 00 .uleb128 .LVU1069 22017 18bb 00 .uleb128 .LVU1073 22018 18bc 00 .uleb128 .LVU1075 22019 18bd 00 .uleb128 .LVU1075 22020 18be 00 .uleb128 .LVU1096 22021 18bf 00 .uleb128 .LVU1097 22022 18c0 00 .uleb128 .LVU1134 22023 18c1 00 .uleb128 .LVU1135 22024 18c2 00 .uleb128 .LVU1141 22025 .LLST118: 22026 18c3 C4000000 .4byte .LVL191 22027 18c7 F6000000 .4byte .LVL194 22028 18cb 0500 .2byte 0x5 22029 18cd 7B .byte 0x7b ARM GAS /tmp/ccjvgGVC.s page 861 22030 18ce 00 .sleb128 0 22031 18cf 31 .byte 0x31 22032 18d0 24 .byte 0x24 22033 18d1 9F .byte 0x9f 22034 18d2 08010000 .4byte .LVL197 22035 18d6 0C010000 .4byte .LVL198 22036 18da 0500 .2byte 0x5 22037 18dc 7B .byte 0x7b 22038 18dd 00 .sleb128 0 22039 18de 31 .byte 0x31 22040 18df 24 .byte 0x24 22041 18e0 9F .byte 0x9f 22042 18e1 0C010000 .4byte .LVL198 22043 18e5 54010000 .4byte .LVL201 22044 18e9 0C00 .2byte 0xc 22045 18eb F3 .byte 0xf3 22046 18ec 03 .uleb128 0x3 22047 18ed F5 .byte 0xf5 22048 18ee 01 .uleb128 0x1 22049 18ef 29 .uleb128 0x29 22050 18f0 F7 .byte 0xf7 22051 18f1 3E .uleb128 0x3e 22052 18f2 F7 .byte 0xf7 22053 18f3 00 .uleb128 0 22054 18f4 31 .byte 0x31 22055 18f5 24 .byte 0x24 22056 18f6 9F .byte 0x9f 22057 18f7 56010000 .4byte .LVL202 22058 18fb DE010000 .4byte .LVL206 22059 18ff 0C00 .2byte 0xc 22060 1901 F3 .byte 0xf3 22061 1902 03 .uleb128 0x3 22062 1903 F5 .byte 0xf5 22063 1904 01 .uleb128 0x1 22064 1905 29 .uleb128 0x29 22065 1906 F7 .byte 0xf7 22066 1907 3E .uleb128 0x3e 22067 1908 F7 .byte 0xf7 22068 1909 00 .uleb128 0 22069 190a 31 .byte 0x31 22070 190b 24 .byte 0x24 22071 190c 9F .byte 0x9f 22072 190d E0010000 .4byte .LVL207 22073 1911 F8010000 .4byte .LVL209 22074 1915 0C00 .2byte 0xc 22075 1917 F3 .byte 0xf3 22076 1918 03 .uleb128 0x3 22077 1919 F5 .byte 0xf5 22078 191a 01 .uleb128 0x1 22079 191b 29 .uleb128 0x29 22080 191c F7 .byte 0xf7 22081 191d 3E .uleb128 0x3e 22082 191e F7 .byte 0xf7 22083 191f 00 .uleb128 0 22084 1920 31 .byte 0x31 22085 1921 24 .byte 0x24 22086 1922 9F .byte 0x9f ARM GAS /tmp/ccjvgGVC.s page 862 22087 1923 00000000 .4byte 0 22088 1927 00000000 .4byte 0 22089 .LVUS119: 22090 192b 01 .uleb128 .LVU1057 22091 192c 00 .uleb128 .LVU1069 22092 192d 00 .uleb128 .LVU1073 22093 192e 00 .uleb128 .LVU1096 22094 192f 00 .uleb128 .LVU1097 22095 1930 00 .uleb128 .LVU1134 22096 1931 00 .uleb128 .LVU1135 22097 1932 00 .uleb128 .LVU1141 22098 .LLST119: 22099 1933 C4000000 .4byte .LVL191 22100 1937 F6000000 .4byte .LVL194 22101 193b 0300 .2byte 0x3 22102 193d 91 .byte 0x91 22103 193e B07F .sleb128 -80 22104 1940 08010000 .4byte .LVL197 22105 1944 54010000 .4byte .LVL201 22106 1948 0300 .2byte 0x3 22107 194a 91 .byte 0x91 22108 194b B07F .sleb128 -80 22109 194d 56010000 .4byte .LVL202 22110 1951 DE010000 .4byte .LVL206 22111 1955 0300 .2byte 0x3 22112 1957 91 .byte 0x91 22113 1958 B07F .sleb128 -80 22114 195a E0010000 .4byte .LVL207 22115 195e F8010000 .4byte .LVL209 22116 1962 0300 .2byte 0x3 22117 1964 91 .byte 0x91 22118 1965 B07F .sleb128 -80 22119 1967 00000000 .4byte 0 22120 196b 00000000 .4byte 0 22121 .LVUS120: 22122 196f 01 .uleb128 .LVU1057 22123 1970 00 .uleb128 .LVU1069 22124 1971 00 .uleb128 .LVU1073 22125 1972 00 .uleb128 .LVU1096 22126 1973 00 .uleb128 .LVU1097 22127 1974 00 .uleb128 .LVU1134 22128 1975 00 .uleb128 .LVU1135 22129 1976 00 .uleb128 .LVU1141 22130 .LLST120: 22131 1977 C4000000 .4byte .LVL191 22132 197b F6000000 .4byte .LVL194 22133 197f 0300 .2byte 0x3 22134 1981 91 .byte 0x91 22135 1982 B47F .sleb128 -76 22136 1984 08010000 .4byte .LVL197 22137 1988 54010000 .4byte .LVL201 22138 198c 0300 .2byte 0x3 22139 198e 91 .byte 0x91 22140 198f B47F .sleb128 -76 22141 1991 56010000 .4byte .LVL202 22142 1995 DE010000 .4byte .LVL206 22143 1999 0300 .2byte 0x3 ARM GAS /tmp/ccjvgGVC.s page 863 22144 199b 91 .byte 0x91 22145 199c B47F .sleb128 -76 22146 199e E0010000 .4byte .LVL207 22147 19a2 F8010000 .4byte .LVL209 22148 19a6 0300 .2byte 0x3 22149 19a8 91 .byte 0x91 22150 19a9 B47F .sleb128 -76 22151 19ab 00000000 .4byte 0 22152 19af 00000000 .4byte 0 22153 .LVUS121: 22154 19b3 01 .uleb128 .LVU1057 22155 19b4 00 .uleb128 .LVU1069 22156 19b5 00 .uleb128 .LVU1073 22157 19b6 00 .uleb128 .LVU1096 22158 19b7 00 .uleb128 .LVU1097 22159 19b8 00 .uleb128 .LVU1134 22160 19b9 00 .uleb128 .LVU1135 22161 19ba 00 .uleb128 .LVU1141 22162 .LLST121: 22163 19bb C4000000 .4byte .LVL191 22164 19bf F6000000 .4byte .LVL194 22165 19c3 0100 .2byte 0x1 22166 19c5 57 .byte 0x57 22167 19c6 08010000 .4byte .LVL197 22168 19ca 54010000 .4byte .LVL201 22169 19ce 0100 .2byte 0x1 22170 19d0 57 .byte 0x57 22171 19d1 56010000 .4byte .LVL202 22172 19d5 DE010000 .4byte .LVL206 22173 19d9 0100 .2byte 0x1 22174 19db 57 .byte 0x57 22175 19dc E0010000 .4byte .LVL207 22176 19e0 F8010000 .4byte .LVL209 22177 19e4 0100 .2byte 0x1 22178 19e6 57 .byte 0x57 22179 19e7 00000000 .4byte 0 22180 19eb 00000000 .4byte 0 22181 .LVUS122: 22182 19ef 01 .uleb128 .LVU1057 22183 19f0 00 .uleb128 .LVU1069 22184 19f1 00 .uleb128 .LVU1073 22185 19f2 00 .uleb128 .LVU1096 22186 19f3 00 .uleb128 .LVU1097 22187 19f4 00 .uleb128 .LVU1134 22188 19f5 00 .uleb128 .LVU1135 22189 19f6 00 .uleb128 .LVU1141 22190 .LLST122: 22191 19f7 C4000000 .4byte .LVL191 22192 19fb F6000000 .4byte .LVL194 22193 19ff 0100 .2byte 0x1 22194 1a01 56 .byte 0x56 22195 1a02 08010000 .4byte .LVL197 22196 1a06 54010000 .4byte .LVL201 22197 1a0a 0100 .2byte 0x1 22198 1a0c 56 .byte 0x56 22199 1a0d 56010000 .4byte .LVL202 22200 1a11 DE010000 .4byte .LVL206 ARM GAS /tmp/ccjvgGVC.s page 864 22201 1a15 0100 .2byte 0x1 22202 1a17 56 .byte 0x56 22203 1a18 E0010000 .4byte .LVL207 22204 1a1c F8010000 .4byte .LVL209 22205 1a20 0100 .2byte 0x1 22206 1a22 56 .byte 0x56 22207 1a23 00000000 .4byte 0 22208 1a27 00000000 .4byte 0 22209 .LLST123: 22210 1a2b 00000000 .4byte .LFB57 22211 1a2f 04000000 .4byte .LCFI27 22212 1a33 0200 .2byte 0x2 22213 1a35 7D .byte 0x7d 22214 1a36 00 .sleb128 0 22215 1a37 04000000 .4byte .LCFI27 22216 1a3b 06000000 .4byte .LCFI28 22217 1a3f 0200 .2byte 0x2 22218 1a41 7D .byte 0x7d 22219 1a42 24 .sleb128 36 22220 1a43 06000000 .4byte .LCFI28 22221 1a47 5A000000 .4byte .LCFI29 22222 1a4b 0300 .2byte 0x3 22223 1a4d 7D .byte 0x7d 22224 1a4e C800 .sleb128 72 22225 1a50 5A000000 .4byte .LCFI29 22226 1a54 5E000000 .4byte .LCFI30 22227 1a58 0200 .2byte 0x2 22228 1a5a 7D .byte 0x7d 22229 1a5b 24 .sleb128 36 22230 1a5c 5E000000 .4byte .LCFI30 22231 1a60 F4010000 .4byte .LFE57 22232 1a64 0300 .2byte 0x3 22233 1a66 7D .byte 0x7d 22234 1a67 C800 .sleb128 72 22235 1a69 00000000 .4byte 0 22236 1a6d 00000000 .4byte 0 22237 .LVUS124: 22238 1a71 00 .uleb128 0 22239 1a72 00 .uleb128 .LVU1294 22240 1a73 00 .uleb128 .LVU1294 22241 1a74 00 .uleb128 .LVU1324 22242 1a75 00 .uleb128 .LVU1324 22243 1a76 00 .uleb128 .LVU1471 22244 1a77 00 .uleb128 .LVU1471 22245 1a78 00 .uleb128 0 22246 .LLST124: 22247 1a79 00000000 .4byte .LVL224 22248 1a7d 26000000 .4byte .LVL226 22249 1a81 0100 .2byte 0x1 22250 1a83 50 .byte 0x50 22251 1a84 26000000 .4byte .LVL226 22252 1a88 5E000000 .4byte .LVL234 22253 1a8c 0100 .2byte 0x1 22254 1a8e 5A .byte 0x5a 22255 1a8f 5E000000 .4byte .LVL234 22256 1a93 D8010000 .4byte .LVL254 22257 1a97 0A00 .2byte 0xa ARM GAS /tmp/ccjvgGVC.s page 865 22258 1a99 F3 .byte 0xf3 22259 1a9a 03 .uleb128 0x3 22260 1a9b F5 .byte 0xf5 22261 1a9c 00 .uleb128 0 22262 1a9d 29 .uleb128 0x29 22263 1a9e F7 .byte 0xf7 22264 1a9f 37 .uleb128 0x37 22265 1aa0 F7 .byte 0xf7 22266 1aa1 00 .uleb128 0 22267 1aa2 9F .byte 0x9f 22268 1aa3 D8010000 .4byte .LVL254 22269 1aa7 F4010000 .4byte .LFE57 22270 1aab 0100 .2byte 0x1 22271 1aad 50 .byte 0x50 22272 1aae 00000000 .4byte 0 22273 1ab2 00000000 .4byte 0 22274 .LVUS125: 22275 1ab6 00 .uleb128 0 22276 1ab7 00 .uleb128 .LVU1295 22277 1ab8 00 .uleb128 .LVU1295 22278 1ab9 00 .uleb128 .LVU1471 22279 1aba 00 .uleb128 .LVU1471 22280 1abb 00 .uleb128 0 22281 .LLST125: 22282 1abc 00000000 .4byte .LVL224 22283 1ac0 29000000 .4byte .LVL227-1 22284 1ac4 0100 .2byte 0x1 22285 1ac6 51 .byte 0x51 22286 1ac7 29000000 .4byte .LVL227-1 22287 1acb D8010000 .4byte .LVL254 22288 1acf 0200 .2byte 0x2 22289 1ad1 91 .byte 0x91 22290 1ad2 40 .sleb128 -64 22291 1ad3 D8010000 .4byte .LVL254 22292 1ad7 F4010000 .4byte .LFE57 22293 1adb 0100 .2byte 0x1 22294 1add 51 .byte 0x51 22295 1ade 00000000 .4byte 0 22296 1ae2 00000000 .4byte 0 22297 .LVUS126: 22298 1ae6 00 .uleb128 0 22299 1ae7 00 .uleb128 .LVU1295 22300 1ae8 00 .uleb128 .LVU1295 22301 1ae9 00 .uleb128 .LVU1320 22302 1aea 00 .uleb128 .LVU1320 22303 1aeb 00 .uleb128 .LVU1471 22304 1aec 00 .uleb128 .LVU1471 22305 1aed 00 .uleb128 0 22306 .LLST126: 22307 1aee 00000000 .4byte .LVL224 22308 1af2 29000000 .4byte .LVL227-1 22309 1af6 0100 .2byte 0x1 22310 1af8 52 .byte 0x52 22311 1af9 29000000 .4byte .LVL227-1 22312 1afd 4C000000 .4byte .LVL232 22313 1b01 0100 .2byte 0x1 22314 1b03 56 .byte 0x56 ARM GAS /tmp/ccjvgGVC.s page 866 22315 1b04 4C000000 .4byte .LVL232 22316 1b08 D8010000 .4byte .LVL254 22317 1b0c 0A00 .2byte 0xa 22318 1b0e F3 .byte 0xf3 22319 1b0f 03 .uleb128 0x3 22320 1b10 F5 .byte 0xf5 22321 1b11 02 .uleb128 0x2 22322 1b12 29 .uleb128 0x29 22323 1b13 F7 .byte 0xf7 22324 1b14 3E .uleb128 0x3e 22325 1b15 F7 .byte 0xf7 22326 1b16 00 .uleb128 0 22327 1b17 9F .byte 0x9f 22328 1b18 D8010000 .4byte .LVL254 22329 1b1c F4010000 .4byte .LFE57 22330 1b20 0100 .2byte 0x1 22331 1b22 52 .byte 0x52 22332 1b23 00000000 .4byte 0 22333 1b27 00000000 .4byte 0 22334 .LVUS127: 22335 1b2b 00 .uleb128 0 22336 1b2c 00 .uleb128 .LVU1295 22337 1b2d 00 .uleb128 .LVU1295 22338 1b2e 00 .uleb128 .LVU1471 22339 1b2f 00 .uleb128 .LVU1471 22340 1b30 00 .uleb128 0 22341 .LLST127: 22342 1b31 00000000 .4byte .LVL224 22343 1b35 29000000 .4byte .LVL227-1 22344 1b39 0100 .2byte 0x1 22345 1b3b 53 .byte 0x53 22346 1b3c 29000000 .4byte .LVL227-1 22347 1b40 D8010000 .4byte .LVL254 22348 1b44 0200 .2byte 0x2 22349 1b46 91 .byte 0x91 22350 1b47 44 .sleb128 -60 22351 1b48 D8010000 .4byte .LVL254 22352 1b4c F4010000 .4byte .LFE57 22353 1b50 0100 .2byte 0x1 22354 1b52 53 .byte 0x53 22355 1b53 00000000 .4byte 0 22356 1b57 00000000 .4byte 0 22357 .LVUS128: 22358 1b5b 00 .uleb128 0 22359 1b5c 00 .uleb128 .LVU1324 22360 1b5d 00 .uleb128 .LVU1324 22361 1b5e 00 .uleb128 0 22362 .LLST128: 22363 1b5f 00000000 .4byte .LVL224 22364 1b63 5E000000 .4byte .LVL234 22365 1b67 0200 .2byte 0x2 22366 1b69 91 .byte 0x91 22367 1b6a 00 .sleb128 0 22368 1b6b 5E000000 .4byte .LVL234 22369 1b6f F4010000 .4byte .LFE57 22370 1b73 0200 .2byte 0x2 22371 1b75 91 .byte 0x91 ARM GAS /tmp/ccjvgGVC.s page 867 22372 1b76 00 .sleb128 0 22373 1b77 00000000 .4byte 0 22374 1b7b 00000000 .4byte 0 22375 .LVUS129: 22376 1b7f 00 .uleb128 0 22377 1b80 00 .uleb128 .LVU1324 22378 1b81 00 .uleb128 .LVU1324 22379 1b82 00 .uleb128 0 22380 .LLST129: 22381 1b83 00000000 .4byte .LVL224 22382 1b87 5E000000 .4byte .LVL234 22383 1b8b 0200 .2byte 0x2 22384 1b8d 91 .byte 0x91 22385 1b8e 04 .sleb128 4 22386 1b8f 5E000000 .4byte .LVL234 22387 1b93 F4010000 .4byte .LFE57 22388 1b97 0200 .2byte 0x2 22389 1b99 91 .byte 0x91 22390 1b9a 04 .sleb128 4 22391 1b9b 00000000 .4byte 0 22392 1b9f 00000000 .4byte 0 22393 .LVUS130: 22394 1ba3 00 .uleb128 0 22395 1ba4 00 .uleb128 .LVU1320 22396 1ba5 00 .uleb128 .LVU1324 22397 1ba6 00 .uleb128 .LVU1394 22398 1ba7 00 .uleb128 .LVU1397 22399 1ba8 00 .uleb128 .LVU1403 22400 1ba9 00 .uleb128 .LVU1423 22401 1baa 00 .uleb128 .LVU1431 22402 1bab 00 .uleb128 .LVU1471 22403 1bac 00 .uleb128 0 22404 .LLST130: 22405 1bad 00000000 .4byte .LVL224 22406 1bb1 4C000000 .4byte .LVL232 22407 1bb5 0200 .2byte 0x2 22408 1bb7 91 .byte 0x91 22409 1bb8 08 .sleb128 8 22410 1bb9 5E000000 .4byte .LVL234 22411 1bbd 28010000 .4byte .LVL242 22412 1bc1 0200 .2byte 0x2 22413 1bc3 91 .byte 0x91 22414 1bc4 08 .sleb128 8 22415 1bc5 32010000 .4byte .LVL244 22416 1bc9 3E010000 .4byte .LVL246 22417 1bcd 0200 .2byte 0x2 22418 1bcf 91 .byte 0x91 22419 1bd0 08 .sleb128 8 22420 1bd1 72010000 .4byte .LVL250 22421 1bd5 88010000 .4byte .LVL252 22422 1bd9 0200 .2byte 0x2 22423 1bdb 91 .byte 0x91 22424 1bdc 08 .sleb128 8 22425 1bdd D8010000 .4byte .LVL254 22426 1be1 F4010000 .4byte .LFE57 22427 1be5 0200 .2byte 0x2 22428 1be7 91 .byte 0x91 ARM GAS /tmp/ccjvgGVC.s page 868 22429 1be8 08 .sleb128 8 22430 1be9 00000000 .4byte 0 22431 1bed 00000000 .4byte 0 22432 .LVUS131: 22433 1bf1 00 .uleb128 .LVU1290 22434 1bf2 00 .uleb128 .LVU1323 22435 1bf3 00 .uleb128 .LVU1324 22436 1bf4 00 .uleb128 .LVU1408 22437 1bf5 00 .uleb128 .LVU1408 22438 1bf6 00 .uleb128 .LVU1410 22439 1bf7 00 .uleb128 .LVU1410 22440 1bf8 00 .uleb128 .LVU1431 22441 1bf9 00 .uleb128 .LVU1431 22442 1bfa 00 .uleb128 .LVU1434 22443 1bfb 00 .uleb128 .LVU1434 22444 1bfc 00 .uleb128 .LVU1471 22445 .LLST131: 22446 1bfd 24000000 .4byte .LVL225 22447 1c01 56000000 .4byte .LVL233 22448 1c05 0100 .2byte 0x1 22449 1c07 58 .byte 0x58 22450 1c08 5E000000 .4byte .LVL234 22451 1c0c 50010000 .4byte .LVL247 22452 1c10 0100 .2byte 0x1 22453 1c12 58 .byte 0x58 22454 1c13 50010000 .4byte .LVL247 22455 1c17 53010000 .4byte .LVL248-1 22456 1c1b 0100 .2byte 0x1 22457 1c1d 50 .byte 0x50 22458 1c1e 53010000 .4byte .LVL248-1 22459 1c22 88010000 .4byte .LVL252 22460 1c26 0100 .2byte 0x1 22461 1c28 58 .byte 0x58 22462 1c29 88010000 .4byte .LVL252 22463 1c2d 8B010000 .4byte .LVL253-1 22464 1c31 0100 .2byte 0x1 22465 1c33 50 .byte 0x50 22466 1c34 8B010000 .4byte .LVL253-1 22467 1c38 D8010000 .4byte .LVL254 22468 1c3c 0100 .2byte 0x1 22469 1c3e 58 .byte 0x58 22470 1c3f 00000000 .4byte 0 22471 1c43 00000000 .4byte 0 22472 .LVUS132: 22473 1c47 02 .uleb128 .LVU1282 22474 1c48 00 .uleb128 .LVU1290 22475 1c49 00 .uleb128 .LVU1471 22476 1c4a 00 .uleb128 .LVU1473 22477 .LLST132: 22478 1c4b 00000000 .4byte .LVL224 22479 1c4f 24000000 .4byte .LVL225 22480 1c53 0100 .2byte 0x1 22481 1c55 50 .byte 0x50 22482 1c56 D8010000 .4byte .LVL254 22483 1c5a DC010000 .4byte .LVL255 22484 1c5e 0100 .2byte 0x1 22485 1c60 50 .byte 0x50 ARM GAS /tmp/ccjvgGVC.s page 869 22486 1c61 00000000 .4byte 0 22487 1c65 00000000 .4byte 0 22488 .LVUS133: 22489 1c69 01 .uleb128 .LVU1296 22490 1c6a 00 .uleb128 .LVU1300 22491 1c6b 00 .uleb128 .LVU1300 22492 1c6c 00 .uleb128 .LVU1302 22493 1c6d 00 .uleb128 .LVU1302 22494 1c6e 00 .uleb128 .LVU1305 22495 1c6f 00 .uleb128 .LVU1305 22496 1c70 00 .uleb128 .LVU1305 22497 .LLST133: 22498 1c71 2A000000 .4byte .LVL227 22499 1c75 30000000 .4byte .LVL228 22500 1c79 0900 .2byte 0x9 22501 1c7b 74 .byte 0x74 22502 1c7c 00 .sleb128 0 22503 1c7d 03 .byte 0x3 22504 1c7e 58000000 .4byte _ZL9_i2c_devs+88 22505 1c82 22 .byte 0x22 22506 1c83 9F .byte 0x9f 22507 1c84 30000000 .4byte .LVL228 22508 1c88 32000000 .4byte .LVL229 22509 1c8c 0900 .2byte 0x9 22510 1c8e 71 .byte 0x71 22511 1c8f 00 .sleb128 0 22512 1c90 03 .byte 0x3 22513 1c91 00000000 .4byte _ZL9_i2c_devs 22514 1c95 22 .byte 0x22 22515 1c96 9F .byte 0x9f 22516 1c97 32000000 .4byte .LVL229 22517 1c9b 3B000000 .4byte .LVL230-1 22518 1c9f 0100 .2byte 0x1 22519 1ca1 51 .byte 0x51 22520 1ca2 3B000000 .4byte .LVL230-1 22521 1ca6 3C000000 .4byte .LVL230 22522 1caa 0400 .2byte 0x4 22523 1cac 78 .byte 0x78 22524 1cad D800 .sleb128 88 22525 1caf 9F .byte 0x9f 22526 1cb0 00000000 .4byte 0 22527 1cb4 00000000 .4byte 0 22528 .LVUS134: 22529 1cb8 02 .uleb128 .LVU1307 22530 1cb9 00 .uleb128 .LVU1320 22531 1cba 00 .uleb128 .LVU1324 22532 1cbb 00 .uleb128 .LVU1370 22533 1cbc 00 .uleb128 .LVU1371 22534 1cbd 00 .uleb128 .LVU1396 22535 1cbe 00 .uleb128 .LVU1397 22536 1cbf 00 .uleb128 .LVU1408 22537 1cc0 00 .uleb128 .LVU1408 22538 1cc1 00 .uleb128 .LVU1410 22539 1cc2 00 .uleb128 .LVU1410 22540 1cc3 04 .uleb128 .LVU1421 22541 1cc4 00 .uleb128 .LVU1423 22542 1cc5 00 .uleb128 .LVU1431 ARM GAS /tmp/ccjvgGVC.s page 870 22543 1cc6 00 .uleb128 .LVU1431 22544 1cc7 00 .uleb128 .LVU1434 22545 1cc8 00 .uleb128 .LVU1434 22546 1cc9 00 .uleb128 .LVU1471 22547 .LLST134: 22548 1cca 3C000000 .4byte .LVL230 22549 1cce 4C000000 .4byte .LVL232 22550 1cd2 0100 .2byte 0x1 22551 1cd4 58 .byte 0x58 22552 1cd5 5E000000 .4byte .LVL234 22553 1cd9 EC000000 .4byte .LVL238 22554 1cdd 0100 .2byte 0x1 22555 1cdf 58 .byte 0x58 22556 1ce0 EE000000 .4byte .LVL239 22557 1ce4 30010000 .4byte .LVL243 22558 1ce8 0100 .2byte 0x1 22559 1cea 58 .byte 0x58 22560 1ceb 32010000 .4byte .LVL244 22561 1cef 50010000 .4byte .LVL247 22562 1cf3 0100 .2byte 0x1 22563 1cf5 58 .byte 0x58 22564 1cf6 50010000 .4byte .LVL247 22565 1cfa 53010000 .4byte .LVL248-1 22566 1cfe 0100 .2byte 0x1 22567 1d00 50 .byte 0x50 22568 1d01 53010000 .4byte .LVL248-1 22569 1d05 6E010000 .4byte .LVL249 22570 1d09 0100 .2byte 0x1 22571 1d0b 58 .byte 0x58 22572 1d0c 72010000 .4byte .LVL250 22573 1d10 88010000 .4byte .LVL252 22574 1d14 0100 .2byte 0x1 22575 1d16 58 .byte 0x58 22576 1d17 88010000 .4byte .LVL252 22577 1d1b 8B010000 .4byte .LVL253-1 22578 1d1f 0100 .2byte 0x1 22579 1d21 50 .byte 0x50 22580 1d22 8B010000 .4byte .LVL253-1 22581 1d26 D8010000 .4byte .LVL254 22582 1d2a 0100 .2byte 0x1 22583 1d2c 58 .byte 0x58 22584 1d2d 00000000 .4byte 0 22585 1d31 00000000 .4byte 0 22586 .LVUS135: 22587 1d35 02 .uleb128 .LVU1307 22588 1d36 00 .uleb128 .LVU1320 22589 1d37 00 .uleb128 .LVU1324 22590 1d38 00 .uleb128 .LVU1370 22591 1d39 00 .uleb128 .LVU1371 22592 1d3a 00 .uleb128 .LVU1396 22593 1d3b 00 .uleb128 .LVU1397 22594 1d3c 04 .uleb128 .LVU1421 22595 1d3d 00 .uleb128 .LVU1423 22596 1d3e 00 .uleb128 .LVU1471 22597 .LLST135: 22598 1d3f 3C000000 .4byte .LVL230 22599 1d43 4C000000 .4byte .LVL232 ARM GAS /tmp/ccjvgGVC.s page 871 22600 1d47 0700 .2byte 0x7 22601 1d49 91 .byte 0x91 22602 1d4a 40 .sleb128 -64 22603 1d4b 94 .byte 0x94 22604 1d4c 02 .byte 0x2 22605 1d4d 31 .byte 0x31 22606 1d4e 24 .byte 0x24 22607 1d4f 9F .byte 0x9f 22608 1d50 5E000000 .4byte .LVL234 22609 1d54 EC000000 .4byte .LVL238 22610 1d58 0700 .2byte 0x7 22611 1d5a 91 .byte 0x91 22612 1d5b 40 .sleb128 -64 22613 1d5c 94 .byte 0x94 22614 1d5d 02 .byte 0x2 22615 1d5e 31 .byte 0x31 22616 1d5f 24 .byte 0x24 22617 1d60 9F .byte 0x9f 22618 1d61 EE000000 .4byte .LVL239 22619 1d65 30010000 .4byte .LVL243 22620 1d69 0700 .2byte 0x7 22621 1d6b 91 .byte 0x91 22622 1d6c 40 .sleb128 -64 22623 1d6d 94 .byte 0x94 22624 1d6e 02 .byte 0x2 22625 1d6f 31 .byte 0x31 22626 1d70 24 .byte 0x24 22627 1d71 9F .byte 0x9f 22628 1d72 32010000 .4byte .LVL244 22629 1d76 6E010000 .4byte .LVL249 22630 1d7a 0700 .2byte 0x7 22631 1d7c 91 .byte 0x91 22632 1d7d 40 .sleb128 -64 22633 1d7e 94 .byte 0x94 22634 1d7f 02 .byte 0x2 22635 1d80 31 .byte 0x31 22636 1d81 24 .byte 0x24 22637 1d82 9F .byte 0x9f 22638 1d83 72010000 .4byte .LVL250 22639 1d87 D8010000 .4byte .LVL254 22640 1d8b 0700 .2byte 0x7 22641 1d8d 91 .byte 0x91 22642 1d8e 40 .sleb128 -64 22643 1d8f 94 .byte 0x94 22644 1d90 02 .byte 0x2 22645 1d91 31 .byte 0x31 22646 1d92 24 .byte 0x24 22647 1d93 9F .byte 0x9f 22648 1d94 00000000 .4byte 0 22649 1d98 00000000 .4byte 0 22650 .LVUS136: 22651 1d9c 02 .uleb128 .LVU1307 22652 1d9d 00 .uleb128 .LVU1320 22653 1d9e 00 .uleb128 .LVU1324 22654 1d9f 00 .uleb128 .LVU1370 22655 1da0 00 .uleb128 .LVU1371 22656 1da1 00 .uleb128 .LVU1394 ARM GAS /tmp/ccjvgGVC.s page 872 22657 1da2 00 .uleb128 .LVU1394 22658 1da3 00 .uleb128 .LVU1396 22659 1da4 00 .uleb128 .LVU1397 22660 1da5 00 .uleb128 .LVU1402 22661 1da6 00 .uleb128 .LVU1402 22662 1da7 04 .uleb128 .LVU1421 22663 1da8 00 .uleb128 .LVU1423 22664 1da9 00 .uleb128 .LVU1431 22665 1daa 00 .uleb128 .LVU1431 22666 1dab 00 .uleb128 .LVU1471 22667 .LLST136: 22668 1dac 3C000000 .4byte .LVL230 22669 1db0 4C000000 .4byte .LVL232 22670 1db4 0100 .2byte 0x1 22671 1db6 56 .byte 0x56 22672 1db7 5E000000 .4byte .LVL234 22673 1dbb EC000000 .4byte .LVL238 22674 1dbf 0100 .2byte 0x1 22675 1dc1 56 .byte 0x56 22676 1dc2 EE000000 .4byte .LVL239 22677 1dc6 28010000 .4byte .LVL242 22678 1dca 0100 .2byte 0x1 22679 1dcc 56 .byte 0x56 22680 1dcd 28010000 .4byte .LVL242 22681 1dd1 30010000 .4byte .LVL243 22682 1dd5 0A00 .2byte 0xa 22683 1dd7 F3 .byte 0xf3 22684 1dd8 03 .uleb128 0x3 22685 1dd9 F5 .byte 0xf5 22686 1dda 02 .uleb128 0x2 22687 1ddb 29 .uleb128 0x29 22688 1ddc F7 .byte 0xf7 22689 1ddd 3E .uleb128 0x3e 22690 1dde F7 .byte 0xf7 22691 1ddf 00 .uleb128 0 22692 1de0 9F .byte 0x9f 22693 1de1 32010000 .4byte .LVL244 22694 1de5 3C010000 .4byte .LVL245 22695 1de9 0100 .2byte 0x1 22696 1deb 56 .byte 0x56 22697 1dec 3C010000 .4byte .LVL245 22698 1df0 6E010000 .4byte .LVL249 22699 1df4 0A00 .2byte 0xa 22700 1df6 F3 .byte 0xf3 22701 1df7 03 .uleb128 0x3 22702 1df8 F5 .byte 0xf5 22703 1df9 02 .uleb128 0x2 22704 1dfa 29 .uleb128 0x29 22705 1dfb F7 .byte 0xf7 22706 1dfc 3E .uleb128 0x3e 22707 1dfd F7 .byte 0xf7 22708 1dfe 00 .uleb128 0 22709 1dff 9F .byte 0x9f 22710 1e00 72010000 .4byte .LVL250 22711 1e04 88010000 .4byte .LVL252 22712 1e08 0100 .2byte 0x1 22713 1e0a 56 .byte 0x56 ARM GAS /tmp/ccjvgGVC.s page 873 22714 1e0b 88010000 .4byte .LVL252 22715 1e0f D8010000 .4byte .LVL254 22716 1e13 0A00 .2byte 0xa 22717 1e15 F3 .byte 0xf3 22718 1e16 03 .uleb128 0x3 22719 1e17 F5 .byte 0xf5 22720 1e18 02 .uleb128 0x2 22721 1e19 29 .uleb128 0x29 22722 1e1a F7 .byte 0xf7 22723 1e1b 3E .uleb128 0x3e 22724 1e1c F7 .byte 0xf7 22725 1e1d 00 .uleb128 0 22726 1e1e 9F .byte 0x9f 22727 1e1f 00000000 .4byte 0 22728 1e23 00000000 .4byte 0 22729 .LVUS137: 22730 1e27 02 .uleb128 .LVU1307 22731 1e28 00 .uleb128 .LVU1320 22732 1e29 00 .uleb128 .LVU1324 22733 1e2a 00 .uleb128 .LVU1370 22734 1e2b 00 .uleb128 .LVU1371 22735 1e2c 00 .uleb128 .LVU1396 22736 1e2d 00 .uleb128 .LVU1397 22737 1e2e 04 .uleb128 .LVU1421 22738 1e2f 00 .uleb128 .LVU1423 22739 1e30 00 .uleb128 .LVU1471 22740 .LLST137: 22741 1e31 3C000000 .4byte .LVL230 22742 1e35 4C000000 .4byte .LVL232 22743 1e39 0200 .2byte 0x2 22744 1e3b 91 .byte 0x91 22745 1e3c 44 .sleb128 -60 22746 1e3d 5E000000 .4byte .LVL234 22747 1e41 EC000000 .4byte .LVL238 22748 1e45 0200 .2byte 0x2 22749 1e47 91 .byte 0x91 22750 1e48 44 .sleb128 -60 22751 1e49 EE000000 .4byte .LVL239 22752 1e4d 30010000 .4byte .LVL243 22753 1e51 0200 .2byte 0x2 22754 1e53 91 .byte 0x91 22755 1e54 44 .sleb128 -60 22756 1e55 32010000 .4byte .LVL244 22757 1e59 6E010000 .4byte .LVL249 22758 1e5d 0200 .2byte 0x2 22759 1e5f 91 .byte 0x91 22760 1e60 44 .sleb128 -60 22761 1e61 72010000 .4byte .LVL250 22762 1e65 D8010000 .4byte .LVL254 22763 1e69 0200 .2byte 0x2 22764 1e6b 91 .byte 0x91 22765 1e6c 44 .sleb128 -60 22766 1e6d 00000000 .4byte 0 22767 1e71 00000000 .4byte 0 22768 .LVUS138: 22769 1e75 02 .uleb128 .LVU1307 22770 1e76 00 .uleb128 .LVU1320 ARM GAS /tmp/ccjvgGVC.s page 874 22771 1e77 00 .uleb128 .LVU1324 22772 1e78 00 .uleb128 .LVU1370 22773 1e79 00 .uleb128 .LVU1371 22774 1e7a 00 .uleb128 .LVU1396 22775 1e7b 00 .uleb128 .LVU1397 22776 1e7c 04 .uleb128 .LVU1421 22777 1e7d 00 .uleb128 .LVU1423 22778 1e7e 00 .uleb128 .LVU1471 22779 .LLST138: 22780 1e7f 3C000000 .4byte .LVL230 22781 1e83 4C000000 .4byte .LVL232 22782 1e87 0200 .2byte 0x2 22783 1e89 91 .byte 0x91 22784 1e8a 00 .sleb128 0 22785 1e8b 5E000000 .4byte .LVL234 22786 1e8f EC000000 .4byte .LVL238 22787 1e93 0200 .2byte 0x2 22788 1e95 91 .byte 0x91 22789 1e96 00 .sleb128 0 22790 1e97 EE000000 .4byte .LVL239 22791 1e9b 30010000 .4byte .LVL243 22792 1e9f 0200 .2byte 0x2 22793 1ea1 91 .byte 0x91 22794 1ea2 00 .sleb128 0 22795 1ea3 32010000 .4byte .LVL244 22796 1ea7 6E010000 .4byte .LVL249 22797 1eab 0200 .2byte 0x2 22798 1ead 91 .byte 0x91 22799 1eae 00 .sleb128 0 22800 1eaf 72010000 .4byte .LVL250 22801 1eb3 D8010000 .4byte .LVL254 22802 1eb7 0200 .2byte 0x2 22803 1eb9 91 .byte 0x91 22804 1eba 00 .sleb128 0 22805 1ebb 00000000 .4byte 0 22806 1ebf 00000000 .4byte 0 22807 .LVUS139: 22808 1ec3 02 .uleb128 .LVU1307 22809 1ec4 00 .uleb128 .LVU1320 22810 1ec5 00 .uleb128 .LVU1324 22811 1ec6 00 .uleb128 .LVU1370 22812 1ec7 00 .uleb128 .LVU1371 22813 1ec8 00 .uleb128 .LVU1396 22814 1ec9 00 .uleb128 .LVU1397 22815 1eca 04 .uleb128 .LVU1421 22816 1ecb 00 .uleb128 .LVU1423 22817 1ecc 00 .uleb128 .LVU1471 22818 .LLST139: 22819 1ecd 3C000000 .4byte .LVL230 22820 1ed1 4C000000 .4byte .LVL232 22821 1ed5 0200 .2byte 0x2 22822 1ed7 91 .byte 0x91 22823 1ed8 04 .sleb128 4 22824 1ed9 5E000000 .4byte .LVL234 22825 1edd EC000000 .4byte .LVL238 22826 1ee1 0200 .2byte 0x2 22827 1ee3 91 .byte 0x91 ARM GAS /tmp/ccjvgGVC.s page 875 22828 1ee4 04 .sleb128 4 22829 1ee5 EE000000 .4byte .LVL239 22830 1ee9 30010000 .4byte .LVL243 22831 1eed 0200 .2byte 0x2 22832 1eef 91 .byte 0x91 22833 1ef0 04 .sleb128 4 22834 1ef1 32010000 .4byte .LVL244 22835 1ef5 6E010000 .4byte .LVL249 22836 1ef9 0200 .2byte 0x2 22837 1efb 91 .byte 0x91 22838 1efc 04 .sleb128 4 22839 1efd 72010000 .4byte .LVL250 22840 1f01 D8010000 .4byte .LVL254 22841 1f05 0200 .2byte 0x2 22842 1f07 91 .byte 0x91 22843 1f08 04 .sleb128 4 22844 1f09 00000000 .4byte 0 22845 1f0d 00000000 .4byte 0 22846 .LVUS140: 22847 1f11 02 .uleb128 .LVU1307 22848 1f12 00 .uleb128 .LVU1320 22849 1f13 00 .uleb128 .LVU1324 22850 1f14 00 .uleb128 .LVU1370 22851 1f15 00 .uleb128 .LVU1371 22852 1f16 00 .uleb128 .LVU1396 22853 1f17 00 .uleb128 .LVU1397 22854 1f18 00 .uleb128 .LVU1408 22855 1f19 00 .uleb128 .LVU1408 22856 1f1a 00 .uleb128 .LVU1410 22857 1f1b 00 .uleb128 .LVU1410 22858 1f1c 04 .uleb128 .LVU1421 22859 1f1d 00 .uleb128 .LVU1423 22860 1f1e 00 .uleb128 .LVU1431 22861 1f1f 00 .uleb128 .LVU1431 22862 1f20 00 .uleb128 .LVU1434 22863 1f21 00 .uleb128 .LVU1434 22864 1f22 00 .uleb128 .LVU1471 22865 .LLST140: 22866 1f23 3C000000 .4byte .LVL230 22867 1f27 4C000000 .4byte .LVL232 22868 1f2b 0100 .2byte 0x1 22869 1f2d 5B .byte 0x5b 22870 1f2e 5E000000 .4byte .LVL234 22871 1f32 EC000000 .4byte .LVL238 22872 1f36 0100 .2byte 0x1 22873 1f38 5B .byte 0x5b 22874 1f39 EE000000 .4byte .LVL239 22875 1f3d 30010000 .4byte .LVL243 22876 1f41 0100 .2byte 0x1 22877 1f43 5B .byte 0x5b 22878 1f44 32010000 .4byte .LVL244 22879 1f48 50010000 .4byte .LVL247 22880 1f4c 0100 .2byte 0x1 22881 1f4e 5B .byte 0x5b 22882 1f4f 50010000 .4byte .LVL247 22883 1f53 53010000 .4byte .LVL248-1 22884 1f57 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 876 22885 1f59 51 .byte 0x51 22886 1f5a 53010000 .4byte .LVL248-1 22887 1f5e 6E010000 .4byte .LVL249 22888 1f62 0100 .2byte 0x1 22889 1f64 5B .byte 0x5b 22890 1f65 72010000 .4byte .LVL250 22891 1f69 88010000 .4byte .LVL252 22892 1f6d 0100 .2byte 0x1 22893 1f6f 5B .byte 0x5b 22894 1f70 88010000 .4byte .LVL252 22895 1f74 8B010000 .4byte .LVL253-1 22896 1f78 0100 .2byte 0x1 22897 1f7a 51 .byte 0x51 22898 1f7b 8B010000 .4byte .LVL253-1 22899 1f7f D8010000 .4byte .LVL254 22900 1f83 0100 .2byte 0x1 22901 1f85 5B .byte 0x5b 22902 1f86 00000000 .4byte 0 22903 1f8a 00000000 .4byte 0 22904 .LVUS141: 22905 1f8e 00 .uleb128 .LVU1315 22906 1f8f 00 .uleb128 .LVU1320 22907 1f90 00 .uleb128 .LVU1324 22908 1f91 00 .uleb128 .LVU1370 22909 1f92 00 .uleb128 .LVU1371 22910 1f93 00 .uleb128 .LVU1396 22911 1f94 00 .uleb128 .LVU1397 22912 1f95 00 .uleb128 .LVU1408 22913 1f96 00 .uleb128 .LVU1408 22914 1f97 00 .uleb128 .LVU1410 22915 1f98 00 .uleb128 .LVU1410 22916 1f99 04 .uleb128 .LVU1421 22917 1f9a 00 .uleb128 .LVU1423 22918 1f9b 00 .uleb128 .LVU1431 22919 1f9c 00 .uleb128 .LVU1431 22920 1f9d 00 .uleb128 .LVU1434 22921 1f9e 00 .uleb128 .LVU1434 22922 1f9f 00 .uleb128 .LVU1471 22923 .LLST141: 22924 1fa0 44000000 .4byte .LVL231 22925 1fa4 4C000000 .4byte .LVL232 22926 1fa8 0100 .2byte 0x1 22927 1faa 59 .byte 0x59 22928 1fab 5E000000 .4byte .LVL234 22929 1faf EC000000 .4byte .LVL238 22930 1fb3 0100 .2byte 0x1 22931 1fb5 59 .byte 0x59 22932 1fb6 EE000000 .4byte .LVL239 22933 1fba 30010000 .4byte .LVL243 22934 1fbe 0100 .2byte 0x1 22935 1fc0 59 .byte 0x59 22936 1fc1 32010000 .4byte .LVL244 22937 1fc5 50010000 .4byte .LVL247 22938 1fc9 0100 .2byte 0x1 22939 1fcb 59 .byte 0x59 22940 1fcc 50010000 .4byte .LVL247 22941 1fd0 53010000 .4byte .LVL248-1 ARM GAS /tmp/ccjvgGVC.s page 877 22942 1fd4 0100 .2byte 0x1 22943 1fd6 52 .byte 0x52 22944 1fd7 53010000 .4byte .LVL248-1 22945 1fdb 6E010000 .4byte .LVL249 22946 1fdf 0100 .2byte 0x1 22947 1fe1 59 .byte 0x59 22948 1fe2 72010000 .4byte .LVL250 22949 1fe6 88010000 .4byte .LVL252 22950 1fea 0100 .2byte 0x1 22951 1fec 59 .byte 0x59 22952 1fed 88010000 .4byte .LVL252 22953 1ff1 8B010000 .4byte .LVL253-1 22954 1ff5 0100 .2byte 0x1 22955 1ff7 52 .byte 0x52 22956 1ff8 8B010000 .4byte .LVL253-1 22957 1ffc D8010000 .4byte .LVL254 22958 2000 0100 .2byte 0x1 22959 2002 59 .byte 0x59 22960 2003 00000000 .4byte 0 22961 2007 00000000 .4byte 0 22962 .LVUS142: 22963 200b 01 .uleb128 .LVU1359 22964 200c 00 .uleb128 .LVU1370 22965 200d 00 .uleb128 .LVU1371 22966 200e 00 .uleb128 .LVU1394 22967 200f 00 .uleb128 .LVU1397 22968 2010 00 .uleb128 .LVU1403 22969 2011 00 .uleb128 .LVU1423 22970 2012 00 .uleb128 .LVU1431 22971 .LLST142: 22972 2013 C4000000 .4byte .LVL236 22973 2017 EC000000 .4byte .LVL238 22974 201b 0100 .2byte 0x1 22975 201d 58 .byte 0x58 22976 201e EE000000 .4byte .LVL239 22977 2022 28010000 .4byte .LVL242 22978 2026 0100 .2byte 0x1 22979 2028 58 .byte 0x58 22980 2029 32010000 .4byte .LVL244 22981 202d 3E010000 .4byte .LVL246 22982 2031 0100 .2byte 0x1 22983 2033 58 .byte 0x58 22984 2034 72010000 .4byte .LVL250 22985 2038 88010000 .4byte .LVL252 22986 203c 0100 .2byte 0x1 22987 203e 58 .byte 0x58 22988 203f 00000000 .4byte 0 22989 2043 00000000 .4byte 0 22990 .LVUS143: 22991 2047 01 .uleb128 .LVU1359 22992 2048 00 .uleb128 .LVU1370 22993 2049 00 .uleb128 .LVU1371 22994 204a 00 .uleb128 .LVU1394 22995 204b 00 .uleb128 .LVU1397 22996 204c 00 .uleb128 .LVU1403 22997 204d 00 .uleb128 .LVU1423 22998 204e 00 .uleb128 .LVU1431 ARM GAS /tmp/ccjvgGVC.s page 878 22999 .LLST143: 23000 204f C4000000 .4byte .LVL236 23001 2053 EC000000 .4byte .LVL238 23002 2057 0700 .2byte 0x7 23003 2059 91 .byte 0x91 23004 205a 40 .sleb128 -64 23005 205b 94 .byte 0x94 23006 205c 02 .byte 0x2 23007 205d 31 .byte 0x31 23008 205e 24 .byte 0x24 23009 205f 9F .byte 0x9f 23010 2060 EE000000 .4byte .LVL239 23011 2064 28010000 .4byte .LVL242 23012 2068 0700 .2byte 0x7 23013 206a 91 .byte 0x91 23014 206b 40 .sleb128 -64 23015 206c 94 .byte 0x94 23016 206d 02 .byte 0x2 23017 206e 31 .byte 0x31 23018 206f 24 .byte 0x24 23019 2070 9F .byte 0x9f 23020 2071 32010000 .4byte .LVL244 23021 2075 3E010000 .4byte .LVL246 23022 2079 0700 .2byte 0x7 23023 207b 91 .byte 0x91 23024 207c 40 .sleb128 -64 23025 207d 94 .byte 0x94 23026 207e 02 .byte 0x2 23027 207f 31 .byte 0x31 23028 2080 24 .byte 0x24 23029 2081 9F .byte 0x9f 23030 2082 72010000 .4byte .LVL250 23031 2086 88010000 .4byte .LVL252 23032 208a 0700 .2byte 0x7 23033 208c 91 .byte 0x91 23034 208d 40 .sleb128 -64 23035 208e 94 .byte 0x94 23036 208f 02 .byte 0x2 23037 2090 31 .byte 0x31 23038 2091 24 .byte 0x24 23039 2092 9F .byte 0x9f 23040 2093 00000000 .4byte 0 23041 2097 00000000 .4byte 0 23042 .LVUS144: 23043 209b 01 .uleb128 .LVU1359 23044 209c 00 .uleb128 .LVU1370 23045 209d 00 .uleb128 .LVU1371 23046 209e 00 .uleb128 .LVU1394 23047 209f 00 .uleb128 .LVU1397 23048 20a0 00 .uleb128 .LVU1402 23049 20a1 00 .uleb128 .LVU1402 23050 20a2 00 .uleb128 .LVU1403 23051 20a3 00 .uleb128 .LVU1423 23052 20a4 00 .uleb128 .LVU1431 23053 .LLST144: 23054 20a5 C4000000 .4byte .LVL236 23055 20a9 EC000000 .4byte .LVL238 ARM GAS /tmp/ccjvgGVC.s page 879 23056 20ad 0100 .2byte 0x1 23057 20af 56 .byte 0x56 23058 20b0 EE000000 .4byte .LVL239 23059 20b4 28010000 .4byte .LVL242 23060 20b8 0100 .2byte 0x1 23061 20ba 56 .byte 0x56 23062 20bb 32010000 .4byte .LVL244 23063 20bf 3C010000 .4byte .LVL245 23064 20c3 0100 .2byte 0x1 23065 20c5 56 .byte 0x56 23066 20c6 3C010000 .4byte .LVL245 23067 20ca 3E010000 .4byte .LVL246 23068 20ce 0A00 .2byte 0xa 23069 20d0 F3 .byte 0xf3 23070 20d1 03 .uleb128 0x3 23071 20d2 F5 .byte 0xf5 23072 20d3 02 .uleb128 0x2 23073 20d4 29 .uleb128 0x29 23074 20d5 F7 .byte 0xf7 23075 20d6 3E .uleb128 0x3e 23076 20d7 F7 .byte 0xf7 23077 20d8 00 .uleb128 0 23078 20d9 9F .byte 0x9f 23079 20da 72010000 .4byte .LVL250 23080 20de 88010000 .4byte .LVL252 23081 20e2 0100 .2byte 0x1 23082 20e4 56 .byte 0x56 23083 20e5 00000000 .4byte 0 23084 20e9 00000000 .4byte 0 23085 .LVUS145: 23086 20ed 01 .uleb128 .LVU1359 23087 20ee 00 .uleb128 .LVU1370 23088 20ef 00 .uleb128 .LVU1371 23089 20f0 00 .uleb128 .LVU1394 23090 20f1 00 .uleb128 .LVU1397 23091 20f2 00 .uleb128 .LVU1403 23092 20f3 00 .uleb128 .LVU1423 23093 20f4 00 .uleb128 .LVU1431 23094 .LLST145: 23095 20f5 C4000000 .4byte .LVL236 23096 20f9 EC000000 .4byte .LVL238 23097 20fd 0200 .2byte 0x2 23098 20ff 91 .byte 0x91 23099 2100 44 .sleb128 -60 23100 2101 EE000000 .4byte .LVL239 23101 2105 28010000 .4byte .LVL242 23102 2109 0200 .2byte 0x2 23103 210b 91 .byte 0x91 23104 210c 44 .sleb128 -60 23105 210d 32010000 .4byte .LVL244 23106 2111 3E010000 .4byte .LVL246 23107 2115 0200 .2byte 0x2 23108 2117 91 .byte 0x91 23109 2118 44 .sleb128 -60 23110 2119 72010000 .4byte .LVL250 23111 211d 88010000 .4byte .LVL252 23112 2121 0200 .2byte 0x2 ARM GAS /tmp/ccjvgGVC.s page 880 23113 2123 91 .byte 0x91 23114 2124 44 .sleb128 -60 23115 2125 00000000 .4byte 0 23116 2129 00000000 .4byte 0 23117 .LVUS146: 23118 212d 01 .uleb128 .LVU1359 23119 212e 00 .uleb128 .LVU1370 23120 212f 00 .uleb128 .LVU1371 23121 2130 00 .uleb128 .LVU1394 23122 2131 00 .uleb128 .LVU1397 23123 2132 00 .uleb128 .LVU1403 23124 2133 00 .uleb128 .LVU1423 23125 2134 00 .uleb128 .LVU1431 23126 .LLST146: 23127 2135 C4000000 .4byte .LVL236 23128 2139 EC000000 .4byte .LVL238 23129 213d 0100 .2byte 0x1 23130 213f 5B .byte 0x5b 23131 2140 EE000000 .4byte .LVL239 23132 2144 28010000 .4byte .LVL242 23133 2148 0100 .2byte 0x1 23134 214a 5B .byte 0x5b 23135 214b 32010000 .4byte .LVL244 23136 214f 3E010000 .4byte .LVL246 23137 2153 0100 .2byte 0x1 23138 2155 5B .byte 0x5b 23139 2156 72010000 .4byte .LVL250 23140 215a 88010000 .4byte .LVL252 23141 215e 0100 .2byte 0x1 23142 2160 5B .byte 0x5b 23143 2161 00000000 .4byte 0 23144 2165 00000000 .4byte 0 23145 .LVUS147: 23146 2169 01 .uleb128 .LVU1359 23147 216a 00 .uleb128 .LVU1370 23148 216b 00 .uleb128 .LVU1371 23149 216c 00 .uleb128 .LVU1394 23150 216d 00 .uleb128 .LVU1397 23151 216e 00 .uleb128 .LVU1403 23152 216f 00 .uleb128 .LVU1423 23153 2170 00 .uleb128 .LVU1431 23154 .LLST147: 23155 2171 C4000000 .4byte .LVL236 23156 2175 EC000000 .4byte .LVL238 23157 2179 0100 .2byte 0x1 23158 217b 59 .byte 0x59 23159 217c EE000000 .4byte .LVL239 23160 2180 28010000 .4byte .LVL242 23161 2184 0100 .2byte 0x1 23162 2186 59 .byte 0x59 23163 2187 32010000 .4byte .LVL244 23164 218b 3E010000 .4byte .LVL246 23165 218f 0100 .2byte 0x1 23166 2191 59 .byte 0x59 23167 2192 72010000 .4byte .LVL250 23168 2196 88010000 .4byte .LVL252 23169 219a 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 881 23170 219c 59 .byte 0x59 23171 219d 00000000 .4byte 0 23172 21a1 00000000 .4byte 0 23173 .LLST148: 23174 21a5 00000000 .4byte .LFB60 23175 21a9 04000000 .4byte .LCFI31 23176 21ad 0200 .2byte 0x2 23177 21af 7D .byte 0x7d 23178 21b0 00 .sleb128 0 23179 21b1 04000000 .4byte .LCFI31 23180 21b5 08000000 .4byte .LCFI32 23181 21b9 0200 .2byte 0x2 23182 21bb 7D .byte 0x7d 23183 21bc 24 .sleb128 36 23184 21bd 08000000 .4byte .LCFI32 23185 21c1 5E000000 .4byte .LCFI33 23186 21c5 0300 .2byte 0x3 23187 21c7 7D .byte 0x7d 23188 21c8 C800 .sleb128 72 23189 21ca 5E000000 .4byte .LCFI33 23190 21ce 62000000 .4byte .LCFI34 23191 21d2 0200 .2byte 0x2 23192 21d4 7D .byte 0x7d 23193 21d5 24 .sleb128 36 23194 21d6 62000000 .4byte .LCFI34 23195 21da B0010000 .4byte .LFE60 23196 21de 0300 .2byte 0x3 23197 21e0 7D .byte 0x7d 23198 21e1 C800 .sleb128 72 23199 21e3 00000000 .4byte 0 23200 21e7 00000000 .4byte 0 23201 .LVUS149: 23202 21eb 00 .uleb128 0 23203 21ec 00 .uleb128 .LVU1492 23204 21ed 00 .uleb128 .LVU1492 23205 21ee 00 .uleb128 .LVU1516 23206 21ef 00 .uleb128 .LVU1516 23207 21f0 00 .uleb128 .LVU1640 23208 21f1 00 .uleb128 .LVU1640 23209 21f2 00 .uleb128 0 23210 .LLST149: 23211 21f3 00000000 .4byte .LVL256 23212 21f7 2C000000 .4byte .LVL258 23213 21fb 0100 .2byte 0x1 23214 21fd 50 .byte 0x50 23215 21fe 2C000000 .4byte .LVL258 23216 2202 50000000 .4byte .LVL262 23217 2206 0100 .2byte 0x1 23218 2208 55 .byte 0x55 23219 2209 50000000 .4byte .LVL262 23220 220d 9C010000 .4byte .LVL286 23221 2211 0A00 .2byte 0xa 23222 2213 F3 .byte 0xf3 23223 2214 03 .uleb128 0x3 23224 2215 F5 .byte 0xf5 23225 2216 00 .uleb128 0 23226 2217 29 .uleb128 0x29 ARM GAS /tmp/ccjvgGVC.s page 882 23227 2218 F7 .byte 0xf7 23228 2219 37 .uleb128 0x37 23229 221a F7 .byte 0xf7 23230 221b 00 .uleb128 0 23231 221c 9F .byte 0x9f 23232 221d 9C010000 .4byte .LVL286 23233 2221 B0010000 .4byte .LFE60 23234 2225 0100 .2byte 0x1 23235 2227 50 .byte 0x50 23236 2228 00000000 .4byte 0 23237 222c 00000000 .4byte 0 23238 .LVUS150: 23239 2230 00 .uleb128 0 23240 2231 00 .uleb128 .LVU1494 23241 2232 00 .uleb128 .LVU1494 23242 2233 00 .uleb128 .LVU1640 23243 2234 00 .uleb128 .LVU1640 23244 2235 00 .uleb128 0 23245 .LLST150: 23246 2236 00000000 .4byte .LVL256 23247 223a 33000000 .4byte .LVL259-1 23248 223e 0100 .2byte 0x1 23249 2240 51 .byte 0x51 23250 2241 33000000 .4byte .LVL259-1 23251 2245 9C010000 .4byte .LVL286 23252 2249 0200 .2byte 0x2 23253 224b 91 .byte 0x91 23254 224c 40 .sleb128 -64 23255 224d 9C010000 .4byte .LVL286 23256 2251 B0010000 .4byte .LFE60 23257 2255 0100 .2byte 0x1 23258 2257 51 .byte 0x51 23259 2258 00000000 .4byte 0 23260 225c 00000000 .4byte 0 23261 .LVUS151: 23262 2260 00 .uleb128 0 23263 2261 00 .uleb128 .LVU1494 23264 2262 00 .uleb128 .LVU1494 23265 2263 00 .uleb128 .LVU1640 23266 2264 00 .uleb128 .LVU1640 23267 2265 00 .uleb128 0 23268 .LLST151: 23269 2266 00000000 .4byte .LVL256 23270 226a 33000000 .4byte .LVL259-1 23271 226e 0100 .2byte 0x1 23272 2270 52 .byte 0x52 23273 2271 33000000 .4byte .LVL259-1 23274 2275 9C010000 .4byte .LVL286 23275 2279 0200 .2byte 0x2 23276 227b 91 .byte 0x91 23277 227c 44 .sleb128 -60 23278 227d 9C010000 .4byte .LVL286 23279 2281 B0010000 .4byte .LFE60 23280 2285 0100 .2byte 0x1 23281 2287 52 .byte 0x52 23282 2288 00000000 .4byte 0 23283 228c 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 883 23284 .LVUS152: 23285 2290 00 .uleb128 0 23286 2291 00 .uleb128 .LVU1494 23287 2292 00 .uleb128 .LVU1494 23288 2293 00 .uleb128 .LVU1640 23289 2294 00 .uleb128 .LVU1640 23290 2295 00 .uleb128 0 23291 .LLST152: 23292 2296 00000000 .4byte .LVL256 23293 229a 33000000 .4byte .LVL259-1 23294 229e 0100 .2byte 0x1 23295 22a0 53 .byte 0x53 23296 22a1 33000000 .4byte .LVL259-1 23297 22a5 9C010000 .4byte .LVL286 23298 22a9 0100 .2byte 0x1 23299 22ab 57 .byte 0x57 23300 22ac 9C010000 .4byte .LVL286 23301 22b0 B0010000 .4byte .LFE60 23302 22b4 0100 .2byte 0x1 23303 22b6 53 .byte 0x53 23304 22b7 00000000 .4byte 0 23305 22bb 00000000 .4byte 0 23306 .LVUS153: 23307 22bf 00 .uleb128 .LVU1487 23308 22c0 00 .uleb128 .LVU1519 23309 22c1 00 .uleb128 .LVU1520 23310 22c2 00 .uleb128 .LVU1640 23311 .LLST153: 23312 22c3 26000000 .4byte .LVL257 23313 22c7 5A000000 .4byte .LVL263 23314 22cb 0100 .2byte 0x1 23315 22cd 56 .byte 0x56 23316 22ce 62000000 .4byte .LVL264 23317 22d2 9C010000 .4byte .LVL286 23318 22d6 0100 .2byte 0x1 23319 22d8 56 .byte 0x56 23320 22d9 00000000 .4byte 0 23321 22dd 00000000 .4byte 0 23322 .LVUS154: 23323 22e1 00 .uleb128 .LVU1551 23324 22e2 00 .uleb128 .LVU1553 23325 22e3 02 .uleb128 .LVU1603 23326 22e4 00 .uleb128 .LVU1605 23327 22e5 02 .uleb128 .LVU1638 23328 22e6 00 .uleb128 .LVU1640 23329 .LLST154: 23330 22e7 E0000000 .4byte .LVL268 23331 22eb E2000000 .4byte .LVL269 23332 22ef 0200 .2byte 0x2 23333 22f1 33 .byte 0x33 23334 22f2 9F .byte 0x9f 23335 22f3 50010000 .4byte .LVL278 23336 22f7 52010000 .4byte .LVL279 23337 22fb 0200 .2byte 0x2 23338 22fd 30 .byte 0x30 23339 22fe 9F .byte 0x9f 23340 22ff 9A010000 .4byte .LVL285 ARM GAS /tmp/ccjvgGVC.s page 884 23341 2303 9C010000 .4byte .LVL286 23342 2307 0200 .2byte 0x2 23343 2309 31 .byte 0x31 23344 230a 9F .byte 0x9f 23345 230b 00000000 .4byte 0 23346 230f 00000000 .4byte 0 23347 .LVUS155: 23348 2313 02 .uleb128 .LVU1476 23349 2314 00 .uleb128 .LVU1487 23350 2315 00 .uleb128 .LVU1640 23351 2316 00 .uleb128 .LVU1641 23352 .LLST155: 23353 2317 00000000 .4byte .LVL256 23354 231b 26000000 .4byte .LVL257 23355 231f 0100 .2byte 0x1 23356 2321 50 .byte 0x50 23357 2322 9C010000 .4byte .LVL286 23358 2326 A0010000 .4byte .LVL287 23359 232a 0100 .2byte 0x1 23360 232c 50 .byte 0x50 23361 232d 00000000 .4byte 0 23362 2331 00000000 .4byte 0 23363 .LVUS156: 23364 2335 02 .uleb128 .LVU1502 23365 2336 00 .uleb128 .LVU1516 23366 2337 00 .uleb128 .LVU1520 23367 2338 00 .uleb128 .LVU1551 23368 2339 00 .uleb128 .LVU1553 23369 233a 02 .uleb128 .LVU1603 23370 233b 00 .uleb128 .LVU1605 23371 233c 02 .uleb128 .LVU1638 23372 .LLST156: 23373 233d 44000000 .4byte .LVL260 23374 2341 50000000 .4byte .LVL262 23375 2345 0100 .2byte 0x1 23376 2347 56 .byte 0x56 23377 2348 62000000 .4byte .LVL264 23378 234c E0000000 .4byte .LVL268 23379 2350 0100 .2byte 0x1 23380 2352 56 .byte 0x56 23381 2353 E2000000 .4byte .LVL269 23382 2357 50010000 .4byte .LVL278 23383 235b 0100 .2byte 0x1 23384 235d 56 .byte 0x56 23385 235e 52010000 .4byte .LVL279 23386 2362 9A010000 .4byte .LVL285 23387 2366 0100 .2byte 0x1 23388 2368 56 .byte 0x56 23389 2369 00000000 .4byte 0 23390 236d 00000000 .4byte 0 23391 .LVUS157: 23392 2371 02 .uleb128 .LVU1502 23393 2372 00 .uleb128 .LVU1516 23394 2373 00 .uleb128 .LVU1520 23395 2374 00 .uleb128 .LVU1551 23396 2375 00 .uleb128 .LVU1553 23397 2376 02 .uleb128 .LVU1603 ARM GAS /tmp/ccjvgGVC.s page 885 23398 2377 00 .uleb128 .LVU1605 23399 2378 02 .uleb128 .LVU1638 23400 .LLST157: 23401 2379 44000000 .4byte .LVL260 23402 237d 50000000 .4byte .LVL262 23403 2381 0700 .2byte 0x7 23404 2383 91 .byte 0x91 23405 2384 40 .sleb128 -64 23406 2385 94 .byte 0x94 23407 2386 02 .byte 0x2 23408 2387 31 .byte 0x31 23409 2388 24 .byte 0x24 23410 2389 9F .byte 0x9f 23411 238a 62000000 .4byte .LVL264 23412 238e E0000000 .4byte .LVL268 23413 2392 0700 .2byte 0x7 23414 2394 91 .byte 0x91 23415 2395 40 .sleb128 -64 23416 2396 94 .byte 0x94 23417 2397 02 .byte 0x2 23418 2398 31 .byte 0x31 23419 2399 24 .byte 0x24 23420 239a 9F .byte 0x9f 23421 239b E2000000 .4byte .LVL269 23422 239f 50010000 .4byte .LVL278 23423 23a3 0700 .2byte 0x7 23424 23a5 91 .byte 0x91 23425 23a6 40 .sleb128 -64 23426 23a7 94 .byte 0x94 23427 23a8 02 .byte 0x2 23428 23a9 31 .byte 0x31 23429 23aa 24 .byte 0x24 23430 23ab 9F .byte 0x9f 23431 23ac 52010000 .4byte .LVL279 23432 23b0 9A010000 .4byte .LVL285 23433 23b4 0700 .2byte 0x7 23434 23b6 91 .byte 0x91 23435 23b7 40 .sleb128 -64 23436 23b8 94 .byte 0x94 23437 23b9 02 .byte 0x2 23438 23ba 31 .byte 0x31 23439 23bb 24 .byte 0x24 23440 23bc 9F .byte 0x9f 23441 23bd 00000000 .4byte 0 23442 23c1 00000000 .4byte 0 23443 .LVUS158: 23444 23c5 02 .uleb128 .LVU1502 23445 23c6 00 .uleb128 .LVU1516 23446 23c7 00 .uleb128 .LVU1520 23447 23c8 00 .uleb128 .LVU1551 23448 23c9 00 .uleb128 .LVU1553 23449 23ca 02 .uleb128 .LVU1603 23450 23cb 00 .uleb128 .LVU1605 23451 23cc 02 .uleb128 .LVU1638 23452 .LLST158: 23453 23cd 44000000 .4byte .LVL260 23454 23d1 50000000 .4byte .LVL262 ARM GAS /tmp/ccjvgGVC.s page 886 23455 23d5 0200 .2byte 0x2 23456 23d7 91 .byte 0x91 23457 23d8 44 .sleb128 -60 23458 23d9 62000000 .4byte .LVL264 23459 23dd E0000000 .4byte .LVL268 23460 23e1 0200 .2byte 0x2 23461 23e3 91 .byte 0x91 23462 23e4 44 .sleb128 -60 23463 23e5 E2000000 .4byte .LVL269 23464 23e9 50010000 .4byte .LVL278 23465 23ed 0200 .2byte 0x2 23466 23ef 91 .byte 0x91 23467 23f0 44 .sleb128 -60 23468 23f1 52010000 .4byte .LVL279 23469 23f5 9A010000 .4byte .LVL285 23470 23f9 0200 .2byte 0x2 23471 23fb 91 .byte 0x91 23472 23fc 44 .sleb128 -60 23473 23fd 00000000 .4byte 0 23474 2401 00000000 .4byte 0 23475 .LVUS159: 23476 2405 02 .uleb128 .LVU1502 23477 2406 00 .uleb128 .LVU1516 23478 2407 00 .uleb128 .LVU1520 23479 2408 00 .uleb128 .LVU1551 23480 2409 00 .uleb128 .LVU1553 23481 240a 02 .uleb128 .LVU1603 23482 240b 00 .uleb128 .LVU1605 23483 240c 02 .uleb128 .LVU1638 23484 .LLST159: 23485 240d 44000000 .4byte .LVL260 23486 2411 50000000 .4byte .LVL262 23487 2415 0100 .2byte 0x1 23488 2417 57 .byte 0x57 23489 2418 62000000 .4byte .LVL264 23490 241c E0000000 .4byte .LVL268 23491 2420 0100 .2byte 0x1 23492 2422 57 .byte 0x57 23493 2423 E2000000 .4byte .LVL269 23494 2427 50010000 .4byte .LVL278 23495 242b 0100 .2byte 0x1 23496 242d 57 .byte 0x57 23497 242e 52010000 .4byte .LVL279 23498 2432 9A010000 .4byte .LVL285 23499 2436 0100 .2byte 0x1 23500 2438 57 .byte 0x57 23501 2439 00000000 .4byte 0 23502 243d 00000000 .4byte 0 23503 .LVUS160: 23504 2441 00 .uleb128 .LVU1509 23505 2442 00 .uleb128 .LVU1516 23506 2443 00 .uleb128 .LVU1520 23507 2444 00 .uleb128 .LVU1551 23508 2445 00 .uleb128 .LVU1553 23509 2446 00 .uleb128 .LVU1596 23510 2447 00 .uleb128 .LVU1605 23511 2448 02 .uleb128 .LVU1638 ARM GAS /tmp/ccjvgGVC.s page 887 23512 .LLST160: 23513 2449 48000000 .4byte .LVL261 23514 244d 50000000 .4byte .LVL262 23515 2451 0100 .2byte 0x1 23516 2453 54 .byte 0x54 23517 2454 62000000 .4byte .LVL264 23518 2458 E0000000 .4byte .LVL268 23519 245c 0100 .2byte 0x1 23520 245e 54 .byte 0x54 23521 245f E2000000 .4byte .LVL269 23522 2463 44010000 .4byte .LVL277 23523 2467 0100 .2byte 0x1 23524 2469 54 .byte 0x54 23525 246a 52010000 .4byte .LVL279 23526 246e 9A010000 .4byte .LVL285 23527 2472 0100 .2byte 0x1 23528 2474 54 .byte 0x54 23529 2475 00000000 .4byte 0 23530 2479 00000000 .4byte 0 23531 .LVUS161: 23532 247d 02 .uleb128 .LVU1511 23533 247e 00 .uleb128 .LVU1516 23534 247f 00 .uleb128 .LVU1520 23535 2480 00 .uleb128 .LVU1540 23536 2481 00 .uleb128 .LVU1540 23537 2482 00 .uleb128 .LVU1551 23538 2483 00 .uleb128 .LVU1553 23539 2484 02 .uleb128 .LVU1603 23540 2485 00 .uleb128 .LVU1605 23541 2486 02 .uleb128 .LVU1638 23542 .LLST161: 23543 2487 48000000 .4byte .LVL261 23544 248b 50000000 .4byte .LVL262 23545 248f 0200 .2byte 0x2 23546 2491 31 .byte 0x31 23547 2492 9F .byte 0x9f 23548 2493 62000000 .4byte .LVL264 23549 2497 B6000000 .4byte .LVL266 23550 249b 0200 .2byte 0x2 23551 249d 31 .byte 0x31 23552 249e 9F .byte 0x9f 23553 249f B6000000 .4byte .LVL266 23554 24a3 E0000000 .4byte .LVL268 23555 24a7 0100 .2byte 0x1 23556 24a9 59 .byte 0x59 23557 24aa E2000000 .4byte .LVL269 23558 24ae 50010000 .4byte .LVL278 23559 24b2 0100 .2byte 0x1 23560 24b4 59 .byte 0x59 23561 24b5 52010000 .4byte .LVL279 23562 24b9 9A010000 .4byte .LVL285 23563 24bd 0100 .2byte 0x1 23564 24bf 59 .byte 0x59 23565 24c0 00000000 .4byte 0 23566 24c4 00000000 .4byte 0 23567 .LVUS162: 23568 24c8 00 .uleb128 .LVU1573 ARM GAS /tmp/ccjvgGVC.s page 888 23569 24c9 00 .uleb128 .LVU1594 23570 24ca 00 .uleb128 .LVU1605 23571 24cb 00 .uleb128 .LVU1618 23572 24cc 00 .uleb128 .LVU1622 23573 24cd 00 .uleb128 .LVU1626 23574 .LLST162: 23575 24ce 00010000 .4byte .LVL273 23576 24d2 38010000 .4byte .LVL275 23577 24d6 0100 .2byte 0x1 23578 24d8 51 .byte 0x51 23579 24d9 52010000 .4byte .LVL279 23580 24dd 62010000 .4byte .LVL280 23581 24e1 0100 .2byte 0x1 23582 24e3 51 .byte 0x51 23583 24e4 6E010000 .4byte .LVL281 23584 24e8 76010000 .4byte .LVL282 23585 24ec 0100 .2byte 0x1 23586 24ee 51 .byte 0x51 23587 24ef 00000000 .4byte 0 23588 24f3 00000000 .4byte 0 23589 .LVUS163: 23590 24f7 00 .uleb128 .LVU1573 23591 24f8 00 .uleb128 .LVU1577 23592 .LLST163: 23593 24f9 00010000 .4byte .LVL273 23594 24fd 0C010000 .4byte .LVL274 23595 2501 0100 .2byte 0x1 23596 2503 52 .byte 0x52 23597 2504 00000000 .4byte 0 23598 2508 00000000 .4byte 0 23599 .LVUS164: 23600 250c 01 .uleb128 .LVU1495 23601 250d 00 .uleb128 .LVU1500 23602 .LLST164: 23603 250e 34000000 .4byte .LVL259 23604 2512 44000000 .4byte .LVL260 23605 2516 0900 .2byte 0x9 23606 2518 74 .byte 0x74 23607 2519 00 .sleb128 0 23608 251a 03 .byte 0x3 23609 251b 58000000 .4byte _ZL9_i2c_devs+88 23610 251f 22 .byte 0x22 23611 2520 9F .byte 0x9f 23612 2521 00000000 .4byte 0 23613 2525 00000000 .4byte 0 23614 .LLST165: 23615 2529 00000000 .4byte .LFB63 23616 252d 02000000 .4byte .LCFI35 23617 2531 0200 .2byte 0x2 23618 2533 7D .byte 0x7d 23619 2534 00 .sleb128 0 23620 2535 02000000 .4byte .LCFI35 23621 2539 3C000000 .4byte .LFE63 23622 253d 0200 .2byte 0x2 23623 253f 7D .byte 0x7d 23624 2540 10 .sleb128 16 23625 2541 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 889 23626 2545 00000000 .4byte 0 23627 .LVUS166: 23628 2549 00 .uleb128 .LVU1645 23629 254a 00 .uleb128 0 23630 .LLST166: 23631 254b 06000000 .4byte .LVL289 23632 254f 3C000000 .4byte .LFE63 23633 2553 0100 .2byte 0x1 23634 2555 55 .byte 0x55 23635 2556 00000000 .4byte 0 23636 255a 00000000 .4byte 0 23637 .LVUS167: 23638 255e 00 .uleb128 .LVU1650 23639 255f 00 .uleb128 .LVU1653 23640 2560 00 .uleb128 .LVU1656 23641 2561 00 .uleb128 .LVU1657 23642 .LLST167: 23643 2562 1C000000 .4byte .LVL290 23644 2566 26000000 .4byte .LVL291 23645 256a 0100 .2byte 0x1 23646 256c 50 .byte 0x50 23647 256d 2E000000 .4byte .LVL292 23648 2571 30000000 .4byte .LVL293 23649 2575 0100 .2byte 0x1 23650 2577 50 .byte 0x50 23651 2578 00000000 .4byte 0 23652 257c 00000000 .4byte 0 23653 .LLST168: 23654 2580 00000000 .4byte .LFB65 23655 2584 02000000 .4byte .LCFI36 23656 2588 0200 .2byte 0x2 23657 258a 7D .byte 0x7d 23658 258b 00 .sleb128 0 23659 258c 02000000 .4byte .LCFI36 23660 2590 38000000 .4byte .LFE65 23661 2594 0200 .2byte 0x2 23662 2596 7D .byte 0x7d 23663 2597 08 .sleb128 8 23664 2598 00000000 .4byte 0 23665 259c 00000000 .4byte 0 23666 .LVUS169: 23667 25a0 00 .uleb128 0 23668 25a1 00 .uleb128 .LVU1678 23669 25a2 00 .uleb128 .LVU1678 23670 25a3 00 .uleb128 .LVU1680 23671 25a4 00 .uleb128 .LVU1680 23672 25a5 00 .uleb128 .LVU1711 23673 25a6 00 .uleb128 .LVU1711 23674 25a7 00 .uleb128 0 23675 .LLST169: 23676 25a8 00000000 .4byte .LVL294 23677 25ac 16000000 .4byte .LVL297 23678 25b0 0100 .2byte 0x1 23679 25b2 50 .byte 0x50 23680 25b3 16000000 .4byte .LVL297 23681 25b7 18000000 .4byte .LVL298 23682 25bb 0A00 .2byte 0xa ARM GAS /tmp/ccjvgGVC.s page 890 23683 25bd F3 .byte 0xf3 23684 25be 03 .uleb128 0x3 23685 25bf F5 .byte 0xf5 23686 25c0 00 .uleb128 0 23687 25c1 29 .uleb128 0x29 23688 25c2 F7 .byte 0xf7 23689 25c3 37 .uleb128 0x37 23690 25c4 F7 .byte 0xf7 23691 25c5 00 .uleb128 0 23692 25c6 9F .byte 0x9f 23693 25c7 18000000 .4byte .LVL298 23694 25cb 29000000 .4byte .LVL302-1 23695 25cf 0100 .2byte 0x1 23696 25d1 50 .byte 0x50 23697 25d2 29000000 .4byte .LVL302-1 23698 25d6 38000000 .4byte .LFE65 23699 25da 0A00 .2byte 0xa 23700 25dc F3 .byte 0xf3 23701 25dd 03 .uleb128 0x3 23702 25de F5 .byte 0xf5 23703 25df 00 .uleb128 0 23704 25e0 29 .uleb128 0x29 23705 25e1 F7 .byte 0xf7 23706 25e2 37 .uleb128 0x37 23707 25e3 F7 .byte 0xf7 23708 25e4 00 .uleb128 0 23709 25e5 9F .byte 0x9f 23710 25e6 00000000 .4byte 0 23711 25ea 00000000 .4byte 0 23712 .LVUS170: 23713 25ee 00 .uleb128 0 23714 25ef 00 .uleb128 .LVU1678 23715 25f0 00 .uleb128 .LVU1678 23716 25f1 00 .uleb128 .LVU1680 23717 25f2 00 .uleb128 .LVU1680 23718 25f3 00 .uleb128 .LVU1711 23719 25f4 00 .uleb128 .LVU1711 23720 25f5 00 .uleb128 0 23721 .LLST170: 23722 25f6 00000000 .4byte .LVL294 23723 25fa 16000000 .4byte .LVL297 23724 25fe 0100 .2byte 0x1 23725 2600 51 .byte 0x51 23726 2601 16000000 .4byte .LVL297 23727 2605 18000000 .4byte .LVL298 23728 2609 0A00 .2byte 0xa 23729 260b F3 .byte 0xf3 23730 260c 03 .uleb128 0x3 23731 260d F5 .byte 0xf5 23732 260e 01 .uleb128 0x1 23733 260f 29 .uleb128 0x29 23734 2610 F7 .byte 0xf7 23735 2611 37 .uleb128 0x37 23736 2612 F7 .byte 0xf7 23737 2613 00 .uleb128 0 23738 2614 9F .byte 0x9f 23739 2615 18000000 .4byte .LVL298 ARM GAS /tmp/ccjvgGVC.s page 891 23740 2619 29000000 .4byte .LVL302-1 23741 261d 0100 .2byte 0x1 23742 261f 51 .byte 0x51 23743 2620 29000000 .4byte .LVL302-1 23744 2624 38000000 .4byte .LFE65 23745 2628 0A00 .2byte 0xa 23746 262a F3 .byte 0xf3 23747 262b 03 .uleb128 0x3 23748 262c F5 .byte 0xf5 23749 262d 01 .uleb128 0x1 23750 262e 29 .uleb128 0x29 23751 262f F7 .byte 0xf7 23752 2630 37 .uleb128 0x37 23753 2631 F7 .byte 0xf7 23754 2632 00 .uleb128 0 23755 2633 9F .byte 0x9f 23756 2634 00000000 .4byte 0 23757 2638 00000000 .4byte 0 23758 .LVUS171: 23759 263c 00 .uleb128 0 23760 263d 00 .uleb128 .LVU1678 23761 263e 00 .uleb128 .LVU1678 23762 263f 00 .uleb128 .LVU1680 23763 2640 00 .uleb128 .LVU1680 23764 2641 00 .uleb128 .LVU1711 23765 2642 00 .uleb128 .LVU1711 23766 2643 00 .uleb128 0 23767 .LLST171: 23768 2644 00000000 .4byte .LVL294 23769 2648 16000000 .4byte .LVL297 23770 264c 0100 .2byte 0x1 23771 264e 52 .byte 0x52 23772 264f 16000000 .4byte .LVL297 23773 2653 18000000 .4byte .LVL298 23774 2657 0A00 .2byte 0xa 23775 2659 F3 .byte 0xf3 23776 265a 03 .uleb128 0x3 23777 265b F5 .byte 0xf5 23778 265c 02 .uleb128 0x2 23779 265d 29 .uleb128 0x29 23780 265e F7 .byte 0xf7 23781 265f 30 .uleb128 0x30 23782 2660 F7 .byte 0xf7 23783 2661 00 .uleb128 0 23784 2662 9F .byte 0x9f 23785 2663 18000000 .4byte .LVL298 23786 2667 29000000 .4byte .LVL302-1 23787 266b 0100 .2byte 0x1 23788 266d 52 .byte 0x52 23789 266e 29000000 .4byte .LVL302-1 23790 2672 38000000 .4byte .LFE65 23791 2676 0A00 .2byte 0xa 23792 2678 F3 .byte 0xf3 23793 2679 03 .uleb128 0x3 23794 267a F5 .byte 0xf5 23795 267b 02 .uleb128 0x2 23796 267c 29 .uleb128 0x29 ARM GAS /tmp/ccjvgGVC.s page 892 23797 267d F7 .byte 0xf7 23798 267e 30 .uleb128 0x30 23799 267f F7 .byte 0xf7 23800 2680 00 .uleb128 0 23801 2681 9F .byte 0x9f 23802 2682 00000000 .4byte 0 23803 2686 00000000 .4byte 0 23804 .LVUS172: 23805 268a 02 .uleb128 .LVU1660 23806 268b 00 .uleb128 .LVU1678 23807 268c 00 .uleb128 .LVU1678 23808 268d 00 .uleb128 .LVU1680 23809 268e 00 .uleb128 .LVU1680 23810 268f 00 .uleb128 0 23811 .LLST172: 23812 2690 00000000 .4byte .LVL294 23813 2694 16000000 .4byte .LVL297 23814 2698 0200 .2byte 0x2 23815 269a 30 .byte 0x30 23816 269b 9F .byte 0x9f 23817 269c 16000000 .4byte .LVL297 23818 26a0 18000000 .4byte .LVL298 23819 26a4 0100 .2byte 0x1 23820 26a6 50 .byte 0x50 23821 26a7 18000000 .4byte .LVL298 23822 26ab 38000000 .4byte .LFE65 23823 26af 0200 .2byte 0x2 23824 26b1 30 .byte 0x30 23825 26b2 9F .byte 0x9f 23826 26b3 00000000 .4byte 0 23827 26b7 00000000 .4byte 0 23828 .LVUS173: 23829 26bb 02 .uleb128 .LVU1665 23830 26bc 02 .uleb128 .LVU1672 23831 .LLST173: 23832 26bd 0E000000 .4byte .LVL295 23833 26c1 12000000 .4byte .LVL296 23834 26c5 0100 .2byte 0x1 23835 26c7 52 .byte 0x52 23836 26c8 00000000 .4byte 0 23837 26cc 00000000 .4byte 0 23838 .LVUS175: 23839 26d0 05 .uleb128 .LVU1668 23840 26d1 00 .uleb128 .LVU1670 23841 .LLST175: 23842 26d2 0E000000 .4byte .LVL295 23843 26d6 12000000 .4byte .LVL296 23844 26da 0600 .2byte 0x6 23845 26dc F2 .byte 0xf2 23846 26dd 55180000 .4byte .Ldebug_info0+6229 23847 26e1 00 .sleb128 0 23848 26e2 00000000 .4byte 0 23849 26e6 00000000 .4byte 0 23850 .LVUS176: 23851 26ea 03 .uleb128 .LVU1692 23852 26eb 00 .uleb128 .LVU1707 23853 .LLST176: ARM GAS /tmp/ccjvgGVC.s page 893 23854 26ec 1E000000 .4byte .LVL300 23855 26f0 26000000 .4byte .LVL301 23856 26f4 0100 .2byte 0x1 23857 26f6 52 .byte 0x52 23858 26f7 00000000 .4byte 0 23859 26fb 00000000 .4byte 0 23860 .LVUS178: 23861 26ff 0D .uleb128 .LVU1702 23862 2700 00 .uleb128 .LVU1707 23863 .LLST178: 23864 2701 1E000000 .4byte .LVL300 23865 2705 26000000 .4byte .LVL301 23866 2709 0200 .2byte 0x2 23867 270b 30 .byte 0x30 23868 270c 9F .byte 0x9f 23869 270d 00000000 .4byte 0 23870 2711 00000000 .4byte 0 23871 .LVUS179: 23872 2715 06 .uleb128 .LVU1695 23873 2716 0D .uleb128 .LVU1702 23874 .LLST179: 23875 2717 1E000000 .4byte .LVL300 23876 271b 1E000000 .4byte .LVL300 23877 271f 0600 .2byte 0x6 23878 2721 F2 .byte 0xf2 23879 2722 AE180000 .4byte .Ldebug_info0+6318 23880 2726 00 .sleb128 0 23881 2727 00000000 .4byte 0 23882 272b 00000000 .4byte 0 23883 .LVUS180: 23884 272f 09 .uleb128 .LVU1698 23885 2730 0A .uleb128 .LVU1699 23886 .LLST180: 23887 2731 1E000000 .4byte .LVL300 23888 2735 1E000000 .4byte .LVL300 23889 2739 0600 .2byte 0x6 23890 273b F2 .byte 0xf2 23891 273c E5180000 .4byte .Ldebug_info0+6373 23892 2740 00 .sleb128 0 23893 2741 00000000 .4byte 0 23894 2745 00000000 .4byte 0 23895 .LVUS181: 23896 2749 02 .uleb128 .LVU1682 23897 274a 00 .uleb128 .LVU1689 23898 .LLST181: 23899 274b 18000000 .4byte .LVL298 23900 274f 1E000000 .4byte .LVL300 23901 2753 0100 .2byte 0x1 23902 2755 52 .byte 0x52 23903 2756 00000000 .4byte 0 23904 275a 00000000 .4byte 0 23905 .LVUS183: 23906 275e 05 .uleb128 .LVU1685 23907 275f 00 .uleb128 .LVU1687 23908 .LLST183: 23909 2760 18000000 .4byte .LVL298 23910 2764 1C000000 .4byte .LVL299 ARM GAS /tmp/ccjvgGVC.s page 894 23911 2768 0600 .2byte 0x6 23912 276a F2 .byte 0xf2 23913 276b 3C190000 .4byte .Ldebug_info0+6460 23914 276f 00 .sleb128 0 23915 2770 00000000 .4byte 0 23916 2774 00000000 .4byte 0 23917 .LLST184: 23918 2778 00000000 .4byte .LFB72 23919 277c 02000000 .4byte .LCFI37 23920 2780 0200 .2byte 0x2 23921 2782 7D .byte 0x7d 23922 2783 00 .sleb128 0 23923 2784 02000000 .4byte .LCFI37 23924 2788 44000000 .4byte .LFE72 23925 278c 0200 .2byte 0x2 23926 278e 7D .byte 0x7d 23927 278f 10 .sleb128 16 23928 2790 00000000 .4byte 0 23929 2794 00000000 .4byte 0 23930 .LVUS185: 23931 2798 00 .uleb128 0 23932 2799 00 .uleb128 .LVU1717 23933 279a 00 .uleb128 .LVU1717 23934 279b 00 .uleb128 .LVU1729 23935 279c 00 .uleb128 .LVU1729 23936 279d 00 .uleb128 0 23937 .LLST185: 23938 279e 00000000 .4byte .LVL303 23939 27a2 09000000 .4byte .LVL305-1 23940 27a6 0100 .2byte 0x1 23941 27a8 50 .byte 0x50 23942 27a9 09000000 .4byte .LVL305-1 23943 27ad 28000000 .4byte .LVL308 23944 27b1 0100 .2byte 0x1 23945 27b3 54 .byte 0x54 23946 27b4 28000000 .4byte .LVL308 23947 27b8 44000000 .4byte .LFE72 23948 27bc 0A00 .2byte 0xa 23949 27be F3 .byte 0xf3 23950 27bf 03 .uleb128 0x3 23951 27c0 F5 .byte 0xf5 23952 27c1 00 .uleb128 0 23953 27c2 29 .uleb128 0x29 23954 27c3 F7 .byte 0xf7 23955 27c4 30 .uleb128 0x30 23956 27c5 F7 .byte 0xf7 23957 27c6 00 .uleb128 0 23958 27c7 9F .byte 0x9f 23959 27c8 00000000 .4byte 0 23960 27cc 00000000 .4byte 0 23961 .LVUS186: 23962 27d0 00 .uleb128 0 23963 27d1 00 .uleb128 .LVU1717 23964 27d2 00 .uleb128 .LVU1717 23965 27d3 00 .uleb128 0 23966 .LLST186: 23967 27d4 00000000 .4byte .LVL303 ARM GAS /tmp/ccjvgGVC.s page 895 23968 27d8 09000000 .4byte .LVL305-1 23969 27dc 0100 .2byte 0x1 23970 27de 51 .byte 0x51 23971 27df 09000000 .4byte .LVL305-1 23972 27e3 44000000 .4byte .LFE72 23973 27e7 0100 .2byte 0x1 23974 27e9 55 .byte 0x55 23975 27ea 00000000 .4byte 0 23976 27ee 00000000 .4byte 0 23977 .LVUS187: 23978 27f2 00 .uleb128 .LVU1725 23979 27f3 00 .uleb128 .LVU1726 23980 27f4 00 .uleb128 .LVU1726 23981 27f5 00 .uleb128 .LVU1729 23982 27f6 00 .uleb128 .LVU1729 23983 27f7 00 .uleb128 .LVU1733 23984 27f8 00 .uleb128 .LVU1733 23985 27f9 00 .uleb128 .LVU1736 23986 .LLST187: 23987 27fa 1E000000 .4byte .LVL306 23988 27fe 22000000 .4byte .LVL307 23989 2802 0200 .2byte 0x2 23990 2804 31 .byte 0x31 23991 2805 9F .byte 0x9f 23992 2806 22000000 .4byte .LVL307 23993 280a 28000000 .4byte .LVL308 23994 280e 0200 .2byte 0x2 23995 2810 32 .byte 0x32 23996 2811 9F .byte 0x9f 23997 2812 28000000 .4byte .LVL308 23998 2816 32000000 .4byte .LVL311 23999 281a 0100 .2byte 0x1 24000 281c 53 .byte 0x53 24001 281d 32000000 .4byte .LVL311 24002 2821 38000000 .4byte .LVL312 24003 2825 0300 .2byte 0x3 24004 2827 73 .byte 0x73 24005 2828 01 .sleb128 1 24006 2829 9F .byte 0x9f 24007 282a 00000000 .4byte 0 24008 282e 00000000 .4byte 0 24009 .LVUS188: 24010 2832 00 .uleb128 .LVU1715 24011 2833 00 .uleb128 .LVU1717 24012 2834 00 .uleb128 .LVU1717 24013 2835 00 .uleb128 .LVU1729 24014 2836 00 .uleb128 .LVU1729 24015 2837 00 .uleb128 .LVU1730 24016 2838 00 .uleb128 .LVU1730 24017 2839 00 .uleb128 .LVU1733 24018 283a 00 .uleb128 .LVU1733 24019 283b 00 .uleb128 0 24020 .LLST188: 24021 283c 04000000 .4byte .LVL304 24022 2840 09000000 .4byte .LVL305-1 24023 2844 0100 .2byte 0x1 24024 2846 50 .byte 0x50 ARM GAS /tmp/ccjvgGVC.s page 896 24025 2847 09000000 .4byte .LVL305-1 24026 284b 28000000 .4byte .LVL308 24027 284f 0100 .2byte 0x1 24028 2851 54 .byte 0x54 24029 2852 28000000 .4byte .LVL308 24030 2856 2C000000 .4byte .LVL309 24031 285a 0300 .2byte 0x3 24032 285c 70 .byte 0x70 24033 285d 01 .sleb128 1 24034 285e 9F .byte 0x9f 24035 285f 2C000000 .4byte .LVL309 24036 2863 32000000 .4byte .LVL311 24037 2867 0100 .2byte 0x1 24038 2869 50 .byte 0x50 24039 286a 32000000 .4byte .LVL311 24040 286e 44000000 .4byte .LFE72 24041 2872 0300 .2byte 0x3 24042 2874 70 .byte 0x70 24043 2875 01 .sleb128 1 24044 2876 9F .byte 0x9f 24045 2877 00000000 .4byte 0 24046 287b 00000000 .4byte 0 24047 .LVUS189: 24048 287f 00 .uleb128 .LVU1715 24049 2880 00 .uleb128 .LVU1717 24050 2881 00 .uleb128 .LVU1717 24051 2882 00 .uleb128 .LVU1717 24052 .LLST189: 24053 2883 04000000 .4byte .LVL304 24054 2887 09000000 .4byte .LVL305-1 24055 288b 0100 .2byte 0x1 24056 288d 50 .byte 0x50 24057 288e 09000000 .4byte .LVL305-1 24058 2892 0A000000 .4byte .LVL305 24059 2896 0100 .2byte 0x1 24060 2898 54 .byte 0x54 24061 2899 00000000 .4byte 0 24062 289d 00000000 .4byte 0 24063 .LVUS190: 24064 28a1 00 .uleb128 .LVU1715 24065 28a2 00 .uleb128 .LVU1717 24066 .LLST190: 24067 28a3 04000000 .4byte .LVL304 24068 28a7 0A000000 .4byte .LVL305 24069 28ab 0200 .2byte 0x2 24070 28ad 30 .byte 0x30 24071 28ae 9F .byte 0x9f 24072 28af 00000000 .4byte 0 24073 28b3 00000000 .4byte 0 24074 .LLST192: 24075 28b7 00000000 .4byte .LFB75 24076 28bb 02000000 .4byte .LCFI38 24077 28bf 0200 .2byte 0x2 24078 28c1 7D .byte 0x7d 24079 28c2 00 .sleb128 0 24080 28c3 02000000 .4byte .LCFI38 24081 28c7 42000000 .4byte .LCFI39 ARM GAS /tmp/ccjvgGVC.s page 897 24082 28cb 0200 .2byte 0x2 24083 28cd 7D .byte 0x7d 24084 28ce 08 .sleb128 8 24085 28cf 42000000 .4byte .LCFI39 24086 28d3 46000000 .4byte .LCFI40 24087 28d7 0200 .2byte 0x2 24088 28d9 7D .byte 0x7d 24089 28da 00 .sleb128 0 24090 28db 46000000 .4byte .LCFI40 24091 28df 50000000 .4byte .LFE75 24092 28e3 0200 .2byte 0x2 24093 28e5 7D .byte 0x7d 24094 28e6 08 .sleb128 8 24095 28e7 00000000 .4byte 0 24096 28eb 00000000 .4byte 0 24097 .LVUS193: 24098 28ef 01 .uleb128 .LVU1739 24099 28f0 00 .uleb128 .LVU1755 24100 28f1 00 .uleb128 .LVU1755 24101 28f2 00 .uleb128 .LVU1758 24102 28f3 00 .uleb128 .LVU1758 24103 28f4 00 .uleb128 0 24104 .LLST193: 24105 28f5 00000000 .4byte .LVL313 24106 28f9 3E000000 .4byte .LVL320 24107 28fd 0200 .2byte 0x2 24108 28ff 30 .byte 0x30 24109 2900 9F .byte 0x9f 24110 2901 3E000000 .4byte .LVL320 24111 2905 45000000 .4byte .LVL321-1 24112 2909 0100 .2byte 0x1 24113 290b 50 .byte 0x50 24114 290c 46000000 .4byte .LVL321 24115 2910 50000000 .4byte .LFE75 24116 2914 0200 .2byte 0x2 24117 2916 30 .byte 0x30 24118 2917 9F .byte 0x9f 24119 2918 00000000 .4byte 0 24120 291c 00000000 .4byte 0 24121 .LVUS194: 24122 2920 00 .uleb128 .LVU1741 24123 2921 00 .uleb128 .LVU1755 24124 2922 00 .uleb128 .LVU1758 24125 2923 00 .uleb128 0 24126 .LLST194: 24127 2924 08000000 .4byte .LVL314 24128 2928 3E000000 .4byte .LVL320 24129 292c 0100 .2byte 0x1 24130 292e 52 .byte 0x52 24131 292f 46000000 .4byte .LVL321 24132 2933 50000000 .4byte .LFE75 24133 2937 0100 .2byte 0x1 24134 2939 52 .byte 0x52 24135 293a 00000000 .4byte 0 24136 293e 00000000 .4byte 0 24137 .LVUS195: 24138 2942 00 .uleb128 .LVU1743 ARM GAS /tmp/ccjvgGVC.s page 898 24139 2943 00 .uleb128 .LVU1754 24140 2944 00 .uleb128 .LVU1758 24141 2945 00 .uleb128 .LVU1759 24142 2946 00 .uleb128 .LVU1759 24143 2947 00 .uleb128 0 24144 .LLST195: 24145 2948 0E000000 .4byte .LVL315 24146 294c 3A000000 .4byte .LVL319 24147 2950 0100 .2byte 0x1 24148 2952 50 .byte 0x50 24149 2953 46000000 .4byte .LVL321 24150 2957 48000000 .4byte .LVL322 24151 295b 0100 .2byte 0x1 24152 295d 50 .byte 0x50 24153 295e 48000000 .4byte .LVL322 24154 2962 50000000 .4byte .LFE75 24155 2966 0200 .2byte 0x2 24156 2968 72 .byte 0x72 24157 2969 00 .sleb128 0 24158 296a 00000000 .4byte 0 24159 296e 00000000 .4byte 0 24160 .LVUS196: 24161 2972 00 .uleb128 .LVU1749 24162 2973 00 .uleb128 .LVU1751 24163 .LLST196: 24164 2974 2C000000 .4byte .LVL316 24165 2978 34000000 .4byte .LVL317 24166 297c 0100 .2byte 0x1 24167 297e 50 .byte 0x50 24168 297f 00000000 .4byte 0 24169 2983 00000000 .4byte 0 24170 .LLST197: 24171 2987 00000000 .4byte .LFB80 24172 298b 04000000 .4byte .LCFI41 24173 298f 0200 .2byte 0x2 24174 2991 7D .byte 0x7d 24175 2992 00 .sleb128 0 24176 2993 04000000 .4byte .LCFI41 24177 2997 0A000000 .4byte .LCFI42 24178 299b 0200 .2byte 0x2 24179 299d 7D .byte 0x7d 24180 299e 24 .sleb128 36 24181 299f 0A000000 .4byte .LCFI42 24182 29a3 52010000 .4byte .LCFI43 24183 29a7 0200 .2byte 0x2 24184 29a9 7D .byte 0x7d 24185 29aa 38 .sleb128 56 24186 29ab 52010000 .4byte .LCFI43 24187 29af 56010000 .4byte .LCFI44 24188 29b3 0200 .2byte 0x2 24189 29b5 7D .byte 0x7d 24190 29b6 24 .sleb128 36 24191 29b7 56010000 .4byte .LCFI44 24192 29bb CC030000 .4byte .LFE80 24193 29bf 0200 .2byte 0x2 24194 29c1 7D .byte 0x7d 24195 29c2 38 .sleb128 56 ARM GAS /tmp/ccjvgGVC.s page 899 24196 29c3 00000000 .4byte 0 24197 29c7 00000000 .4byte 0 24198 .LVUS199: 24199 29cb 00 .uleb128 .LVU1774 24200 29cc 00 .uleb128 .LVU1834 24201 29cd 00 .uleb128 .LVU1848 24202 29ce 00 .uleb128 0 24203 .LLST199: 24204 29cf 2E000000 .4byte .LVL324 24205 29d3 30010000 .4byte .LVL339 24206 29d7 0400 .2byte 0x4 24207 29d9 44 .byte 0x44 24208 29da 4A .byte 0x4a 24209 29db 24 .byte 0x24 24210 29dc 9F .byte 0x9f 24211 29dd 56010000 .4byte .LVL349 24212 29e1 CC030000 .4byte .LFE80 24213 29e5 0400 .2byte 0x4 24214 29e7 44 .byte 0x44 24215 29e8 4A .byte 0x4a 24216 29e9 24 .byte 0x24 24217 29ea 9F .byte 0x9f 24218 29eb 00000000 .4byte 0 24219 29ef 00000000 .4byte 0 24220 .LVUS200: 24221 29f3 00 .uleb128 .LVU1871 24222 29f4 00 .uleb128 .LVU1873 24223 29f5 00 .uleb128 .LVU1874 24224 29f6 00 .uleb128 .LVU1876 24225 29f7 00 .uleb128 .LVU1876 24226 29f8 00 .uleb128 .LVU1879 24227 29f9 00 .uleb128 .LVU1947 24228 29fa 00 .uleb128 .LVU1955 24229 29fb 00 .uleb128 .LVU1955 24230 29fc 00 .uleb128 .LVU1956 24231 29fd 00 .uleb128 .LVU1956 24232 29fe 00 .uleb128 .LVU1962 24233 29ff 00 .uleb128 .LVU1962 24234 2a00 00 .uleb128 .LVU1963 24235 .LLST200: 24236 2a01 BC010000 .4byte .LVL357 24237 2a05 CC010000 .4byte .LVL358 24238 2a09 0100 .2byte 0x1 24239 2a0b 52 .byte 0x52 24240 2a0c CE010000 .4byte .LVL359 24241 2a10 E0010000 .4byte .LVL360 24242 2a14 0100 .2byte 0x1 24243 2a16 50 .byte 0x50 24244 2a17 E0010000 .4byte .LVL360 24245 2a1b EC010000 .4byte .LVL362 24246 2a1f 0300 .2byte 0x3 24247 2a21 71 .byte 0x71 24248 2a22 7F .sleb128 -1 24249 2a23 9F .byte 0x9f 24250 2a24 06030000 .4byte .LVL376 24251 2a28 20030000 .4byte .LVL377 24252 2a2c 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 900 24253 2a2e 52 .byte 0x52 24254 2a2f 20030000 .4byte .LVL377 24255 2a33 22030000 .4byte .LVL378 24256 2a37 0100 .2byte 0x1 24257 2a39 51 .byte 0x51 24258 2a3a 22030000 .4byte .LVL378 24259 2a3e 3A030000 .4byte .LVL379 24260 2a42 0100 .2byte 0x1 24261 2a44 50 .byte 0x50 24262 2a45 3A030000 .4byte .LVL379 24263 2a49 3C030000 .4byte .LVL380 24264 2a4d 0100 .2byte 0x1 24265 2a4f 51 .byte 0x51 24266 2a50 00000000 .4byte 0 24267 2a54 00000000 .4byte 0 24268 .LVUS202: 24269 2a58 00 .uleb128 .LVU1779 24270 2a59 00 .uleb128 .LVU1781 24271 .LLST202: 24272 2a5a 5C000000 .4byte .LVL326 24273 2a5e 64000000 .4byte .LVL327 24274 2a62 0300 .2byte 0x3 24275 2a64 08 .byte 0x8 24276 2a65 43 .byte 0x43 24277 2a66 9F .byte 0x9f 24278 2a67 00000000 .4byte 0 24279 2a6b 00000000 .4byte 0 24280 .LVUS203: 24281 2a6f 00 .uleb128 .LVU1779 24282 2a70 00 .uleb128 .LVU1781 24283 .LLST203: 24284 2a71 5C000000 .4byte .LVL326 24285 2a75 64000000 .4byte .LVL327 24286 2a79 0200 .2byte 0x2 24287 2a7b 3B .byte 0x3b 24288 2a7c 9F .byte 0x9f 24289 2a7d 00000000 .4byte 0 24290 2a81 00000000 .4byte 0 24291 .LVUS204: 24292 2a85 00 .uleb128 .LVU1781 24293 2a86 00 .uleb128 .LVU1783 24294 .LLST204: 24295 2a87 64000000 .4byte .LVL327 24296 2a8b 68000000 .4byte .LVL328 24297 2a8f 0300 .2byte 0x3 24298 2a91 08 .byte 0x8 24299 2a92 43 .byte 0x43 24300 2a93 9F .byte 0x9f 24301 2a94 00000000 .4byte 0 24302 2a98 00000000 .4byte 0 24303 .LVUS206: 24304 2a9c 00 .uleb128 .LVU1783 24305 2a9d 00 .uleb128 .LVU1794 24306 .LLST206: 24307 2a9e 68000000 .4byte .LVL328 24308 2aa2 8C000000 .4byte .LVL330 24309 2aa6 0400 .2byte 0x4 ARM GAS /tmp/ccjvgGVC.s page 901 24310 2aa8 44 .byte 0x44 24311 2aa9 4A .byte 0x4a 24312 2aaa 24 .byte 0x24 24313 2aab 9F .byte 0x9f 24314 2aac 00000000 .4byte 0 24315 2ab0 00000000 .4byte 0 24316 .LVUS208: 24317 2ab4 00 .uleb128 .LVU1796 24318 2ab5 00 .uleb128 .LVU1805 24319 .LLST208: 24320 2ab6 90000000 .4byte .LVL331 24321 2aba BA000000 .4byte .LVL333 24322 2abe 0400 .2byte 0x4 24323 2ac0 44 .byte 0x44 24324 2ac1 4A .byte 0x4a 24325 2ac2 24 .byte 0x24 24326 2ac3 9F .byte 0x9f 24327 2ac4 00000000 .4byte 0 24328 2ac8 00000000 .4byte 0 24329 .LVUS209: 24330 2acc 00 .uleb128 .LVU1811 24331 2acd 00 .uleb128 .LVU1813 24332 .LLST209: 24333 2ace CE000000 .4byte .LVL334 24334 2ad2 D6000000 .4byte .LVL335 24335 2ad6 0400 .2byte 0x4 24336 2ad8 44 .byte 0x44 24337 2ad9 4A .byte 0x4a 24338 2ada 24 .byte 0x24 24339 2adb 9F .byte 0x9f 24340 2adc 00000000 .4byte 0 24341 2ae0 00000000 .4byte 0 24342 .LVUS210: 24343 2ae4 00 .uleb128 .LVU1815 24344 2ae5 00 .uleb128 .LVU1831 24345 2ae6 00 .uleb128 .LVU1848 24346 2ae7 00 .uleb128 .LVU1855 24347 .LLST210: 24348 2ae8 DA000000 .4byte .LVL336 24349 2aec 28010000 .4byte .LVL338 24350 2af0 0400 .2byte 0x4 24351 2af2 44 .byte 0x44 24352 2af3 4A .byte 0x4a 24353 2af4 24 .byte 0x24 24354 2af5 9F .byte 0x9f 24355 2af6 56010000 .4byte .LVL349 24356 2afa 8C010000 .4byte .LVL351 24357 2afe 0400 .2byte 0x4 24358 2b00 44 .byte 0x44 24359 2b01 4A .byte 0x4a 24360 2b02 24 .byte 0x24 24361 2b03 9F .byte 0x9f 24362 2b04 00000000 .4byte 0 24363 2b08 00000000 .4byte 0 24364 .LVUS211: 24365 2b0c 00 .uleb128 .LVU1826 24366 2b0d 00 .uleb128 .LVU1831 ARM GAS /tmp/ccjvgGVC.s page 902 24367 2b0e 00 .uleb128 .LVU1851 24368 2b0f 00 .uleb128 .LVU1855 24369 .LLST211: 24370 2b10 10010000 .4byte .LVL337 24371 2b14 28010000 .4byte .LVL338 24372 2b18 0100 .2byte 0x1 24373 2b1a 50 .byte 0x50 24374 2b1b 68010000 .4byte .LVL350 24375 2b1f 8C010000 .4byte .LVL351 24376 2b23 0100 .2byte 0x1 24377 2b25 50 .byte 0x50 24378 2b26 00000000 .4byte 0 24379 2b2a 00000000 .4byte 0 24380 .LVUS212: 24381 2b2e 00 .uleb128 .LVU1855 24382 2b2f 00 .uleb128 .LVU1870 24383 2b30 00 .uleb128 .LVU1945 24384 2b31 00 .uleb128 .LVU1947 24385 .LLST212: 24386 2b32 8C010000 .4byte .LVL351 24387 2b36 BA010000 .4byte .LVL356 24388 2b3a 0200 .2byte 0x2 24389 2b3c 30 .byte 0x30 24390 2b3d 9F .byte 0x9f 24391 2b3e FE020000 .4byte .LVL374 24392 2b42 06030000 .4byte .LVL376 24393 2b46 0200 .2byte 0x2 24394 2b48 30 .byte 0x30 24395 2b49 9F .byte 0x9f 24396 2b4a 00000000 .4byte 0 24397 2b4e 00000000 .4byte 0 24398 .LVUS213: 24399 2b52 00 .uleb128 .LVU1855 24400 2b53 00 .uleb128 .LVU1870 24401 2b54 00 .uleb128 .LVU1945 24402 2b55 00 .uleb128 .LVU1947 24403 .LLST213: 24404 2b56 8C010000 .4byte .LVL351 24405 2b5a BA010000 .4byte .LVL356 24406 2b5e 0400 .2byte 0x4 24407 2b60 44 .byte 0x44 24408 2b61 4A .byte 0x4a 24409 2b62 24 .byte 0x24 24410 2b63 9F .byte 0x9f 24411 2b64 FE020000 .4byte .LVL374 24412 2b68 06030000 .4byte .LVL376 24413 2b6c 0400 .2byte 0x4 24414 2b6e 44 .byte 0x44 24415 2b6f 4A .byte 0x4a 24416 2b70 24 .byte 0x24 24417 2b71 9F .byte 0x9f 24418 2b72 00000000 .4byte 0 24419 2b76 00000000 .4byte 0 24420 .LVUS214: 24421 2b7a 00 .uleb128 .LVU1855 24422 2b7b 00 .uleb128 .LVU1862 24423 2b7c 00 .uleb128 .LVU1862 ARM GAS /tmp/ccjvgGVC.s page 903 24424 2b7d 00 .uleb128 .LVU1863 24425 2b7e 00 .uleb128 .LVU1863 24426 2b7f 00 .uleb128 .LVU1866 24427 2b80 00 .uleb128 .LVU1945 24428 2b81 00 .uleb128 .LVU1946 24429 2b82 00 .uleb128 .LVU1946 24430 2b83 00 .uleb128 .LVU1947 24431 .LLST214: 24432 2b84 8C010000 .4byte .LVL351 24433 2b88 A2010000 .4byte .LVL352 24434 2b8c 0200 .2byte 0x2 24435 2b8e 30 .byte 0x30 24436 2b8f 9F .byte 0x9f 24437 2b90 A2010000 .4byte .LVL352 24438 2b94 A8010000 .4byte .LVL353 24439 2b98 0600 .2byte 0x6 24440 2b9a 08 .byte 0x8 24441 2b9b 32 .byte 0x32 24442 2b9c 76 .byte 0x76 24443 2b9d 00 .sleb128 0 24444 2b9e 1C .byte 0x1c 24445 2b9f 9F .byte 0x9f 24446 2ba0 A8010000 .4byte .LVL353 24447 2ba4 B0010000 .4byte .LVL355 24448 2ba8 0600 .2byte 0x6 24449 2baa 08 .byte 0x8 24450 2bab 33 .byte 0x33 24451 2bac 76 .byte 0x76 24452 2bad 00 .sleb128 0 24453 2bae 1C .byte 0x1c 24454 2baf 9F .byte 0x9f 24455 2bb0 FE020000 .4byte .LVL374 24456 2bb4 00030000 .4byte .LVL375 24457 2bb8 0600 .2byte 0x6 24458 2bba 08 .byte 0x8 24459 2bbb 33 .byte 0x33 24460 2bbc 76 .byte 0x76 24461 2bbd 00 .sleb128 0 24462 2bbe 1C .byte 0x1c 24463 2bbf 9F .byte 0x9f 24464 2bc0 00030000 .4byte .LVL375 24465 2bc4 06030000 .4byte .LVL376 24466 2bc8 0600 .2byte 0x6 24467 2bca 08 .byte 0x8 24468 2bcb 32 .byte 0x32 24469 2bcc 76 .byte 0x76 24470 2bcd 00 .sleb128 0 24471 2bce 1C .byte 0x1c 24472 2bcf 9F .byte 0x9f 24473 2bd0 00000000 .4byte 0 24474 2bd4 00000000 .4byte 0 24475 .LVUS215: 24476 2bd8 00 .uleb128 .LVU1863 24477 2bd9 00 .uleb128 .LVU1864 24478 .LLST215: 24479 2bda A8010000 .4byte .LVL353 24480 2bde AA010000 .4byte .LVL354 ARM GAS /tmp/ccjvgGVC.s page 904 24481 2be2 0400 .2byte 0x4 24482 2be4 44 .byte 0x44 24483 2be5 4A .byte 0x4a 24484 2be6 24 .byte 0x24 24485 2be7 9F .byte 0x9f 24486 2be8 00000000 .4byte 0 24487 2bec 00000000 .4byte 0 24488 .LVUS217: 24489 2bf0 00 .uleb128 .LVU1877 24490 2bf1 00 .uleb128 .LVU1937 24491 2bf2 00 .uleb128 .LVU1963 24492 2bf3 00 .uleb128 0 24493 .LLST217: 24494 2bf4 E4010000 .4byte .LVL361 24495 2bf8 E4020000 .4byte .LVL372 24496 2bfc 0400 .2byte 0x4 24497 2bfe 44 .byte 0x44 24498 2bff 4A .byte 0x4a 24499 2c00 24 .byte 0x24 24500 2c01 9F .byte 0x9f 24501 2c02 3C030000 .4byte .LVL380 24502 2c06 CC030000 .4byte .LFE80 24503 2c0a 0400 .2byte 0x4 24504 2c0c 44 .byte 0x44 24505 2c0d 4A .byte 0x4a 24506 2c0e 24 .byte 0x24 24507 2c0f 9F .byte 0x9f 24508 2c10 00000000 .4byte 0 24509 2c14 00000000 .4byte 0 24510 .LVUS218: 24511 2c18 00 .uleb128 .LVU1877 24512 2c19 00 .uleb128 .LVU1904 24513 2c1a 00 .uleb128 .LVU1904 24514 2c1b 00 .uleb128 .LVU1908 24515 2c1c 00 .uleb128 .LVU1908 24516 2c1d 00 .uleb128 .LVU1937 24517 2c1e 00 .uleb128 .LVU1963 24518 2c1f 00 .uleb128 .LVU1969 24519 2c20 00 .uleb128 .LVU1969 24520 2c21 00 .uleb128 0 24521 .LLST218: 24522 2c22 E4010000 .4byte .LVL361 24523 2c26 58020000 .4byte .LVL366 24524 2c2a 0200 .2byte 0x2 24525 2c2c 30 .byte 0x30 24526 2c2d 9F .byte 0x9f 24527 2c2e 58020000 .4byte .LVL366 24528 2c32 6E020000 .4byte .LVL368 24529 2c36 0700 .2byte 0x7 24530 2c38 78 .byte 0x78 24531 2c39 00 .sleb128 0 24532 2c3a 48 .byte 0x48 24533 2c3b 24 .byte 0x24 24534 2c3c 30 .byte 0x30 24535 2c3d 2E .byte 0x2e 24536 2c3e 9F .byte 0x9f 24537 2c3f 6E020000 .4byte .LVL368 ARM GAS /tmp/ccjvgGVC.s page 905 24538 2c43 E4020000 .4byte .LVL372 24539 2c47 0700 .2byte 0x7 24540 2c49 72 .byte 0x72 24541 2c4a 00 .sleb128 0 24542 2c4b 48 .byte 0x48 24543 2c4c 24 .byte 0x24 24544 2c4d 30 .byte 0x30 24545 2c4e 2E .byte 0x2e 24546 2c4f 9F .byte 0x9f 24547 2c50 3C030000 .4byte .LVL380 24548 2c54 58030000 .4byte .LVL384 24549 2c58 0200 .2byte 0x2 24550 2c5a 30 .byte 0x30 24551 2c5b 9F .byte 0x9f 24552 2c5c 58030000 .4byte .LVL384 24553 2c60 CC030000 .4byte .LFE80 24554 2c64 0700 .2byte 0x7 24555 2c66 72 .byte 0x72 24556 2c67 00 .sleb128 0 24557 2c68 48 .byte 0x48 24558 2c69 24 .byte 0x24 24559 2c6a 30 .byte 0x30 24560 2c6b 2E .byte 0x2e 24561 2c6c 9F .byte 0x9f 24562 2c6d 00000000 .4byte 0 24563 2c71 00000000 .4byte 0 24564 .LVUS220: 24565 2c75 00 .uleb128 .LVU1877 24566 2c76 00 .uleb128 .LVU1879 24567 2c77 00 .uleb128 .LVU1879 24568 2c78 00 .uleb128 .LVU1886 24569 2c79 00 .uleb128 .LVU1911 24570 2c7a 00 .uleb128 .LVU1914 24571 2c7b 00 .uleb128 .LVU1914 24572 2c7c 00 .uleb128 .LVU1921 24573 2c7d 00 .uleb128 .LVU1963 24574 2c7e 00 .uleb128 .LVU1964 24575 2c7f 00 .uleb128 .LVU1969 24576 2c80 00 .uleb128 .LVU1977 24577 2c81 00 .uleb128 .LVU1977 24578 2c82 00 .uleb128 .LVU1978 24579 2c83 00 .uleb128 .LVU1978 24580 2c84 00 .uleb128 .LVU1980 24581 .LLST220: 24582 2c85 E4010000 .4byte .LVL361 24583 2c89 EC010000 .4byte .LVL362 24584 2c8d 0200 .2byte 0x2 24585 2c8f 30 .byte 0x30 24586 2c90 9F .byte 0x9f 24587 2c91 EC010000 .4byte .LVL362 24588 2c95 06020000 .4byte .LVL364 24589 2c99 0100 .2byte 0x1 24590 2c9b 52 .byte 0x52 24591 2c9c 74020000 .4byte .LVL369 24592 2ca0 80020000 .4byte .LVL370 24593 2ca4 0200 .2byte 0x2 24594 2ca6 30 .byte 0x30 ARM GAS /tmp/ccjvgGVC.s page 906 24595 2ca7 9F .byte 0x9f 24596 2ca8 80020000 .4byte .LVL370 24597 2cac 96020000 .4byte .LVL371 24598 2cb0 0100 .2byte 0x1 24599 2cb2 53 .byte 0x53 24600 2cb3 3C030000 .4byte .LVL380 24601 2cb7 3E030000 .4byte .LVL381 24602 2cbb 0100 .2byte 0x1 24603 2cbd 52 .byte 0x52 24604 2cbe 58030000 .4byte .LVL384 24605 2cc2 78030000 .4byte .LVL385 24606 2cc6 0100 .2byte 0x1 24607 2cc8 53 .byte 0x53 24608 2cc9 78030000 .4byte .LVL385 24609 2ccd 7E030000 .4byte .LVL386 24610 2cd1 0300 .2byte 0x3 24611 2cd3 73 .byte 0x73 24612 2cd4 7F .sleb128 -1 24613 2cd5 9F .byte 0x9f 24614 2cd6 7E030000 .4byte .LVL386 24615 2cda 8A030000 .4byte .LVL387 24616 2cde 0100 .2byte 0x1 24617 2ce0 53 .byte 0x53 24618 2ce1 00000000 .4byte 0 24619 2ce5 00000000 .4byte 0 24620 .LVUS221: 24621 2ce9 00 .uleb128 .LVU1968 24622 2cea 00 .uleb128 .LVU1969 24623 .LLST221: 24624 2ceb 52030000 .4byte .LVL383 24625 2cef 58030000 .4byte .LVL384 24626 2cf3 0400 .2byte 0x4 24627 2cf5 44 .byte 0x44 24628 2cf6 4A .byte 0x4a 24629 2cf7 24 .byte 0x24 24630 2cf8 9F .byte 0x9f 24631 2cf9 00000000 .4byte 0 24632 2cfd 00000000 .4byte 0 24633 .LVUS222: 24634 2d01 00 .uleb128 .LVU1968 24635 2d02 00 .uleb128 .LVU1969 24636 .LLST222: 24637 2d03 52030000 .4byte .LVL383 24638 2d07 58030000 .4byte .LVL384 24639 2d0b 0200 .2byte 0x2 24640 2d0d 33 .byte 0x33 24641 2d0e 9F .byte 0x9f 24642 2d0f 00000000 .4byte 0 24643 2d13 00000000 .4byte 0 24644 .LVUS224: 24645 2d17 00 .uleb128 .LVU1967 24646 2d18 00 .uleb128 .LVU1968 24647 .LLST224: 24648 2d19 4C030000 .4byte .LVL382 24649 2d1d 52030000 .4byte .LVL383 24650 2d21 0400 .2byte 0x4 24651 2d23 44 .byte 0x44 ARM GAS /tmp/ccjvgGVC.s page 907 24652 2d24 4A .byte 0x4a 24653 2d25 24 .byte 0x24 24654 2d26 9F .byte 0x9f 24655 2d27 00000000 .4byte 0 24656 2d2b 00000000 .4byte 0 24657 .LVUS225: 24658 2d2f 00 .uleb128 .LVU1967 24659 2d30 00 .uleb128 .LVU1968 24660 .LLST225: 24661 2d31 4C030000 .4byte .LVL382 24662 2d35 52030000 .4byte .LVL383 24663 2d39 0200 .2byte 0x2 24664 2d3b 31 .byte 0x31 24665 2d3c 9F .byte 0x9f 24666 2d3d 00000000 .4byte 0 24667 2d41 00000000 .4byte 0 24668 .LVUS228: 24669 2d45 00 .uleb128 .LVU1834 24670 2d46 00 .uleb128 .LVU1836 24671 .LLST228: 24672 2d47 30010000 .4byte .LVL339 24673 2d4b 38010000 .4byte .LVL340 24674 2d4f 0300 .2byte 0x3 24675 2d51 08 .byte 0x8 24676 2d52 80 .byte 0x80 24677 2d53 9F .byte 0x9f 24678 2d54 00000000 .4byte 0 24679 2d58 00000000 .4byte 0 24680 .LVUS230: 24681 2d5c 00 .uleb128 .LVU1836 24682 2d5d 00 .uleb128 .LVU1840 24683 .LLST230: 24684 2d5e 38010000 .4byte .LVL340 24685 2d62 40010000 .4byte .LVL343 24686 2d66 0200 .2byte 0x2 24687 2d68 30 .byte 0x30 24688 2d69 9F .byte 0x9f 24689 2d6a 00000000 .4byte 0 24690 2d6e 00000000 .4byte 0 24691 .LVUS231: 24692 2d72 00 .uleb128 .LVU1836 24693 2d73 00 .uleb128 .LVU1840 24694 .LLST231: 24695 2d74 38010000 .4byte .LVL340 24696 2d78 40010000 .4byte .LVL343 24697 2d7c 0300 .2byte 0x3 24698 2d7e 08 .byte 0x8 24699 2d7f 40 .byte 0x40 24700 2d80 9F .byte 0x9f 24701 2d81 00000000 .4byte 0 24702 2d85 00000000 .4byte 0 24703 .LVUS232: 24704 2d89 00 .uleb128 .LVU1838 24705 2d8a 00 .uleb128 .LVU1839 24706 .LLST232: 24707 2d8b 3A010000 .4byte .LVL341 24708 2d8f 3E010000 .4byte .LVL342 ARM GAS /tmp/ccjvgGVC.s page 908 24709 2d93 0100 .2byte 0x1 24710 2d95 52 .byte 0x52 24711 2d96 00000000 .4byte 0 24712 2d9a 00000000 .4byte 0 24713 .LVUS234: 24714 2d9e 00 .uleb128 .LVU1840 24715 2d9f 00 .uleb128 .LVU1846 24716 .LLST234: 24717 2da0 40010000 .4byte .LVL343 24718 2da4 50010000 .4byte .LVL348 24719 2da8 0200 .2byte 0x2 24720 2daa 31 .byte 0x31 24721 2dab 9F .byte 0x9f 24722 2dac 00000000 .4byte 0 24723 2db0 00000000 .4byte 0 24724 .LVUS235: 24725 2db4 00 .uleb128 .LVU1840 24726 2db5 00 .uleb128 .LVU1846 24727 .LLST235: 24728 2db6 40010000 .4byte .LVL343 24729 2dba 50010000 .4byte .LVL348 24730 2dbe 0300 .2byte 0x3 24731 2dc0 08 .byte 0x8 24732 2dc1 80 .byte 0x80 24733 2dc2 9F .byte 0x9f 24734 2dc3 00000000 .4byte 0 24735 2dc7 00000000 .4byte 0 24736 .LVUS236: 24737 2dcb 00 .uleb128 .LVU1843 24738 2dcc 00 .uleb128 .LVU1846 24739 .LLST236: 24740 2dcd 44010000 .4byte .LVL345 24741 2dd1 50010000 .4byte .LVL348 24742 2dd5 0200 .2byte 0x2 24743 2dd7 30 .byte 0x30 24744 2dd8 9F .byte 0x9f 24745 2dd9 00000000 .4byte 0 24746 2ddd 00000000 .4byte 0 24747 .LVUS237: 24748 2de1 00 .uleb128 .LVU1842 24749 2de2 00 .uleb128 .LVU1843 24750 2de3 00 .uleb128 .LVU1843 24751 2de4 00 .uleb128 .LVU1844 24752 2de5 00 .uleb128 .LVU1844 24753 2de6 00 .uleb128 .LVU1845 24754 .LLST237: 24755 2de7 42010000 .4byte .LVL344 24756 2deb 44010000 .4byte .LVL345 24757 2def 0100 .2byte 0x1 24758 2df1 52 .byte 0x52 24759 2df2 44010000 .4byte .LVL345 24760 2df6 48010000 .4byte .LVL346 24761 2dfa 0800 .2byte 0x8 24762 2dfc 71 .byte 0x71 24763 2dfd 00 .sleb128 0 24764 2dfe 40 .byte 0x40 24765 2dff 25 .byte 0x25 ARM GAS /tmp/ccjvgGVC.s page 909 24766 2e00 72 .byte 0x72 24767 2e01 00 .sleb128 0 24768 2e02 22 .byte 0x22 24769 2e03 9F .byte 0x9f 24770 2e04 48010000 .4byte .LVL346 24771 2e08 4C010000 .4byte .LVL347 24772 2e0c 0100 .2byte 0x1 24773 2e0e 52 .byte 0x52 24774 2e0f 00000000 .4byte 0 24775 2e13 00000000 .4byte 0 24776 .LLST238: 24777 2e17 00000000 .4byte .LFB110 24778 2e1b 08000000 .4byte .LCFI45 24779 2e1f 0200 .2byte 0x2 24780 2e21 7D .byte 0x7d 24781 2e22 00 .sleb128 0 24782 2e23 08000000 .4byte .LCFI45 24783 2e27 BC000000 .4byte .LFE110 24784 2e2b 0200 .2byte 0x2 24785 2e2d 7D .byte 0x7d 24786 2e2e 0C .sleb128 12 24787 2e2f 00000000 .4byte 0 24788 2e33 00000000 .4byte 0 24789 .LVUS239: 24790 2e37 01 .uleb128 .LVU1991 24791 2e38 00 .uleb128 .LVU1997 24792 2e39 00 .uleb128 .LVU1997 24793 2e3a 00 .uleb128 .LVU2019 24794 2e3b 00 .uleb128 .LVU2040 24795 2e3c 00 .uleb128 0 24796 .LLST239: 24797 2e3d 00000000 .4byte .LVL388 24798 2e41 0C000000 .4byte .LVL389 24799 2e45 0200 .2byte 0x2 24800 2e47 30 .byte 0x30 24801 2e48 9F .byte 0x9f 24802 2e49 0C000000 .4byte .LVL389 24803 2e4d 54000000 .4byte .LVL390 24804 2e51 0100 .2byte 0x1 24805 2e53 54 .byte 0x54 24806 2e54 A2000000 .4byte .LVL391 24807 2e58 BC000000 .4byte .LFE110 24808 2e5c 0100 .2byte 0x1 24809 2e5e 54 .byte 0x54 24810 2e5f 00000000 .4byte 0 24811 2e63 00000000 .4byte 0 24812 .LVUS240: 24813 2e67 01 .uleb128 .LVU2045 24814 2e68 00 .uleb128 .LVU2047 24815 2e69 00 .uleb128 .LVU2047 24816 2e6a 00 .uleb128 0 24817 .LLST240: 24818 2e6b 00000000 .4byte .LVL392 24819 2e6f 04000000 .4byte .LVL393 24820 2e73 0200 .2byte 0x2 24821 2e75 30 .byte 0x30 24822 2e76 9F .byte 0x9f ARM GAS /tmp/ccjvgGVC.s page 910 24823 2e77 04000000 .4byte .LVL393 24824 2e7b 1A000000 .4byte .LFE114 24825 2e7f 0C00 .2byte 0xc 24826 2e81 71 .byte 0x71 24827 2e82 04 .sleb128 4 24828 2e83 06 .byte 0x6 24829 2e84 71 .byte 0x71 24830 2e85 08 .sleb128 8 24831 2e86 06 .byte 0x6 24832 2e87 21 .byte 0x21 24833 2e88 0A .byte 0xa 24834 2e89 0004 .2byte 0x400 24835 2e8b 21 .byte 0x21 24836 2e8c 9F .byte 0x9f 24837 2e8d 00000000 .4byte 0 24838 2e91 00000000 .4byte 0 24839 .LLST241: 24840 2e95 00000000 .4byte .LFB115 24841 2e99 04000000 .4byte .LCFI46 24842 2e9d 0200 .2byte 0x2 24843 2e9f 7D .byte 0x7d 24844 2ea0 00 .sleb128 0 24845 2ea1 04000000 .4byte .LCFI46 24846 2ea5 10000000 .4byte .LCFI47 24847 2ea9 0200 .2byte 0x2 24848 2eab 7D .byte 0x7d 24849 2eac 24 .sleb128 36 24850 2ead 10000000 .4byte .LCFI47 24851 2eb1 24000000 .4byte .LCFI48 24852 2eb5 0300 .2byte 0x3 24853 2eb7 7D .byte 0x7d 24854 2eb8 C000 .sleb128 64 24855 2eba 24000000 .4byte .LCFI48 24856 2ebe 28000000 .4byte .LCFI49 24857 2ec2 0200 .2byte 0x2 24858 2ec4 7D .byte 0x7d 24859 2ec5 24 .sleb128 36 24860 2ec6 28000000 .4byte .LCFI49 24861 2eca 6C010000 .4byte .LFE115 24862 2ece 0300 .2byte 0x3 24863 2ed0 7D .byte 0x7d 24864 2ed1 C000 .sleb128 64 24865 2ed3 00000000 .4byte 0 24866 2ed7 00000000 .4byte 0 24867 .LVUS242: 24868 2edb 00 .uleb128 0 24869 2edc 00 .uleb128 .LVU2063 24870 2edd 00 .uleb128 .LVU2063 24871 2ede 00 .uleb128 .LVU2067 24872 2edf 00 .uleb128 .LVU2067 24873 2ee0 00 .uleb128 .LVU2070 24874 2ee1 00 .uleb128 .LVU2070 24875 2ee2 00 .uleb128 0 24876 .LLST242: 24877 2ee3 00000000 .4byte .LVL394 24878 2ee7 1E000000 .4byte .LVL397 24879 2eeb 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 911 24880 2eed 50 .byte 0x50 24881 2eee 1E000000 .4byte .LVL397 24882 2ef2 28000000 .4byte .LVL399 24883 2ef6 0100 .2byte 0x1 24884 2ef8 5A .byte 0x5a 24885 2ef9 28000000 .4byte .LVL399 24886 2efd 32000000 .4byte .LVL400 24887 2f01 0100 .2byte 0x1 24888 2f03 50 .byte 0x50 24889 2f04 32000000 .4byte .LVL400 24890 2f08 6C010000 .4byte .LFE115 24891 2f0c 0100 .2byte 0x1 24892 2f0e 5A .byte 0x5a 24893 2f0f 00000000 .4byte 0 24894 2f13 00000000 .4byte 0 24895 .LVUS243: 24896 2f17 00 .uleb128 0 24897 2f18 00 .uleb128 .LVU2064 24898 2f19 00 .uleb128 .LVU2064 24899 2f1a 00 .uleb128 .LVU2067 24900 2f1b 00 .uleb128 .LVU2067 24901 2f1c 00 .uleb128 .LVU2085 24902 2f1d 00 .uleb128 .LVU2085 24903 2f1e 00 .uleb128 0 24904 .LLST243: 24905 2f1f 00000000 .4byte .LVL394 24906 2f23 20000000 .4byte .LVL398 24907 2f27 0100 .2byte 0x1 24908 2f29 51 .byte 0x51 24909 2f2a 20000000 .4byte .LVL398 24910 2f2e 28000000 .4byte .LVL399 24911 2f32 0A00 .2byte 0xa 24912 2f34 F3 .byte 0xf3 24913 2f35 03 .uleb128 0x3 24914 2f36 F5 .byte 0xf5 24915 2f37 01 .uleb128 0x1 24916 2f38 29 .uleb128 0x29 24917 2f39 F7 .byte 0xf7 24918 2f3a 30 .uleb128 0x30 24919 2f3b F7 .byte 0xf7 24920 2f3c 00 .uleb128 0 24921 2f3d 9F .byte 0x9f 24922 2f3e 28000000 .4byte .LVL399 24923 2f42 70000000 .4byte .LVL401 24924 2f46 0100 .2byte 0x1 24925 2f48 51 .byte 0x51 24926 2f49 70000000 .4byte .LVL401 24927 2f4d 6C010000 .4byte .LFE115 24928 2f51 0A00 .2byte 0xa 24929 2f53 F3 .byte 0xf3 24930 2f54 03 .uleb128 0x3 24931 2f55 F5 .byte 0xf5 24932 2f56 01 .uleb128 0x1 24933 2f57 29 .uleb128 0x29 24934 2f58 F7 .byte 0xf7 24935 2f59 30 .uleb128 0x30 24936 2f5a F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 912 24937 2f5b 00 .uleb128 0 24938 2f5c 9F .byte 0x9f 24939 2f5d 00000000 .4byte 0 24940 2f61 00000000 .4byte 0 24941 .LVUS244: 24942 2f65 00 .uleb128 0 24943 2f66 00 .uleb128 .LVU2055 24944 2f67 00 .uleb128 .LVU2055 24945 2f68 00 .uleb128 .LVU2064 24946 2f69 00 .uleb128 .LVU2064 24947 2f6a 00 .uleb128 .LVU2067 24948 2f6b 00 .uleb128 .LVU2067 24949 2f6c 00 .uleb128 .LVU2131 24950 2f6d 00 .uleb128 .LVU2131 24951 2f6e 00 .uleb128 0 24952 .LLST244: 24953 2f6f 00000000 .4byte .LVL394 24954 2f73 0E000000 .4byte .LVL395 24955 2f77 0100 .2byte 0x1 24956 2f79 52 .byte 0x52 24957 2f7a 0E000000 .4byte .LVL395 24958 2f7e 20000000 .4byte .LVL398 24959 2f82 0100 .2byte 0x1 24960 2f84 56 .byte 0x56 24961 2f85 20000000 .4byte .LVL398 24962 2f89 28000000 .4byte .LVL399 24963 2f8d 0A00 .2byte 0xa 24964 2f8f F3 .byte 0xf3 24965 2f90 03 .uleb128 0x3 24966 2f91 F5 .byte 0xf5 24967 2f92 02 .uleb128 0x2 24968 2f93 29 .uleb128 0x29 24969 2f94 F7 .byte 0xf7 24970 2f95 30 .uleb128 0x30 24971 2f96 F7 .byte 0xf7 24972 2f97 00 .uleb128 0 24973 2f98 9F .byte 0x9f 24974 2f99 28000000 .4byte .LVL399 24975 2f9d D8000000 .4byte .LVL410 24976 2fa1 0100 .2byte 0x1 24977 2fa3 56 .byte 0x56 24978 2fa4 D8000000 .4byte .LVL410 24979 2fa8 6C010000 .4byte .LFE115 24980 2fac 0A00 .2byte 0xa 24981 2fae F3 .byte 0xf3 24982 2faf 03 .uleb128 0x3 24983 2fb0 F5 .byte 0xf5 24984 2fb1 02 .uleb128 0x2 24985 2fb2 29 .uleb128 0x29 24986 2fb3 F7 .byte 0xf7 24987 2fb4 30 .uleb128 0x30 24988 2fb5 F7 .byte 0xf7 24989 2fb6 00 .uleb128 0 24990 2fb7 9F .byte 0x9f 24991 2fb8 00000000 .4byte 0 24992 2fbc 00000000 .4byte 0 24993 .LVUS245: ARM GAS /tmp/ccjvgGVC.s page 913 24994 2fc0 00 .uleb128 .LVU2155 24995 2fc1 00 .uleb128 0 24996 .LLST245: 24997 2fc2 22010000 .4byte .LVL417 24998 2fc6 6C010000 .4byte .LFE115 24999 2fca 0100 .2byte 0x1 25000 2fcc 51 .byte 0x51 25001 2fcd 00000000 .4byte 0 25002 2fd1 00000000 .4byte 0 25003 .LVUS247: 25004 2fd5 01 .uleb128 .LVU2059 25005 2fd6 00 .uleb128 .LVU2063 25006 2fd7 00 .uleb128 .LVU2063 25007 2fd8 00 .uleb128 .LVU2064 25008 2fd9 00 .uleb128 .LVU2067 25009 2fda 00 .uleb128 .LVU2070 25010 2fdb 00 .uleb128 .LVU2070 25011 2fdc 00 .uleb128 .LVU2124 25012 2fdd 00 .uleb128 .LVU2125 25013 2fde 00 .uleb128 .LVU2141 25014 2fdf 00 .uleb128 .LVU2142 25015 2fe0 00 .uleb128 .LVU2148 25016 .LLST247: 25017 2fe1 16000000 .4byte .LVL396 25018 2fe5 1E000000 .4byte .LVL397 25019 2fe9 0100 .2byte 0x1 25020 2feb 50 .byte 0x50 25021 2fec 1E000000 .4byte .LVL397 25022 2ff0 20000000 .4byte .LVL398 25023 2ff4 0100 .2byte 0x1 25024 2ff6 5A .byte 0x5a 25025 2ff7 28000000 .4byte .LVL399 25026 2ffb 32000000 .4byte .LVL400 25027 2fff 0100 .2byte 0x1 25028 3001 50 .byte 0x50 25029 3002 32000000 .4byte .LVL400 25030 3006 B6000000 .4byte .LVL408 25031 300a 0100 .2byte 0x1 25032 300c 5A .byte 0x5a 25033 300d B8000000 .4byte .LVL409 25034 3011 08010000 .4byte .LVL413 25035 3015 0100 .2byte 0x1 25036 3017 5A .byte 0x5a 25037 3018 0A010000 .4byte .LVL414 25038 301c 20010000 .4byte .LVL416 25039 3020 0100 .2byte 0x1 25040 3022 5A .byte 0x5a 25041 3023 00000000 .4byte 0 25042 3027 00000000 .4byte 0 25043 .LVUS248: 25044 302b 01 .uleb128 .LVU2059 25045 302c 00 .uleb128 .LVU2064 25046 302d 00 .uleb128 .LVU2067 25047 302e 00 .uleb128 .LVU2085 25048 302f 00 .uleb128 .LVU2085 25049 3030 00 .uleb128 .LVU2124 25050 3031 00 .uleb128 .LVU2125 ARM GAS /tmp/ccjvgGVC.s page 914 25051 3032 00 .uleb128 .LVU2141 25052 3033 00 .uleb128 .LVU2142 25053 3034 00 .uleb128 .LVU2148 25054 .LLST248: 25055 3035 16000000 .4byte .LVL396 25056 3039 20000000 .4byte .LVL398 25057 303d 0100 .2byte 0x1 25058 303f 51 .byte 0x51 25059 3040 28000000 .4byte .LVL399 25060 3044 70000000 .4byte .LVL401 25061 3048 0100 .2byte 0x1 25062 304a 51 .byte 0x51 25063 304b 70000000 .4byte .LVL401 25064 304f B6000000 .4byte .LVL408 25065 3053 0A00 .2byte 0xa 25066 3055 F3 .byte 0xf3 25067 3056 03 .uleb128 0x3 25068 3057 F5 .byte 0xf5 25069 3058 01 .uleb128 0x1 25070 3059 29 .uleb128 0x29 25071 305a F7 .byte 0xf7 25072 305b 30 .uleb128 0x30 25073 305c F7 .byte 0xf7 25074 305d 00 .uleb128 0 25075 305e 9F .byte 0x9f 25076 305f B8000000 .4byte .LVL409 25077 3063 08010000 .4byte .LVL413 25078 3067 0A00 .2byte 0xa 25079 3069 F3 .byte 0xf3 25080 306a 03 .uleb128 0x3 25081 306b F5 .byte 0xf5 25082 306c 01 .uleb128 0x1 25083 306d 29 .uleb128 0x29 25084 306e F7 .byte 0xf7 25085 306f 30 .uleb128 0x30 25086 3070 F7 .byte 0xf7 25087 3071 00 .uleb128 0 25088 3072 9F .byte 0x9f 25089 3073 0A010000 .4byte .LVL414 25090 3077 20010000 .4byte .LVL416 25091 307b 0A00 .2byte 0xa 25092 307d F3 .byte 0xf3 25093 307e 03 .uleb128 0x3 25094 307f F5 .byte 0xf5 25095 3080 01 .uleb128 0x1 25096 3081 29 .uleb128 0x29 25097 3082 F7 .byte 0xf7 25098 3083 30 .uleb128 0x30 25099 3084 F7 .byte 0xf7 25100 3085 00 .uleb128 0 25101 3086 9F .byte 0x9f 25102 3087 00000000 .4byte 0 25103 308b 00000000 .4byte 0 25104 .LVUS249: 25105 308f 01 .uleb128 .LVU2059 25106 3090 00 .uleb128 .LVU2064 25107 3091 00 .uleb128 .LVU2067 ARM GAS /tmp/ccjvgGVC.s page 915 25108 3092 00 .uleb128 .LVU2124 25109 3093 00 .uleb128 .LVU2125 25110 3094 00 .uleb128 .LVU2131 25111 3095 00 .uleb128 .LVU2131 25112 3096 00 .uleb128 .LVU2141 25113 3097 00 .uleb128 .LVU2142 25114 3098 00 .uleb128 .LVU2148 25115 .LLST249: 25116 3099 16000000 .4byte .LVL396 25117 309d 20000000 .4byte .LVL398 25118 30a1 0100 .2byte 0x1 25119 30a3 56 .byte 0x56 25120 30a4 28000000 .4byte .LVL399 25121 30a8 B6000000 .4byte .LVL408 25122 30ac 0100 .2byte 0x1 25123 30ae 56 .byte 0x56 25124 30af B8000000 .4byte .LVL409 25125 30b3 D8000000 .4byte .LVL410 25126 30b7 0100 .2byte 0x1 25127 30b9 56 .byte 0x56 25128 30ba D8000000 .4byte .LVL410 25129 30be 08010000 .4byte .LVL413 25130 30c2 0A00 .2byte 0xa 25131 30c4 F3 .byte 0xf3 25132 30c5 03 .uleb128 0x3 25133 30c6 F5 .byte 0xf5 25134 30c7 02 .uleb128 0x2 25135 30c8 29 .uleb128 0x29 25136 30c9 F7 .byte 0xf7 25137 30ca 30 .uleb128 0x30 25138 30cb F7 .byte 0xf7 25139 30cc 00 .uleb128 0 25140 30cd 9F .byte 0x9f 25141 30ce 0A010000 .4byte .LVL414 25142 30d2 20010000 .4byte .LVL416 25143 30d6 0A00 .2byte 0xa 25144 30d8 F3 .byte 0xf3 25145 30d9 03 .uleb128 0x3 25146 30da F5 .byte 0xf5 25147 30db 02 .uleb128 0x2 25148 30dc 29 .uleb128 0x29 25149 30dd F7 .byte 0xf7 25150 30de 30 .uleb128 0x30 25151 30df F7 .byte 0xf7 25152 30e0 00 .uleb128 0 25153 30e1 9F .byte 0x9f 25154 30e2 00000000 .4byte 0 25155 30e6 00000000 .4byte 0 25156 .LVUS250: 25157 30ea 01 .uleb128 .LVU2117 25158 30eb 00 .uleb128 .LVU2124 25159 30ec 00 .uleb128 .LVU2125 25160 30ed 00 .uleb128 .LVU2133 25161 30ee 00 .uleb128 .LVU2133 25162 30ef 00 .uleb128 .LVU2141 25163 30f0 00 .uleb128 .LVU2142 25164 30f1 00 .uleb128 .LVU2148 ARM GAS /tmp/ccjvgGVC.s page 916 25165 .LLST250: 25166 30f2 A0000000 .4byte .LVL407 25167 30f6 B6000000 .4byte .LVL408 25168 30fa 0100 .2byte 0x1 25169 30fc 50 .byte 0x50 25170 30fd B8000000 .4byte .LVL409 25171 3101 E4000000 .4byte .LVL411 25172 3105 0100 .2byte 0x1 25173 3107 50 .byte 0x50 25174 3108 E4000000 .4byte .LVL411 25175 310c 08010000 .4byte .LVL413 25176 3110 0100 .2byte 0x1 25177 3112 57 .byte 0x57 25178 3113 0A010000 .4byte .LVL414 25179 3117 20010000 .4byte .LVL416 25180 311b 0100 .2byte 0x1 25181 311d 57 .byte 0x57 25182 311e 00000000 .4byte 0 25183 3122 00000000 .4byte 0 25184 .LVUS251: 25185 3126 02 .uleb128 .LVU2060 25186 3127 00 .uleb128 .LVU2064 25187 3128 00 .uleb128 .LVU2067 25188 3129 00 .uleb128 .LVU2106 25189 312a 00 .uleb128 .LVU2106 25190 312b 00 .uleb128 .LVU2114 25191 .LLST251: 25192 312c 16000000 .4byte .LVL396 25193 3130 20000000 .4byte .LVL398 25194 3134 0100 .2byte 0x1 25195 3136 51 .byte 0x51 25196 3137 28000000 .4byte .LVL399 25197 313b 8A000000 .4byte .LVL404 25198 313f 0100 .2byte 0x1 25199 3141 51 .byte 0x51 25200 3142 8A000000 .4byte .LVL404 25201 3146 93000000 .4byte .LVL405-1 25202 314a 2000 .2byte 0x20 25203 314c F3 .byte 0xf3 25204 314d 03 .uleb128 0x3 25205 314e F5 .byte 0xf5 25206 314f 01 .uleb128 0x1 25207 3150 29 .uleb128 0x29 25208 3151 F7 .byte 0xf7 25209 3152 30 .uleb128 0x30 25210 3153 F7 .byte 0xf7 25211 3154 00 .uleb128 0 25212 3155 39 .byte 0x39 25213 3156 24 .byte 0x24 25214 3157 F3 .byte 0xf3 25215 3158 03 .uleb128 0x3 25216 3159 F5 .byte 0xf5 25217 315a 01 .uleb128 0x1 25218 315b 29 .uleb128 0x29 25219 315c F7 .byte 0xf7 25220 315d 30 .uleb128 0x30 25221 315e F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 917 25222 315f 00 .uleb128 0 25223 3160 74 .byte 0x74 25224 3161 C400 .sleb128 68 25225 3163 06 .byte 0x6 25226 3164 31 .byte 0x31 25227 3165 2E .byte 0x2e 25228 3166 28 .byte 0x28 25229 3167 0100 .2byte 0x1 25230 3169 16 .byte 0x16 25231 316a 13 .byte 0x13 25232 316b 9F .byte 0x9f 25233 316c 00000000 .4byte 0 25234 3170 00000000 .4byte 0 25235 .LVUS252: 25236 3174 00 .uleb128 .LVU2091 25237 3175 00 .uleb128 0 25238 .LLST252: 25239 3176 80000000 .4byte .LVL402 25240 317a 6C010000 .4byte .LFE115 25241 317e 0100 .2byte 0x1 25242 3180 55 .byte 0x55 25243 3181 00000000 .4byte 0 25244 3185 00000000 .4byte 0 25245 .LVUS253: 25246 3189 00 .uleb128 .LVU2091 25247 318a 00 .uleb128 .LVU2106 25248 318b 00 .uleb128 .LVU2106 25249 318c 00 .uleb128 .LVU2114 25250 .LLST253: 25251 318d 80000000 .4byte .LVL402 25252 3191 8A000000 .4byte .LVL404 25253 3195 0100 .2byte 0x1 25254 3197 51 .byte 0x51 25255 3198 8A000000 .4byte .LVL404 25256 319c 93000000 .4byte .LVL405-1 25257 31a0 2000 .2byte 0x20 25258 31a2 F3 .byte 0xf3 25259 31a3 03 .uleb128 0x3 25260 31a4 F5 .byte 0xf5 25261 31a5 01 .uleb128 0x1 25262 31a6 29 .uleb128 0x29 25263 31a7 F7 .byte 0xf7 25264 31a8 30 .uleb128 0x30 25265 31a9 F7 .byte 0xf7 25266 31aa 00 .uleb128 0 25267 31ab 39 .byte 0x39 25268 31ac 24 .byte 0x24 25269 31ad F3 .byte 0xf3 25270 31ae 03 .uleb128 0x3 25271 31af F5 .byte 0xf5 25272 31b0 01 .uleb128 0x1 25273 31b1 29 .uleb128 0x29 25274 31b2 F7 .byte 0xf7 25275 31b3 30 .uleb128 0x30 25276 31b4 F7 .byte 0xf7 25277 31b5 00 .uleb128 0 25278 31b6 74 .byte 0x74 ARM GAS /tmp/ccjvgGVC.s page 918 25279 31b7 C400 .sleb128 68 25280 31b9 06 .byte 0x6 25281 31ba 31 .byte 0x31 25282 31bb 2E .byte 0x2e 25283 31bc 28 .byte 0x28 25284 31bd 0100 .2byte 0x1 25285 31bf 16 .byte 0x16 25286 31c0 13 .byte 0x13 25287 31c1 9F .byte 0x9f 25288 31c2 00000000 .4byte 0 25289 31c6 00000000 .4byte 0 25290 .LVUS254: 25291 31ca 00 .uleb128 .LVU2098 25292 31cb 01 .uleb128 .LVU2117 25293 .LLST254: 25294 31cc 84000000 .4byte .LVL403 25295 31d0 A0000000 .4byte .LVL407 25296 31d4 0100 .2byte 0x1 25297 31d6 55 .byte 0x55 25298 31d7 00000000 .4byte 0 25299 31db 00000000 .4byte 0 25300 .LVUS255: 25301 31df 00 .uleb128 .LVU2098 25302 31e0 00 .uleb128 .LVU2106 25303 31e1 00 .uleb128 .LVU2106 25304 31e2 00 .uleb128 .LVU2114 25305 .LLST255: 25306 31e3 84000000 .4byte .LVL403 25307 31e7 8A000000 .4byte .LVL404 25308 31eb 0100 .2byte 0x1 25309 31ed 51 .byte 0x51 25310 31ee 8A000000 .4byte .LVL404 25311 31f2 93000000 .4byte .LVL405-1 25312 31f6 2000 .2byte 0x20 25313 31f8 F3 .byte 0xf3 25314 31f9 03 .uleb128 0x3 25315 31fa F5 .byte 0xf5 25316 31fb 01 .uleb128 0x1 25317 31fc 29 .uleb128 0x29 25318 31fd F7 .byte 0xf7 25319 31fe 30 .uleb128 0x30 25320 31ff F7 .byte 0xf7 25321 3200 00 .uleb128 0 25322 3201 39 .byte 0x39 25323 3202 24 .byte 0x24 25324 3203 F3 .byte 0xf3 25325 3204 03 .uleb128 0x3 25326 3205 F5 .byte 0xf5 25327 3206 01 .uleb128 0x1 25328 3207 29 .uleb128 0x29 25329 3208 F7 .byte 0xf7 25330 3209 30 .uleb128 0x30 25331 320a F7 .byte 0xf7 25332 320b 00 .uleb128 0 25333 320c 74 .byte 0x74 25334 320d C400 .sleb128 68 25335 320f 06 .byte 0x6 ARM GAS /tmp/ccjvgGVC.s page 919 25336 3210 31 .byte 0x31 25337 3211 2E .byte 0x2e 25338 3212 28 .byte 0x28 25339 3213 0100 .2byte 0x1 25340 3215 16 .byte 0x16 25341 3216 13 .byte 0x13 25342 3217 9F .byte 0x9f 25343 3218 00000000 .4byte 0 25344 321c 00000000 .4byte 0 25345 .LVUS256: 25346 3220 00 .uleb128 .LVU2116 25347 3221 01 .uleb128 .LVU2117 25348 .LLST256: 25349 3222 A0000000 .4byte .LVL407 25350 3226 A0000000 .4byte .LVL407 25351 322a 0100 .2byte 0x1 25352 322c 50 .byte 0x50 25353 322d 00000000 .4byte 0 25354 3231 00000000 .4byte 0 25355 .LVUS257: 25356 3235 00 .uleb128 .LVU2142 25357 3236 00 .uleb128 .LVU2148 25358 .LLST257: 25359 3237 0A010000 .4byte .LVL414 25360 323b 20010000 .4byte .LVL416 25361 323f 0100 .2byte 0x1 25362 3241 55 .byte 0x55 25363 3242 00000000 .4byte 0 25364 3246 00000000 .4byte 0 25365 .LVUS258: 25366 324a 00 .uleb128 .LVU2142 25367 324b 00 .uleb128 .LVU2148 25368 .LLST258: 25369 324c 0A010000 .4byte .LVL414 25370 3250 20010000 .4byte .LVL416 25371 3254 0600 .2byte 0x6 25372 3256 F2 .byte 0xf2 25373 3257 5C200000 .4byte .Ldebug_info0+8284 25374 325b 00 .sleb128 0 25375 325c 00000000 .4byte 0 25376 3260 00000000 .4byte 0 25377 .LVUS259: 25378 3264 01 .uleb128 .LVU2143 25379 3265 00 .uleb128 .LVU2145 25380 3266 00 .uleb128 .LVU2145 25381 3267 00 .uleb128 0 25382 .LLST259: 25383 3268 0A010000 .4byte .LVL414 25384 326c 12010000 .4byte .LVL415 25385 3270 0200 .2byte 0x2 25386 3272 30 .byte 0x30 25387 3273 9F .byte 0x9f 25388 3274 12010000 .4byte .LVL415 25389 3278 6C010000 .4byte .LFE115 25390 327c 0300 .2byte 0x3 25391 327e 08 .byte 0x8 25392 327f 91 .byte 0x91 ARM GAS /tmp/ccjvgGVC.s page 920 25393 3280 9F .byte 0x9f 25394 3281 00000000 .4byte 0 25395 3285 00000000 .4byte 0 25396 .LLST260: 25397 3289 00000000 .4byte .LFB123 25398 328d 02000000 .4byte .LCFI50 25399 3291 0200 .2byte 0x2 25400 3293 7D .byte 0x7d 25401 3294 00 .sleb128 0 25402 3295 02000000 .4byte .LCFI50 25403 3299 90000000 .4byte .LFE123 25404 329d 0200 .2byte 0x2 25405 329f 7D .byte 0x7d 25406 32a0 18 .sleb128 24 25407 32a1 00000000 .4byte 0 25408 32a5 00000000 .4byte 0 25409 .LVUS261: 25410 32a9 00 .uleb128 0 25411 32aa 00 .uleb128 .LVU2182 25412 32ab 00 .uleb128 .LVU2182 25413 32ac 00 .uleb128 0 25414 .LLST261: 25415 32ad 00000000 .4byte .LVL418 25416 32b1 0B000000 .4byte .LVL420-1 25417 32b5 0100 .2byte 0x1 25418 32b7 50 .byte 0x50 25419 32b8 0B000000 .4byte .LVL420-1 25420 32bc 90000000 .4byte .LFE123 25421 32c0 0A00 .2byte 0xa 25422 32c2 F3 .byte 0xf3 25423 32c3 03 .uleb128 0x3 25424 32c4 F5 .byte 0xf5 25425 32c5 00 .uleb128 0 25426 32c6 29 .uleb128 0x29 25427 32c7 F7 .byte 0xf7 25428 32c8 37 .uleb128 0x37 25429 32c9 F7 .byte 0xf7 25430 32ca 00 .uleb128 0 25431 32cb 9F .byte 0x9f 25432 32cc 00000000 .4byte 0 25433 32d0 00000000 .4byte 0 25434 .LVUS262: 25435 32d4 00 .uleb128 0 25436 32d5 00 .uleb128 .LVU2182 25437 32d6 00 .uleb128 .LVU2182 25438 32d7 00 .uleb128 .LVU2183 25439 32d8 00 .uleb128 .LVU2185 25440 32d9 00 .uleb128 .LVU2197 25441 32da 00 .uleb128 .LVU2197 25442 32db 01 .uleb128 .LVU2204 25443 32dc 01 .uleb128 .LVU2204 25444 32dd 00 .uleb128 .LVU2207 25445 32de 00 .uleb128 .LVU2207 25446 32df 00 .uleb128 .LVU2211 25447 32e0 00 .uleb128 .LVU2211 25448 32e1 00 .uleb128 .LVU2213 25449 32e2 00 .uleb128 .LVU2213 ARM GAS /tmp/ccjvgGVC.s page 921 25450 32e3 00 .uleb128 0 25451 .LLST262: 25452 32e4 00000000 .4byte .LVL418 25453 32e8 0B000000 .4byte .LVL420-1 25454 32ec 0100 .2byte 0x1 25455 32ee 51 .byte 0x51 25456 32ef 0B000000 .4byte .LVL420-1 25457 32f3 10000000 .4byte .LVL421 25458 32f7 0100 .2byte 0x1 25459 32f9 55 .byte 0x55 25460 32fa 14000000 .4byte .LVL422 25461 32fe 46000000 .4byte .LVL425 25462 3302 0100 .2byte 0x1 25463 3304 55 .byte 0x55 25464 3305 46000000 .4byte .LVL425 25465 3309 64000000 .4byte .LVL429 25466 330d 0A00 .2byte 0xa 25467 330f F3 .byte 0xf3 25468 3310 03 .uleb128 0x3 25469 3311 F5 .byte 0xf5 25470 3312 01 .uleb128 0x1 25471 3313 29 .uleb128 0x29 25472 3314 F7 .byte 0xf7 25473 3315 30 .uleb128 0x30 25474 3316 F7 .byte 0xf7 25475 3317 00 .uleb128 0 25476 3318 9F .byte 0x9f 25477 3319 64000000 .4byte .LVL429 25478 331d 6C000000 .4byte .LVL431 25479 3321 1200 .2byte 0x12 25480 3323 77 .byte 0x77 25481 3324 00 .sleb128 0 25482 3325 74 .byte 0x74 25483 3326 00 .sleb128 0 25484 3327 1C .byte 0x1c 25485 3328 39 .byte 0x39 25486 3329 24 .byte 0x24 25487 332a F3 .byte 0xf3 25488 332b 03 .uleb128 0x3 25489 332c F5 .byte 0xf5 25490 332d 01 .uleb128 0x1 25491 332e 29 .uleb128 0x29 25492 332f F7 .byte 0xf7 25493 3330 30 .uleb128 0x30 25494 3331 F7 .byte 0xf7 25495 3332 00 .uleb128 0 25496 3333 22 .byte 0x22 25497 3334 9F .byte 0x9f 25498 3335 6C000000 .4byte .LVL431 25499 3339 76000000 .4byte .LVL433 25500 333d 0A00 .2byte 0xa 25501 333f F3 .byte 0xf3 25502 3340 03 .uleb128 0x3 25503 3341 F5 .byte 0xf5 25504 3342 01 .uleb128 0x1 25505 3343 29 .uleb128 0x29 25506 3344 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 922 25507 3345 30 .uleb128 0x30 25508 3346 F7 .byte 0xf7 25509 3347 00 .uleb128 0 25510 3348 9F .byte 0x9f 25511 3349 76000000 .4byte .LVL433 25512 334d 80000000 .4byte .LVL435 25513 3351 0100 .2byte 0x1 25514 3353 55 .byte 0x55 25515 3354 80000000 .4byte .LVL435 25516 3358 90000000 .4byte .LFE123 25517 335c 0A00 .2byte 0xa 25518 335e F3 .byte 0xf3 25519 335f 03 .uleb128 0x3 25520 3360 F5 .byte 0xf5 25521 3361 01 .uleb128 0x1 25522 3362 29 .uleb128 0x29 25523 3363 F7 .byte 0xf7 25524 3364 30 .uleb128 0x30 25525 3365 F7 .byte 0xf7 25526 3366 00 .uleb128 0 25527 3367 9F .byte 0x9f 25528 3368 00000000 .4byte 0 25529 336c 00000000 .4byte 0 25530 .LVUS263: 25531 3370 00 .uleb128 0 25532 3371 00 .uleb128 .LVU2182 25533 3372 00 .uleb128 .LVU2182 25534 3373 00 .uleb128 .LVU2183 25535 3374 00 .uleb128 .LVU2185 25536 3375 00 .uleb128 .LVU2201 25537 3376 00 .uleb128 .LVU2201 25538 3377 00 .uleb128 .LVU2208 25539 3378 00 .uleb128 .LVU2208 25540 3379 00 .uleb128 0 25541 .LLST263: 25542 337a 00000000 .4byte .LVL418 25543 337e 0B000000 .4byte .LVL420-1 25544 3382 0100 .2byte 0x1 25545 3384 52 .byte 0x52 25546 3385 0B000000 .4byte .LVL420-1 25547 3389 10000000 .4byte .LVL421 25548 338d 0100 .2byte 0x1 25549 338f 54 .byte 0x54 25550 3390 14000000 .4byte .LVL422 25551 3394 5C000000 .4byte .LVL427 25552 3398 0100 .2byte 0x1 25553 339a 54 .byte 0x54 25554 339b 5C000000 .4byte .LVL427 25555 339f 6E000000 .4byte .LVL432 25556 33a3 0100 .2byte 0x1 25557 33a5 57 .byte 0x57 25558 33a6 6E000000 .4byte .LVL432 25559 33aa 90000000 .4byte .LFE123 25560 33ae 0100 .2byte 0x1 25561 33b0 54 .byte 0x54 25562 33b1 00000000 .4byte 0 25563 33b5 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 923 25564 .LVUS264: 25565 33b9 00 .uleb128 0 25566 33ba 00 .uleb128 .LVU2182 25567 33bb 00 .uleb128 .LVU2182 25568 33bc 00 .uleb128 .LVU2183 25569 33bd 00 .uleb128 .LVU2185 25570 33be 00 .uleb128 .LVU2197 25571 33bf 00 .uleb128 .LVU2197 25572 33c0 00 .uleb128 .LVU2208 25573 33c1 00 .uleb128 .LVU2208 25574 33c2 01 .uleb128 .LVU2209 25575 33c3 01 .uleb128 .LVU2209 25576 33c4 00 .uleb128 .LVU2211 25577 33c5 00 .uleb128 .LVU2211 25578 33c6 00 .uleb128 .LVU2212 25579 33c7 00 .uleb128 .LVU2212 25580 33c8 00 .uleb128 0 25581 .LLST264: 25582 33c9 00000000 .4byte .LVL418 25583 33cd 0B000000 .4byte .LVL420-1 25584 33d1 0100 .2byte 0x1 25585 33d3 53 .byte 0x53 25586 33d4 0B000000 .4byte .LVL420-1 25587 33d8 10000000 .4byte .LVL421 25588 33dc 0100 .2byte 0x1 25589 33de 56 .byte 0x56 25590 33df 14000000 .4byte .LVL422 25591 33e3 46000000 .4byte .LVL425 25592 33e7 0100 .2byte 0x1 25593 33e9 56 .byte 0x56 25594 33ea 46000000 .4byte .LVL425 25595 33ee 6E000000 .4byte .LVL432 25596 33f2 0C00 .2byte 0xc 25597 33f4 F3 .byte 0xf3 25598 33f5 03 .uleb128 0x3 25599 33f6 F5 .byte 0xf5 25600 33f7 03 .uleb128 0x3 25601 33f8 29 .uleb128 0x29 25602 33f9 F7 .byte 0xf7 25603 33fa 30 .uleb128 0x30 25604 33fb F7 .byte 0xf7 25605 33fc 00 .uleb128 0 25606 33fd 31 .byte 0x31 25607 33fe 1C .byte 0x1c 25608 33ff 9F .byte 0x9f 25609 3400 6E000000 .4byte .LVL432 25610 3404 6E000000 .4byte .LVL432 25611 3408 0A00 .2byte 0xa 25612 340a F3 .byte 0xf3 25613 340b 03 .uleb128 0x3 25614 340c F5 .byte 0xf5 25615 340d 03 .uleb128 0x3 25616 340e 29 .uleb128 0x29 25617 340f F7 .byte 0xf7 25618 3410 30 .uleb128 0x30 25619 3411 F7 .byte 0xf7 25620 3412 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 924 25621 3413 9F .byte 0x9f 25622 3414 6E000000 .4byte .LVL432 25623 3418 76000000 .4byte .LVL433 25624 341c 0C00 .2byte 0xc 25625 341e F3 .byte 0xf3 25626 341f 03 .uleb128 0x3 25627 3420 F5 .byte 0xf5 25628 3421 03 .uleb128 0x3 25629 3422 29 .uleb128 0x29 25630 3423 F7 .byte 0xf7 25631 3424 30 .uleb128 0x30 25632 3425 F7 .byte 0xf7 25633 3426 00 .uleb128 0 25634 3427 31 .byte 0x31 25635 3428 1C .byte 0x1c 25636 3429 9F .byte 0x9f 25637 342a 76000000 .4byte .LVL433 25638 342e 7C000000 .4byte .LVL434 25639 3432 0100 .2byte 0x1 25640 3434 56 .byte 0x56 25641 3435 7C000000 .4byte .LVL434 25642 3439 90000000 .4byte .LFE123 25643 343d 0A00 .2byte 0xa 25644 343f F3 .byte 0xf3 25645 3440 03 .uleb128 0x3 25646 3441 F5 .byte 0xf5 25647 3442 03 .uleb128 0x3 25648 3443 29 .uleb128 0x29 25649 3444 F7 .byte 0xf7 25650 3445 30 .uleb128 0x30 25651 3446 F7 .byte 0xf7 25652 3447 00 .uleb128 0 25653 3448 9F .byte 0x9f 25654 3449 00000000 .4byte 0 25655 344d 00000000 .4byte 0 25656 .LVUS265: 25657 3451 01 .uleb128 .LVU2179 25658 3452 00 .uleb128 .LVU2183 25659 3453 00 .uleb128 .LVU2185 25660 3454 00 .uleb128 .LVU2193 25661 3455 00 .uleb128 .LVU2193 25662 3456 00 .uleb128 .LVU2196 25663 3457 00 .uleb128 .LVU2197 25664 3458 00 .uleb128 .LVU2202 25665 3459 00 .uleb128 .LVU2202 25666 345a 00 .uleb128 .LVU2206 25667 345b 00 .uleb128 .LVU2208 25668 345c 00 .uleb128 0 25669 .LLST265: 25670 345d 06000000 .4byte .LVL419 25671 3461 10000000 .4byte .LVL421 25672 3465 0200 .2byte 0x2 25673 3467 30 .byte 0x30 25674 3468 9F .byte 0x9f 25675 3469 14000000 .4byte .LVL422 25676 346d 36000000 .4byte .LVL423 25677 3471 0200 .2byte 0x2 ARM GAS /tmp/ccjvgGVC.s page 925 25678 3473 30 .byte 0x30 25679 3474 9F .byte 0x9f 25680 3475 36000000 .4byte .LVL423 25681 3479 3D000000 .4byte .LVL424-1 25682 347d 0100 .2byte 0x1 25683 347f 50 .byte 0x50 25684 3480 46000000 .4byte .LVL425 25685 3484 60000000 .4byte .LVL428 25686 3488 0200 .2byte 0x2 25687 348a 30 .byte 0x30 25688 348b 9F .byte 0x9f 25689 348c 60000000 .4byte .LVL428 25690 3490 67000000 .4byte .LVL430-1 25691 3494 0100 .2byte 0x1 25692 3496 50 .byte 0x50 25693 3497 6E000000 .4byte .LVL432 25694 349b 90000000 .4byte .LFE123 25695 349f 0200 .2byte 0x2 25696 34a1 30 .byte 0x30 25697 34a2 9F .byte 0x9f 25698 34a3 00000000 .4byte 0 25699 34a7 00000000 .4byte 0 25700 .LLST266: 25701 34ab 00000000 .4byte .LFB126 25702 34af 02000000 .4byte .LCFI51 25703 34b3 0200 .2byte 0x2 25704 34b5 7D .byte 0x7d 25705 34b6 00 .sleb128 0 25706 34b7 02000000 .4byte .LCFI51 25707 34bb E4000000 .4byte .LFE126 25708 34bf 0200 .2byte 0x2 25709 34c1 7D .byte 0x7d 25710 34c2 10 .sleb128 16 25711 34c3 00000000 .4byte 0 25712 34c7 00000000 .4byte 0 25713 .LVUS268: 25714 34cb 01 .uleb128 .LVU2215 25715 34cc 00 .uleb128 .LVU2232 25716 .LLST268: 25717 34cd 00000000 .4byte .LVL436 25718 34d1 46000000 .4byte .LVL442 25719 34d5 0200 .2byte 0x2 25720 34d7 30 .byte 0x30 25721 34d8 9F .byte 0x9f 25722 34d9 00000000 .4byte 0 25723 34dd 00000000 .4byte 0 25724 .LVUS270: 25725 34e1 00 .uleb128 .LVU2217 25726 34e2 00 .uleb128 .LVU2232 25727 .LLST270: 25728 34e3 08000000 .4byte .LVL437 25729 34e7 46000000 .4byte .LVL442 25730 34eb 0100 .2byte 0x1 25731 34ed 55 .byte 0x55 25732 34ee 00000000 .4byte 0 25733 34f2 00000000 .4byte 0 25734 .LVUS271: ARM GAS /tmp/ccjvgGVC.s page 926 25735 34f6 00 .uleb128 .LVU2217 25736 34f7 00 .uleb128 .LVU2226 25737 34f8 00 .uleb128 .LVU2226 25738 34f9 00 .uleb128 .LVU2227 25739 34fa 00 .uleb128 .LVU2227 25740 34fb 00 .uleb128 .LVU2232 25741 .LLST271: 25742 34fc 08000000 .4byte .LVL437 25743 3500 27000000 .4byte .LVL440-1 25744 3504 0200 .2byte 0x2 25745 3506 75 .byte 0x75 25746 3507 00 .sleb128 0 25747 3508 27000000 .4byte .LVL440-1 25748 350c 2B000000 .4byte .LVL441-1 25749 3510 0100 .2byte 0x1 25750 3512 50 .byte 0x50 25751 3513 2B000000 .4byte .LVL441-1 25752 3517 46000000 .4byte .LVL442 25753 351b 0100 .2byte 0x1 25754 351d 56 .byte 0x56 25755 351e 00000000 .4byte 0 25756 3522 00000000 .4byte 0 25757 .LVUS272: 25758 3526 00 .uleb128 .LVU2220 25759 3527 00 .uleb128 .LVU2222 25760 .LLST272: 25761 3528 18000000 .4byte .LVL438 25762 352c 20000000 .4byte .LVL439 25763 3530 0200 .2byte 0x2 25764 3532 75 .byte 0x75 25765 3533 00 .sleb128 0 25766 3534 00000000 .4byte 0 25767 3538 00000000 .4byte 0 25768 .LVUS274: 25769 353c 00 .uleb128 .LVU2241 25770 353d 00 .uleb128 .LVU2265 25771 .LLST274: 25772 353e 6C000000 .4byte .LVL444 25773 3542 D4000000 .4byte .LVL454 25774 3546 0200 .2byte 0x2 25775 3548 30 .byte 0x30 25776 3549 9F .byte 0x9f 25777 354a 00000000 .4byte 0 25778 354e 00000000 .4byte 0 25779 .LVUS276: 25780 3552 00 .uleb128 .LVU2241 25781 3553 00 .uleb128 .LVU2265 25782 .LLST276: 25783 3554 6C000000 .4byte .LVL444 25784 3558 D4000000 .4byte .LVL454 25785 355c 0100 .2byte 0x1 25786 355e 55 .byte 0x55 25787 355f 00000000 .4byte 0 25788 3563 00000000 .4byte 0 25789 .LVUS277: 25790 3567 00 .uleb128 .LVU2243 25791 3568 00 .uleb128 .LVU2257 ARM GAS /tmp/ccjvgGVC.s page 927 25792 .LLST277: 25793 3569 70000000 .4byte .LVL445 25794 356d AE000000 .4byte .LVL450 25795 3571 0100 .2byte 0x1 25796 3573 54 .byte 0x54 25797 3574 00000000 .4byte 0 25798 3578 00000000 .4byte 0 25799 .LVUS278: 25800 357c 00 .uleb128 .LVU2253 25801 357d 00 .uleb128 .LVU2255 25802 357e 00 .uleb128 .LVU2256 25803 357f 00 .uleb128 .LVU2257 25804 .LLST278: 25805 3580 A2000000 .4byte .LVL447 25806 3584 A8000000 .4byte .LVL448 25807 3588 0100 .2byte 0x1 25808 358a 50 .byte 0x50 25809 358b AC000000 .4byte .LVL449 25810 358f AE000000 .4byte .LVL450 25811 3593 0100 .2byte 0x1 25812 3595 50 .byte 0x50 25813 3596 00000000 .4byte 0 25814 359a 00000000 .4byte 0 25815 .LVUS280: 25816 359e 00 .uleb128 .LVU2243 25817 359f 00 .uleb128 .LVU2245 25818 .LLST280: 25819 35a0 70000000 .4byte .LVL445 25820 35a4 82000000 .4byte .LVL446 25821 35a8 0200 .2byte 0x2 25822 35aa 30 .byte 0x30 25823 35ab 9F .byte 0x9f 25824 35ac 00000000 .4byte 0 25825 35b0 00000000 .4byte 0 25826 .LVUS281: 25827 35b4 00 .uleb128 .LVU2257 25828 35b5 00 .uleb128 .LVU2263 25829 .LLST281: 25830 35b6 AE000000 .4byte .LVL450 25831 35ba CE000000 .4byte .LVL453 25832 35be 0100 .2byte 0x1 25833 35c0 55 .byte 0x55 25834 35c1 00000000 .4byte 0 25835 35c5 00000000 .4byte 0 25836 .LVUS282: 25837 35c9 00 .uleb128 .LVU2260 25838 35ca 00 .uleb128 .LVU2263 25839 .LLST282: 25840 35cb BE000000 .4byte .LVL452 25841 35cf CE000000 .4byte .LVL453 25842 35d3 0300 .2byte 0x3 25843 35d5 08 .byte 0x8 25844 35d6 43 .byte 0x43 25845 35d7 9F .byte 0x9f 25846 35d8 00000000 .4byte 0 25847 35dc 00000000 .4byte 0 25848 .LLST283: ARM GAS /tmp/ccjvgGVC.s page 928 25849 35e0 00000000 .4byte .LFB142 25850 35e4 02000000 .4byte .LCFI52 25851 35e8 0200 .2byte 0x2 25852 35ea 7D .byte 0x7d 25853 35eb 00 .sleb128 0 25854 35ec 02000000 .4byte .LCFI52 25855 35f0 2A000000 .4byte .LCFI53 25856 35f4 0200 .2byte 0x2 25857 35f6 7D .byte 0x7d 25858 35f7 10 .sleb128 16 25859 35f8 2A000000 .4byte .LCFI53 25860 35fc 30000000 .4byte .LFE142 25861 3600 0200 .2byte 0x2 25862 3602 7D .byte 0x7d 25863 3603 08 .sleb128 8 25864 3604 00000000 .4byte 0 25865 3608 00000000 .4byte 0 25866 .LVUS284: 25867 360c 00 .uleb128 0 25868 360d 00 .uleb128 .LVU2276 25869 360e 00 .uleb128 .LVU2276 25870 360f 00 .uleb128 .LVU2277 25871 3610 00 .uleb128 .LVU2277 25872 3611 00 .uleb128 0 25873 .LLST284: 25874 3612 00000000 .4byte .LVL455 25875 3616 18000000 .4byte .LVL456 25876 361a 0100 .2byte 0x1 25877 361c 50 .byte 0x50 25878 361d 18000000 .4byte .LVL456 25879 3621 19000000 .4byte .LVL457-1 25880 3625 0300 .2byte 0x3 25881 3627 74 .byte 0x74 25882 3628 B805 .sleb128 696 25883 362a 19000000 .4byte .LVL457-1 25884 362e 30000000 .4byte .LFE142 25885 3632 0A00 .2byte 0xa 25886 3634 F3 .byte 0xf3 25887 3635 03 .uleb128 0x3 25888 3636 F5 .byte 0xf5 25889 3637 00 .uleb128 0 25890 3638 29 .uleb128 0x29 25891 3639 F7 .byte 0xf7 25892 363a 30 .uleb128 0x30 25893 363b F7 .byte 0xf7 25894 363c 00 .uleb128 0 25895 363d 9F .byte 0x9f 25896 363e 00000000 .4byte 0 25897 3642 00000000 .4byte 0 25898 .LLST285: 25899 3646 00000000 .4byte .LFB144 25900 364a 02000000 .4byte .LCFI54 25901 364e 0200 .2byte 0x2 25902 3650 7D .byte 0x7d 25903 3651 00 .sleb128 0 25904 3652 02000000 .4byte .LCFI54 25905 3656 3E000000 .4byte .LCFI55 ARM GAS /tmp/ccjvgGVC.s page 929 25906 365a 0200 .2byte 0x2 25907 365c 7D .byte 0x7d 25908 365d 08 .sleb128 8 25909 365e 3E000000 .4byte .LCFI55 25910 3662 42000000 .4byte .LCFI56 25911 3666 0200 .2byte 0x2 25912 3668 7D .byte 0x7d 25913 3669 00 .sleb128 0 25914 366a 42000000 .4byte .LCFI56 25915 366e 44000000 .4byte .LCFI57 25916 3672 0200 .2byte 0x2 25917 3674 7D .byte 0x7d 25918 3675 08 .sleb128 8 25919 3676 44000000 .4byte .LCFI57 25920 367a 48000000 .4byte .LFE144 25921 367e 0200 .2byte 0x2 25922 3680 7D .byte 0x7d 25923 3681 00 .sleb128 0 25924 3682 00000000 .4byte 0 25925 3686 00000000 .4byte 0 25926 .LVUS286: 25927 368a 00 .uleb128 0 25928 368b 00 .uleb128 .LVU2285 25929 368c 00 .uleb128 .LVU2285 25930 368d 00 .uleb128 0 25931 .LLST286: 25932 368e 00000000 .4byte .LVL458 25933 3692 0C000000 .4byte .LVL460 25934 3696 0100 .2byte 0x1 25935 3698 50 .byte 0x50 25936 3699 0C000000 .4byte .LVL460 25937 369d 48000000 .4byte .LFE144 25938 36a1 0A00 .2byte 0xa 25939 36a3 F3 .byte 0xf3 25940 36a4 03 .uleb128 0x3 25941 36a5 F5 .byte 0xf5 25942 36a6 00 .uleb128 0 25943 36a7 29 .uleb128 0x29 25944 36a8 F7 .byte 0xf7 25945 36a9 30 .uleb128 0x30 25946 36aa F7 .byte 0xf7 25947 36ab 00 .uleb128 0 25948 36ac 9F .byte 0x9f 25949 36ad 00000000 .4byte 0 25950 36b1 00000000 .4byte 0 25951 .LVUS287: 25952 36b5 00 .uleb128 0 25953 36b6 00 .uleb128 .LVU2286 25954 36b7 00 .uleb128 .LVU2286 25955 36b8 00 .uleb128 0 25956 .LLST287: 25957 36b9 00000000 .4byte .LVL458 25958 36bd 12000000 .4byte .LVL461 25959 36c1 0100 .2byte 0x1 25960 36c3 51 .byte 0x51 25961 36c4 12000000 .4byte .LVL461 25962 36c8 48000000 .4byte .LFE144 ARM GAS /tmp/ccjvgGVC.s page 930 25963 36cc 0A00 .2byte 0xa 25964 36ce F3 .byte 0xf3 25965 36cf 03 .uleb128 0x3 25966 36d0 F5 .byte 0xf5 25967 36d1 01 .uleb128 0x1 25968 36d2 29 .uleb128 0x29 25969 36d3 F7 .byte 0xf7 25970 36d4 37 .uleb128 0x37 25971 36d5 F7 .byte 0xf7 25972 36d6 00 .uleb128 0 25973 36d7 9F .byte 0x9f 25974 36d8 00000000 .4byte 0 25975 36dc 00000000 .4byte 0 25976 .LVUS288: 25977 36e0 00 .uleb128 0 25978 36e1 00 .uleb128 .LVU2299 25979 36e2 00 .uleb128 .LVU2299 25980 36e3 00 .uleb128 .LVU2301 25981 36e4 00 .uleb128 .LVU2301 25982 36e5 00 .uleb128 .LVU2302 25983 36e6 00 .uleb128 .LVU2302 25984 36e7 00 .uleb128 .LVU2304 25985 36e8 00 .uleb128 .LVU2304 25986 36e9 00 .uleb128 0 25987 .LLST288: 25988 36ea 00000000 .4byte .LVL458 25989 36ee 3A000000 .4byte .LVL465 25990 36f2 0100 .2byte 0x1 25991 36f4 52 .byte 0x52 25992 36f5 3A000000 .4byte .LVL465 25993 36f9 3E000000 .4byte .LVL466 25994 36fd 0A00 .2byte 0xa 25995 36ff 74 .byte 0x74 25996 3700 00 .sleb128 0 25997 3701 4C .byte 0x4c 25998 3702 1E .byte 0x1e 25999 3703 75 .byte 0x75 26000 3704 00 .sleb128 0 26001 3705 22 .byte 0x22 26002 3706 23 .byte 0x23 26003 3707 8804 .uleb128 0x208 26004 3709 3E000000 .4byte .LVL466 26005 370d 42000000 .4byte .LVL467 26006 3711 0A00 .2byte 0xa 26007 3713 F3 .byte 0xf3 26008 3714 03 .uleb128 0x3 26009 3715 F5 .byte 0xf5 26010 3716 02 .uleb128 0x2 26011 3717 29 .uleb128 0x29 26012 3718 F7 .byte 0xf7 26013 3719 30 .uleb128 0x30 26014 371a F7 .byte 0xf7 26015 371b 00 .uleb128 0 26016 371c 9F .byte 0x9f 26017 371d 42000000 .4byte .LVL467 26018 3721 44000000 .4byte .LVL468 26019 3725 0A00 .2byte 0xa ARM GAS /tmp/ccjvgGVC.s page 931 26020 3727 74 .byte 0x74 26021 3728 00 .sleb128 0 26022 3729 4C .byte 0x4c 26023 372a 1E .byte 0x1e 26024 372b 75 .byte 0x75 26025 372c 00 .sleb128 0 26026 372d 22 .byte 0x22 26027 372e 23 .byte 0x23 26028 372f 8804 .uleb128 0x208 26029 3731 44000000 .4byte .LVL468 26030 3735 48000000 .4byte .LFE144 26031 3739 0A00 .2byte 0xa 26032 373b F3 .byte 0xf3 26033 373c 03 .uleb128 0x3 26034 373d F5 .byte 0xf5 26035 373e 02 .uleb128 0x2 26036 373f 29 .uleb128 0x29 26037 3740 F7 .byte 0xf7 26038 3741 30 .uleb128 0x30 26039 3742 F7 .byte 0xf7 26040 3743 00 .uleb128 0 26041 3744 9F .byte 0x9f 26042 3745 00000000 .4byte 0 26043 3749 00000000 .4byte 0 26044 .LVUS289: 26045 374d 00 .uleb128 0 26046 374e 00 .uleb128 .LVU2290 26047 374f 00 .uleb128 .LVU2290 26048 3750 00 .uleb128 .LVU2298 26049 3751 00 .uleb128 .LVU2298 26050 3752 00 .uleb128 .LVU2301 26051 3753 00 .uleb128 .LVU2301 26052 3754 00 .uleb128 .LVU2302 26053 3755 00 .uleb128 .LVU2302 26054 3756 00 .uleb128 .LVU2304 26055 3757 00 .uleb128 .LVU2304 26056 3758 00 .uleb128 0 26057 .LLST289: 26058 3759 00000000 .4byte .LVL458 26059 375d 1C000000 .4byte .LVL463 26060 3761 0100 .2byte 0x1 26061 3763 53 .byte 0x53 26062 3764 1C000000 .4byte .LVL463 26063 3768 38000000 .4byte .LVL464 26064 376c 0300 .2byte 0x3 26065 376e 70 .byte 0x70 26066 376f 9004 .sleb128 528 26067 3771 38000000 .4byte .LVL464 26068 3775 3E000000 .4byte .LVL466 26069 3779 0A00 .2byte 0xa 26070 377b 74 .byte 0x74 26071 377c 00 .sleb128 0 26072 377d 4C .byte 0x4c 26073 377e 1E .byte 0x1e 26074 377f 75 .byte 0x75 26075 3780 00 .sleb128 0 26076 3781 22 .byte 0x22 ARM GAS /tmp/ccjvgGVC.s page 932 26077 3782 23 .byte 0x23 26078 3783 9004 .uleb128 0x210 26079 3785 3E000000 .4byte .LVL466 26080 3789 42000000 .4byte .LVL467 26081 378d 0A00 .2byte 0xa 26082 378f F3 .byte 0xf3 26083 3790 03 .uleb128 0x3 26084 3791 F5 .byte 0xf5 26085 3792 03 .uleb128 0x3 26086 3793 29 .uleb128 0x29 26087 3794 F7 .byte 0xf7 26088 3795 30 .uleb128 0x30 26089 3796 F7 .byte 0xf7 26090 3797 00 .uleb128 0 26091 3798 9F .byte 0x9f 26092 3799 42000000 .4byte .LVL467 26093 379d 44000000 .4byte .LVL468 26094 37a1 0A00 .2byte 0xa 26095 37a3 74 .byte 0x74 26096 37a4 00 .sleb128 0 26097 37a5 4C .byte 0x4c 26098 37a6 1E .byte 0x1e 26099 37a7 75 .byte 0x75 26100 37a8 00 .sleb128 0 26101 37a9 22 .byte 0x22 26102 37aa 23 .byte 0x23 26103 37ab 9004 .uleb128 0x210 26104 37ad 44000000 .4byte .LVL468 26105 37b1 48000000 .4byte .LFE144 26106 37b5 0A00 .2byte 0xa 26107 37b7 F3 .byte 0xf3 26108 37b8 03 .uleb128 0x3 26109 37b9 F5 .byte 0xf5 26110 37ba 03 .uleb128 0x3 26111 37bb 29 .uleb128 0x29 26112 37bc F7 .byte 0xf7 26113 37bd 30 .uleb128 0x30 26114 37be F7 .byte 0xf7 26115 37bf 00 .uleb128 0 26116 37c0 9F .byte 0x9f 26117 37c1 00000000 .4byte 0 26118 37c5 00000000 .4byte 0 26119 .LVUS290: 26120 37c9 00 .uleb128 .LVU2283 26121 37ca 00 .uleb128 .LVU2301 26122 37cb 00 .uleb128 .LVU2302 26123 37cc 00 .uleb128 .LVU2304 26124 .LLST290: 26125 37cd 06000000 .4byte .LVL459 26126 37d1 3E000000 .4byte .LVL466 26127 37d5 0100 .2byte 0x1 26128 37d7 55 .byte 0x55 26129 37d8 42000000 .4byte .LVL467 26130 37dc 44000000 .4byte .LVL468 26131 37e0 0100 .2byte 0x1 26132 37e2 55 .byte 0x55 26133 37e3 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 933 26134 37e7 00000000 .4byte 0 26135 .LVUS291: 26136 37eb 00 .uleb128 .LVU2283 26137 37ec 00 .uleb128 .LVU2286 26138 37ed 00 .uleb128 .LVU2286 26139 37ee 00 .uleb128 0 26140 .LLST291: 26141 37ef 06000000 .4byte .LVL459 26142 37f3 12000000 .4byte .LVL461 26143 37f7 0100 .2byte 0x1 26144 37f9 51 .byte 0x51 26145 37fa 12000000 .4byte .LVL461 26146 37fe 48000000 .4byte .LFE144 26147 3802 0A00 .2byte 0xa 26148 3804 F3 .byte 0xf3 26149 3805 03 .uleb128 0x3 26150 3806 F5 .byte 0xf5 26151 3807 01 .uleb128 0x1 26152 3808 29 .uleb128 0x29 26153 3809 F7 .byte 0xf7 26154 380a 37 .uleb128 0x37 26155 380b F7 .byte 0xf7 26156 380c 00 .uleb128 0 26157 380d 9F .byte 0x9f 26158 380e 00000000 .4byte 0 26159 3812 00000000 .4byte 0 26160 .LVUS292: 26161 3816 00 .uleb128 .LVU2283 26162 3817 00 .uleb128 .LVU2299 26163 3818 00 .uleb128 .LVU2299 26164 3819 00 .uleb128 .LVU2301 26165 381a 00 .uleb128 .LVU2301 26166 381b 00 .uleb128 .LVU2302 26167 381c 00 .uleb128 .LVU2302 26168 381d 00 .uleb128 .LVU2304 26169 381e 00 .uleb128 .LVU2304 26170 381f 00 .uleb128 0 26171 .LLST292: 26172 3820 06000000 .4byte .LVL459 26173 3824 3A000000 .4byte .LVL465 26174 3828 0100 .2byte 0x1 26175 382a 52 .byte 0x52 26176 382b 3A000000 .4byte .LVL465 26177 382f 3E000000 .4byte .LVL466 26178 3833 0A00 .2byte 0xa 26179 3835 74 .byte 0x74 26180 3836 00 .sleb128 0 26181 3837 4C .byte 0x4c 26182 3838 1E .byte 0x1e 26183 3839 75 .byte 0x75 26184 383a 00 .sleb128 0 26185 383b 22 .byte 0x22 26186 383c 23 .byte 0x23 26187 383d 8804 .uleb128 0x208 26188 383f 3E000000 .4byte .LVL466 26189 3843 42000000 .4byte .LVL467 26190 3847 0A00 .2byte 0xa ARM GAS /tmp/ccjvgGVC.s page 934 26191 3849 F3 .byte 0xf3 26192 384a 03 .uleb128 0x3 26193 384b F5 .byte 0xf5 26194 384c 02 .uleb128 0x2 26195 384d 29 .uleb128 0x29 26196 384e F7 .byte 0xf7 26197 384f 30 .uleb128 0x30 26198 3850 F7 .byte 0xf7 26199 3851 00 .uleb128 0 26200 3852 9F .byte 0x9f 26201 3853 42000000 .4byte .LVL467 26202 3857 44000000 .4byte .LVL468 26203 385b 0A00 .2byte 0xa 26204 385d 74 .byte 0x74 26205 385e 00 .sleb128 0 26206 385f 4C .byte 0x4c 26207 3860 1E .byte 0x1e 26208 3861 75 .byte 0x75 26209 3862 00 .sleb128 0 26210 3863 22 .byte 0x22 26211 3864 23 .byte 0x23 26212 3865 8804 .uleb128 0x208 26213 3867 44000000 .4byte .LVL468 26214 386b 48000000 .4byte .LFE144 26215 386f 0A00 .2byte 0xa 26216 3871 F3 .byte 0xf3 26217 3872 03 .uleb128 0x3 26218 3873 F5 .byte 0xf5 26219 3874 02 .uleb128 0x2 26220 3875 29 .uleb128 0x29 26221 3876 F7 .byte 0xf7 26222 3877 30 .uleb128 0x30 26223 3878 F7 .byte 0xf7 26224 3879 00 .uleb128 0 26225 387a 9F .byte 0x9f 26226 387b 00000000 .4byte 0 26227 387f 00000000 .4byte 0 26228 .LVUS293: 26229 3883 00 .uleb128 .LVU2283 26230 3884 00 .uleb128 .LVU2290 26231 3885 00 .uleb128 .LVU2290 26232 3886 00 .uleb128 .LVU2298 26233 3887 00 .uleb128 .LVU2298 26234 3888 00 .uleb128 .LVU2301 26235 3889 00 .uleb128 .LVU2301 26236 388a 00 .uleb128 .LVU2302 26237 388b 00 .uleb128 .LVU2302 26238 388c 00 .uleb128 .LVU2304 26239 388d 00 .uleb128 .LVU2304 26240 388e 00 .uleb128 0 26241 .LLST293: 26242 388f 06000000 .4byte .LVL459 26243 3893 1C000000 .4byte .LVL463 26244 3897 0100 .2byte 0x1 26245 3899 53 .byte 0x53 26246 389a 1C000000 .4byte .LVL463 26247 389e 38000000 .4byte .LVL464 ARM GAS /tmp/ccjvgGVC.s page 935 26248 38a2 0300 .2byte 0x3 26249 38a4 70 .byte 0x70 26250 38a5 9004 .sleb128 528 26251 38a7 38000000 .4byte .LVL464 26252 38ab 3E000000 .4byte .LVL466 26253 38af 0A00 .2byte 0xa 26254 38b1 74 .byte 0x74 26255 38b2 00 .sleb128 0 26256 38b3 4C .byte 0x4c 26257 38b4 1E .byte 0x1e 26258 38b5 75 .byte 0x75 26259 38b6 00 .sleb128 0 26260 38b7 22 .byte 0x22 26261 38b8 23 .byte 0x23 26262 38b9 9004 .uleb128 0x210 26263 38bb 3E000000 .4byte .LVL466 26264 38bf 42000000 .4byte .LVL467 26265 38c3 0A00 .2byte 0xa 26266 38c5 F3 .byte 0xf3 26267 38c6 03 .uleb128 0x3 26268 38c7 F5 .byte 0xf5 26269 38c8 03 .uleb128 0x3 26270 38c9 29 .uleb128 0x29 26271 38ca F7 .byte 0xf7 26272 38cb 30 .uleb128 0x30 26273 38cc F7 .byte 0xf7 26274 38cd 00 .uleb128 0 26275 38ce 9F .byte 0x9f 26276 38cf 42000000 .4byte .LVL467 26277 38d3 44000000 .4byte .LVL468 26278 38d7 0A00 .2byte 0xa 26279 38d9 74 .byte 0x74 26280 38da 00 .sleb128 0 26281 38db 4C .byte 0x4c 26282 38dc 1E .byte 0x1e 26283 38dd 75 .byte 0x75 26284 38de 00 .sleb128 0 26285 38df 22 .byte 0x22 26286 38e0 23 .byte 0x23 26287 38e1 9004 .uleb128 0x210 26288 38e3 44000000 .4byte .LVL468 26289 38e7 48000000 .4byte .LFE144 26290 38eb 0A00 .2byte 0xa 26291 38ed F3 .byte 0xf3 26292 38ee 03 .uleb128 0x3 26293 38ef F5 .byte 0xf5 26294 38f0 03 .uleb128 0x3 26295 38f1 29 .uleb128 0x29 26296 38f2 F7 .byte 0xf7 26297 38f3 30 .uleb128 0x30 26298 38f4 F7 .byte 0xf7 26299 38f5 00 .uleb128 0 26300 38f6 9F .byte 0x9f 26301 38f7 00000000 .4byte 0 26302 38fb 00000000 .4byte 0 26303 .LVUS294: 26304 38ff 00 .uleb128 .LVU2288 ARM GAS /tmp/ccjvgGVC.s page 936 26305 3900 00 .uleb128 .LVU2305 26306 .LLST294: 26307 3901 16000000 .4byte .LVL462 26308 3905 47000000 .4byte .LVL469-1 26309 3909 0100 .2byte 0x1 26310 390b 51 .byte 0x51 26311 390c 00000000 .4byte 0 26312 3910 00000000 .4byte 0 26313 .LLST295: 26314 3914 00000000 .4byte .LFB147 26315 3918 02000000 .4byte .LCFI58 26316 391c 0200 .2byte 0x2 26317 391e 7D .byte 0x7d 26318 391f 00 .sleb128 0 26319 3920 02000000 .4byte .LCFI58 26320 3924 38000000 .4byte .LCFI59 26321 3928 0200 .2byte 0x2 26322 392a 7D .byte 0x7d 26323 392b 08 .sleb128 8 26324 392c 38000000 .4byte .LCFI59 26325 3930 3C000000 .4byte .LCFI60 26326 3934 0200 .2byte 0x2 26327 3936 7D .byte 0x7d 26328 3937 00 .sleb128 0 26329 3938 3C000000 .4byte .LCFI60 26330 393c 3E000000 .4byte .LCFI61 26331 3940 0200 .2byte 0x2 26332 3942 7D .byte 0x7d 26333 3943 08 .sleb128 8 26334 3944 3E000000 .4byte .LCFI61 26335 3948 42000000 .4byte .LFE147 26336 394c 0200 .2byte 0x2 26337 394e 7D .byte 0x7d 26338 394f 00 .sleb128 0 26339 3950 00000000 .4byte 0 26340 3954 00000000 .4byte 0 26341 .LVUS296: 26342 3958 00 .uleb128 0 26343 3959 00 .uleb128 .LVU2311 26344 395a 00 .uleb128 .LVU2311 26345 395b 00 .uleb128 0 26346 .LLST296: 26347 395c 00000000 .4byte .LVL470 26348 3960 0C000000 .4byte .LVL472 26349 3964 0100 .2byte 0x1 26350 3966 50 .byte 0x50 26351 3967 0C000000 .4byte .LVL472 26352 396b 42000000 .4byte .LFE147 26353 396f 0A00 .2byte 0xa 26354 3971 F3 .byte 0xf3 26355 3972 03 .uleb128 0x3 26356 3973 F5 .byte 0xf5 26357 3974 00 .uleb128 0 26358 3975 29 .uleb128 0x29 26359 3976 F7 .byte 0xf7 26360 3977 30 .uleb128 0x30 26361 3978 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 937 26362 3979 00 .uleb128 0 26363 397a 9F .byte 0x9f 26364 397b 00000000 .4byte 0 26365 397f 00000000 .4byte 0 26366 .LVUS297: 26367 3983 00 .uleb128 0 26368 3984 00 .uleb128 .LVU2312 26369 3985 00 .uleb128 .LVU2312 26370 3986 00 .uleb128 0 26371 .LLST297: 26372 3987 00000000 .4byte .LVL470 26373 398b 12000000 .4byte .LVL473 26374 398f 0100 .2byte 0x1 26375 3991 51 .byte 0x51 26376 3992 12000000 .4byte .LVL473 26377 3996 42000000 .4byte .LFE147 26378 399a 0A00 .2byte 0xa 26379 399c F3 .byte 0xf3 26380 399d 03 .uleb128 0x3 26381 399e F5 .byte 0xf5 26382 399f 01 .uleb128 0x1 26383 39a0 29 .uleb128 0x29 26384 39a1 F7 .byte 0xf7 26385 39a2 37 .uleb128 0x37 26386 39a3 F7 .byte 0xf7 26387 39a4 00 .uleb128 0 26388 39a5 9F .byte 0x9f 26389 39a6 00000000 .4byte 0 26390 39aa 00000000 .4byte 0 26391 .LVUS298: 26392 39ae 00 .uleb128 0 26393 39af 00 .uleb128 .LVU2325 26394 39b0 00 .uleb128 .LVU2325 26395 39b1 00 .uleb128 .LVU2327 26396 39b2 00 .uleb128 .LVU2327 26397 39b3 00 .uleb128 .LVU2328 26398 39b4 00 .uleb128 .LVU2328 26399 39b5 00 .uleb128 .LVU2330 26400 39b6 00 .uleb128 .LVU2330 26401 39b7 00 .uleb128 0 26402 .LLST298: 26403 39b8 00000000 .4byte .LVL470 26404 39bc 34000000 .4byte .LVL477 26405 39c0 0100 .2byte 0x1 26406 39c2 52 .byte 0x52 26407 39c3 34000000 .4byte .LVL477 26408 39c7 38000000 .4byte .LVL478 26409 39cb 0900 .2byte 0x9 26410 39cd 74 .byte 0x74 26411 39ce 00 .sleb128 0 26412 39cf 4C .byte 0x4c 26413 39d0 1E .byte 0x1e 26414 39d1 75 .byte 0x75 26415 39d2 00 .sleb128 0 26416 39d3 22 .byte 0x22 26417 39d4 23 .byte 0x23 26418 39d5 48 .uleb128 0x48 ARM GAS /tmp/ccjvgGVC.s page 938 26419 39d6 38000000 .4byte .LVL478 26420 39da 3C000000 .4byte .LVL479 26421 39de 0A00 .2byte 0xa 26422 39e0 F3 .byte 0xf3 26423 39e1 03 .uleb128 0x3 26424 39e2 F5 .byte 0xf5 26425 39e3 02 .uleb128 0x2 26426 39e4 29 .uleb128 0x29 26427 39e5 F7 .byte 0xf7 26428 39e6 30 .uleb128 0x30 26429 39e7 F7 .byte 0xf7 26430 39e8 00 .uleb128 0 26431 39e9 9F .byte 0x9f 26432 39ea 3C000000 .4byte .LVL479 26433 39ee 3E000000 .4byte .LVL480 26434 39f2 0900 .2byte 0x9 26435 39f4 74 .byte 0x74 26436 39f5 00 .sleb128 0 26437 39f6 4C .byte 0x4c 26438 39f7 1E .byte 0x1e 26439 39f8 75 .byte 0x75 26440 39f9 00 .sleb128 0 26441 39fa 22 .byte 0x22 26442 39fb 23 .byte 0x23 26443 39fc 48 .uleb128 0x48 26444 39fd 3E000000 .4byte .LVL480 26445 3a01 42000000 .4byte .LFE147 26446 3a05 0A00 .2byte 0xa 26447 3a07 F3 .byte 0xf3 26448 3a08 03 .uleb128 0x3 26449 3a09 F5 .byte 0xf5 26450 3a0a 02 .uleb128 0x2 26451 3a0b 29 .uleb128 0x29 26452 3a0c F7 .byte 0xf7 26453 3a0d 30 .uleb128 0x30 26454 3a0e F7 .byte 0xf7 26455 3a0f 00 .uleb128 0 26456 3a10 9F .byte 0x9f 26457 3a11 00000000 .4byte 0 26458 3a15 00000000 .4byte 0 26459 .LVUS299: 26460 3a19 00 .uleb128 0 26461 3a1a 00 .uleb128 .LVU2316 26462 3a1b 00 .uleb128 .LVU2316 26463 3a1c 00 .uleb128 .LVU2324 26464 3a1d 00 .uleb128 .LVU2324 26465 3a1e 00 .uleb128 .LVU2327 26466 3a1f 00 .uleb128 .LVU2327 26467 3a20 00 .uleb128 .LVU2328 26468 3a21 00 .uleb128 .LVU2328 26469 3a22 00 .uleb128 .LVU2330 26470 3a23 00 .uleb128 .LVU2330 26471 3a24 00 .uleb128 0 26472 .LLST299: 26473 3a25 00000000 .4byte .LVL470 26474 3a29 1A000000 .4byte .LVL475 26475 3a2d 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 939 26476 3a2f 53 .byte 0x53 26477 3a30 1A000000 .4byte .LVL475 26478 3a34 32000000 .4byte .LVL476 26479 3a38 0300 .2byte 0x3 26480 3a3a 70 .byte 0x70 26481 3a3b D000 .sleb128 80 26482 3a3d 32000000 .4byte .LVL476 26483 3a41 38000000 .4byte .LVL478 26484 3a45 0900 .2byte 0x9 26485 3a47 74 .byte 0x74 26486 3a48 00 .sleb128 0 26487 3a49 4C .byte 0x4c 26488 3a4a 1E .byte 0x1e 26489 3a4b 75 .byte 0x75 26490 3a4c 00 .sleb128 0 26491 3a4d 22 .byte 0x22 26492 3a4e 23 .byte 0x23 26493 3a4f 50 .uleb128 0x50 26494 3a50 38000000 .4byte .LVL478 26495 3a54 3C000000 .4byte .LVL479 26496 3a58 0A00 .2byte 0xa 26497 3a5a F3 .byte 0xf3 26498 3a5b 03 .uleb128 0x3 26499 3a5c F5 .byte 0xf5 26500 3a5d 03 .uleb128 0x3 26501 3a5e 29 .uleb128 0x29 26502 3a5f F7 .byte 0xf7 26503 3a60 30 .uleb128 0x30 26504 3a61 F7 .byte 0xf7 26505 3a62 00 .uleb128 0 26506 3a63 9F .byte 0x9f 26507 3a64 3C000000 .4byte .LVL479 26508 3a68 3E000000 .4byte .LVL480 26509 3a6c 0900 .2byte 0x9 26510 3a6e 74 .byte 0x74 26511 3a6f 00 .sleb128 0 26512 3a70 4C .byte 0x4c 26513 3a71 1E .byte 0x1e 26514 3a72 75 .byte 0x75 26515 3a73 00 .sleb128 0 26516 3a74 22 .byte 0x22 26517 3a75 23 .byte 0x23 26518 3a76 50 .uleb128 0x50 26519 3a77 3E000000 .4byte .LVL480 26520 3a7b 42000000 .4byte .LFE147 26521 3a7f 0A00 .2byte 0xa 26522 3a81 F3 .byte 0xf3 26523 3a82 03 .uleb128 0x3 26524 3a83 F5 .byte 0xf5 26525 3a84 03 .uleb128 0x3 26526 3a85 29 .uleb128 0x29 26527 3a86 F7 .byte 0xf7 26528 3a87 30 .uleb128 0x30 26529 3a88 F7 .byte 0xf7 26530 3a89 00 .uleb128 0 26531 3a8a 9F .byte 0x9f 26532 3a8b 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 940 26533 3a8f 00000000 .4byte 0 26534 .LVUS300: 26535 3a93 00 .uleb128 .LVU2309 26536 3a94 00 .uleb128 .LVU2327 26537 3a95 00 .uleb128 .LVU2328 26538 3a96 00 .uleb128 .LVU2330 26539 .LLST300: 26540 3a97 06000000 .4byte .LVL471 26541 3a9b 38000000 .4byte .LVL478 26542 3a9f 0100 .2byte 0x1 26543 3aa1 55 .byte 0x55 26544 3aa2 3C000000 .4byte .LVL479 26545 3aa6 3E000000 .4byte .LVL480 26546 3aaa 0100 .2byte 0x1 26547 3aac 55 .byte 0x55 26548 3aad 00000000 .4byte 0 26549 3ab1 00000000 .4byte 0 26550 .LVUS301: 26551 3ab5 00 .uleb128 .LVU2309 26552 3ab6 00 .uleb128 .LVU2312 26553 3ab7 00 .uleb128 .LVU2312 26554 3ab8 00 .uleb128 0 26555 .LLST301: 26556 3ab9 06000000 .4byte .LVL471 26557 3abd 12000000 .4byte .LVL473 26558 3ac1 0100 .2byte 0x1 26559 3ac3 51 .byte 0x51 26560 3ac4 12000000 .4byte .LVL473 26561 3ac8 42000000 .4byte .LFE147 26562 3acc 0A00 .2byte 0xa 26563 3ace F3 .byte 0xf3 26564 3acf 03 .uleb128 0x3 26565 3ad0 F5 .byte 0xf5 26566 3ad1 01 .uleb128 0x1 26567 3ad2 29 .uleb128 0x29 26568 3ad3 F7 .byte 0xf7 26569 3ad4 37 .uleb128 0x37 26570 3ad5 F7 .byte 0xf7 26571 3ad6 00 .uleb128 0 26572 3ad7 9F .byte 0x9f 26573 3ad8 00000000 .4byte 0 26574 3adc 00000000 .4byte 0 26575 .LVUS302: 26576 3ae0 00 .uleb128 .LVU2309 26577 3ae1 00 .uleb128 .LVU2325 26578 3ae2 00 .uleb128 .LVU2325 26579 3ae3 00 .uleb128 .LVU2327 26580 3ae4 00 .uleb128 .LVU2327 26581 3ae5 00 .uleb128 .LVU2328 26582 3ae6 00 .uleb128 .LVU2328 26583 3ae7 00 .uleb128 .LVU2330 26584 3ae8 00 .uleb128 .LVU2330 26585 3ae9 00 .uleb128 0 26586 .LLST302: 26587 3aea 06000000 .4byte .LVL471 26588 3aee 34000000 .4byte .LVL477 26589 3af2 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 941 26590 3af4 52 .byte 0x52 26591 3af5 34000000 .4byte .LVL477 26592 3af9 38000000 .4byte .LVL478 26593 3afd 0900 .2byte 0x9 26594 3aff 74 .byte 0x74 26595 3b00 00 .sleb128 0 26596 3b01 4C .byte 0x4c 26597 3b02 1E .byte 0x1e 26598 3b03 75 .byte 0x75 26599 3b04 00 .sleb128 0 26600 3b05 22 .byte 0x22 26601 3b06 23 .byte 0x23 26602 3b07 48 .uleb128 0x48 26603 3b08 38000000 .4byte .LVL478 26604 3b0c 3C000000 .4byte .LVL479 26605 3b10 0A00 .2byte 0xa 26606 3b12 F3 .byte 0xf3 26607 3b13 03 .uleb128 0x3 26608 3b14 F5 .byte 0xf5 26609 3b15 02 .uleb128 0x2 26610 3b16 29 .uleb128 0x29 26611 3b17 F7 .byte 0xf7 26612 3b18 30 .uleb128 0x30 26613 3b19 F7 .byte 0xf7 26614 3b1a 00 .uleb128 0 26615 3b1b 9F .byte 0x9f 26616 3b1c 3C000000 .4byte .LVL479 26617 3b20 3E000000 .4byte .LVL480 26618 3b24 0900 .2byte 0x9 26619 3b26 74 .byte 0x74 26620 3b27 00 .sleb128 0 26621 3b28 4C .byte 0x4c 26622 3b29 1E .byte 0x1e 26623 3b2a 75 .byte 0x75 26624 3b2b 00 .sleb128 0 26625 3b2c 22 .byte 0x22 26626 3b2d 23 .byte 0x23 26627 3b2e 48 .uleb128 0x48 26628 3b2f 3E000000 .4byte .LVL480 26629 3b33 42000000 .4byte .LFE147 26630 3b37 0A00 .2byte 0xa 26631 3b39 F3 .byte 0xf3 26632 3b3a 03 .uleb128 0x3 26633 3b3b F5 .byte 0xf5 26634 3b3c 02 .uleb128 0x2 26635 3b3d 29 .uleb128 0x29 26636 3b3e F7 .byte 0xf7 26637 3b3f 30 .uleb128 0x30 26638 3b40 F7 .byte 0xf7 26639 3b41 00 .uleb128 0 26640 3b42 9F .byte 0x9f 26641 3b43 00000000 .4byte 0 26642 3b47 00000000 .4byte 0 26643 .LVUS303: 26644 3b4b 00 .uleb128 .LVU2309 26645 3b4c 00 .uleb128 .LVU2316 26646 3b4d 00 .uleb128 .LVU2316 ARM GAS /tmp/ccjvgGVC.s page 942 26647 3b4e 00 .uleb128 .LVU2324 26648 3b4f 00 .uleb128 .LVU2324 26649 3b50 00 .uleb128 .LVU2327 26650 3b51 00 .uleb128 .LVU2327 26651 3b52 00 .uleb128 .LVU2328 26652 3b53 00 .uleb128 .LVU2328 26653 3b54 00 .uleb128 .LVU2330 26654 3b55 00 .uleb128 .LVU2330 26655 3b56 00 .uleb128 0 26656 .LLST303: 26657 3b57 06000000 .4byte .LVL471 26658 3b5b 1A000000 .4byte .LVL475 26659 3b5f 0100 .2byte 0x1 26660 3b61 53 .byte 0x53 26661 3b62 1A000000 .4byte .LVL475 26662 3b66 32000000 .4byte .LVL476 26663 3b6a 0300 .2byte 0x3 26664 3b6c 70 .byte 0x70 26665 3b6d D000 .sleb128 80 26666 3b6f 32000000 .4byte .LVL476 26667 3b73 38000000 .4byte .LVL478 26668 3b77 0900 .2byte 0x9 26669 3b79 74 .byte 0x74 26670 3b7a 00 .sleb128 0 26671 3b7b 4C .byte 0x4c 26672 3b7c 1E .byte 0x1e 26673 3b7d 75 .byte 0x75 26674 3b7e 00 .sleb128 0 26675 3b7f 22 .byte 0x22 26676 3b80 23 .byte 0x23 26677 3b81 50 .uleb128 0x50 26678 3b82 38000000 .4byte .LVL478 26679 3b86 3C000000 .4byte .LVL479 26680 3b8a 0A00 .2byte 0xa 26681 3b8c F3 .byte 0xf3 26682 3b8d 03 .uleb128 0x3 26683 3b8e F5 .byte 0xf5 26684 3b8f 03 .uleb128 0x3 26685 3b90 29 .uleb128 0x29 26686 3b91 F7 .byte 0xf7 26687 3b92 30 .uleb128 0x30 26688 3b93 F7 .byte 0xf7 26689 3b94 00 .uleb128 0 26690 3b95 9F .byte 0x9f 26691 3b96 3C000000 .4byte .LVL479 26692 3b9a 3E000000 .4byte .LVL480 26693 3b9e 0900 .2byte 0x9 26694 3ba0 74 .byte 0x74 26695 3ba1 00 .sleb128 0 26696 3ba2 4C .byte 0x4c 26697 3ba3 1E .byte 0x1e 26698 3ba4 75 .byte 0x75 26699 3ba5 00 .sleb128 0 26700 3ba6 22 .byte 0x22 26701 3ba7 23 .byte 0x23 26702 3ba8 50 .uleb128 0x50 26703 3ba9 3E000000 .4byte .LVL480 ARM GAS /tmp/ccjvgGVC.s page 943 26704 3bad 42000000 .4byte .LFE147 26705 3bb1 0A00 .2byte 0xa 26706 3bb3 F3 .byte 0xf3 26707 3bb4 03 .uleb128 0x3 26708 3bb5 F5 .byte 0xf5 26709 3bb6 03 .uleb128 0x3 26710 3bb7 29 .uleb128 0x29 26711 3bb8 F7 .byte 0xf7 26712 3bb9 30 .uleb128 0x30 26713 3bba F7 .byte 0xf7 26714 3bbb 00 .uleb128 0 26715 3bbc 9F .byte 0x9f 26716 3bbd 00000000 .4byte 0 26717 3bc1 00000000 .4byte 0 26718 .LVUS304: 26719 3bc5 00 .uleb128 .LVU2314 26720 3bc6 00 .uleb128 .LVU2331 26721 .LLST304: 26722 3bc7 16000000 .4byte .LVL474 26723 3bcb 41000000 .4byte .LVL481-1 26724 3bcf 0100 .2byte 0x1 26725 3bd1 51 .byte 0x51 26726 3bd2 00000000 .4byte 0 26727 3bd6 00000000 .4byte 0 26728 .LLST305: 26729 3bda 00000000 .4byte .LFB150 26730 3bde 0E000000 .4byte .LCFI62 26731 3be2 0200 .2byte 0x2 26732 3be4 7D .byte 0x7d 26733 3be5 00 .sleb128 0 26734 3be6 0E000000 .4byte .LCFI62 26735 3bea 82000000 .4byte .LFE150 26736 3bee 0200 .2byte 0x2 26737 3bf0 7D .byte 0x7d 26738 3bf1 08 .sleb128 8 26739 3bf2 00000000 .4byte 0 26740 3bf6 00000000 .4byte 0 26741 .LVUS306: 26742 3bfa 00 .uleb128 0 26743 3bfb 00 .uleb128 .LVU2334 26744 3bfc 00 .uleb128 .LVU2334 26745 3bfd 00 .uleb128 0 26746 .LLST306: 26747 3bfe 00000000 .4byte .LVL482 26748 3c02 04000000 .4byte .LVL483 26749 3c06 0100 .2byte 0x1 26750 3c08 50 .byte 0x50 26751 3c09 04000000 .4byte .LVL483 26752 3c0d 82000000 .4byte .LFE150 26753 3c11 0A00 .2byte 0xa 26754 3c13 F3 .byte 0xf3 26755 3c14 03 .uleb128 0x3 26756 3c15 F5 .byte 0xf5 26757 3c16 00 .uleb128 0 26758 3c17 29 .uleb128 0x29 26759 3c18 F7 .byte 0xf7 26760 3c19 30 .uleb128 0x30 ARM GAS /tmp/ccjvgGVC.s page 944 26761 3c1a F7 .byte 0xf7 26762 3c1b 00 .uleb128 0 26763 3c1c 9F .byte 0x9f 26764 3c1d 00000000 .4byte 0 26765 3c21 00000000 .4byte 0 26766 .LVUS307: 26767 3c25 00 .uleb128 0 26768 3c26 00 .uleb128 .LVU2338 26769 3c27 00 .uleb128 .LVU2338 26770 3c28 00 .uleb128 0 26771 .LLST307: 26772 3c29 00000000 .4byte .LVL482 26773 3c2d 1E000000 .4byte .LVL484 26774 3c31 0100 .2byte 0x1 26775 3c33 51 .byte 0x51 26776 3c34 1E000000 .4byte .LVL484 26777 3c38 82000000 .4byte .LFE150 26778 3c3c 0A00 .2byte 0xa 26779 3c3e F3 .byte 0xf3 26780 3c3f 03 .uleb128 0x3 26781 3c40 F5 .byte 0xf5 26782 3c41 01 .uleb128 0x1 26783 3c42 29 .uleb128 0x29 26784 3c43 F7 .byte 0xf7 26785 3c44 37 .uleb128 0x37 26786 3c45 F7 .byte 0xf7 26787 3c46 00 .uleb128 0 26788 3c47 9F .byte 0x9f 26789 3c48 00000000 .4byte 0 26790 3c4c 00000000 .4byte 0 26791 .LVUS308: 26792 3c50 01 .uleb128 .LVU2333 26793 3c51 00 .uleb128 .LVU2367 26794 .LLST308: 26795 3c52 00000000 .4byte .LVL482 26796 3c56 80000000 .4byte .LVL490 26797 3c5a 0200 .2byte 0x2 26798 3c5c 30 .byte 0x30 26799 3c5d 9F .byte 0x9f 26800 3c5e 00000000 .4byte 0 26801 3c62 00000000 .4byte 0 26802 .LVUS310: 26803 3c66 00 .uleb128 .LVU2334 26804 3c67 00 .uleb128 .LVU2367 26805 .LLST310: 26806 3c68 04000000 .4byte .LVL483 26807 3c6c 80000000 .4byte .LVL490 26808 3c70 0100 .2byte 0x1 26809 3c72 50 .byte 0x50 26810 3c73 00000000 .4byte 0 26811 3c77 00000000 .4byte 0 26812 .LVUS311: 26813 3c7b 00 .uleb128 .LVU2334 26814 3c7c 00 .uleb128 .LVU2338 26815 3c7d 00 .uleb128 .LVU2338 26816 3c7e 00 .uleb128 .LVU2367 26817 .LLST311: ARM GAS /tmp/ccjvgGVC.s page 945 26818 3c7f 04000000 .4byte .LVL483 26819 3c83 1E000000 .4byte .LVL484 26820 3c87 0100 .2byte 0x1 26821 3c89 51 .byte 0x51 26822 3c8a 1E000000 .4byte .LVL484 26823 3c8e 80000000 .4byte .LVL490 26824 3c92 0A00 .2byte 0xa 26825 3c94 F3 .byte 0xf3 26826 3c95 03 .uleb128 0x3 26827 3c96 F5 .byte 0xf5 26828 3c97 01 .uleb128 0x1 26829 3c98 29 .uleb128 0x29 26830 3c99 F7 .byte 0xf7 26831 3c9a 37 .uleb128 0x37 26832 3c9b F7 .byte 0xf7 26833 3c9c 00 .uleb128 0 26834 3c9d 9F .byte 0x9f 26835 3c9e 00000000 .4byte 0 26836 3ca2 00000000 .4byte 0 26837 .LVUS312: 26838 3ca6 00 .uleb128 .LVU2342 26839 3ca7 00 .uleb128 .LVU2353 26840 3ca8 00 .uleb128 .LVU2353 26841 3ca9 00 .uleb128 .LVU2367 26842 .LLST312: 26843 3caa 2A000000 .4byte .LVL485 26844 3cae 52000000 .4byte .LVL487 26845 3cb2 0100 .2byte 0x1 26846 3cb4 53 .byte 0x53 26847 3cb5 52000000 .4byte .LVL487 26848 3cb9 80000000 .4byte .LVL490 26849 3cbd 3102 .2byte 0x231 26850 3cbf F3 .byte 0xf3 26851 3cc0 03 .uleb128 0x3 26852 3cc1 F5 .byte 0xf5 26853 3cc2 01 .uleb128 0x1 26854 3cc3 29 .uleb128 0x29 26855 3cc4 F7 .byte 0xf7 26856 3cc5 30 .uleb128 0x30 26857 3cc6 F7 .byte 0xf7 26858 3cc7 00 .uleb128 0 26859 3cc8 3F .byte 0x3f 26860 3cc9 1A .byte 0x1a 26861 3cca 4C .byte 0x4c 26862 3ccb 1E .byte 0x1e 26863 3ccc 23 .byte 0x23 26864 3ccd 3C .uleb128 0x3c 26865 3cce F3 .byte 0xf3 26866 3ccf 03 .uleb128 0x3 26867 3cd0 F5 .byte 0xf5 26868 3cd1 01 .uleb128 0x1 26869 3cd2 29 .uleb128 0x29 26870 3cd3 F7 .byte 0xf7 26871 3cd4 30 .uleb128 0x30 26872 3cd5 F7 .byte 0xf7 26873 3cd6 00 .uleb128 0 26874 3cd7 3F .byte 0x3f ARM GAS /tmp/ccjvgGVC.s page 946 26875 3cd8 1A .byte 0x1a 26876 3cd9 4C .byte 0x4c 26877 3cda 1E .byte 0x1e 26878 3cdb F3 .byte 0xf3 26879 3cdc 03 .uleb128 0x3 26880 3cdd F5 .byte 0xf5 26881 3cde 01 .uleb128 0x1 26882 3cdf 29 .uleb128 0x29 26883 3ce0 F7 .byte 0xf7 26884 3ce1 30 .uleb128 0x30 26885 3ce2 F7 .byte 0xf7 26886 3ce3 00 .uleb128 0 26887 3ce4 09 .byte 0x9 26888 3ce5 FC .byte 0xfc 26889 3ce6 24 .byte 0x24 26890 3ce7 33 .byte 0x33 26891 3ce8 25 .byte 0x25 26892 3ce9 30 .byte 0x30 26893 3cea 2E .byte 0x2e 26894 3ceb 28 .byte 0x28 26895 3cec 0100 .2byte 0x1 26896 3cee 16 .byte 0x16 26897 3cef 13 .byte 0x13 26898 3cf0 23 .byte 0x23 26899 3cf1 FC03 .uleb128 0x1fc 26900 3cf3 F3 .byte 0xf3 26901 3cf4 03 .uleb128 0x3 26902 3cf5 F5 .byte 0xf5 26903 3cf6 01 .uleb128 0x1 26904 3cf7 29 .uleb128 0x29 26905 3cf8 F7 .byte 0xf7 26906 3cf9 30 .uleb128 0x30 26907 3cfa F7 .byte 0xf7 26908 3cfb 00 .uleb128 0 26909 3cfc 3F .byte 0x3f 26910 3cfd 1A .byte 0x1a 26911 3cfe 4C .byte 0x4c 26912 3cff 1E .byte 0x1e 26913 3d00 23 .byte 0x23 26914 3d01 3C .uleb128 0x3c 26915 3d02 F3 .byte 0xf3 26916 3d03 03 .uleb128 0x3 26917 3d04 F5 .byte 0xf5 26918 3d05 01 .uleb128 0x1 26919 3d06 29 .uleb128 0x29 26920 3d07 F7 .byte 0xf7 26921 3d08 30 .uleb128 0x30 26922 3d09 F7 .byte 0xf7 26923 3d0a 00 .uleb128 0 26924 3d0b 3F .byte 0x3f 26925 3d0c 1A .byte 0x1a 26926 3d0d 4C .byte 0x4c 26927 3d0e 1E .byte 0x1e 26928 3d0f F3 .byte 0xf3 26929 3d10 03 .uleb128 0x3 26930 3d11 F5 .byte 0xf5 26931 3d12 01 .uleb128 0x1 ARM GAS /tmp/ccjvgGVC.s page 947 26932 3d13 29 .uleb128 0x29 26933 3d14 F7 .byte 0xf7 26934 3d15 30 .uleb128 0x30 26935 3d16 F7 .byte 0xf7 26936 3d17 00 .uleb128 0 26937 3d18 09 .byte 0x9 26938 3d19 FC .byte 0xfc 26939 3d1a 24 .byte 0x24 26940 3d1b 33 .byte 0x33 26941 3d1c 25 .byte 0x25 26942 3d1d 30 .byte 0x30 26943 3d1e 2E .byte 0x2e 26944 3d1f 28 .byte 0x28 26945 3d20 0100 .2byte 0x1 26946 3d22 16 .byte 0x16 26947 3d23 13 .byte 0x13 26948 3d24 F3 .byte 0xf3 26949 3d25 03 .uleb128 0x3 26950 3d26 F5 .byte 0xf5 26951 3d27 01 .uleb128 0x1 26952 3d28 29 .uleb128 0x29 26953 3d29 F7 .byte 0xf7 26954 3d2a 30 .uleb128 0x30 26955 3d2b F7 .byte 0xf7 26956 3d2c 00 .uleb128 0 26957 3d2d 09 .byte 0x9 26958 3d2e FC .byte 0xfc 26959 3d2f 24 .byte 0x24 26960 3d30 33 .byte 0x33 26961 3d31 25 .byte 0x25 26962 3d32 30 .byte 0x30 26963 3d33 29 .byte 0x29 26964 3d34 28 .byte 0x28 26965 3d35 0100 .2byte 0x1 26966 3d37 16 .byte 0x16 26967 3d38 13 .byte 0x13 26968 3d39 70 .byte 0x70 26969 3d3a 00 .sleb128 0 26970 3d3b 22 .byte 0x22 26971 3d3c F3 .byte 0xf3 26972 3d3d 03 .uleb128 0x3 26973 3d3e F5 .byte 0xf5 26974 3d3f 01 .uleb128 0x1 26975 3d40 29 .uleb128 0x29 26976 3d41 F7 .byte 0xf7 26977 3d42 30 .uleb128 0x30 26978 3d43 F7 .byte 0xf7 26979 3d44 00 .uleb128 0 26980 3d45 3F .byte 0x3f 26981 3d46 1A .byte 0x1a 26982 3d47 4C .byte 0x4c 26983 3d48 1E .byte 0x1e 26984 3d49 23 .byte 0x23 26985 3d4a 3C .uleb128 0x3c 26986 3d4b F3 .byte 0xf3 26987 3d4c 03 .uleb128 0x3 26988 3d4d F5 .byte 0xf5 ARM GAS /tmp/ccjvgGVC.s page 948 26989 3d4e 01 .uleb128 0x1 26990 3d4f 29 .uleb128 0x29 26991 3d50 F7 .byte 0xf7 26992 3d51 30 .uleb128 0x30 26993 3d52 F7 .byte 0xf7 26994 3d53 00 .uleb128 0 26995 3d54 3F .byte 0x3f 26996 3d55 1A .byte 0x1a 26997 3d56 4C .byte 0x4c 26998 3d57 1E .byte 0x1e 26999 3d58 F3 .byte 0xf3 27000 3d59 03 .uleb128 0x3 27001 3d5a F5 .byte 0xf5 27002 3d5b 01 .uleb128 0x1 27003 3d5c 29 .uleb128 0x29 27004 3d5d F7 .byte 0xf7 27005 3d5e 30 .uleb128 0x30 27006 3d5f F7 .byte 0xf7 27007 3d60 00 .uleb128 0 27008 3d61 09 .byte 0x9 27009 3d62 FC .byte 0xfc 27010 3d63 24 .byte 0x24 27011 3d64 33 .byte 0x33 27012 3d65 25 .byte 0x25 27013 3d66 30 .byte 0x30 27014 3d67 2E .byte 0x2e 27015 3d68 28 .byte 0x28 27016 3d69 0100 .2byte 0x1 27017 3d6b 16 .byte 0x16 27018 3d6c 13 .byte 0x13 27019 3d6d 23 .byte 0x23 27020 3d6e FC03 .uleb128 0x1fc 27021 3d70 F3 .byte 0xf3 27022 3d71 03 .uleb128 0x3 27023 3d72 F5 .byte 0xf5 27024 3d73 01 .uleb128 0x1 27025 3d74 29 .uleb128 0x29 27026 3d75 F7 .byte 0xf7 27027 3d76 30 .uleb128 0x30 27028 3d77 F7 .byte 0xf7 27029 3d78 00 .uleb128 0 27030 3d79 3F .byte 0x3f 27031 3d7a 1A .byte 0x1a 27032 3d7b 4C .byte 0x4c 27033 3d7c 1E .byte 0x1e 27034 3d7d 23 .byte 0x23 27035 3d7e 3C .uleb128 0x3c 27036 3d7f F3 .byte 0xf3 27037 3d80 03 .uleb128 0x3 27038 3d81 F5 .byte 0xf5 27039 3d82 01 .uleb128 0x1 27040 3d83 29 .uleb128 0x29 27041 3d84 F7 .byte 0xf7 27042 3d85 30 .uleb128 0x30 27043 3d86 F7 .byte 0xf7 27044 3d87 00 .uleb128 0 27045 3d88 3F .byte 0x3f ARM GAS /tmp/ccjvgGVC.s page 949 27046 3d89 1A .byte 0x1a 27047 3d8a 4C .byte 0x4c 27048 3d8b 1E .byte 0x1e 27049 3d8c F3 .byte 0xf3 27050 3d8d 03 .uleb128 0x3 27051 3d8e F5 .byte 0xf5 27052 3d8f 01 .uleb128 0x1 27053 3d90 29 .uleb128 0x29 27054 3d91 F7 .byte 0xf7 27055 3d92 30 .uleb128 0x30 27056 3d93 F7 .byte 0xf7 27057 3d94 00 .uleb128 0 27058 3d95 09 .byte 0x9 27059 3d96 FC .byte 0xfc 27060 3d97 24 .byte 0x24 27061 3d98 33 .byte 0x33 27062 3d99 25 .byte 0x25 27063 3d9a 30 .byte 0x30 27064 3d9b 2E .byte 0x2e 27065 3d9c 28 .byte 0x28 27066 3d9d 0100 .2byte 0x1 27067 3d9f 16 .byte 0x16 27068 3da0 13 .byte 0x13 27069 3da1 F3 .byte 0xf3 27070 3da2 03 .uleb128 0x3 27071 3da3 F5 .byte 0xf5 27072 3da4 01 .uleb128 0x1 27073 3da5 29 .uleb128 0x29 27074 3da6 F7 .byte 0xf7 27075 3da7 30 .uleb128 0x30 27076 3da8 F7 .byte 0xf7 27077 3da9 00 .uleb128 0 27078 3daa 09 .byte 0x9 27079 3dab FC .byte 0xfc 27080 3dac 24 .byte 0x24 27081 3dad 33 .byte 0x33 27082 3dae 25 .byte 0x25 27083 3daf 30 .byte 0x30 27084 3db0 29 .byte 0x29 27085 3db1 28 .byte 0x28 27086 3db2 0100 .2byte 0x1 27087 3db4 16 .byte 0x16 27088 3db5 13 .byte 0x13 27089 3db6 F3 .byte 0xf3 27090 3db7 03 .uleb128 0x3 27091 3db8 F5 .byte 0xf5 27092 3db9 01 .uleb128 0x1 27093 3dba 29 .uleb128 0x29 27094 3dbb F7 .byte 0xf7 27095 3dbc 30 .uleb128 0x30 27096 3dbd F7 .byte 0xf7 27097 3dbe 00 .uleb128 0 27098 3dbf 09 .byte 0x9 27099 3dc0 FC .byte 0xfc 27100 3dc1 24 .byte 0x24 27101 3dc2 33 .byte 0x33 27102 3dc3 25 .byte 0x25 ARM GAS /tmp/ccjvgGVC.s page 950 27103 3dc4 30 .byte 0x30 27104 3dc5 2E .byte 0x2e 27105 3dc6 28 .byte 0x28 27106 3dc7 0100 .2byte 0x1 27107 3dc9 16 .byte 0x16 27108 3dca 13 .byte 0x13 27109 3dcb 70 .byte 0x70 27110 3dcc 00 .sleb128 0 27111 3dcd 22 .byte 0x22 27112 3dce F3 .byte 0xf3 27113 3dcf 03 .uleb128 0x3 27114 3dd0 F5 .byte 0xf5 27115 3dd1 01 .uleb128 0x1 27116 3dd2 29 .uleb128 0x29 27117 3dd3 F7 .byte 0xf7 27118 3dd4 30 .uleb128 0x30 27119 3dd5 F7 .byte 0xf7 27120 3dd6 00 .uleb128 0 27121 3dd7 3F .byte 0x3f 27122 3dd8 1A .byte 0x1a 27123 3dd9 4C .byte 0x4c 27124 3dda 1E .byte 0x1e 27125 3ddb 23 .byte 0x23 27126 3ddc 3C .uleb128 0x3c 27127 3ddd F3 .byte 0xf3 27128 3dde 03 .uleb128 0x3 27129 3ddf F5 .byte 0xf5 27130 3de0 01 .uleb128 0x1 27131 3de1 29 .uleb128 0x29 27132 3de2 F7 .byte 0xf7 27133 3de3 30 .uleb128 0x30 27134 3de4 F7 .byte 0xf7 27135 3de5 00 .uleb128 0 27136 3de6 3F .byte 0x3f 27137 3de7 1A .byte 0x1a 27138 3de8 4C .byte 0x4c 27139 3de9 1E .byte 0x1e 27140 3dea F3 .byte 0xf3 27141 3deb 03 .uleb128 0x3 27142 3dec F5 .byte 0xf5 27143 3ded 01 .uleb128 0x1 27144 3dee 29 .uleb128 0x29 27145 3def F7 .byte 0xf7 27146 3df0 30 .uleb128 0x30 27147 3df1 F7 .byte 0xf7 27148 3df2 00 .uleb128 0 27149 3df3 09 .byte 0x9 27150 3df4 FC .byte 0xfc 27151 3df5 24 .byte 0x24 27152 3df6 33 .byte 0x33 27153 3df7 25 .byte 0x25 27154 3df8 30 .byte 0x30 27155 3df9 2E .byte 0x2e 27156 3dfa 28 .byte 0x28 27157 3dfb 0100 .2byte 0x1 27158 3dfd 16 .byte 0x16 27159 3dfe 13 .byte 0x13 ARM GAS /tmp/ccjvgGVC.s page 951 27160 3dff 23 .byte 0x23 27161 3e00 FC03 .uleb128 0x1fc 27162 3e02 F3 .byte 0xf3 27163 3e03 03 .uleb128 0x3 27164 3e04 F5 .byte 0xf5 27165 3e05 01 .uleb128 0x1 27166 3e06 29 .uleb128 0x29 27167 3e07 F7 .byte 0xf7 27168 3e08 30 .uleb128 0x30 27169 3e09 F7 .byte 0xf7 27170 3e0a 00 .uleb128 0 27171 3e0b 3F .byte 0x3f 27172 3e0c 1A .byte 0x1a 27173 3e0d 4C .byte 0x4c 27174 3e0e 1E .byte 0x1e 27175 3e0f 23 .byte 0x23 27176 3e10 3C .uleb128 0x3c 27177 3e11 F3 .byte 0xf3 27178 3e12 03 .uleb128 0x3 27179 3e13 F5 .byte 0xf5 27180 3e14 01 .uleb128 0x1 27181 3e15 29 .uleb128 0x29 27182 3e16 F7 .byte 0xf7 27183 3e17 30 .uleb128 0x30 27184 3e18 F7 .byte 0xf7 27185 3e19 00 .uleb128 0 27186 3e1a 3F .byte 0x3f 27187 3e1b 1A .byte 0x1a 27188 3e1c 4C .byte 0x4c 27189 3e1d 1E .byte 0x1e 27190 3e1e F3 .byte 0xf3 27191 3e1f 03 .uleb128 0x3 27192 3e20 F5 .byte 0xf5 27193 3e21 01 .uleb128 0x1 27194 3e22 29 .uleb128 0x29 27195 3e23 F7 .byte 0xf7 27196 3e24 30 .uleb128 0x30 27197 3e25 F7 .byte 0xf7 27198 3e26 00 .uleb128 0 27199 3e27 09 .byte 0x9 27200 3e28 FC .byte 0xfc 27201 3e29 24 .byte 0x24 27202 3e2a 33 .byte 0x33 27203 3e2b 25 .byte 0x25 27204 3e2c 30 .byte 0x30 27205 3e2d 2E .byte 0x2e 27206 3e2e 28 .byte 0x28 27207 3e2f 0100 .2byte 0x1 27208 3e31 16 .byte 0x16 27209 3e32 13 .byte 0x13 27210 3e33 F3 .byte 0xf3 27211 3e34 03 .uleb128 0x3 27212 3e35 F5 .byte 0xf5 27213 3e36 01 .uleb128 0x1 27214 3e37 29 .uleb128 0x29 27215 3e38 F7 .byte 0xf7 27216 3e39 30 .uleb128 0x30 ARM GAS /tmp/ccjvgGVC.s page 952 27217 3e3a F7 .byte 0xf7 27218 3e3b 00 .uleb128 0 27219 3e3c 09 .byte 0x9 27220 3e3d FC .byte 0xfc 27221 3e3e 24 .byte 0x24 27222 3e3f 33 .byte 0x33 27223 3e40 25 .byte 0x25 27224 3e41 30 .byte 0x30 27225 3e42 29 .byte 0x29 27226 3e43 28 .byte 0x28 27227 3e44 0100 .2byte 0x1 27228 3e46 16 .byte 0x16 27229 3e47 13 .byte 0x13 27230 3e48 70 .byte 0x70 27231 3e49 00 .sleb128 0 27232 3e4a 22 .byte 0x22 27233 3e4b F3 .byte 0xf3 27234 3e4c 03 .uleb128 0x3 27235 3e4d F5 .byte 0xf5 27236 3e4e 01 .uleb128 0x1 27237 3e4f 29 .uleb128 0x29 27238 3e50 F7 .byte 0xf7 27239 3e51 30 .uleb128 0x30 27240 3e52 F7 .byte 0xf7 27241 3e53 00 .uleb128 0 27242 3e54 3F .byte 0x3f 27243 3e55 1A .byte 0x1a 27244 3e56 4C .byte 0x4c 27245 3e57 1E .byte 0x1e 27246 3e58 23 .byte 0x23 27247 3e59 3C .uleb128 0x3c 27248 3e5a F3 .byte 0xf3 27249 3e5b 03 .uleb128 0x3 27250 3e5c F5 .byte 0xf5 27251 3e5d 01 .uleb128 0x1 27252 3e5e 29 .uleb128 0x29 27253 3e5f F7 .byte 0xf7 27254 3e60 30 .uleb128 0x30 27255 3e61 F7 .byte 0xf7 27256 3e62 00 .uleb128 0 27257 3e63 3F .byte 0x3f 27258 3e64 1A .byte 0x1a 27259 3e65 4C .byte 0x4c 27260 3e66 1E .byte 0x1e 27261 3e67 F3 .byte 0xf3 27262 3e68 03 .uleb128 0x3 27263 3e69 F5 .byte 0xf5 27264 3e6a 01 .uleb128 0x1 27265 3e6b 29 .uleb128 0x29 27266 3e6c F7 .byte 0xf7 27267 3e6d 30 .uleb128 0x30 27268 3e6e F7 .byte 0xf7 27269 3e6f 00 .uleb128 0 27270 3e70 09 .byte 0x9 27271 3e71 FC .byte 0xfc 27272 3e72 24 .byte 0x24 27273 3e73 33 .byte 0x33 ARM GAS /tmp/ccjvgGVC.s page 953 27274 3e74 25 .byte 0x25 27275 3e75 30 .byte 0x30 27276 3e76 2E .byte 0x2e 27277 3e77 28 .byte 0x28 27278 3e78 0100 .2byte 0x1 27279 3e7a 16 .byte 0x16 27280 3e7b 13 .byte 0x13 27281 3e7c 23 .byte 0x23 27282 3e7d FC03 .uleb128 0x1fc 27283 3e7f F3 .byte 0xf3 27284 3e80 03 .uleb128 0x3 27285 3e81 F5 .byte 0xf5 27286 3e82 01 .uleb128 0x1 27287 3e83 29 .uleb128 0x29 27288 3e84 F7 .byte 0xf7 27289 3e85 30 .uleb128 0x30 27290 3e86 F7 .byte 0xf7 27291 3e87 00 .uleb128 0 27292 3e88 3F .byte 0x3f 27293 3e89 1A .byte 0x1a 27294 3e8a 4C .byte 0x4c 27295 3e8b 1E .byte 0x1e 27296 3e8c 23 .byte 0x23 27297 3e8d 3C .uleb128 0x3c 27298 3e8e F3 .byte 0xf3 27299 3e8f 03 .uleb128 0x3 27300 3e90 F5 .byte 0xf5 27301 3e91 01 .uleb128 0x1 27302 3e92 29 .uleb128 0x29 27303 3e93 F7 .byte 0xf7 27304 3e94 30 .uleb128 0x30 27305 3e95 F7 .byte 0xf7 27306 3e96 00 .uleb128 0 27307 3e97 3F .byte 0x3f 27308 3e98 1A .byte 0x1a 27309 3e99 4C .byte 0x4c 27310 3e9a 1E .byte 0x1e 27311 3e9b F3 .byte 0xf3 27312 3e9c 03 .uleb128 0x3 27313 3e9d F5 .byte 0xf5 27314 3e9e 01 .uleb128 0x1 27315 3e9f 29 .uleb128 0x29 27316 3ea0 F7 .byte 0xf7 27317 3ea1 30 .uleb128 0x30 27318 3ea2 F7 .byte 0xf7 27319 3ea3 00 .uleb128 0 27320 3ea4 09 .byte 0x9 27321 3ea5 FC .byte 0xfc 27322 3ea6 24 .byte 0x24 27323 3ea7 33 .byte 0x33 27324 3ea8 25 .byte 0x25 27325 3ea9 30 .byte 0x30 27326 3eaa 2E .byte 0x2e 27327 3eab 28 .byte 0x28 27328 3eac 0100 .2byte 0x1 27329 3eae 16 .byte 0x16 27330 3eaf 13 .byte 0x13 ARM GAS /tmp/ccjvgGVC.s page 954 27331 3eb0 F3 .byte 0xf3 27332 3eb1 03 .uleb128 0x3 27333 3eb2 F5 .byte 0xf5 27334 3eb3 01 .uleb128 0x1 27335 3eb4 29 .uleb128 0x29 27336 3eb5 F7 .byte 0xf7 27337 3eb6 30 .uleb128 0x30 27338 3eb7 F7 .byte 0xf7 27339 3eb8 00 .uleb128 0 27340 3eb9 09 .byte 0x9 27341 3eba FC .byte 0xfc 27342 3ebb 24 .byte 0x24 27343 3ebc 33 .byte 0x33 27344 3ebd 25 .byte 0x25 27345 3ebe 30 .byte 0x30 27346 3ebf 29 .byte 0x29 27347 3ec0 28 .byte 0x28 27348 3ec1 0100 .2byte 0x1 27349 3ec3 16 .byte 0x16 27350 3ec4 13 .byte 0x13 27351 3ec5 F3 .byte 0xf3 27352 3ec6 03 .uleb128 0x3 27353 3ec7 F5 .byte 0xf5 27354 3ec8 01 .uleb128 0x1 27355 3ec9 29 .uleb128 0x29 27356 3eca F7 .byte 0xf7 27357 3ecb 30 .uleb128 0x30 27358 3ecc F7 .byte 0xf7 27359 3ecd 00 .uleb128 0 27360 3ece 09 .byte 0x9 27361 3ecf FC .byte 0xfc 27362 3ed0 24 .byte 0x24 27363 3ed1 33 .byte 0x33 27364 3ed2 25 .byte 0x25 27365 3ed3 30 .byte 0x30 27366 3ed4 2E .byte 0x2e 27367 3ed5 28 .byte 0x28 27368 3ed6 0100 .2byte 0x1 27369 3ed8 16 .byte 0x16 27370 3ed9 13 .byte 0x13 27371 3eda F3 .byte 0xf3 27372 3edb 03 .uleb128 0x3 27373 3edc F5 .byte 0xf5 27374 3edd 01 .uleb128 0x1 27375 3ede 29 .uleb128 0x29 27376 3edf F7 .byte 0xf7 27377 3ee0 30 .uleb128 0x30 27378 3ee1 F7 .byte 0xf7 27379 3ee2 00 .uleb128 0 27380 3ee3 09 .byte 0x9 27381 3ee4 FC .byte 0xfc 27382 3ee5 24 .byte 0x24 27383 3ee6 33 .byte 0x33 27384 3ee7 25 .byte 0x25 27385 3ee8 30 .byte 0x30 27386 3ee9 29 .byte 0x29 27387 3eea 28 .byte 0x28 ARM GAS /tmp/ccjvgGVC.s page 955 27388 3eeb 0100 .2byte 0x1 27389 3eed 16 .byte 0x16 27390 3eee 13 .byte 0x13 27391 3eef 9F .byte 0x9f 27392 3ef0 00000000 .4byte 0 27393 3ef4 00000000 .4byte 0 27394 .LVUS313: 27395 3ef8 00 .uleb128 .LVU2350 27396 3ef9 00 .uleb128 .LVU2353 27397 3efa 00 .uleb128 .LVU2353 27398 3efb 00 .uleb128 .LVU2365 27399 .LLST313: 27400 3efc 4C000000 .4byte .LVL486 27401 3f00 52000000 .4byte .LVL487 27402 3f04 0100 .2byte 0x1 27403 3f06 53 .byte 0x53 27404 3f07 52000000 .4byte .LVL487 27405 3f0b 7A000000 .4byte .LVL489 27406 3f0f 3102 .2byte 0x231 27407 3f11 F3 .byte 0xf3 27408 3f12 03 .uleb128 0x3 27409 3f13 F5 .byte 0xf5 27410 3f14 01 .uleb128 0x1 27411 3f15 29 .uleb128 0x29 27412 3f16 F7 .byte 0xf7 27413 3f17 30 .uleb128 0x30 27414 3f18 F7 .byte 0xf7 27415 3f19 00 .uleb128 0 27416 3f1a 3F .byte 0x3f 27417 3f1b 1A .byte 0x1a 27418 3f1c 4C .byte 0x4c 27419 3f1d 1E .byte 0x1e 27420 3f1e 23 .byte 0x23 27421 3f1f 3C .uleb128 0x3c 27422 3f20 F3 .byte 0xf3 27423 3f21 03 .uleb128 0x3 27424 3f22 F5 .byte 0xf5 27425 3f23 01 .uleb128 0x1 27426 3f24 29 .uleb128 0x29 27427 3f25 F7 .byte 0xf7 27428 3f26 30 .uleb128 0x30 27429 3f27 F7 .byte 0xf7 27430 3f28 00 .uleb128 0 27431 3f29 3F .byte 0x3f 27432 3f2a 1A .byte 0x1a 27433 3f2b 4C .byte 0x4c 27434 3f2c 1E .byte 0x1e 27435 3f2d F3 .byte 0xf3 27436 3f2e 03 .uleb128 0x3 27437 3f2f F5 .byte 0xf5 27438 3f30 01 .uleb128 0x1 27439 3f31 29 .uleb128 0x29 27440 3f32 F7 .byte 0xf7 27441 3f33 30 .uleb128 0x30 27442 3f34 F7 .byte 0xf7 27443 3f35 00 .uleb128 0 27444 3f36 09 .byte 0x9 ARM GAS /tmp/ccjvgGVC.s page 956 27445 3f37 FC .byte 0xfc 27446 3f38 24 .byte 0x24 27447 3f39 33 .byte 0x33 27448 3f3a 25 .byte 0x25 27449 3f3b 30 .byte 0x30 27450 3f3c 2E .byte 0x2e 27451 3f3d 28 .byte 0x28 27452 3f3e 0100 .2byte 0x1 27453 3f40 16 .byte 0x16 27454 3f41 13 .byte 0x13 27455 3f42 23 .byte 0x23 27456 3f43 FC03 .uleb128 0x1fc 27457 3f45 F3 .byte 0xf3 27458 3f46 03 .uleb128 0x3 27459 3f47 F5 .byte 0xf5 27460 3f48 01 .uleb128 0x1 27461 3f49 29 .uleb128 0x29 27462 3f4a F7 .byte 0xf7 27463 3f4b 30 .uleb128 0x30 27464 3f4c F7 .byte 0xf7 27465 3f4d 00 .uleb128 0 27466 3f4e 3F .byte 0x3f 27467 3f4f 1A .byte 0x1a 27468 3f50 4C .byte 0x4c 27469 3f51 1E .byte 0x1e 27470 3f52 23 .byte 0x23 27471 3f53 3C .uleb128 0x3c 27472 3f54 F3 .byte 0xf3 27473 3f55 03 .uleb128 0x3 27474 3f56 F5 .byte 0xf5 27475 3f57 01 .uleb128 0x1 27476 3f58 29 .uleb128 0x29 27477 3f59 F7 .byte 0xf7 27478 3f5a 30 .uleb128 0x30 27479 3f5b F7 .byte 0xf7 27480 3f5c 00 .uleb128 0 27481 3f5d 3F .byte 0x3f 27482 3f5e 1A .byte 0x1a 27483 3f5f 4C .byte 0x4c 27484 3f60 1E .byte 0x1e 27485 3f61 F3 .byte 0xf3 27486 3f62 03 .uleb128 0x3 27487 3f63 F5 .byte 0xf5 27488 3f64 01 .uleb128 0x1 27489 3f65 29 .uleb128 0x29 27490 3f66 F7 .byte 0xf7 27491 3f67 30 .uleb128 0x30 27492 3f68 F7 .byte 0xf7 27493 3f69 00 .uleb128 0 27494 3f6a 09 .byte 0x9 27495 3f6b FC .byte 0xfc 27496 3f6c 24 .byte 0x24 27497 3f6d 33 .byte 0x33 27498 3f6e 25 .byte 0x25 27499 3f6f 30 .byte 0x30 27500 3f70 2E .byte 0x2e 27501 3f71 28 .byte 0x28 ARM GAS /tmp/ccjvgGVC.s page 957 27502 3f72 0100 .2byte 0x1 27503 3f74 16 .byte 0x16 27504 3f75 13 .byte 0x13 27505 3f76 F3 .byte 0xf3 27506 3f77 03 .uleb128 0x3 27507 3f78 F5 .byte 0xf5 27508 3f79 01 .uleb128 0x1 27509 3f7a 29 .uleb128 0x29 27510 3f7b F7 .byte 0xf7 27511 3f7c 30 .uleb128 0x30 27512 3f7d F7 .byte 0xf7 27513 3f7e 00 .uleb128 0 27514 3f7f 09 .byte 0x9 27515 3f80 FC .byte 0xfc 27516 3f81 24 .byte 0x24 27517 3f82 33 .byte 0x33 27518 3f83 25 .byte 0x25 27519 3f84 30 .byte 0x30 27520 3f85 29 .byte 0x29 27521 3f86 28 .byte 0x28 27522 3f87 0100 .2byte 0x1 27523 3f89 16 .byte 0x16 27524 3f8a 13 .byte 0x13 27525 3f8b 70 .byte 0x70 27526 3f8c 00 .sleb128 0 27527 3f8d 22 .byte 0x22 27528 3f8e F3 .byte 0xf3 27529 3f8f 03 .uleb128 0x3 27530 3f90 F5 .byte 0xf5 27531 3f91 01 .uleb128 0x1 27532 3f92 29 .uleb128 0x29 27533 3f93 F7 .byte 0xf7 27534 3f94 30 .uleb128 0x30 27535 3f95 F7 .byte 0xf7 27536 3f96 00 .uleb128 0 27537 3f97 3F .byte 0x3f 27538 3f98 1A .byte 0x1a 27539 3f99 4C .byte 0x4c 27540 3f9a 1E .byte 0x1e 27541 3f9b 23 .byte 0x23 27542 3f9c 3C .uleb128 0x3c 27543 3f9d F3 .byte 0xf3 27544 3f9e 03 .uleb128 0x3 27545 3f9f F5 .byte 0xf5 27546 3fa0 01 .uleb128 0x1 27547 3fa1 29 .uleb128 0x29 27548 3fa2 F7 .byte 0xf7 27549 3fa3 30 .uleb128 0x30 27550 3fa4 F7 .byte 0xf7 27551 3fa5 00 .uleb128 0 27552 3fa6 3F .byte 0x3f 27553 3fa7 1A .byte 0x1a 27554 3fa8 4C .byte 0x4c 27555 3fa9 1E .byte 0x1e 27556 3faa F3 .byte 0xf3 27557 3fab 03 .uleb128 0x3 27558 3fac F5 .byte 0xf5 ARM GAS /tmp/ccjvgGVC.s page 958 27559 3fad 01 .uleb128 0x1 27560 3fae 29 .uleb128 0x29 27561 3faf F7 .byte 0xf7 27562 3fb0 30 .uleb128 0x30 27563 3fb1 F7 .byte 0xf7 27564 3fb2 00 .uleb128 0 27565 3fb3 09 .byte 0x9 27566 3fb4 FC .byte 0xfc 27567 3fb5 24 .byte 0x24 27568 3fb6 33 .byte 0x33 27569 3fb7 25 .byte 0x25 27570 3fb8 30 .byte 0x30 27571 3fb9 2E .byte 0x2e 27572 3fba 28 .byte 0x28 27573 3fbb 0100 .2byte 0x1 27574 3fbd 16 .byte 0x16 27575 3fbe 13 .byte 0x13 27576 3fbf 23 .byte 0x23 27577 3fc0 FC03 .uleb128 0x1fc 27578 3fc2 F3 .byte 0xf3 27579 3fc3 03 .uleb128 0x3 27580 3fc4 F5 .byte 0xf5 27581 3fc5 01 .uleb128 0x1 27582 3fc6 29 .uleb128 0x29 27583 3fc7 F7 .byte 0xf7 27584 3fc8 30 .uleb128 0x30 27585 3fc9 F7 .byte 0xf7 27586 3fca 00 .uleb128 0 27587 3fcb 3F .byte 0x3f 27588 3fcc 1A .byte 0x1a 27589 3fcd 4C .byte 0x4c 27590 3fce 1E .byte 0x1e 27591 3fcf 23 .byte 0x23 27592 3fd0 3C .uleb128 0x3c 27593 3fd1 F3 .byte 0xf3 27594 3fd2 03 .uleb128 0x3 27595 3fd3 F5 .byte 0xf5 27596 3fd4 01 .uleb128 0x1 27597 3fd5 29 .uleb128 0x29 27598 3fd6 F7 .byte 0xf7 27599 3fd7 30 .uleb128 0x30 27600 3fd8 F7 .byte 0xf7 27601 3fd9 00 .uleb128 0 27602 3fda 3F .byte 0x3f 27603 3fdb 1A .byte 0x1a 27604 3fdc 4C .byte 0x4c 27605 3fdd 1E .byte 0x1e 27606 3fde F3 .byte 0xf3 27607 3fdf 03 .uleb128 0x3 27608 3fe0 F5 .byte 0xf5 27609 3fe1 01 .uleb128 0x1 27610 3fe2 29 .uleb128 0x29 27611 3fe3 F7 .byte 0xf7 27612 3fe4 30 .uleb128 0x30 27613 3fe5 F7 .byte 0xf7 27614 3fe6 00 .uleb128 0 27615 3fe7 09 .byte 0x9 ARM GAS /tmp/ccjvgGVC.s page 959 27616 3fe8 FC .byte 0xfc 27617 3fe9 24 .byte 0x24 27618 3fea 33 .byte 0x33 27619 3feb 25 .byte 0x25 27620 3fec 30 .byte 0x30 27621 3fed 2E .byte 0x2e 27622 3fee 28 .byte 0x28 27623 3fef 0100 .2byte 0x1 27624 3ff1 16 .byte 0x16 27625 3ff2 13 .byte 0x13 27626 3ff3 F3 .byte 0xf3 27627 3ff4 03 .uleb128 0x3 27628 3ff5 F5 .byte 0xf5 27629 3ff6 01 .uleb128 0x1 27630 3ff7 29 .uleb128 0x29 27631 3ff8 F7 .byte 0xf7 27632 3ff9 30 .uleb128 0x30 27633 3ffa F7 .byte 0xf7 27634 3ffb 00 .uleb128 0 27635 3ffc 09 .byte 0x9 27636 3ffd FC .byte 0xfc 27637 3ffe 24 .byte 0x24 27638 3fff 33 .byte 0x33 27639 4000 25 .byte 0x25 27640 4001 30 .byte 0x30 27641 4002 29 .byte 0x29 27642 4003 28 .byte 0x28 27643 4004 0100 .2byte 0x1 27644 4006 16 .byte 0x16 27645 4007 13 .byte 0x13 27646 4008 F3 .byte 0xf3 27647 4009 03 .uleb128 0x3 27648 400a F5 .byte 0xf5 27649 400b 01 .uleb128 0x1 27650 400c 29 .uleb128 0x29 27651 400d F7 .byte 0xf7 27652 400e 30 .uleb128 0x30 27653 400f F7 .byte 0xf7 27654 4010 00 .uleb128 0 27655 4011 09 .byte 0x9 27656 4012 FC .byte 0xfc 27657 4013 24 .byte 0x24 27658 4014 33 .byte 0x33 27659 4015 25 .byte 0x25 27660 4016 30 .byte 0x30 27661 4017 2E .byte 0x2e 27662 4018 28 .byte 0x28 27663 4019 0100 .2byte 0x1 27664 401b 16 .byte 0x16 27665 401c 13 .byte 0x13 27666 401d 70 .byte 0x70 27667 401e 00 .sleb128 0 27668 401f 22 .byte 0x22 27669 4020 F3 .byte 0xf3 27670 4021 03 .uleb128 0x3 27671 4022 F5 .byte 0xf5 27672 4023 01 .uleb128 0x1 ARM GAS /tmp/ccjvgGVC.s page 960 27673 4024 29 .uleb128 0x29 27674 4025 F7 .byte 0xf7 27675 4026 30 .uleb128 0x30 27676 4027 F7 .byte 0xf7 27677 4028 00 .uleb128 0 27678 4029 3F .byte 0x3f 27679 402a 1A .byte 0x1a 27680 402b 4C .byte 0x4c 27681 402c 1E .byte 0x1e 27682 402d 23 .byte 0x23 27683 402e 3C .uleb128 0x3c 27684 402f F3 .byte 0xf3 27685 4030 03 .uleb128 0x3 27686 4031 F5 .byte 0xf5 27687 4032 01 .uleb128 0x1 27688 4033 29 .uleb128 0x29 27689 4034 F7 .byte 0xf7 27690 4035 30 .uleb128 0x30 27691 4036 F7 .byte 0xf7 27692 4037 00 .uleb128 0 27693 4038 3F .byte 0x3f 27694 4039 1A .byte 0x1a 27695 403a 4C .byte 0x4c 27696 403b 1E .byte 0x1e 27697 403c F3 .byte 0xf3 27698 403d 03 .uleb128 0x3 27699 403e F5 .byte 0xf5 27700 403f 01 .uleb128 0x1 27701 4040 29 .uleb128 0x29 27702 4041 F7 .byte 0xf7 27703 4042 30 .uleb128 0x30 27704 4043 F7 .byte 0xf7 27705 4044 00 .uleb128 0 27706 4045 09 .byte 0x9 27707 4046 FC .byte 0xfc 27708 4047 24 .byte 0x24 27709 4048 33 .byte 0x33 27710 4049 25 .byte 0x25 27711 404a 30 .byte 0x30 27712 404b 2E .byte 0x2e 27713 404c 28 .byte 0x28 27714 404d 0100 .2byte 0x1 27715 404f 16 .byte 0x16 27716 4050 13 .byte 0x13 27717 4051 23 .byte 0x23 27718 4052 FC03 .uleb128 0x1fc 27719 4054 F3 .byte 0xf3 27720 4055 03 .uleb128 0x3 27721 4056 F5 .byte 0xf5 27722 4057 01 .uleb128 0x1 27723 4058 29 .uleb128 0x29 27724 4059 F7 .byte 0xf7 27725 405a 30 .uleb128 0x30 27726 405b F7 .byte 0xf7 27727 405c 00 .uleb128 0 27728 405d 3F .byte 0x3f 27729 405e 1A .byte 0x1a ARM GAS /tmp/ccjvgGVC.s page 961 27730 405f 4C .byte 0x4c 27731 4060 1E .byte 0x1e 27732 4061 23 .byte 0x23 27733 4062 3C .uleb128 0x3c 27734 4063 F3 .byte 0xf3 27735 4064 03 .uleb128 0x3 27736 4065 F5 .byte 0xf5 27737 4066 01 .uleb128 0x1 27738 4067 29 .uleb128 0x29 27739 4068 F7 .byte 0xf7 27740 4069 30 .uleb128 0x30 27741 406a F7 .byte 0xf7 27742 406b 00 .uleb128 0 27743 406c 3F .byte 0x3f 27744 406d 1A .byte 0x1a 27745 406e 4C .byte 0x4c 27746 406f 1E .byte 0x1e 27747 4070 F3 .byte 0xf3 27748 4071 03 .uleb128 0x3 27749 4072 F5 .byte 0xf5 27750 4073 01 .uleb128 0x1 27751 4074 29 .uleb128 0x29 27752 4075 F7 .byte 0xf7 27753 4076 30 .uleb128 0x30 27754 4077 F7 .byte 0xf7 27755 4078 00 .uleb128 0 27756 4079 09 .byte 0x9 27757 407a FC .byte 0xfc 27758 407b 24 .byte 0x24 27759 407c 33 .byte 0x33 27760 407d 25 .byte 0x25 27761 407e 30 .byte 0x30 27762 407f 2E .byte 0x2e 27763 4080 28 .byte 0x28 27764 4081 0100 .2byte 0x1 27765 4083 16 .byte 0x16 27766 4084 13 .byte 0x13 27767 4085 F3 .byte 0xf3 27768 4086 03 .uleb128 0x3 27769 4087 F5 .byte 0xf5 27770 4088 01 .uleb128 0x1 27771 4089 29 .uleb128 0x29 27772 408a F7 .byte 0xf7 27773 408b 30 .uleb128 0x30 27774 408c F7 .byte 0xf7 27775 408d 00 .uleb128 0 27776 408e 09 .byte 0x9 27777 408f FC .byte 0xfc 27778 4090 24 .byte 0x24 27779 4091 33 .byte 0x33 27780 4092 25 .byte 0x25 27781 4093 30 .byte 0x30 27782 4094 29 .byte 0x29 27783 4095 28 .byte 0x28 27784 4096 0100 .2byte 0x1 27785 4098 16 .byte 0x16 27786 4099 13 .byte 0x13 ARM GAS /tmp/ccjvgGVC.s page 962 27787 409a 70 .byte 0x70 27788 409b 00 .sleb128 0 27789 409c 22 .byte 0x22 27790 409d F3 .byte 0xf3 27791 409e 03 .uleb128 0x3 27792 409f F5 .byte 0xf5 27793 40a0 01 .uleb128 0x1 27794 40a1 29 .uleb128 0x29 27795 40a2 F7 .byte 0xf7 27796 40a3 30 .uleb128 0x30 27797 40a4 F7 .byte 0xf7 27798 40a5 00 .uleb128 0 27799 40a6 3F .byte 0x3f 27800 40a7 1A .byte 0x1a 27801 40a8 4C .byte 0x4c 27802 40a9 1E .byte 0x1e 27803 40aa 23 .byte 0x23 27804 40ab 3C .uleb128 0x3c 27805 40ac F3 .byte 0xf3 27806 40ad 03 .uleb128 0x3 27807 40ae F5 .byte 0xf5 27808 40af 01 .uleb128 0x1 27809 40b0 29 .uleb128 0x29 27810 40b1 F7 .byte 0xf7 27811 40b2 30 .uleb128 0x30 27812 40b3 F7 .byte 0xf7 27813 40b4 00 .uleb128 0 27814 40b5 3F .byte 0x3f 27815 40b6 1A .byte 0x1a 27816 40b7 4C .byte 0x4c 27817 40b8 1E .byte 0x1e 27818 40b9 F3 .byte 0xf3 27819 40ba 03 .uleb128 0x3 27820 40bb F5 .byte 0xf5 27821 40bc 01 .uleb128 0x1 27822 40bd 29 .uleb128 0x29 27823 40be F7 .byte 0xf7 27824 40bf 30 .uleb128 0x30 27825 40c0 F7 .byte 0xf7 27826 40c1 00 .uleb128 0 27827 40c2 09 .byte 0x9 27828 40c3 FC .byte 0xfc 27829 40c4 24 .byte 0x24 27830 40c5 33 .byte 0x33 27831 40c6 25 .byte 0x25 27832 40c7 30 .byte 0x30 27833 40c8 2E .byte 0x2e 27834 40c9 28 .byte 0x28 27835 40ca 0100 .2byte 0x1 27836 40cc 16 .byte 0x16 27837 40cd 13 .byte 0x13 27838 40ce 23 .byte 0x23 27839 40cf FC03 .uleb128 0x1fc 27840 40d1 F3 .byte 0xf3 27841 40d2 03 .uleb128 0x3 27842 40d3 F5 .byte 0xf5 27843 40d4 01 .uleb128 0x1 ARM GAS /tmp/ccjvgGVC.s page 963 27844 40d5 29 .uleb128 0x29 27845 40d6 F7 .byte 0xf7 27846 40d7 30 .uleb128 0x30 27847 40d8 F7 .byte 0xf7 27848 40d9 00 .uleb128 0 27849 40da 3F .byte 0x3f 27850 40db 1A .byte 0x1a 27851 40dc 4C .byte 0x4c 27852 40dd 1E .byte 0x1e 27853 40de 23 .byte 0x23 27854 40df 3C .uleb128 0x3c 27855 40e0 F3 .byte 0xf3 27856 40e1 03 .uleb128 0x3 27857 40e2 F5 .byte 0xf5 27858 40e3 01 .uleb128 0x1 27859 40e4 29 .uleb128 0x29 27860 40e5 F7 .byte 0xf7 27861 40e6 30 .uleb128 0x30 27862 40e7 F7 .byte 0xf7 27863 40e8 00 .uleb128 0 27864 40e9 3F .byte 0x3f 27865 40ea 1A .byte 0x1a 27866 40eb 4C .byte 0x4c 27867 40ec 1E .byte 0x1e 27868 40ed F3 .byte 0xf3 27869 40ee 03 .uleb128 0x3 27870 40ef F5 .byte 0xf5 27871 40f0 01 .uleb128 0x1 27872 40f1 29 .uleb128 0x29 27873 40f2 F7 .byte 0xf7 27874 40f3 30 .uleb128 0x30 27875 40f4 F7 .byte 0xf7 27876 40f5 00 .uleb128 0 27877 40f6 09 .byte 0x9 27878 40f7 FC .byte 0xfc 27879 40f8 24 .byte 0x24 27880 40f9 33 .byte 0x33 27881 40fa 25 .byte 0x25 27882 40fb 30 .byte 0x30 27883 40fc 2E .byte 0x2e 27884 40fd 28 .byte 0x28 27885 40fe 0100 .2byte 0x1 27886 4100 16 .byte 0x16 27887 4101 13 .byte 0x13 27888 4102 F3 .byte 0xf3 27889 4103 03 .uleb128 0x3 27890 4104 F5 .byte 0xf5 27891 4105 01 .uleb128 0x1 27892 4106 29 .uleb128 0x29 27893 4107 F7 .byte 0xf7 27894 4108 30 .uleb128 0x30 27895 4109 F7 .byte 0xf7 27896 410a 00 .uleb128 0 27897 410b 09 .byte 0x9 27898 410c FC .byte 0xfc 27899 410d 24 .byte 0x24 27900 410e 33 .byte 0x33 ARM GAS /tmp/ccjvgGVC.s page 964 27901 410f 25 .byte 0x25 27902 4110 30 .byte 0x30 27903 4111 29 .byte 0x29 27904 4112 28 .byte 0x28 27905 4113 0100 .2byte 0x1 27906 4115 16 .byte 0x16 27907 4116 13 .byte 0x13 27908 4117 F3 .byte 0xf3 27909 4118 03 .uleb128 0x3 27910 4119 F5 .byte 0xf5 27911 411a 01 .uleb128 0x1 27912 411b 29 .uleb128 0x29 27913 411c F7 .byte 0xf7 27914 411d 30 .uleb128 0x30 27915 411e F7 .byte 0xf7 27916 411f 00 .uleb128 0 27917 4120 09 .byte 0x9 27918 4121 FC .byte 0xfc 27919 4122 24 .byte 0x24 27920 4123 33 .byte 0x33 27921 4124 25 .byte 0x25 27922 4125 30 .byte 0x30 27923 4126 2E .byte 0x2e 27924 4127 28 .byte 0x28 27925 4128 0100 .2byte 0x1 27926 412a 16 .byte 0x16 27927 412b 13 .byte 0x13 27928 412c F3 .byte 0xf3 27929 412d 03 .uleb128 0x3 27930 412e F5 .byte 0xf5 27931 412f 01 .uleb128 0x1 27932 4130 29 .uleb128 0x29 27933 4131 F7 .byte 0xf7 27934 4132 30 .uleb128 0x30 27935 4133 F7 .byte 0xf7 27936 4134 00 .uleb128 0 27937 4135 09 .byte 0x9 27938 4136 FC .byte 0xfc 27939 4137 24 .byte 0x24 27940 4138 33 .byte 0x33 27941 4139 25 .byte 0x25 27942 413a 30 .byte 0x30 27943 413b 29 .byte 0x29 27944 413c 28 .byte 0x28 27945 413d 0100 .2byte 0x1 27946 413f 16 .byte 0x16 27947 4140 13 .byte 0x13 27948 4141 9F .byte 0x9f 27949 4142 00000000 .4byte 0 27950 4146 00000000 .4byte 0 27951 .LVUS314: 27952 414a 00 .uleb128 .LVU2350 27953 414b 00 .uleb128 .LVU2365 27954 .LLST314: 27955 414c 4C000000 .4byte .LVL486 27956 4150 7A000000 .4byte .LVL489 27957 4154 0200 .2byte 0x2 ARM GAS /tmp/ccjvgGVC.s page 965 27958 4156 70 .byte 0x70 27959 4157 00 .sleb128 0 27960 4158 00000000 .4byte 0 27961 415c 00000000 .4byte 0 27962 .LVUS315: 27963 4160 00 .uleb128 .LVU2354 27964 4161 00 .uleb128 .LVU2365 27965 .LLST315: 27966 4162 54000000 .4byte .LVL488 27967 4166 7A000000 .4byte .LVL489 27968 416a 0200 .2byte 0x2 27969 416c 70 .byte 0x70 27970 416d 00 .sleb128 0 27971 416e 00000000 .4byte 0 27972 4172 00000000 .4byte 0 27973 .LLST316: 27974 4176 00000000 .4byte .LFB155 27975 417a 02000000 .4byte .LCFI63 27976 417e 0200 .2byte 0x2 27977 4180 7D .byte 0x7d 27978 4181 00 .sleb128 0 27979 4182 02000000 .4byte .LCFI63 27980 4186 30000000 .4byte .LFE155 27981 418a 0200 .2byte 0x2 27982 418c 7D .byte 0x7d 27983 418d 08 .sleb128 8 27984 418e 00000000 .4byte 0 27985 4192 00000000 .4byte 0 27986 .LVUS317: 27987 4196 00 .uleb128 0 27988 4197 00 .uleb128 .LVU2376 27989 4198 00 .uleb128 .LVU2376 27990 4199 00 .uleb128 0 27991 .LLST317: 27992 419a 00000000 .4byte .LVL491 27993 419e 18000000 .4byte .LVL493 27994 41a2 0100 .2byte 0x1 27995 41a4 50 .byte 0x50 27996 41a5 18000000 .4byte .LVL493 27997 41a9 30000000 .4byte .LFE155 27998 41ad 0A00 .2byte 0xa 27999 41af F3 .byte 0xf3 28000 41b0 03 .uleb128 0x3 28001 41b1 F5 .byte 0xf5 28002 41b2 00 .uleb128 0 28003 41b3 29 .uleb128 0x29 28004 41b4 F7 .byte 0xf7 28005 41b5 30 .uleb128 0x30 28006 41b6 F7 .byte 0xf7 28007 41b7 00 .uleb128 0 28008 41b8 9F .byte 0x9f 28009 41b9 00000000 .4byte 0 28010 41bd 00000000 .4byte 0 28011 .LVUS318: 28012 41c1 00 .uleb128 0 28013 41c2 00 .uleb128 .LVU2378 28014 41c3 00 .uleb128 .LVU2378 ARM GAS /tmp/ccjvgGVC.s page 966 28015 41c4 00 .uleb128 .LVU2382 28016 41c5 00 .uleb128 .LVU2382 28017 41c6 00 .uleb128 .LVU2383 28018 41c7 00 .uleb128 .LVU2383 28019 41c8 00 .uleb128 0 28020 .LLST318: 28021 41c9 00000000 .4byte .LVL491 28022 41cd 1E000000 .4byte .LVL494 28023 41d1 0100 .2byte 0x1 28024 41d3 51 .byte 0x51 28025 41d4 1E000000 .4byte .LVL494 28026 41d8 2A000000 .4byte .LVL497 28027 41dc 0A00 .2byte 0xa 28028 41de F3 .byte 0xf3 28029 41df 03 .uleb128 0x3 28030 41e0 F5 .byte 0xf5 28031 41e1 01 .uleb128 0x1 28032 41e2 29 .uleb128 0x29 28033 41e3 F7 .byte 0xf7 28034 41e4 37 .uleb128 0x37 28035 41e5 F7 .byte 0xf7 28036 41e6 00 .uleb128 0 28037 41e7 9F .byte 0x9f 28038 41e8 2A000000 .4byte .LVL497 28039 41ec 2D000000 .4byte .LVL498-1 28040 41f0 0100 .2byte 0x1 28041 41f2 51 .byte 0x51 28042 41f3 2D000000 .4byte .LVL498-1 28043 41f7 30000000 .4byte .LFE155 28044 41fb 0A00 .2byte 0xa 28045 41fd F3 .byte 0xf3 28046 41fe 03 .uleb128 0x3 28047 41ff F5 .byte 0xf5 28048 4200 01 .uleb128 0x1 28049 4201 29 .uleb128 0x29 28050 4202 F7 .byte 0xf7 28051 4203 37 .uleb128 0x37 28052 4204 F7 .byte 0xf7 28053 4205 00 .uleb128 0 28054 4206 9F .byte 0x9f 28055 4207 00000000 .4byte 0 28056 420b 00000000 .4byte 0 28057 .LVUS319: 28058 420f 01 .uleb128 .LVU2370 28059 4210 00 .uleb128 .LVU2380 28060 4211 00 .uleb128 .LVU2382 28061 4212 00 .uleb128 0 28062 .LLST319: 28063 4213 00000000 .4byte .LVL491 28064 4217 28000000 .4byte .LVL496 28065 421b 0200 .2byte 0x2 28066 421d 30 .byte 0x30 28067 421e 9F .byte 0x9f 28068 421f 2A000000 .4byte .LVL497 28069 4223 30000000 .4byte .LFE155 28070 4227 0200 .2byte 0x2 28071 4229 30 .byte 0x30 ARM GAS /tmp/ccjvgGVC.s page 967 28072 422a 9F .byte 0x9f 28073 422b 00000000 .4byte 0 28074 422f 00000000 .4byte 0 28075 .LVUS321: 28076 4233 00 .uleb128 .LVU2372 28077 4234 00 .uleb128 .LVU2380 28078 4235 00 .uleb128 .LVU2382 28079 4236 00 .uleb128 0 28080 .LLST321: 28081 4237 06000000 .4byte .LVL492 28082 423b 28000000 .4byte .LVL496 28083 423f 0100 .2byte 0x1 28084 4241 54 .byte 0x54 28085 4242 2A000000 .4byte .LVL497 28086 4246 30000000 .4byte .LFE155 28087 424a 0100 .2byte 0x1 28088 424c 54 .byte 0x54 28089 424d 00000000 .4byte 0 28090 4251 00000000 .4byte 0 28091 .LVUS322: 28092 4255 00 .uleb128 .LVU2372 28093 4256 00 .uleb128 .LVU2378 28094 4257 00 .uleb128 .LVU2378 28095 4258 00 .uleb128 .LVU2380 28096 4259 00 .uleb128 .LVU2382 28097 425a 00 .uleb128 .LVU2383 28098 425b 00 .uleb128 .LVU2383 28099 425c 00 .uleb128 0 28100 .LLST322: 28101 425d 06000000 .4byte .LVL492 28102 4261 1E000000 .4byte .LVL494 28103 4265 0100 .2byte 0x1 28104 4267 51 .byte 0x51 28105 4268 1E000000 .4byte .LVL494 28106 426c 28000000 .4byte .LVL496 28107 4270 0A00 .2byte 0xa 28108 4272 F3 .byte 0xf3 28109 4273 03 .uleb128 0x3 28110 4274 F5 .byte 0xf5 28111 4275 01 .uleb128 0x1 28112 4276 29 .uleb128 0x29 28113 4277 F7 .byte 0xf7 28114 4278 37 .uleb128 0x37 28115 4279 F7 .byte 0xf7 28116 427a 00 .uleb128 0 28117 427b 9F .byte 0x9f 28118 427c 2A000000 .4byte .LVL497 28119 4280 2D000000 .4byte .LVL498-1 28120 4284 0100 .2byte 0x1 28121 4286 51 .byte 0x51 28122 4287 2D000000 .4byte .LVL498-1 28123 428b 30000000 .4byte .LFE155 28124 428f 0A00 .2byte 0xa 28125 4291 F3 .byte 0xf3 28126 4292 03 .uleb128 0x3 28127 4293 F5 .byte 0xf5 28128 4294 01 .uleb128 0x1 ARM GAS /tmp/ccjvgGVC.s page 968 28129 4295 29 .uleb128 0x29 28130 4296 F7 .byte 0xf7 28131 4297 37 .uleb128 0x37 28132 4298 F7 .byte 0xf7 28133 4299 00 .uleb128 0 28134 429a 9F .byte 0x9f 28135 429b 00000000 .4byte 0 28136 429f 00000000 .4byte 0 28137 .LLST323: 28138 42a3 00000000 .4byte .LFB158 28139 42a7 14000000 .4byte .LCFI64 28140 42ab 0200 .2byte 0x2 28141 42ad 7D .byte 0x7d 28142 42ae 00 .sleb128 0 28143 42af 14000000 .4byte .LCFI64 28144 42b3 D8000000 .4byte .LFE158 28145 42b7 0200 .2byte 0x2 28146 42b9 7D .byte 0x7d 28147 42ba 10 .sleb128 16 28148 42bb 00000000 .4byte 0 28149 42bf 00000000 .4byte 0 28150 .LVUS324: 28151 42c3 00 .uleb128 0 28152 42c4 00 .uleb128 .LVU2386 28153 42c5 00 .uleb128 .LVU2386 28154 42c6 00 .uleb128 0 28155 .LLST324: 28156 42c7 00000000 .4byte .LVL499 28157 42cb 04000000 .4byte .LVL500 28158 42cf 0100 .2byte 0x1 28159 42d1 50 .byte 0x50 28160 42d2 04000000 .4byte .LVL500 28161 42d6 D8000000 .4byte .LFE158 28162 42da 0A00 .2byte 0xa 28163 42dc F3 .byte 0xf3 28164 42dd 03 .uleb128 0x3 28165 42de F5 .byte 0xf5 28166 42df 00 .uleb128 0 28167 42e0 29 .uleb128 0x29 28168 42e1 F7 .byte 0xf7 28169 42e2 30 .uleb128 0x30 28170 42e3 F7 .byte 0xf7 28171 42e4 00 .uleb128 0 28172 42e5 9F .byte 0x9f 28173 42e6 00000000 .4byte 0 28174 42ea 00000000 .4byte 0 28175 .LVUS325: 28176 42ee 00 .uleb128 0 28177 42ef 00 .uleb128 .LVU2389 28178 42f0 00 .uleb128 .LVU2389 28179 42f1 00 .uleb128 0 28180 .LLST325: 28181 42f2 00000000 .4byte .LVL499 28182 42f6 18000000 .4byte .LVL501 28183 42fa 0100 .2byte 0x1 28184 42fc 51 .byte 0x51 28185 42fd 18000000 .4byte .LVL501 ARM GAS /tmp/ccjvgGVC.s page 969 28186 4301 D8000000 .4byte .LFE158 28187 4305 0A00 .2byte 0xa 28188 4307 F3 .byte 0xf3 28189 4308 03 .uleb128 0x3 28190 4309 F5 .byte 0xf5 28191 430a 01 .uleb128 0x1 28192 430b 29 .uleb128 0x29 28193 430c F7 .byte 0xf7 28194 430d 37 .uleb128 0x37 28195 430e F7 .byte 0xf7 28196 430f 00 .uleb128 0 28197 4310 9F .byte 0x9f 28198 4311 00000000 .4byte 0 28199 4315 00000000 .4byte 0 28200 .LVUS326: 28201 4319 01 .uleb128 .LVU2385 28202 431a 00 .uleb128 .LVU2422 28203 431b 00 .uleb128 .LVU2424 28204 431c 00 .uleb128 0 28205 .LLST326: 28206 431d 00000000 .4byte .LVL499 28207 4321 96000000 .4byte .LVL509 28208 4325 0200 .2byte 0x2 28209 4327 30 .byte 0x30 28210 4328 9F .byte 0x9f 28211 4329 98000000 .4byte .LVL510 28212 432d D8000000 .4byte .LFE158 28213 4331 0200 .2byte 0x2 28214 4333 30 .byte 0x30 28215 4334 9F .byte 0x9f 28216 4335 00000000 .4byte 0 28217 4339 00000000 .4byte 0 28218 .LVUS328: 28219 433d 00 .uleb128 .LVU2386 28220 433e 00 .uleb128 .LVU2422 28221 433f 00 .uleb128 .LVU2424 28222 4340 00 .uleb128 0 28223 .LLST328: 28224 4341 04000000 .4byte .LVL500 28225 4345 96000000 .4byte .LVL509 28226 4349 0100 .2byte 0x1 28227 434b 50 .byte 0x50 28228 434c 98000000 .4byte .LVL510 28229 4350 D8000000 .4byte .LFE158 28230 4354 0100 .2byte 0x1 28231 4356 50 .byte 0x50 28232 4357 00000000 .4byte 0 28233 435b 00000000 .4byte 0 28234 .LVUS329: 28235 435f 00 .uleb128 .LVU2386 28236 4360 00 .uleb128 .LVU2389 28237 4361 00 .uleb128 .LVU2389 28238 4362 00 .uleb128 .LVU2422 28239 4363 00 .uleb128 .LVU2424 28240 4364 00 .uleb128 0 28241 .LLST329: 28242 4365 04000000 .4byte .LVL500 ARM GAS /tmp/ccjvgGVC.s page 970 28243 4369 18000000 .4byte .LVL501 28244 436d 0100 .2byte 0x1 28245 436f 51 .byte 0x51 28246 4370 18000000 .4byte .LVL501 28247 4374 96000000 .4byte .LVL509 28248 4378 0A00 .2byte 0xa 28249 437a F3 .byte 0xf3 28250 437b 03 .uleb128 0x3 28251 437c F5 .byte 0xf5 28252 437d 01 .uleb128 0x1 28253 437e 29 .uleb128 0x29 28254 437f F7 .byte 0xf7 28255 4380 37 .uleb128 0x37 28256 4381 F7 .byte 0xf7 28257 4382 00 .uleb128 0 28258 4383 9F .byte 0x9f 28259 4384 98000000 .4byte .LVL510 28260 4388 D8000000 .4byte .LFE158 28261 438c 0A00 .2byte 0xa 28262 438e F3 .byte 0xf3 28263 438f 03 .uleb128 0x3 28264 4390 F5 .byte 0xf5 28265 4391 01 .uleb128 0x1 28266 4392 29 .uleb128 0x29 28267 4393 F7 .byte 0xf7 28268 4394 37 .uleb128 0x37 28269 4395 F7 .byte 0xf7 28270 4396 00 .uleb128 0 28271 4397 9F .byte 0x9f 28272 4398 00000000 .4byte 0 28273 439c 00000000 .4byte 0 28274 .LVUS330: 28275 43a0 00 .uleb128 .LVU2393 28276 43a1 00 .uleb128 .LVU2401 28277 43a2 00 .uleb128 .LVU2401 28278 43a3 00 .uleb128 .LVU2422 28279 43a4 00 .uleb128 .LVU2424 28280 43a5 00 .uleb128 0 28281 .LLST330: 28282 43a6 24000000 .4byte .LVL502 28283 43aa 46000000 .4byte .LVL504 28284 43ae 0100 .2byte 0x1 28285 43b0 52 .byte 0x52 28286 43b1 46000000 .4byte .LVL504 28287 43b5 96000000 .4byte .LVL509 28288 43b9 3102 .2byte 0x231 28289 43bb F3 .byte 0xf3 28290 43bc 03 .uleb128 0x3 28291 43bd F5 .byte 0xf5 28292 43be 01 .uleb128 0x1 28293 43bf 29 .uleb128 0x29 28294 43c0 F7 .byte 0xf7 28295 43c1 30 .uleb128 0x30 28296 43c2 F7 .byte 0xf7 28297 43c3 00 .uleb128 0 28298 43c4 3F .byte 0x3f 28299 43c5 1A .byte 0x1a ARM GAS /tmp/ccjvgGVC.s page 971 28300 43c6 4C .byte 0x4c 28301 43c7 1E .byte 0x1e 28302 43c8 23 .byte 0x23 28303 43c9 3C .uleb128 0x3c 28304 43ca F3 .byte 0xf3 28305 43cb 03 .uleb128 0x3 28306 43cc F5 .byte 0xf5 28307 43cd 01 .uleb128 0x1 28308 43ce 29 .uleb128 0x29 28309 43cf F7 .byte 0xf7 28310 43d0 30 .uleb128 0x30 28311 43d1 F7 .byte 0xf7 28312 43d2 00 .uleb128 0 28313 43d3 3F .byte 0x3f 28314 43d4 1A .byte 0x1a 28315 43d5 4C .byte 0x4c 28316 43d6 1E .byte 0x1e 28317 43d7 F3 .byte 0xf3 28318 43d8 03 .uleb128 0x3 28319 43d9 F5 .byte 0xf5 28320 43da 01 .uleb128 0x1 28321 43db 29 .uleb128 0x29 28322 43dc F7 .byte 0xf7 28323 43dd 30 .uleb128 0x30 28324 43de F7 .byte 0xf7 28325 43df 00 .uleb128 0 28326 43e0 09 .byte 0x9 28327 43e1 FC .byte 0xfc 28328 43e2 24 .byte 0x24 28329 43e3 33 .byte 0x33 28330 43e4 25 .byte 0x25 28331 43e5 30 .byte 0x30 28332 43e6 2E .byte 0x2e 28333 43e7 28 .byte 0x28 28334 43e8 0100 .2byte 0x1 28335 43ea 16 .byte 0x16 28336 43eb 13 .byte 0x13 28337 43ec 23 .byte 0x23 28338 43ed FC03 .uleb128 0x1fc 28339 43ef F3 .byte 0xf3 28340 43f0 03 .uleb128 0x3 28341 43f1 F5 .byte 0xf5 28342 43f2 01 .uleb128 0x1 28343 43f3 29 .uleb128 0x29 28344 43f4 F7 .byte 0xf7 28345 43f5 30 .uleb128 0x30 28346 43f6 F7 .byte 0xf7 28347 43f7 00 .uleb128 0 28348 43f8 3F .byte 0x3f 28349 43f9 1A .byte 0x1a 28350 43fa 4C .byte 0x4c 28351 43fb 1E .byte 0x1e 28352 43fc 23 .byte 0x23 28353 43fd 3C .uleb128 0x3c 28354 43fe F3 .byte 0xf3 28355 43ff 03 .uleb128 0x3 28356 4400 F5 .byte 0xf5 ARM GAS /tmp/ccjvgGVC.s page 972 28357 4401 01 .uleb128 0x1 28358 4402 29 .uleb128 0x29 28359 4403 F7 .byte 0xf7 28360 4404 30 .uleb128 0x30 28361 4405 F7 .byte 0xf7 28362 4406 00 .uleb128 0 28363 4407 3F .byte 0x3f 28364 4408 1A .byte 0x1a 28365 4409 4C .byte 0x4c 28366 440a 1E .byte 0x1e 28367 440b F3 .byte 0xf3 28368 440c 03 .uleb128 0x3 28369 440d F5 .byte 0xf5 28370 440e 01 .uleb128 0x1 28371 440f 29 .uleb128 0x29 28372 4410 F7 .byte 0xf7 28373 4411 30 .uleb128 0x30 28374 4412 F7 .byte 0xf7 28375 4413 00 .uleb128 0 28376 4414 09 .byte 0x9 28377 4415 FC .byte 0xfc 28378 4416 24 .byte 0x24 28379 4417 33 .byte 0x33 28380 4418 25 .byte 0x25 28381 4419 30 .byte 0x30 28382 441a 2E .byte 0x2e 28383 441b 28 .byte 0x28 28384 441c 0100 .2byte 0x1 28385 441e 16 .byte 0x16 28386 441f 13 .byte 0x13 28387 4420 F3 .byte 0xf3 28388 4421 03 .uleb128 0x3 28389 4422 F5 .byte 0xf5 28390 4423 01 .uleb128 0x1 28391 4424 29 .uleb128 0x29 28392 4425 F7 .byte 0xf7 28393 4426 30 .uleb128 0x30 28394 4427 F7 .byte 0xf7 28395 4428 00 .uleb128 0 28396 4429 09 .byte 0x9 28397 442a FC .byte 0xfc 28398 442b 24 .byte 0x24 28399 442c 33 .byte 0x33 28400 442d 25 .byte 0x25 28401 442e 30 .byte 0x30 28402 442f 29 .byte 0x29 28403 4430 28 .byte 0x28 28404 4431 0100 .2byte 0x1 28405 4433 16 .byte 0x16 28406 4434 13 .byte 0x13 28407 4435 70 .byte 0x70 28408 4436 00 .sleb128 0 28409 4437 22 .byte 0x22 28410 4438 F3 .byte 0xf3 28411 4439 03 .uleb128 0x3 28412 443a F5 .byte 0xf5 28413 443b 01 .uleb128 0x1 ARM GAS /tmp/ccjvgGVC.s page 973 28414 443c 29 .uleb128 0x29 28415 443d F7 .byte 0xf7 28416 443e 30 .uleb128 0x30 28417 443f F7 .byte 0xf7 28418 4440 00 .uleb128 0 28419 4441 3F .byte 0x3f 28420 4442 1A .byte 0x1a 28421 4443 4C .byte 0x4c 28422 4444 1E .byte 0x1e 28423 4445 23 .byte 0x23 28424 4446 3C .uleb128 0x3c 28425 4447 F3 .byte 0xf3 28426 4448 03 .uleb128 0x3 28427 4449 F5 .byte 0xf5 28428 444a 01 .uleb128 0x1 28429 444b 29 .uleb128 0x29 28430 444c F7 .byte 0xf7 28431 444d 30 .uleb128 0x30 28432 444e F7 .byte 0xf7 28433 444f 00 .uleb128 0 28434 4450 3F .byte 0x3f 28435 4451 1A .byte 0x1a 28436 4452 4C .byte 0x4c 28437 4453 1E .byte 0x1e 28438 4454 F3 .byte 0xf3 28439 4455 03 .uleb128 0x3 28440 4456 F5 .byte 0xf5 28441 4457 01 .uleb128 0x1 28442 4458 29 .uleb128 0x29 28443 4459 F7 .byte 0xf7 28444 445a 30 .uleb128 0x30 28445 445b F7 .byte 0xf7 28446 445c 00 .uleb128 0 28447 445d 09 .byte 0x9 28448 445e FC .byte 0xfc 28449 445f 24 .byte 0x24 28450 4460 33 .byte 0x33 28451 4461 25 .byte 0x25 28452 4462 30 .byte 0x30 28453 4463 2E .byte 0x2e 28454 4464 28 .byte 0x28 28455 4465 0100 .2byte 0x1 28456 4467 16 .byte 0x16 28457 4468 13 .byte 0x13 28458 4469 23 .byte 0x23 28459 446a FC03 .uleb128 0x1fc 28460 446c F3 .byte 0xf3 28461 446d 03 .uleb128 0x3 28462 446e F5 .byte 0xf5 28463 446f 01 .uleb128 0x1 28464 4470 29 .uleb128 0x29 28465 4471 F7 .byte 0xf7 28466 4472 30 .uleb128 0x30 28467 4473 F7 .byte 0xf7 28468 4474 00 .uleb128 0 28469 4475 3F .byte 0x3f 28470 4476 1A .byte 0x1a ARM GAS /tmp/ccjvgGVC.s page 974 28471 4477 4C .byte 0x4c 28472 4478 1E .byte 0x1e 28473 4479 23 .byte 0x23 28474 447a 3C .uleb128 0x3c 28475 447b F3 .byte 0xf3 28476 447c 03 .uleb128 0x3 28477 447d F5 .byte 0xf5 28478 447e 01 .uleb128 0x1 28479 447f 29 .uleb128 0x29 28480 4480 F7 .byte 0xf7 28481 4481 30 .uleb128 0x30 28482 4482 F7 .byte 0xf7 28483 4483 00 .uleb128 0 28484 4484 3F .byte 0x3f 28485 4485 1A .byte 0x1a 28486 4486 4C .byte 0x4c 28487 4487 1E .byte 0x1e 28488 4488 F3 .byte 0xf3 28489 4489 03 .uleb128 0x3 28490 448a F5 .byte 0xf5 28491 448b 01 .uleb128 0x1 28492 448c 29 .uleb128 0x29 28493 448d F7 .byte 0xf7 28494 448e 30 .uleb128 0x30 28495 448f F7 .byte 0xf7 28496 4490 00 .uleb128 0 28497 4491 09 .byte 0x9 28498 4492 FC .byte 0xfc 28499 4493 24 .byte 0x24 28500 4494 33 .byte 0x33 28501 4495 25 .byte 0x25 28502 4496 30 .byte 0x30 28503 4497 2E .byte 0x2e 28504 4498 28 .byte 0x28 28505 4499 0100 .2byte 0x1 28506 449b 16 .byte 0x16 28507 449c 13 .byte 0x13 28508 449d F3 .byte 0xf3 28509 449e 03 .uleb128 0x3 28510 449f F5 .byte 0xf5 28511 44a0 01 .uleb128 0x1 28512 44a1 29 .uleb128 0x29 28513 44a2 F7 .byte 0xf7 28514 44a3 30 .uleb128 0x30 28515 44a4 F7 .byte 0xf7 28516 44a5 00 .uleb128 0 28517 44a6 09 .byte 0x9 28518 44a7 FC .byte 0xfc 28519 44a8 24 .byte 0x24 28520 44a9 33 .byte 0x33 28521 44aa 25 .byte 0x25 28522 44ab 30 .byte 0x30 28523 44ac 29 .byte 0x29 28524 44ad 28 .byte 0x28 28525 44ae 0100 .2byte 0x1 28526 44b0 16 .byte 0x16 28527 44b1 13 .byte 0x13 ARM GAS /tmp/ccjvgGVC.s page 975 28528 44b2 F3 .byte 0xf3 28529 44b3 03 .uleb128 0x3 28530 44b4 F5 .byte 0xf5 28531 44b5 01 .uleb128 0x1 28532 44b6 29 .uleb128 0x29 28533 44b7 F7 .byte 0xf7 28534 44b8 30 .uleb128 0x30 28535 44b9 F7 .byte 0xf7 28536 44ba 00 .uleb128 0 28537 44bb 09 .byte 0x9 28538 44bc FC .byte 0xfc 28539 44bd 24 .byte 0x24 28540 44be 33 .byte 0x33 28541 44bf 25 .byte 0x25 28542 44c0 30 .byte 0x30 28543 44c1 2E .byte 0x2e 28544 44c2 28 .byte 0x28 28545 44c3 0100 .2byte 0x1 28546 44c5 16 .byte 0x16 28547 44c6 13 .byte 0x13 28548 44c7 70 .byte 0x70 28549 44c8 00 .sleb128 0 28550 44c9 22 .byte 0x22 28551 44ca F3 .byte 0xf3 28552 44cb 03 .uleb128 0x3 28553 44cc F5 .byte 0xf5 28554 44cd 01 .uleb128 0x1 28555 44ce 29 .uleb128 0x29 28556 44cf F7 .byte 0xf7 28557 44d0 30 .uleb128 0x30 28558 44d1 F7 .byte 0xf7 28559 44d2 00 .uleb128 0 28560 44d3 3F .byte 0x3f 28561 44d4 1A .byte 0x1a 28562 44d5 4C .byte 0x4c 28563 44d6 1E .byte 0x1e 28564 44d7 23 .byte 0x23 28565 44d8 3C .uleb128 0x3c 28566 44d9 F3 .byte 0xf3 28567 44da 03 .uleb128 0x3 28568 44db F5 .byte 0xf5 28569 44dc 01 .uleb128 0x1 28570 44dd 29 .uleb128 0x29 28571 44de F7 .byte 0xf7 28572 44df 30 .uleb128 0x30 28573 44e0 F7 .byte 0xf7 28574 44e1 00 .uleb128 0 28575 44e2 3F .byte 0x3f 28576 44e3 1A .byte 0x1a 28577 44e4 4C .byte 0x4c 28578 44e5 1E .byte 0x1e 28579 44e6 F3 .byte 0xf3 28580 44e7 03 .uleb128 0x3 28581 44e8 F5 .byte 0xf5 28582 44e9 01 .uleb128 0x1 28583 44ea 29 .uleb128 0x29 28584 44eb F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 976 28585 44ec 30 .uleb128 0x30 28586 44ed F7 .byte 0xf7 28587 44ee 00 .uleb128 0 28588 44ef 09 .byte 0x9 28589 44f0 FC .byte 0xfc 28590 44f1 24 .byte 0x24 28591 44f2 33 .byte 0x33 28592 44f3 25 .byte 0x25 28593 44f4 30 .byte 0x30 28594 44f5 2E .byte 0x2e 28595 44f6 28 .byte 0x28 28596 44f7 0100 .2byte 0x1 28597 44f9 16 .byte 0x16 28598 44fa 13 .byte 0x13 28599 44fb 23 .byte 0x23 28600 44fc FC03 .uleb128 0x1fc 28601 44fe F3 .byte 0xf3 28602 44ff 03 .uleb128 0x3 28603 4500 F5 .byte 0xf5 28604 4501 01 .uleb128 0x1 28605 4502 29 .uleb128 0x29 28606 4503 F7 .byte 0xf7 28607 4504 30 .uleb128 0x30 28608 4505 F7 .byte 0xf7 28609 4506 00 .uleb128 0 28610 4507 3F .byte 0x3f 28611 4508 1A .byte 0x1a 28612 4509 4C .byte 0x4c 28613 450a 1E .byte 0x1e 28614 450b 23 .byte 0x23 28615 450c 3C .uleb128 0x3c 28616 450d F3 .byte 0xf3 28617 450e 03 .uleb128 0x3 28618 450f F5 .byte 0xf5 28619 4510 01 .uleb128 0x1 28620 4511 29 .uleb128 0x29 28621 4512 F7 .byte 0xf7 28622 4513 30 .uleb128 0x30 28623 4514 F7 .byte 0xf7 28624 4515 00 .uleb128 0 28625 4516 3F .byte 0x3f 28626 4517 1A .byte 0x1a 28627 4518 4C .byte 0x4c 28628 4519 1E .byte 0x1e 28629 451a F3 .byte 0xf3 28630 451b 03 .uleb128 0x3 28631 451c F5 .byte 0xf5 28632 451d 01 .uleb128 0x1 28633 451e 29 .uleb128 0x29 28634 451f F7 .byte 0xf7 28635 4520 30 .uleb128 0x30 28636 4521 F7 .byte 0xf7 28637 4522 00 .uleb128 0 28638 4523 09 .byte 0x9 28639 4524 FC .byte 0xfc 28640 4525 24 .byte 0x24 28641 4526 33 .byte 0x33 ARM GAS /tmp/ccjvgGVC.s page 977 28642 4527 25 .byte 0x25 28643 4528 30 .byte 0x30 28644 4529 2E .byte 0x2e 28645 452a 28 .byte 0x28 28646 452b 0100 .2byte 0x1 28647 452d 16 .byte 0x16 28648 452e 13 .byte 0x13 28649 452f F3 .byte 0xf3 28650 4530 03 .uleb128 0x3 28651 4531 F5 .byte 0xf5 28652 4532 01 .uleb128 0x1 28653 4533 29 .uleb128 0x29 28654 4534 F7 .byte 0xf7 28655 4535 30 .uleb128 0x30 28656 4536 F7 .byte 0xf7 28657 4537 00 .uleb128 0 28658 4538 09 .byte 0x9 28659 4539 FC .byte 0xfc 28660 453a 24 .byte 0x24 28661 453b 33 .byte 0x33 28662 453c 25 .byte 0x25 28663 453d 30 .byte 0x30 28664 453e 29 .byte 0x29 28665 453f 28 .byte 0x28 28666 4540 0100 .2byte 0x1 28667 4542 16 .byte 0x16 28668 4543 13 .byte 0x13 28669 4544 70 .byte 0x70 28670 4545 00 .sleb128 0 28671 4546 22 .byte 0x22 28672 4547 F3 .byte 0xf3 28673 4548 03 .uleb128 0x3 28674 4549 F5 .byte 0xf5 28675 454a 01 .uleb128 0x1 28676 454b 29 .uleb128 0x29 28677 454c F7 .byte 0xf7 28678 454d 30 .uleb128 0x30 28679 454e F7 .byte 0xf7 28680 454f 00 .uleb128 0 28681 4550 3F .byte 0x3f 28682 4551 1A .byte 0x1a 28683 4552 4C .byte 0x4c 28684 4553 1E .byte 0x1e 28685 4554 23 .byte 0x23 28686 4555 3C .uleb128 0x3c 28687 4556 F3 .byte 0xf3 28688 4557 03 .uleb128 0x3 28689 4558 F5 .byte 0xf5 28690 4559 01 .uleb128 0x1 28691 455a 29 .uleb128 0x29 28692 455b F7 .byte 0xf7 28693 455c 30 .uleb128 0x30 28694 455d F7 .byte 0xf7 28695 455e 00 .uleb128 0 28696 455f 3F .byte 0x3f 28697 4560 1A .byte 0x1a 28698 4561 4C .byte 0x4c ARM GAS /tmp/ccjvgGVC.s page 978 28699 4562 1E .byte 0x1e 28700 4563 F3 .byte 0xf3 28701 4564 03 .uleb128 0x3 28702 4565 F5 .byte 0xf5 28703 4566 01 .uleb128 0x1 28704 4567 29 .uleb128 0x29 28705 4568 F7 .byte 0xf7 28706 4569 30 .uleb128 0x30 28707 456a F7 .byte 0xf7 28708 456b 00 .uleb128 0 28709 456c 09 .byte 0x9 28710 456d FC .byte 0xfc 28711 456e 24 .byte 0x24 28712 456f 33 .byte 0x33 28713 4570 25 .byte 0x25 28714 4571 30 .byte 0x30 28715 4572 2E .byte 0x2e 28716 4573 28 .byte 0x28 28717 4574 0100 .2byte 0x1 28718 4576 16 .byte 0x16 28719 4577 13 .byte 0x13 28720 4578 23 .byte 0x23 28721 4579 FC03 .uleb128 0x1fc 28722 457b F3 .byte 0xf3 28723 457c 03 .uleb128 0x3 28724 457d F5 .byte 0xf5 28725 457e 01 .uleb128 0x1 28726 457f 29 .uleb128 0x29 28727 4580 F7 .byte 0xf7 28728 4581 30 .uleb128 0x30 28729 4582 F7 .byte 0xf7 28730 4583 00 .uleb128 0 28731 4584 3F .byte 0x3f 28732 4585 1A .byte 0x1a 28733 4586 4C .byte 0x4c 28734 4587 1E .byte 0x1e 28735 4588 23 .byte 0x23 28736 4589 3C .uleb128 0x3c 28737 458a F3 .byte 0xf3 28738 458b 03 .uleb128 0x3 28739 458c F5 .byte 0xf5 28740 458d 01 .uleb128 0x1 28741 458e 29 .uleb128 0x29 28742 458f F7 .byte 0xf7 28743 4590 30 .uleb128 0x30 28744 4591 F7 .byte 0xf7 28745 4592 00 .uleb128 0 28746 4593 3F .byte 0x3f 28747 4594 1A .byte 0x1a 28748 4595 4C .byte 0x4c 28749 4596 1E .byte 0x1e 28750 4597 F3 .byte 0xf3 28751 4598 03 .uleb128 0x3 28752 4599 F5 .byte 0xf5 28753 459a 01 .uleb128 0x1 28754 459b 29 .uleb128 0x29 28755 459c F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 979 28756 459d 30 .uleb128 0x30 28757 459e F7 .byte 0xf7 28758 459f 00 .uleb128 0 28759 45a0 09 .byte 0x9 28760 45a1 FC .byte 0xfc 28761 45a2 24 .byte 0x24 28762 45a3 33 .byte 0x33 28763 45a4 25 .byte 0x25 28764 45a5 30 .byte 0x30 28765 45a6 2E .byte 0x2e 28766 45a7 28 .byte 0x28 28767 45a8 0100 .2byte 0x1 28768 45aa 16 .byte 0x16 28769 45ab 13 .byte 0x13 28770 45ac F3 .byte 0xf3 28771 45ad 03 .uleb128 0x3 28772 45ae F5 .byte 0xf5 28773 45af 01 .uleb128 0x1 28774 45b0 29 .uleb128 0x29 28775 45b1 F7 .byte 0xf7 28776 45b2 30 .uleb128 0x30 28777 45b3 F7 .byte 0xf7 28778 45b4 00 .uleb128 0 28779 45b5 09 .byte 0x9 28780 45b6 FC .byte 0xfc 28781 45b7 24 .byte 0x24 28782 45b8 33 .byte 0x33 28783 45b9 25 .byte 0x25 28784 45ba 30 .byte 0x30 28785 45bb 29 .byte 0x29 28786 45bc 28 .byte 0x28 28787 45bd 0100 .2byte 0x1 28788 45bf 16 .byte 0x16 28789 45c0 13 .byte 0x13 28790 45c1 F3 .byte 0xf3 28791 45c2 03 .uleb128 0x3 28792 45c3 F5 .byte 0xf5 28793 45c4 01 .uleb128 0x1 28794 45c5 29 .uleb128 0x29 28795 45c6 F7 .byte 0xf7 28796 45c7 30 .uleb128 0x30 28797 45c8 F7 .byte 0xf7 28798 45c9 00 .uleb128 0 28799 45ca 09 .byte 0x9 28800 45cb FC .byte 0xfc 28801 45cc 24 .byte 0x24 28802 45cd 33 .byte 0x33 28803 45ce 25 .byte 0x25 28804 45cf 30 .byte 0x30 28805 45d0 2E .byte 0x2e 28806 45d1 28 .byte 0x28 28807 45d2 0100 .2byte 0x1 28808 45d4 16 .byte 0x16 28809 45d5 13 .byte 0x13 28810 45d6 F3 .byte 0xf3 28811 45d7 03 .uleb128 0x3 28812 45d8 F5 .byte 0xf5 ARM GAS /tmp/ccjvgGVC.s page 980 28813 45d9 01 .uleb128 0x1 28814 45da 29 .uleb128 0x29 28815 45db F7 .byte 0xf7 28816 45dc 30 .uleb128 0x30 28817 45dd F7 .byte 0xf7 28818 45de 00 .uleb128 0 28819 45df 09 .byte 0x9 28820 45e0 FC .byte 0xfc 28821 45e1 24 .byte 0x24 28822 45e2 33 .byte 0x33 28823 45e3 25 .byte 0x25 28824 45e4 30 .byte 0x30 28825 45e5 29 .byte 0x29 28826 45e6 28 .byte 0x28 28827 45e7 0100 .2byte 0x1 28828 45e9 16 .byte 0x16 28829 45ea 13 .byte 0x13 28830 45eb 9F .byte 0x9f 28831 45ec 98000000 .4byte .LVL510 28832 45f0 D8000000 .4byte .LFE158 28833 45f4 3102 .2byte 0x231 28834 45f6 F3 .byte 0xf3 28835 45f7 03 .uleb128 0x3 28836 45f8 F5 .byte 0xf5 28837 45f9 01 .uleb128 0x1 28838 45fa 29 .uleb128 0x29 28839 45fb F7 .byte 0xf7 28840 45fc 30 .uleb128 0x30 28841 45fd F7 .byte 0xf7 28842 45fe 00 .uleb128 0 28843 45ff 3F .byte 0x3f 28844 4600 1A .byte 0x1a 28845 4601 4C .byte 0x4c 28846 4602 1E .byte 0x1e 28847 4603 23 .byte 0x23 28848 4604 3C .uleb128 0x3c 28849 4605 F3 .byte 0xf3 28850 4606 03 .uleb128 0x3 28851 4607 F5 .byte 0xf5 28852 4608 01 .uleb128 0x1 28853 4609 29 .uleb128 0x29 28854 460a F7 .byte 0xf7 28855 460b 30 .uleb128 0x30 28856 460c F7 .byte 0xf7 28857 460d 00 .uleb128 0 28858 460e 3F .byte 0x3f 28859 460f 1A .byte 0x1a 28860 4610 4C .byte 0x4c 28861 4611 1E .byte 0x1e 28862 4612 F3 .byte 0xf3 28863 4613 03 .uleb128 0x3 28864 4614 F5 .byte 0xf5 28865 4615 01 .uleb128 0x1 28866 4616 29 .uleb128 0x29 28867 4617 F7 .byte 0xf7 28868 4618 30 .uleb128 0x30 28869 4619 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 981 28870 461a 00 .uleb128 0 28871 461b 09 .byte 0x9 28872 461c FC .byte 0xfc 28873 461d 24 .byte 0x24 28874 461e 33 .byte 0x33 28875 461f 25 .byte 0x25 28876 4620 30 .byte 0x30 28877 4621 2E .byte 0x2e 28878 4622 28 .byte 0x28 28879 4623 0100 .2byte 0x1 28880 4625 16 .byte 0x16 28881 4626 13 .byte 0x13 28882 4627 23 .byte 0x23 28883 4628 FC03 .uleb128 0x1fc 28884 462a F3 .byte 0xf3 28885 462b 03 .uleb128 0x3 28886 462c F5 .byte 0xf5 28887 462d 01 .uleb128 0x1 28888 462e 29 .uleb128 0x29 28889 462f F7 .byte 0xf7 28890 4630 30 .uleb128 0x30 28891 4631 F7 .byte 0xf7 28892 4632 00 .uleb128 0 28893 4633 3F .byte 0x3f 28894 4634 1A .byte 0x1a 28895 4635 4C .byte 0x4c 28896 4636 1E .byte 0x1e 28897 4637 23 .byte 0x23 28898 4638 3C .uleb128 0x3c 28899 4639 F3 .byte 0xf3 28900 463a 03 .uleb128 0x3 28901 463b F5 .byte 0xf5 28902 463c 01 .uleb128 0x1 28903 463d 29 .uleb128 0x29 28904 463e F7 .byte 0xf7 28905 463f 30 .uleb128 0x30 28906 4640 F7 .byte 0xf7 28907 4641 00 .uleb128 0 28908 4642 3F .byte 0x3f 28909 4643 1A .byte 0x1a 28910 4644 4C .byte 0x4c 28911 4645 1E .byte 0x1e 28912 4646 F3 .byte 0xf3 28913 4647 03 .uleb128 0x3 28914 4648 F5 .byte 0xf5 28915 4649 01 .uleb128 0x1 28916 464a 29 .uleb128 0x29 28917 464b F7 .byte 0xf7 28918 464c 30 .uleb128 0x30 28919 464d F7 .byte 0xf7 28920 464e 00 .uleb128 0 28921 464f 09 .byte 0x9 28922 4650 FC .byte 0xfc 28923 4651 24 .byte 0x24 28924 4652 33 .byte 0x33 28925 4653 25 .byte 0x25 28926 4654 30 .byte 0x30 ARM GAS /tmp/ccjvgGVC.s page 982 28927 4655 2E .byte 0x2e 28928 4656 28 .byte 0x28 28929 4657 0100 .2byte 0x1 28930 4659 16 .byte 0x16 28931 465a 13 .byte 0x13 28932 465b F3 .byte 0xf3 28933 465c 03 .uleb128 0x3 28934 465d F5 .byte 0xf5 28935 465e 01 .uleb128 0x1 28936 465f 29 .uleb128 0x29 28937 4660 F7 .byte 0xf7 28938 4661 30 .uleb128 0x30 28939 4662 F7 .byte 0xf7 28940 4663 00 .uleb128 0 28941 4664 09 .byte 0x9 28942 4665 FC .byte 0xfc 28943 4666 24 .byte 0x24 28944 4667 33 .byte 0x33 28945 4668 25 .byte 0x25 28946 4669 30 .byte 0x30 28947 466a 29 .byte 0x29 28948 466b 28 .byte 0x28 28949 466c 0100 .2byte 0x1 28950 466e 16 .byte 0x16 28951 466f 13 .byte 0x13 28952 4670 70 .byte 0x70 28953 4671 00 .sleb128 0 28954 4672 22 .byte 0x22 28955 4673 F3 .byte 0xf3 28956 4674 03 .uleb128 0x3 28957 4675 F5 .byte 0xf5 28958 4676 01 .uleb128 0x1 28959 4677 29 .uleb128 0x29 28960 4678 F7 .byte 0xf7 28961 4679 30 .uleb128 0x30 28962 467a F7 .byte 0xf7 28963 467b 00 .uleb128 0 28964 467c 3F .byte 0x3f 28965 467d 1A .byte 0x1a 28966 467e 4C .byte 0x4c 28967 467f 1E .byte 0x1e 28968 4680 23 .byte 0x23 28969 4681 3C .uleb128 0x3c 28970 4682 F3 .byte 0xf3 28971 4683 03 .uleb128 0x3 28972 4684 F5 .byte 0xf5 28973 4685 01 .uleb128 0x1 28974 4686 29 .uleb128 0x29 28975 4687 F7 .byte 0xf7 28976 4688 30 .uleb128 0x30 28977 4689 F7 .byte 0xf7 28978 468a 00 .uleb128 0 28979 468b 3F .byte 0x3f 28980 468c 1A .byte 0x1a 28981 468d 4C .byte 0x4c 28982 468e 1E .byte 0x1e 28983 468f F3 .byte 0xf3 ARM GAS /tmp/ccjvgGVC.s page 983 28984 4690 03 .uleb128 0x3 28985 4691 F5 .byte 0xf5 28986 4692 01 .uleb128 0x1 28987 4693 29 .uleb128 0x29 28988 4694 F7 .byte 0xf7 28989 4695 30 .uleb128 0x30 28990 4696 F7 .byte 0xf7 28991 4697 00 .uleb128 0 28992 4698 09 .byte 0x9 28993 4699 FC .byte 0xfc 28994 469a 24 .byte 0x24 28995 469b 33 .byte 0x33 28996 469c 25 .byte 0x25 28997 469d 30 .byte 0x30 28998 469e 2E .byte 0x2e 28999 469f 28 .byte 0x28 29000 46a0 0100 .2byte 0x1 29001 46a2 16 .byte 0x16 29002 46a3 13 .byte 0x13 29003 46a4 23 .byte 0x23 29004 46a5 FC03 .uleb128 0x1fc 29005 46a7 F3 .byte 0xf3 29006 46a8 03 .uleb128 0x3 29007 46a9 F5 .byte 0xf5 29008 46aa 01 .uleb128 0x1 29009 46ab 29 .uleb128 0x29 29010 46ac F7 .byte 0xf7 29011 46ad 30 .uleb128 0x30 29012 46ae F7 .byte 0xf7 29013 46af 00 .uleb128 0 29014 46b0 3F .byte 0x3f 29015 46b1 1A .byte 0x1a 29016 46b2 4C .byte 0x4c 29017 46b3 1E .byte 0x1e 29018 46b4 23 .byte 0x23 29019 46b5 3C .uleb128 0x3c 29020 46b6 F3 .byte 0xf3 29021 46b7 03 .uleb128 0x3 29022 46b8 F5 .byte 0xf5 29023 46b9 01 .uleb128 0x1 29024 46ba 29 .uleb128 0x29 29025 46bb F7 .byte 0xf7 29026 46bc 30 .uleb128 0x30 29027 46bd F7 .byte 0xf7 29028 46be 00 .uleb128 0 29029 46bf 3F .byte 0x3f 29030 46c0 1A .byte 0x1a 29031 46c1 4C .byte 0x4c 29032 46c2 1E .byte 0x1e 29033 46c3 F3 .byte 0xf3 29034 46c4 03 .uleb128 0x3 29035 46c5 F5 .byte 0xf5 29036 46c6 01 .uleb128 0x1 29037 46c7 29 .uleb128 0x29 29038 46c8 F7 .byte 0xf7 29039 46c9 30 .uleb128 0x30 29040 46ca F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 984 29041 46cb 00 .uleb128 0 29042 46cc 09 .byte 0x9 29043 46cd FC .byte 0xfc 29044 46ce 24 .byte 0x24 29045 46cf 33 .byte 0x33 29046 46d0 25 .byte 0x25 29047 46d1 30 .byte 0x30 29048 46d2 2E .byte 0x2e 29049 46d3 28 .byte 0x28 29050 46d4 0100 .2byte 0x1 29051 46d6 16 .byte 0x16 29052 46d7 13 .byte 0x13 29053 46d8 F3 .byte 0xf3 29054 46d9 03 .uleb128 0x3 29055 46da F5 .byte 0xf5 29056 46db 01 .uleb128 0x1 29057 46dc 29 .uleb128 0x29 29058 46dd F7 .byte 0xf7 29059 46de 30 .uleb128 0x30 29060 46df F7 .byte 0xf7 29061 46e0 00 .uleb128 0 29062 46e1 09 .byte 0x9 29063 46e2 FC .byte 0xfc 29064 46e3 24 .byte 0x24 29065 46e4 33 .byte 0x33 29066 46e5 25 .byte 0x25 29067 46e6 30 .byte 0x30 29068 46e7 29 .byte 0x29 29069 46e8 28 .byte 0x28 29070 46e9 0100 .2byte 0x1 29071 46eb 16 .byte 0x16 29072 46ec 13 .byte 0x13 29073 46ed F3 .byte 0xf3 29074 46ee 03 .uleb128 0x3 29075 46ef F5 .byte 0xf5 29076 46f0 01 .uleb128 0x1 29077 46f1 29 .uleb128 0x29 29078 46f2 F7 .byte 0xf7 29079 46f3 30 .uleb128 0x30 29080 46f4 F7 .byte 0xf7 29081 46f5 00 .uleb128 0 29082 46f6 09 .byte 0x9 29083 46f7 FC .byte 0xfc 29084 46f8 24 .byte 0x24 29085 46f9 33 .byte 0x33 29086 46fa 25 .byte 0x25 29087 46fb 30 .byte 0x30 29088 46fc 2E .byte 0x2e 29089 46fd 28 .byte 0x28 29090 46fe 0100 .2byte 0x1 29091 4700 16 .byte 0x16 29092 4701 13 .byte 0x13 29093 4702 70 .byte 0x70 29094 4703 00 .sleb128 0 29095 4704 22 .byte 0x22 29096 4705 F3 .byte 0xf3 29097 4706 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 985 29098 4707 F5 .byte 0xf5 29099 4708 01 .uleb128 0x1 29100 4709 29 .uleb128 0x29 29101 470a F7 .byte 0xf7 29102 470b 30 .uleb128 0x30 29103 470c F7 .byte 0xf7 29104 470d 00 .uleb128 0 29105 470e 3F .byte 0x3f 29106 470f 1A .byte 0x1a 29107 4710 4C .byte 0x4c 29108 4711 1E .byte 0x1e 29109 4712 23 .byte 0x23 29110 4713 3C .uleb128 0x3c 29111 4714 F3 .byte 0xf3 29112 4715 03 .uleb128 0x3 29113 4716 F5 .byte 0xf5 29114 4717 01 .uleb128 0x1 29115 4718 29 .uleb128 0x29 29116 4719 F7 .byte 0xf7 29117 471a 30 .uleb128 0x30 29118 471b F7 .byte 0xf7 29119 471c 00 .uleb128 0 29120 471d 3F .byte 0x3f 29121 471e 1A .byte 0x1a 29122 471f 4C .byte 0x4c 29123 4720 1E .byte 0x1e 29124 4721 F3 .byte 0xf3 29125 4722 03 .uleb128 0x3 29126 4723 F5 .byte 0xf5 29127 4724 01 .uleb128 0x1 29128 4725 29 .uleb128 0x29 29129 4726 F7 .byte 0xf7 29130 4727 30 .uleb128 0x30 29131 4728 F7 .byte 0xf7 29132 4729 00 .uleb128 0 29133 472a 09 .byte 0x9 29134 472b FC .byte 0xfc 29135 472c 24 .byte 0x24 29136 472d 33 .byte 0x33 29137 472e 25 .byte 0x25 29138 472f 30 .byte 0x30 29139 4730 2E .byte 0x2e 29140 4731 28 .byte 0x28 29141 4732 0100 .2byte 0x1 29142 4734 16 .byte 0x16 29143 4735 13 .byte 0x13 29144 4736 23 .byte 0x23 29145 4737 FC03 .uleb128 0x1fc 29146 4739 F3 .byte 0xf3 29147 473a 03 .uleb128 0x3 29148 473b F5 .byte 0xf5 29149 473c 01 .uleb128 0x1 29150 473d 29 .uleb128 0x29 29151 473e F7 .byte 0xf7 29152 473f 30 .uleb128 0x30 29153 4740 F7 .byte 0xf7 29154 4741 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 986 29155 4742 3F .byte 0x3f 29156 4743 1A .byte 0x1a 29157 4744 4C .byte 0x4c 29158 4745 1E .byte 0x1e 29159 4746 23 .byte 0x23 29160 4747 3C .uleb128 0x3c 29161 4748 F3 .byte 0xf3 29162 4749 03 .uleb128 0x3 29163 474a F5 .byte 0xf5 29164 474b 01 .uleb128 0x1 29165 474c 29 .uleb128 0x29 29166 474d F7 .byte 0xf7 29167 474e 30 .uleb128 0x30 29168 474f F7 .byte 0xf7 29169 4750 00 .uleb128 0 29170 4751 3F .byte 0x3f 29171 4752 1A .byte 0x1a 29172 4753 4C .byte 0x4c 29173 4754 1E .byte 0x1e 29174 4755 F3 .byte 0xf3 29175 4756 03 .uleb128 0x3 29176 4757 F5 .byte 0xf5 29177 4758 01 .uleb128 0x1 29178 4759 29 .uleb128 0x29 29179 475a F7 .byte 0xf7 29180 475b 30 .uleb128 0x30 29181 475c F7 .byte 0xf7 29182 475d 00 .uleb128 0 29183 475e 09 .byte 0x9 29184 475f FC .byte 0xfc 29185 4760 24 .byte 0x24 29186 4761 33 .byte 0x33 29187 4762 25 .byte 0x25 29188 4763 30 .byte 0x30 29189 4764 2E .byte 0x2e 29190 4765 28 .byte 0x28 29191 4766 0100 .2byte 0x1 29192 4768 16 .byte 0x16 29193 4769 13 .byte 0x13 29194 476a F3 .byte 0xf3 29195 476b 03 .uleb128 0x3 29196 476c F5 .byte 0xf5 29197 476d 01 .uleb128 0x1 29198 476e 29 .uleb128 0x29 29199 476f F7 .byte 0xf7 29200 4770 30 .uleb128 0x30 29201 4771 F7 .byte 0xf7 29202 4772 00 .uleb128 0 29203 4773 09 .byte 0x9 29204 4774 FC .byte 0xfc 29205 4775 24 .byte 0x24 29206 4776 33 .byte 0x33 29207 4777 25 .byte 0x25 29208 4778 30 .byte 0x30 29209 4779 29 .byte 0x29 29210 477a 28 .byte 0x28 29211 477b 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 987 29212 477d 16 .byte 0x16 29213 477e 13 .byte 0x13 29214 477f 70 .byte 0x70 29215 4780 00 .sleb128 0 29216 4781 22 .byte 0x22 29217 4782 F3 .byte 0xf3 29218 4783 03 .uleb128 0x3 29219 4784 F5 .byte 0xf5 29220 4785 01 .uleb128 0x1 29221 4786 29 .uleb128 0x29 29222 4787 F7 .byte 0xf7 29223 4788 30 .uleb128 0x30 29224 4789 F7 .byte 0xf7 29225 478a 00 .uleb128 0 29226 478b 3F .byte 0x3f 29227 478c 1A .byte 0x1a 29228 478d 4C .byte 0x4c 29229 478e 1E .byte 0x1e 29230 478f 23 .byte 0x23 29231 4790 3C .uleb128 0x3c 29232 4791 F3 .byte 0xf3 29233 4792 03 .uleb128 0x3 29234 4793 F5 .byte 0xf5 29235 4794 01 .uleb128 0x1 29236 4795 29 .uleb128 0x29 29237 4796 F7 .byte 0xf7 29238 4797 30 .uleb128 0x30 29239 4798 F7 .byte 0xf7 29240 4799 00 .uleb128 0 29241 479a 3F .byte 0x3f 29242 479b 1A .byte 0x1a 29243 479c 4C .byte 0x4c 29244 479d 1E .byte 0x1e 29245 479e F3 .byte 0xf3 29246 479f 03 .uleb128 0x3 29247 47a0 F5 .byte 0xf5 29248 47a1 01 .uleb128 0x1 29249 47a2 29 .uleb128 0x29 29250 47a3 F7 .byte 0xf7 29251 47a4 30 .uleb128 0x30 29252 47a5 F7 .byte 0xf7 29253 47a6 00 .uleb128 0 29254 47a7 09 .byte 0x9 29255 47a8 FC .byte 0xfc 29256 47a9 24 .byte 0x24 29257 47aa 33 .byte 0x33 29258 47ab 25 .byte 0x25 29259 47ac 30 .byte 0x30 29260 47ad 2E .byte 0x2e 29261 47ae 28 .byte 0x28 29262 47af 0100 .2byte 0x1 29263 47b1 16 .byte 0x16 29264 47b2 13 .byte 0x13 29265 47b3 23 .byte 0x23 29266 47b4 FC03 .uleb128 0x1fc 29267 47b6 F3 .byte 0xf3 29268 47b7 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 988 29269 47b8 F5 .byte 0xf5 29270 47b9 01 .uleb128 0x1 29271 47ba 29 .uleb128 0x29 29272 47bb F7 .byte 0xf7 29273 47bc 30 .uleb128 0x30 29274 47bd F7 .byte 0xf7 29275 47be 00 .uleb128 0 29276 47bf 3F .byte 0x3f 29277 47c0 1A .byte 0x1a 29278 47c1 4C .byte 0x4c 29279 47c2 1E .byte 0x1e 29280 47c3 23 .byte 0x23 29281 47c4 3C .uleb128 0x3c 29282 47c5 F3 .byte 0xf3 29283 47c6 03 .uleb128 0x3 29284 47c7 F5 .byte 0xf5 29285 47c8 01 .uleb128 0x1 29286 47c9 29 .uleb128 0x29 29287 47ca F7 .byte 0xf7 29288 47cb 30 .uleb128 0x30 29289 47cc F7 .byte 0xf7 29290 47cd 00 .uleb128 0 29291 47ce 3F .byte 0x3f 29292 47cf 1A .byte 0x1a 29293 47d0 4C .byte 0x4c 29294 47d1 1E .byte 0x1e 29295 47d2 F3 .byte 0xf3 29296 47d3 03 .uleb128 0x3 29297 47d4 F5 .byte 0xf5 29298 47d5 01 .uleb128 0x1 29299 47d6 29 .uleb128 0x29 29300 47d7 F7 .byte 0xf7 29301 47d8 30 .uleb128 0x30 29302 47d9 F7 .byte 0xf7 29303 47da 00 .uleb128 0 29304 47db 09 .byte 0x9 29305 47dc FC .byte 0xfc 29306 47dd 24 .byte 0x24 29307 47de 33 .byte 0x33 29308 47df 25 .byte 0x25 29309 47e0 30 .byte 0x30 29310 47e1 2E .byte 0x2e 29311 47e2 28 .byte 0x28 29312 47e3 0100 .2byte 0x1 29313 47e5 16 .byte 0x16 29314 47e6 13 .byte 0x13 29315 47e7 F3 .byte 0xf3 29316 47e8 03 .uleb128 0x3 29317 47e9 F5 .byte 0xf5 29318 47ea 01 .uleb128 0x1 29319 47eb 29 .uleb128 0x29 29320 47ec F7 .byte 0xf7 29321 47ed 30 .uleb128 0x30 29322 47ee F7 .byte 0xf7 29323 47ef 00 .uleb128 0 29324 47f0 09 .byte 0x9 29325 47f1 FC .byte 0xfc ARM GAS /tmp/ccjvgGVC.s page 989 29326 47f2 24 .byte 0x24 29327 47f3 33 .byte 0x33 29328 47f4 25 .byte 0x25 29329 47f5 30 .byte 0x30 29330 47f6 29 .byte 0x29 29331 47f7 28 .byte 0x28 29332 47f8 0100 .2byte 0x1 29333 47fa 16 .byte 0x16 29334 47fb 13 .byte 0x13 29335 47fc F3 .byte 0xf3 29336 47fd 03 .uleb128 0x3 29337 47fe F5 .byte 0xf5 29338 47ff 01 .uleb128 0x1 29339 4800 29 .uleb128 0x29 29340 4801 F7 .byte 0xf7 29341 4802 30 .uleb128 0x30 29342 4803 F7 .byte 0xf7 29343 4804 00 .uleb128 0 29344 4805 09 .byte 0x9 29345 4806 FC .byte 0xfc 29346 4807 24 .byte 0x24 29347 4808 33 .byte 0x33 29348 4809 25 .byte 0x25 29349 480a 30 .byte 0x30 29350 480b 2E .byte 0x2e 29351 480c 28 .byte 0x28 29352 480d 0100 .2byte 0x1 29353 480f 16 .byte 0x16 29354 4810 13 .byte 0x13 29355 4811 F3 .byte 0xf3 29356 4812 03 .uleb128 0x3 29357 4813 F5 .byte 0xf5 29358 4814 01 .uleb128 0x1 29359 4815 29 .uleb128 0x29 29360 4816 F7 .byte 0xf7 29361 4817 30 .uleb128 0x30 29362 4818 F7 .byte 0xf7 29363 4819 00 .uleb128 0 29364 481a 09 .byte 0x9 29365 481b FC .byte 0xfc 29366 481c 24 .byte 0x24 29367 481d 33 .byte 0x33 29368 481e 25 .byte 0x25 29369 481f 30 .byte 0x30 29370 4820 29 .byte 0x29 29371 4821 28 .byte 0x28 29372 4822 0100 .2byte 0x1 29373 4824 16 .byte 0x16 29374 4825 13 .byte 0x13 29375 4826 9F .byte 0x9f 29376 4827 00000000 .4byte 0 29377 482b 00000000 .4byte 0 29378 .LVUS331: 29379 482f 00 .uleb128 .LVU2400 29380 4830 00 .uleb128 .LVU2401 29381 4831 00 .uleb128 .LVU2401 29382 4832 00 .uleb128 .LVU2420 ARM GAS /tmp/ccjvgGVC.s page 990 29383 4833 00 .uleb128 .LVU2424 29384 4834 00 .uleb128 0 29385 .LLST331: 29386 4835 44000000 .4byte .LVL503 29387 4839 46000000 .4byte .LVL504 29388 483d 0100 .2byte 0x1 29389 483f 52 .byte 0x52 29390 4840 46000000 .4byte .LVL504 29391 4844 90000000 .4byte .LVL508 29392 4848 3102 .2byte 0x231 29393 484a F3 .byte 0xf3 29394 484b 03 .uleb128 0x3 29395 484c F5 .byte 0xf5 29396 484d 01 .uleb128 0x1 29397 484e 29 .uleb128 0x29 29398 484f F7 .byte 0xf7 29399 4850 30 .uleb128 0x30 29400 4851 F7 .byte 0xf7 29401 4852 00 .uleb128 0 29402 4853 3F .byte 0x3f 29403 4854 1A .byte 0x1a 29404 4855 4C .byte 0x4c 29405 4856 1E .byte 0x1e 29406 4857 23 .byte 0x23 29407 4858 3C .uleb128 0x3c 29408 4859 F3 .byte 0xf3 29409 485a 03 .uleb128 0x3 29410 485b F5 .byte 0xf5 29411 485c 01 .uleb128 0x1 29412 485d 29 .uleb128 0x29 29413 485e F7 .byte 0xf7 29414 485f 30 .uleb128 0x30 29415 4860 F7 .byte 0xf7 29416 4861 00 .uleb128 0 29417 4862 3F .byte 0x3f 29418 4863 1A .byte 0x1a 29419 4864 4C .byte 0x4c 29420 4865 1E .byte 0x1e 29421 4866 F3 .byte 0xf3 29422 4867 03 .uleb128 0x3 29423 4868 F5 .byte 0xf5 29424 4869 01 .uleb128 0x1 29425 486a 29 .uleb128 0x29 29426 486b F7 .byte 0xf7 29427 486c 30 .uleb128 0x30 29428 486d F7 .byte 0xf7 29429 486e 00 .uleb128 0 29430 486f 09 .byte 0x9 29431 4870 FC .byte 0xfc 29432 4871 24 .byte 0x24 29433 4872 33 .byte 0x33 29434 4873 25 .byte 0x25 29435 4874 30 .byte 0x30 29436 4875 2E .byte 0x2e 29437 4876 28 .byte 0x28 29438 4877 0100 .2byte 0x1 29439 4879 16 .byte 0x16 ARM GAS /tmp/ccjvgGVC.s page 991 29440 487a 13 .byte 0x13 29441 487b 23 .byte 0x23 29442 487c FC03 .uleb128 0x1fc 29443 487e F3 .byte 0xf3 29444 487f 03 .uleb128 0x3 29445 4880 F5 .byte 0xf5 29446 4881 01 .uleb128 0x1 29447 4882 29 .uleb128 0x29 29448 4883 F7 .byte 0xf7 29449 4884 30 .uleb128 0x30 29450 4885 F7 .byte 0xf7 29451 4886 00 .uleb128 0 29452 4887 3F .byte 0x3f 29453 4888 1A .byte 0x1a 29454 4889 4C .byte 0x4c 29455 488a 1E .byte 0x1e 29456 488b 23 .byte 0x23 29457 488c 3C .uleb128 0x3c 29458 488d F3 .byte 0xf3 29459 488e 03 .uleb128 0x3 29460 488f F5 .byte 0xf5 29461 4890 01 .uleb128 0x1 29462 4891 29 .uleb128 0x29 29463 4892 F7 .byte 0xf7 29464 4893 30 .uleb128 0x30 29465 4894 F7 .byte 0xf7 29466 4895 00 .uleb128 0 29467 4896 3F .byte 0x3f 29468 4897 1A .byte 0x1a 29469 4898 4C .byte 0x4c 29470 4899 1E .byte 0x1e 29471 489a F3 .byte 0xf3 29472 489b 03 .uleb128 0x3 29473 489c F5 .byte 0xf5 29474 489d 01 .uleb128 0x1 29475 489e 29 .uleb128 0x29 29476 489f F7 .byte 0xf7 29477 48a0 30 .uleb128 0x30 29478 48a1 F7 .byte 0xf7 29479 48a2 00 .uleb128 0 29480 48a3 09 .byte 0x9 29481 48a4 FC .byte 0xfc 29482 48a5 24 .byte 0x24 29483 48a6 33 .byte 0x33 29484 48a7 25 .byte 0x25 29485 48a8 30 .byte 0x30 29486 48a9 2E .byte 0x2e 29487 48aa 28 .byte 0x28 29488 48ab 0100 .2byte 0x1 29489 48ad 16 .byte 0x16 29490 48ae 13 .byte 0x13 29491 48af F3 .byte 0xf3 29492 48b0 03 .uleb128 0x3 29493 48b1 F5 .byte 0xf5 29494 48b2 01 .uleb128 0x1 29495 48b3 29 .uleb128 0x29 29496 48b4 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 992 29497 48b5 30 .uleb128 0x30 29498 48b6 F7 .byte 0xf7 29499 48b7 00 .uleb128 0 29500 48b8 09 .byte 0x9 29501 48b9 FC .byte 0xfc 29502 48ba 24 .byte 0x24 29503 48bb 33 .byte 0x33 29504 48bc 25 .byte 0x25 29505 48bd 30 .byte 0x30 29506 48be 29 .byte 0x29 29507 48bf 28 .byte 0x28 29508 48c0 0100 .2byte 0x1 29509 48c2 16 .byte 0x16 29510 48c3 13 .byte 0x13 29511 48c4 70 .byte 0x70 29512 48c5 00 .sleb128 0 29513 48c6 22 .byte 0x22 29514 48c7 F3 .byte 0xf3 29515 48c8 03 .uleb128 0x3 29516 48c9 F5 .byte 0xf5 29517 48ca 01 .uleb128 0x1 29518 48cb 29 .uleb128 0x29 29519 48cc F7 .byte 0xf7 29520 48cd 30 .uleb128 0x30 29521 48ce F7 .byte 0xf7 29522 48cf 00 .uleb128 0 29523 48d0 3F .byte 0x3f 29524 48d1 1A .byte 0x1a 29525 48d2 4C .byte 0x4c 29526 48d3 1E .byte 0x1e 29527 48d4 23 .byte 0x23 29528 48d5 3C .uleb128 0x3c 29529 48d6 F3 .byte 0xf3 29530 48d7 03 .uleb128 0x3 29531 48d8 F5 .byte 0xf5 29532 48d9 01 .uleb128 0x1 29533 48da 29 .uleb128 0x29 29534 48db F7 .byte 0xf7 29535 48dc 30 .uleb128 0x30 29536 48dd F7 .byte 0xf7 29537 48de 00 .uleb128 0 29538 48df 3F .byte 0x3f 29539 48e0 1A .byte 0x1a 29540 48e1 4C .byte 0x4c 29541 48e2 1E .byte 0x1e 29542 48e3 F3 .byte 0xf3 29543 48e4 03 .uleb128 0x3 29544 48e5 F5 .byte 0xf5 29545 48e6 01 .uleb128 0x1 29546 48e7 29 .uleb128 0x29 29547 48e8 F7 .byte 0xf7 29548 48e9 30 .uleb128 0x30 29549 48ea F7 .byte 0xf7 29550 48eb 00 .uleb128 0 29551 48ec 09 .byte 0x9 29552 48ed FC .byte 0xfc 29553 48ee 24 .byte 0x24 ARM GAS /tmp/ccjvgGVC.s page 993 29554 48ef 33 .byte 0x33 29555 48f0 25 .byte 0x25 29556 48f1 30 .byte 0x30 29557 48f2 2E .byte 0x2e 29558 48f3 28 .byte 0x28 29559 48f4 0100 .2byte 0x1 29560 48f6 16 .byte 0x16 29561 48f7 13 .byte 0x13 29562 48f8 23 .byte 0x23 29563 48f9 FC03 .uleb128 0x1fc 29564 48fb F3 .byte 0xf3 29565 48fc 03 .uleb128 0x3 29566 48fd F5 .byte 0xf5 29567 48fe 01 .uleb128 0x1 29568 48ff 29 .uleb128 0x29 29569 4900 F7 .byte 0xf7 29570 4901 30 .uleb128 0x30 29571 4902 F7 .byte 0xf7 29572 4903 00 .uleb128 0 29573 4904 3F .byte 0x3f 29574 4905 1A .byte 0x1a 29575 4906 4C .byte 0x4c 29576 4907 1E .byte 0x1e 29577 4908 23 .byte 0x23 29578 4909 3C .uleb128 0x3c 29579 490a F3 .byte 0xf3 29580 490b 03 .uleb128 0x3 29581 490c F5 .byte 0xf5 29582 490d 01 .uleb128 0x1 29583 490e 29 .uleb128 0x29 29584 490f F7 .byte 0xf7 29585 4910 30 .uleb128 0x30 29586 4911 F7 .byte 0xf7 29587 4912 00 .uleb128 0 29588 4913 3F .byte 0x3f 29589 4914 1A .byte 0x1a 29590 4915 4C .byte 0x4c 29591 4916 1E .byte 0x1e 29592 4917 F3 .byte 0xf3 29593 4918 03 .uleb128 0x3 29594 4919 F5 .byte 0xf5 29595 491a 01 .uleb128 0x1 29596 491b 29 .uleb128 0x29 29597 491c F7 .byte 0xf7 29598 491d 30 .uleb128 0x30 29599 491e F7 .byte 0xf7 29600 491f 00 .uleb128 0 29601 4920 09 .byte 0x9 29602 4921 FC .byte 0xfc 29603 4922 24 .byte 0x24 29604 4923 33 .byte 0x33 29605 4924 25 .byte 0x25 29606 4925 30 .byte 0x30 29607 4926 2E .byte 0x2e 29608 4927 28 .byte 0x28 29609 4928 0100 .2byte 0x1 29610 492a 16 .byte 0x16 ARM GAS /tmp/ccjvgGVC.s page 994 29611 492b 13 .byte 0x13 29612 492c F3 .byte 0xf3 29613 492d 03 .uleb128 0x3 29614 492e F5 .byte 0xf5 29615 492f 01 .uleb128 0x1 29616 4930 29 .uleb128 0x29 29617 4931 F7 .byte 0xf7 29618 4932 30 .uleb128 0x30 29619 4933 F7 .byte 0xf7 29620 4934 00 .uleb128 0 29621 4935 09 .byte 0x9 29622 4936 FC .byte 0xfc 29623 4937 24 .byte 0x24 29624 4938 33 .byte 0x33 29625 4939 25 .byte 0x25 29626 493a 30 .byte 0x30 29627 493b 29 .byte 0x29 29628 493c 28 .byte 0x28 29629 493d 0100 .2byte 0x1 29630 493f 16 .byte 0x16 29631 4940 13 .byte 0x13 29632 4941 F3 .byte 0xf3 29633 4942 03 .uleb128 0x3 29634 4943 F5 .byte 0xf5 29635 4944 01 .uleb128 0x1 29636 4945 29 .uleb128 0x29 29637 4946 F7 .byte 0xf7 29638 4947 30 .uleb128 0x30 29639 4948 F7 .byte 0xf7 29640 4949 00 .uleb128 0 29641 494a 09 .byte 0x9 29642 494b FC .byte 0xfc 29643 494c 24 .byte 0x24 29644 494d 33 .byte 0x33 29645 494e 25 .byte 0x25 29646 494f 30 .byte 0x30 29647 4950 2E .byte 0x2e 29648 4951 28 .byte 0x28 29649 4952 0100 .2byte 0x1 29650 4954 16 .byte 0x16 29651 4955 13 .byte 0x13 29652 4956 70 .byte 0x70 29653 4957 00 .sleb128 0 29654 4958 22 .byte 0x22 29655 4959 F3 .byte 0xf3 29656 495a 03 .uleb128 0x3 29657 495b F5 .byte 0xf5 29658 495c 01 .uleb128 0x1 29659 495d 29 .uleb128 0x29 29660 495e F7 .byte 0xf7 29661 495f 30 .uleb128 0x30 29662 4960 F7 .byte 0xf7 29663 4961 00 .uleb128 0 29664 4962 3F .byte 0x3f 29665 4963 1A .byte 0x1a 29666 4964 4C .byte 0x4c 29667 4965 1E .byte 0x1e ARM GAS /tmp/ccjvgGVC.s page 995 29668 4966 23 .byte 0x23 29669 4967 3C .uleb128 0x3c 29670 4968 F3 .byte 0xf3 29671 4969 03 .uleb128 0x3 29672 496a F5 .byte 0xf5 29673 496b 01 .uleb128 0x1 29674 496c 29 .uleb128 0x29 29675 496d F7 .byte 0xf7 29676 496e 30 .uleb128 0x30 29677 496f F7 .byte 0xf7 29678 4970 00 .uleb128 0 29679 4971 3F .byte 0x3f 29680 4972 1A .byte 0x1a 29681 4973 4C .byte 0x4c 29682 4974 1E .byte 0x1e 29683 4975 F3 .byte 0xf3 29684 4976 03 .uleb128 0x3 29685 4977 F5 .byte 0xf5 29686 4978 01 .uleb128 0x1 29687 4979 29 .uleb128 0x29 29688 497a F7 .byte 0xf7 29689 497b 30 .uleb128 0x30 29690 497c F7 .byte 0xf7 29691 497d 00 .uleb128 0 29692 497e 09 .byte 0x9 29693 497f FC .byte 0xfc 29694 4980 24 .byte 0x24 29695 4981 33 .byte 0x33 29696 4982 25 .byte 0x25 29697 4983 30 .byte 0x30 29698 4984 2E .byte 0x2e 29699 4985 28 .byte 0x28 29700 4986 0100 .2byte 0x1 29701 4988 16 .byte 0x16 29702 4989 13 .byte 0x13 29703 498a 23 .byte 0x23 29704 498b FC03 .uleb128 0x1fc 29705 498d F3 .byte 0xf3 29706 498e 03 .uleb128 0x3 29707 498f F5 .byte 0xf5 29708 4990 01 .uleb128 0x1 29709 4991 29 .uleb128 0x29 29710 4992 F7 .byte 0xf7 29711 4993 30 .uleb128 0x30 29712 4994 F7 .byte 0xf7 29713 4995 00 .uleb128 0 29714 4996 3F .byte 0x3f 29715 4997 1A .byte 0x1a 29716 4998 4C .byte 0x4c 29717 4999 1E .byte 0x1e 29718 499a 23 .byte 0x23 29719 499b 3C .uleb128 0x3c 29720 499c F3 .byte 0xf3 29721 499d 03 .uleb128 0x3 29722 499e F5 .byte 0xf5 29723 499f 01 .uleb128 0x1 29724 49a0 29 .uleb128 0x29 ARM GAS /tmp/ccjvgGVC.s page 996 29725 49a1 F7 .byte 0xf7 29726 49a2 30 .uleb128 0x30 29727 49a3 F7 .byte 0xf7 29728 49a4 00 .uleb128 0 29729 49a5 3F .byte 0x3f 29730 49a6 1A .byte 0x1a 29731 49a7 4C .byte 0x4c 29732 49a8 1E .byte 0x1e 29733 49a9 F3 .byte 0xf3 29734 49aa 03 .uleb128 0x3 29735 49ab F5 .byte 0xf5 29736 49ac 01 .uleb128 0x1 29737 49ad 29 .uleb128 0x29 29738 49ae F7 .byte 0xf7 29739 49af 30 .uleb128 0x30 29740 49b0 F7 .byte 0xf7 29741 49b1 00 .uleb128 0 29742 49b2 09 .byte 0x9 29743 49b3 FC .byte 0xfc 29744 49b4 24 .byte 0x24 29745 49b5 33 .byte 0x33 29746 49b6 25 .byte 0x25 29747 49b7 30 .byte 0x30 29748 49b8 2E .byte 0x2e 29749 49b9 28 .byte 0x28 29750 49ba 0100 .2byte 0x1 29751 49bc 16 .byte 0x16 29752 49bd 13 .byte 0x13 29753 49be F3 .byte 0xf3 29754 49bf 03 .uleb128 0x3 29755 49c0 F5 .byte 0xf5 29756 49c1 01 .uleb128 0x1 29757 49c2 29 .uleb128 0x29 29758 49c3 F7 .byte 0xf7 29759 49c4 30 .uleb128 0x30 29760 49c5 F7 .byte 0xf7 29761 49c6 00 .uleb128 0 29762 49c7 09 .byte 0x9 29763 49c8 FC .byte 0xfc 29764 49c9 24 .byte 0x24 29765 49ca 33 .byte 0x33 29766 49cb 25 .byte 0x25 29767 49cc 30 .byte 0x30 29768 49cd 29 .byte 0x29 29769 49ce 28 .byte 0x28 29770 49cf 0100 .2byte 0x1 29771 49d1 16 .byte 0x16 29772 49d2 13 .byte 0x13 29773 49d3 70 .byte 0x70 29774 49d4 00 .sleb128 0 29775 49d5 22 .byte 0x22 29776 49d6 F3 .byte 0xf3 29777 49d7 03 .uleb128 0x3 29778 49d8 F5 .byte 0xf5 29779 49d9 01 .uleb128 0x1 29780 49da 29 .uleb128 0x29 29781 49db F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 997 29782 49dc 30 .uleb128 0x30 29783 49dd F7 .byte 0xf7 29784 49de 00 .uleb128 0 29785 49df 3F .byte 0x3f 29786 49e0 1A .byte 0x1a 29787 49e1 4C .byte 0x4c 29788 49e2 1E .byte 0x1e 29789 49e3 23 .byte 0x23 29790 49e4 3C .uleb128 0x3c 29791 49e5 F3 .byte 0xf3 29792 49e6 03 .uleb128 0x3 29793 49e7 F5 .byte 0xf5 29794 49e8 01 .uleb128 0x1 29795 49e9 29 .uleb128 0x29 29796 49ea F7 .byte 0xf7 29797 49eb 30 .uleb128 0x30 29798 49ec F7 .byte 0xf7 29799 49ed 00 .uleb128 0 29800 49ee 3F .byte 0x3f 29801 49ef 1A .byte 0x1a 29802 49f0 4C .byte 0x4c 29803 49f1 1E .byte 0x1e 29804 49f2 F3 .byte 0xf3 29805 49f3 03 .uleb128 0x3 29806 49f4 F5 .byte 0xf5 29807 49f5 01 .uleb128 0x1 29808 49f6 29 .uleb128 0x29 29809 49f7 F7 .byte 0xf7 29810 49f8 30 .uleb128 0x30 29811 49f9 F7 .byte 0xf7 29812 49fa 00 .uleb128 0 29813 49fb 09 .byte 0x9 29814 49fc FC .byte 0xfc 29815 49fd 24 .byte 0x24 29816 49fe 33 .byte 0x33 29817 49ff 25 .byte 0x25 29818 4a00 30 .byte 0x30 29819 4a01 2E .byte 0x2e 29820 4a02 28 .byte 0x28 29821 4a03 0100 .2byte 0x1 29822 4a05 16 .byte 0x16 29823 4a06 13 .byte 0x13 29824 4a07 23 .byte 0x23 29825 4a08 FC03 .uleb128 0x1fc 29826 4a0a F3 .byte 0xf3 29827 4a0b 03 .uleb128 0x3 29828 4a0c F5 .byte 0xf5 29829 4a0d 01 .uleb128 0x1 29830 4a0e 29 .uleb128 0x29 29831 4a0f F7 .byte 0xf7 29832 4a10 30 .uleb128 0x30 29833 4a11 F7 .byte 0xf7 29834 4a12 00 .uleb128 0 29835 4a13 3F .byte 0x3f 29836 4a14 1A .byte 0x1a 29837 4a15 4C .byte 0x4c 29838 4a16 1E .byte 0x1e ARM GAS /tmp/ccjvgGVC.s page 998 29839 4a17 23 .byte 0x23 29840 4a18 3C .uleb128 0x3c 29841 4a19 F3 .byte 0xf3 29842 4a1a 03 .uleb128 0x3 29843 4a1b F5 .byte 0xf5 29844 4a1c 01 .uleb128 0x1 29845 4a1d 29 .uleb128 0x29 29846 4a1e F7 .byte 0xf7 29847 4a1f 30 .uleb128 0x30 29848 4a20 F7 .byte 0xf7 29849 4a21 00 .uleb128 0 29850 4a22 3F .byte 0x3f 29851 4a23 1A .byte 0x1a 29852 4a24 4C .byte 0x4c 29853 4a25 1E .byte 0x1e 29854 4a26 F3 .byte 0xf3 29855 4a27 03 .uleb128 0x3 29856 4a28 F5 .byte 0xf5 29857 4a29 01 .uleb128 0x1 29858 4a2a 29 .uleb128 0x29 29859 4a2b F7 .byte 0xf7 29860 4a2c 30 .uleb128 0x30 29861 4a2d F7 .byte 0xf7 29862 4a2e 00 .uleb128 0 29863 4a2f 09 .byte 0x9 29864 4a30 FC .byte 0xfc 29865 4a31 24 .byte 0x24 29866 4a32 33 .byte 0x33 29867 4a33 25 .byte 0x25 29868 4a34 30 .byte 0x30 29869 4a35 2E .byte 0x2e 29870 4a36 28 .byte 0x28 29871 4a37 0100 .2byte 0x1 29872 4a39 16 .byte 0x16 29873 4a3a 13 .byte 0x13 29874 4a3b F3 .byte 0xf3 29875 4a3c 03 .uleb128 0x3 29876 4a3d F5 .byte 0xf5 29877 4a3e 01 .uleb128 0x1 29878 4a3f 29 .uleb128 0x29 29879 4a40 F7 .byte 0xf7 29880 4a41 30 .uleb128 0x30 29881 4a42 F7 .byte 0xf7 29882 4a43 00 .uleb128 0 29883 4a44 09 .byte 0x9 29884 4a45 FC .byte 0xfc 29885 4a46 24 .byte 0x24 29886 4a47 33 .byte 0x33 29887 4a48 25 .byte 0x25 29888 4a49 30 .byte 0x30 29889 4a4a 29 .byte 0x29 29890 4a4b 28 .byte 0x28 29891 4a4c 0100 .2byte 0x1 29892 4a4e 16 .byte 0x16 29893 4a4f 13 .byte 0x13 29894 4a50 F3 .byte 0xf3 29895 4a51 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 999 29896 4a52 F5 .byte 0xf5 29897 4a53 01 .uleb128 0x1 29898 4a54 29 .uleb128 0x29 29899 4a55 F7 .byte 0xf7 29900 4a56 30 .uleb128 0x30 29901 4a57 F7 .byte 0xf7 29902 4a58 00 .uleb128 0 29903 4a59 09 .byte 0x9 29904 4a5a FC .byte 0xfc 29905 4a5b 24 .byte 0x24 29906 4a5c 33 .byte 0x33 29907 4a5d 25 .byte 0x25 29908 4a5e 30 .byte 0x30 29909 4a5f 2E .byte 0x2e 29910 4a60 28 .byte 0x28 29911 4a61 0100 .2byte 0x1 29912 4a63 16 .byte 0x16 29913 4a64 13 .byte 0x13 29914 4a65 F3 .byte 0xf3 29915 4a66 03 .uleb128 0x3 29916 4a67 F5 .byte 0xf5 29917 4a68 01 .uleb128 0x1 29918 4a69 29 .uleb128 0x29 29919 4a6a F7 .byte 0xf7 29920 4a6b 30 .uleb128 0x30 29921 4a6c F7 .byte 0xf7 29922 4a6d 00 .uleb128 0 29923 4a6e 09 .byte 0x9 29924 4a6f FC .byte 0xfc 29925 4a70 24 .byte 0x24 29926 4a71 33 .byte 0x33 29927 4a72 25 .byte 0x25 29928 4a73 30 .byte 0x30 29929 4a74 29 .byte 0x29 29930 4a75 28 .byte 0x28 29931 4a76 0100 .2byte 0x1 29932 4a78 16 .byte 0x16 29933 4a79 13 .byte 0x13 29934 4a7a 9F .byte 0x9f 29935 4a7b 98000000 .4byte .LVL510 29936 4a7f D8000000 .4byte .LFE158 29937 4a83 3102 .2byte 0x231 29938 4a85 F3 .byte 0xf3 29939 4a86 03 .uleb128 0x3 29940 4a87 F5 .byte 0xf5 29941 4a88 01 .uleb128 0x1 29942 4a89 29 .uleb128 0x29 29943 4a8a F7 .byte 0xf7 29944 4a8b 30 .uleb128 0x30 29945 4a8c F7 .byte 0xf7 29946 4a8d 00 .uleb128 0 29947 4a8e 3F .byte 0x3f 29948 4a8f 1A .byte 0x1a 29949 4a90 4C .byte 0x4c 29950 4a91 1E .byte 0x1e 29951 4a92 23 .byte 0x23 29952 4a93 3C .uleb128 0x3c ARM GAS /tmp/ccjvgGVC.s page 1000 29953 4a94 F3 .byte 0xf3 29954 4a95 03 .uleb128 0x3 29955 4a96 F5 .byte 0xf5 29956 4a97 01 .uleb128 0x1 29957 4a98 29 .uleb128 0x29 29958 4a99 F7 .byte 0xf7 29959 4a9a 30 .uleb128 0x30 29960 4a9b F7 .byte 0xf7 29961 4a9c 00 .uleb128 0 29962 4a9d 3F .byte 0x3f 29963 4a9e 1A .byte 0x1a 29964 4a9f 4C .byte 0x4c 29965 4aa0 1E .byte 0x1e 29966 4aa1 F3 .byte 0xf3 29967 4aa2 03 .uleb128 0x3 29968 4aa3 F5 .byte 0xf5 29969 4aa4 01 .uleb128 0x1 29970 4aa5 29 .uleb128 0x29 29971 4aa6 F7 .byte 0xf7 29972 4aa7 30 .uleb128 0x30 29973 4aa8 F7 .byte 0xf7 29974 4aa9 00 .uleb128 0 29975 4aaa 09 .byte 0x9 29976 4aab FC .byte 0xfc 29977 4aac 24 .byte 0x24 29978 4aad 33 .byte 0x33 29979 4aae 25 .byte 0x25 29980 4aaf 30 .byte 0x30 29981 4ab0 2E .byte 0x2e 29982 4ab1 28 .byte 0x28 29983 4ab2 0100 .2byte 0x1 29984 4ab4 16 .byte 0x16 29985 4ab5 13 .byte 0x13 29986 4ab6 23 .byte 0x23 29987 4ab7 FC03 .uleb128 0x1fc 29988 4ab9 F3 .byte 0xf3 29989 4aba 03 .uleb128 0x3 29990 4abb F5 .byte 0xf5 29991 4abc 01 .uleb128 0x1 29992 4abd 29 .uleb128 0x29 29993 4abe F7 .byte 0xf7 29994 4abf 30 .uleb128 0x30 29995 4ac0 F7 .byte 0xf7 29996 4ac1 00 .uleb128 0 29997 4ac2 3F .byte 0x3f 29998 4ac3 1A .byte 0x1a 29999 4ac4 4C .byte 0x4c 30000 4ac5 1E .byte 0x1e 30001 4ac6 23 .byte 0x23 30002 4ac7 3C .uleb128 0x3c 30003 4ac8 F3 .byte 0xf3 30004 4ac9 03 .uleb128 0x3 30005 4aca F5 .byte 0xf5 30006 4acb 01 .uleb128 0x1 30007 4acc 29 .uleb128 0x29 30008 4acd F7 .byte 0xf7 30009 4ace 30 .uleb128 0x30 ARM GAS /tmp/ccjvgGVC.s page 1001 30010 4acf F7 .byte 0xf7 30011 4ad0 00 .uleb128 0 30012 4ad1 3F .byte 0x3f 30013 4ad2 1A .byte 0x1a 30014 4ad3 4C .byte 0x4c 30015 4ad4 1E .byte 0x1e 30016 4ad5 F3 .byte 0xf3 30017 4ad6 03 .uleb128 0x3 30018 4ad7 F5 .byte 0xf5 30019 4ad8 01 .uleb128 0x1 30020 4ad9 29 .uleb128 0x29 30021 4ada F7 .byte 0xf7 30022 4adb 30 .uleb128 0x30 30023 4adc F7 .byte 0xf7 30024 4add 00 .uleb128 0 30025 4ade 09 .byte 0x9 30026 4adf FC .byte 0xfc 30027 4ae0 24 .byte 0x24 30028 4ae1 33 .byte 0x33 30029 4ae2 25 .byte 0x25 30030 4ae3 30 .byte 0x30 30031 4ae4 2E .byte 0x2e 30032 4ae5 28 .byte 0x28 30033 4ae6 0100 .2byte 0x1 30034 4ae8 16 .byte 0x16 30035 4ae9 13 .byte 0x13 30036 4aea F3 .byte 0xf3 30037 4aeb 03 .uleb128 0x3 30038 4aec F5 .byte 0xf5 30039 4aed 01 .uleb128 0x1 30040 4aee 29 .uleb128 0x29 30041 4aef F7 .byte 0xf7 30042 4af0 30 .uleb128 0x30 30043 4af1 F7 .byte 0xf7 30044 4af2 00 .uleb128 0 30045 4af3 09 .byte 0x9 30046 4af4 FC .byte 0xfc 30047 4af5 24 .byte 0x24 30048 4af6 33 .byte 0x33 30049 4af7 25 .byte 0x25 30050 4af8 30 .byte 0x30 30051 4af9 29 .byte 0x29 30052 4afa 28 .byte 0x28 30053 4afb 0100 .2byte 0x1 30054 4afd 16 .byte 0x16 30055 4afe 13 .byte 0x13 30056 4aff 70 .byte 0x70 30057 4b00 00 .sleb128 0 30058 4b01 22 .byte 0x22 30059 4b02 F3 .byte 0xf3 30060 4b03 03 .uleb128 0x3 30061 4b04 F5 .byte 0xf5 30062 4b05 01 .uleb128 0x1 30063 4b06 29 .uleb128 0x29 30064 4b07 F7 .byte 0xf7 30065 4b08 30 .uleb128 0x30 30066 4b09 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1002 30067 4b0a 00 .uleb128 0 30068 4b0b 3F .byte 0x3f 30069 4b0c 1A .byte 0x1a 30070 4b0d 4C .byte 0x4c 30071 4b0e 1E .byte 0x1e 30072 4b0f 23 .byte 0x23 30073 4b10 3C .uleb128 0x3c 30074 4b11 F3 .byte 0xf3 30075 4b12 03 .uleb128 0x3 30076 4b13 F5 .byte 0xf5 30077 4b14 01 .uleb128 0x1 30078 4b15 29 .uleb128 0x29 30079 4b16 F7 .byte 0xf7 30080 4b17 30 .uleb128 0x30 30081 4b18 F7 .byte 0xf7 30082 4b19 00 .uleb128 0 30083 4b1a 3F .byte 0x3f 30084 4b1b 1A .byte 0x1a 30085 4b1c 4C .byte 0x4c 30086 4b1d 1E .byte 0x1e 30087 4b1e F3 .byte 0xf3 30088 4b1f 03 .uleb128 0x3 30089 4b20 F5 .byte 0xf5 30090 4b21 01 .uleb128 0x1 30091 4b22 29 .uleb128 0x29 30092 4b23 F7 .byte 0xf7 30093 4b24 30 .uleb128 0x30 30094 4b25 F7 .byte 0xf7 30095 4b26 00 .uleb128 0 30096 4b27 09 .byte 0x9 30097 4b28 FC .byte 0xfc 30098 4b29 24 .byte 0x24 30099 4b2a 33 .byte 0x33 30100 4b2b 25 .byte 0x25 30101 4b2c 30 .byte 0x30 30102 4b2d 2E .byte 0x2e 30103 4b2e 28 .byte 0x28 30104 4b2f 0100 .2byte 0x1 30105 4b31 16 .byte 0x16 30106 4b32 13 .byte 0x13 30107 4b33 23 .byte 0x23 30108 4b34 FC03 .uleb128 0x1fc 30109 4b36 F3 .byte 0xf3 30110 4b37 03 .uleb128 0x3 30111 4b38 F5 .byte 0xf5 30112 4b39 01 .uleb128 0x1 30113 4b3a 29 .uleb128 0x29 30114 4b3b F7 .byte 0xf7 30115 4b3c 30 .uleb128 0x30 30116 4b3d F7 .byte 0xf7 30117 4b3e 00 .uleb128 0 30118 4b3f 3F .byte 0x3f 30119 4b40 1A .byte 0x1a 30120 4b41 4C .byte 0x4c 30121 4b42 1E .byte 0x1e 30122 4b43 23 .byte 0x23 30123 4b44 3C .uleb128 0x3c ARM GAS /tmp/ccjvgGVC.s page 1003 30124 4b45 F3 .byte 0xf3 30125 4b46 03 .uleb128 0x3 30126 4b47 F5 .byte 0xf5 30127 4b48 01 .uleb128 0x1 30128 4b49 29 .uleb128 0x29 30129 4b4a F7 .byte 0xf7 30130 4b4b 30 .uleb128 0x30 30131 4b4c F7 .byte 0xf7 30132 4b4d 00 .uleb128 0 30133 4b4e 3F .byte 0x3f 30134 4b4f 1A .byte 0x1a 30135 4b50 4C .byte 0x4c 30136 4b51 1E .byte 0x1e 30137 4b52 F3 .byte 0xf3 30138 4b53 03 .uleb128 0x3 30139 4b54 F5 .byte 0xf5 30140 4b55 01 .uleb128 0x1 30141 4b56 29 .uleb128 0x29 30142 4b57 F7 .byte 0xf7 30143 4b58 30 .uleb128 0x30 30144 4b59 F7 .byte 0xf7 30145 4b5a 00 .uleb128 0 30146 4b5b 09 .byte 0x9 30147 4b5c FC .byte 0xfc 30148 4b5d 24 .byte 0x24 30149 4b5e 33 .byte 0x33 30150 4b5f 25 .byte 0x25 30151 4b60 30 .byte 0x30 30152 4b61 2E .byte 0x2e 30153 4b62 28 .byte 0x28 30154 4b63 0100 .2byte 0x1 30155 4b65 16 .byte 0x16 30156 4b66 13 .byte 0x13 30157 4b67 F3 .byte 0xf3 30158 4b68 03 .uleb128 0x3 30159 4b69 F5 .byte 0xf5 30160 4b6a 01 .uleb128 0x1 30161 4b6b 29 .uleb128 0x29 30162 4b6c F7 .byte 0xf7 30163 4b6d 30 .uleb128 0x30 30164 4b6e F7 .byte 0xf7 30165 4b6f 00 .uleb128 0 30166 4b70 09 .byte 0x9 30167 4b71 FC .byte 0xfc 30168 4b72 24 .byte 0x24 30169 4b73 33 .byte 0x33 30170 4b74 25 .byte 0x25 30171 4b75 30 .byte 0x30 30172 4b76 29 .byte 0x29 30173 4b77 28 .byte 0x28 30174 4b78 0100 .2byte 0x1 30175 4b7a 16 .byte 0x16 30176 4b7b 13 .byte 0x13 30177 4b7c F3 .byte 0xf3 30178 4b7d 03 .uleb128 0x3 30179 4b7e F5 .byte 0xf5 30180 4b7f 01 .uleb128 0x1 ARM GAS /tmp/ccjvgGVC.s page 1004 30181 4b80 29 .uleb128 0x29 30182 4b81 F7 .byte 0xf7 30183 4b82 30 .uleb128 0x30 30184 4b83 F7 .byte 0xf7 30185 4b84 00 .uleb128 0 30186 4b85 09 .byte 0x9 30187 4b86 FC .byte 0xfc 30188 4b87 24 .byte 0x24 30189 4b88 33 .byte 0x33 30190 4b89 25 .byte 0x25 30191 4b8a 30 .byte 0x30 30192 4b8b 2E .byte 0x2e 30193 4b8c 28 .byte 0x28 30194 4b8d 0100 .2byte 0x1 30195 4b8f 16 .byte 0x16 30196 4b90 13 .byte 0x13 30197 4b91 70 .byte 0x70 30198 4b92 00 .sleb128 0 30199 4b93 22 .byte 0x22 30200 4b94 F3 .byte 0xf3 30201 4b95 03 .uleb128 0x3 30202 4b96 F5 .byte 0xf5 30203 4b97 01 .uleb128 0x1 30204 4b98 29 .uleb128 0x29 30205 4b99 F7 .byte 0xf7 30206 4b9a 30 .uleb128 0x30 30207 4b9b F7 .byte 0xf7 30208 4b9c 00 .uleb128 0 30209 4b9d 3F .byte 0x3f 30210 4b9e 1A .byte 0x1a 30211 4b9f 4C .byte 0x4c 30212 4ba0 1E .byte 0x1e 30213 4ba1 23 .byte 0x23 30214 4ba2 3C .uleb128 0x3c 30215 4ba3 F3 .byte 0xf3 30216 4ba4 03 .uleb128 0x3 30217 4ba5 F5 .byte 0xf5 30218 4ba6 01 .uleb128 0x1 30219 4ba7 29 .uleb128 0x29 30220 4ba8 F7 .byte 0xf7 30221 4ba9 30 .uleb128 0x30 30222 4baa F7 .byte 0xf7 30223 4bab 00 .uleb128 0 30224 4bac 3F .byte 0x3f 30225 4bad 1A .byte 0x1a 30226 4bae 4C .byte 0x4c 30227 4baf 1E .byte 0x1e 30228 4bb0 F3 .byte 0xf3 30229 4bb1 03 .uleb128 0x3 30230 4bb2 F5 .byte 0xf5 30231 4bb3 01 .uleb128 0x1 30232 4bb4 29 .uleb128 0x29 30233 4bb5 F7 .byte 0xf7 30234 4bb6 30 .uleb128 0x30 30235 4bb7 F7 .byte 0xf7 30236 4bb8 00 .uleb128 0 30237 4bb9 09 .byte 0x9 ARM GAS /tmp/ccjvgGVC.s page 1005 30238 4bba FC .byte 0xfc 30239 4bbb 24 .byte 0x24 30240 4bbc 33 .byte 0x33 30241 4bbd 25 .byte 0x25 30242 4bbe 30 .byte 0x30 30243 4bbf 2E .byte 0x2e 30244 4bc0 28 .byte 0x28 30245 4bc1 0100 .2byte 0x1 30246 4bc3 16 .byte 0x16 30247 4bc4 13 .byte 0x13 30248 4bc5 23 .byte 0x23 30249 4bc6 FC03 .uleb128 0x1fc 30250 4bc8 F3 .byte 0xf3 30251 4bc9 03 .uleb128 0x3 30252 4bca F5 .byte 0xf5 30253 4bcb 01 .uleb128 0x1 30254 4bcc 29 .uleb128 0x29 30255 4bcd F7 .byte 0xf7 30256 4bce 30 .uleb128 0x30 30257 4bcf F7 .byte 0xf7 30258 4bd0 00 .uleb128 0 30259 4bd1 3F .byte 0x3f 30260 4bd2 1A .byte 0x1a 30261 4bd3 4C .byte 0x4c 30262 4bd4 1E .byte 0x1e 30263 4bd5 23 .byte 0x23 30264 4bd6 3C .uleb128 0x3c 30265 4bd7 F3 .byte 0xf3 30266 4bd8 03 .uleb128 0x3 30267 4bd9 F5 .byte 0xf5 30268 4bda 01 .uleb128 0x1 30269 4bdb 29 .uleb128 0x29 30270 4bdc F7 .byte 0xf7 30271 4bdd 30 .uleb128 0x30 30272 4bde F7 .byte 0xf7 30273 4bdf 00 .uleb128 0 30274 4be0 3F .byte 0x3f 30275 4be1 1A .byte 0x1a 30276 4be2 4C .byte 0x4c 30277 4be3 1E .byte 0x1e 30278 4be4 F3 .byte 0xf3 30279 4be5 03 .uleb128 0x3 30280 4be6 F5 .byte 0xf5 30281 4be7 01 .uleb128 0x1 30282 4be8 29 .uleb128 0x29 30283 4be9 F7 .byte 0xf7 30284 4bea 30 .uleb128 0x30 30285 4beb F7 .byte 0xf7 30286 4bec 00 .uleb128 0 30287 4bed 09 .byte 0x9 30288 4bee FC .byte 0xfc 30289 4bef 24 .byte 0x24 30290 4bf0 33 .byte 0x33 30291 4bf1 25 .byte 0x25 30292 4bf2 30 .byte 0x30 30293 4bf3 2E .byte 0x2e 30294 4bf4 28 .byte 0x28 ARM GAS /tmp/ccjvgGVC.s page 1006 30295 4bf5 0100 .2byte 0x1 30296 4bf7 16 .byte 0x16 30297 4bf8 13 .byte 0x13 30298 4bf9 F3 .byte 0xf3 30299 4bfa 03 .uleb128 0x3 30300 4bfb F5 .byte 0xf5 30301 4bfc 01 .uleb128 0x1 30302 4bfd 29 .uleb128 0x29 30303 4bfe F7 .byte 0xf7 30304 4bff 30 .uleb128 0x30 30305 4c00 F7 .byte 0xf7 30306 4c01 00 .uleb128 0 30307 4c02 09 .byte 0x9 30308 4c03 FC .byte 0xfc 30309 4c04 24 .byte 0x24 30310 4c05 33 .byte 0x33 30311 4c06 25 .byte 0x25 30312 4c07 30 .byte 0x30 30313 4c08 29 .byte 0x29 30314 4c09 28 .byte 0x28 30315 4c0a 0100 .2byte 0x1 30316 4c0c 16 .byte 0x16 30317 4c0d 13 .byte 0x13 30318 4c0e 70 .byte 0x70 30319 4c0f 00 .sleb128 0 30320 4c10 22 .byte 0x22 30321 4c11 F3 .byte 0xf3 30322 4c12 03 .uleb128 0x3 30323 4c13 F5 .byte 0xf5 30324 4c14 01 .uleb128 0x1 30325 4c15 29 .uleb128 0x29 30326 4c16 F7 .byte 0xf7 30327 4c17 30 .uleb128 0x30 30328 4c18 F7 .byte 0xf7 30329 4c19 00 .uleb128 0 30330 4c1a 3F .byte 0x3f 30331 4c1b 1A .byte 0x1a 30332 4c1c 4C .byte 0x4c 30333 4c1d 1E .byte 0x1e 30334 4c1e 23 .byte 0x23 30335 4c1f 3C .uleb128 0x3c 30336 4c20 F3 .byte 0xf3 30337 4c21 03 .uleb128 0x3 30338 4c22 F5 .byte 0xf5 30339 4c23 01 .uleb128 0x1 30340 4c24 29 .uleb128 0x29 30341 4c25 F7 .byte 0xf7 30342 4c26 30 .uleb128 0x30 30343 4c27 F7 .byte 0xf7 30344 4c28 00 .uleb128 0 30345 4c29 3F .byte 0x3f 30346 4c2a 1A .byte 0x1a 30347 4c2b 4C .byte 0x4c 30348 4c2c 1E .byte 0x1e 30349 4c2d F3 .byte 0xf3 30350 4c2e 03 .uleb128 0x3 30351 4c2f F5 .byte 0xf5 ARM GAS /tmp/ccjvgGVC.s page 1007 30352 4c30 01 .uleb128 0x1 30353 4c31 29 .uleb128 0x29 30354 4c32 F7 .byte 0xf7 30355 4c33 30 .uleb128 0x30 30356 4c34 F7 .byte 0xf7 30357 4c35 00 .uleb128 0 30358 4c36 09 .byte 0x9 30359 4c37 FC .byte 0xfc 30360 4c38 24 .byte 0x24 30361 4c39 33 .byte 0x33 30362 4c3a 25 .byte 0x25 30363 4c3b 30 .byte 0x30 30364 4c3c 2E .byte 0x2e 30365 4c3d 28 .byte 0x28 30366 4c3e 0100 .2byte 0x1 30367 4c40 16 .byte 0x16 30368 4c41 13 .byte 0x13 30369 4c42 23 .byte 0x23 30370 4c43 FC03 .uleb128 0x1fc 30371 4c45 F3 .byte 0xf3 30372 4c46 03 .uleb128 0x3 30373 4c47 F5 .byte 0xf5 30374 4c48 01 .uleb128 0x1 30375 4c49 29 .uleb128 0x29 30376 4c4a F7 .byte 0xf7 30377 4c4b 30 .uleb128 0x30 30378 4c4c F7 .byte 0xf7 30379 4c4d 00 .uleb128 0 30380 4c4e 3F .byte 0x3f 30381 4c4f 1A .byte 0x1a 30382 4c50 4C .byte 0x4c 30383 4c51 1E .byte 0x1e 30384 4c52 23 .byte 0x23 30385 4c53 3C .uleb128 0x3c 30386 4c54 F3 .byte 0xf3 30387 4c55 03 .uleb128 0x3 30388 4c56 F5 .byte 0xf5 30389 4c57 01 .uleb128 0x1 30390 4c58 29 .uleb128 0x29 30391 4c59 F7 .byte 0xf7 30392 4c5a 30 .uleb128 0x30 30393 4c5b F7 .byte 0xf7 30394 4c5c 00 .uleb128 0 30395 4c5d 3F .byte 0x3f 30396 4c5e 1A .byte 0x1a 30397 4c5f 4C .byte 0x4c 30398 4c60 1E .byte 0x1e 30399 4c61 F3 .byte 0xf3 30400 4c62 03 .uleb128 0x3 30401 4c63 F5 .byte 0xf5 30402 4c64 01 .uleb128 0x1 30403 4c65 29 .uleb128 0x29 30404 4c66 F7 .byte 0xf7 30405 4c67 30 .uleb128 0x30 30406 4c68 F7 .byte 0xf7 30407 4c69 00 .uleb128 0 30408 4c6a 09 .byte 0x9 ARM GAS /tmp/ccjvgGVC.s page 1008 30409 4c6b FC .byte 0xfc 30410 4c6c 24 .byte 0x24 30411 4c6d 33 .byte 0x33 30412 4c6e 25 .byte 0x25 30413 4c6f 30 .byte 0x30 30414 4c70 2E .byte 0x2e 30415 4c71 28 .byte 0x28 30416 4c72 0100 .2byte 0x1 30417 4c74 16 .byte 0x16 30418 4c75 13 .byte 0x13 30419 4c76 F3 .byte 0xf3 30420 4c77 03 .uleb128 0x3 30421 4c78 F5 .byte 0xf5 30422 4c79 01 .uleb128 0x1 30423 4c7a 29 .uleb128 0x29 30424 4c7b F7 .byte 0xf7 30425 4c7c 30 .uleb128 0x30 30426 4c7d F7 .byte 0xf7 30427 4c7e 00 .uleb128 0 30428 4c7f 09 .byte 0x9 30429 4c80 FC .byte 0xfc 30430 4c81 24 .byte 0x24 30431 4c82 33 .byte 0x33 30432 4c83 25 .byte 0x25 30433 4c84 30 .byte 0x30 30434 4c85 29 .byte 0x29 30435 4c86 28 .byte 0x28 30436 4c87 0100 .2byte 0x1 30437 4c89 16 .byte 0x16 30438 4c8a 13 .byte 0x13 30439 4c8b F3 .byte 0xf3 30440 4c8c 03 .uleb128 0x3 30441 4c8d F5 .byte 0xf5 30442 4c8e 01 .uleb128 0x1 30443 4c8f 29 .uleb128 0x29 30444 4c90 F7 .byte 0xf7 30445 4c91 30 .uleb128 0x30 30446 4c92 F7 .byte 0xf7 30447 4c93 00 .uleb128 0 30448 4c94 09 .byte 0x9 30449 4c95 FC .byte 0xfc 30450 4c96 24 .byte 0x24 30451 4c97 33 .byte 0x33 30452 4c98 25 .byte 0x25 30453 4c99 30 .byte 0x30 30454 4c9a 2E .byte 0x2e 30455 4c9b 28 .byte 0x28 30456 4c9c 0100 .2byte 0x1 30457 4c9e 16 .byte 0x16 30458 4c9f 13 .byte 0x13 30459 4ca0 F3 .byte 0xf3 30460 4ca1 03 .uleb128 0x3 30461 4ca2 F5 .byte 0xf5 30462 4ca3 01 .uleb128 0x1 30463 4ca4 29 .uleb128 0x29 30464 4ca5 F7 .byte 0xf7 30465 4ca6 30 .uleb128 0x30 ARM GAS /tmp/ccjvgGVC.s page 1009 30466 4ca7 F7 .byte 0xf7 30467 4ca8 00 .uleb128 0 30468 4ca9 09 .byte 0x9 30469 4caa FC .byte 0xfc 30470 4cab 24 .byte 0x24 30471 4cac 33 .byte 0x33 30472 4cad 25 .byte 0x25 30473 4cae 30 .byte 0x30 30474 4caf 29 .byte 0x29 30475 4cb0 28 .byte 0x28 30476 4cb1 0100 .2byte 0x1 30477 4cb3 16 .byte 0x16 30478 4cb4 13 .byte 0x13 30479 4cb5 9F .byte 0x9f 30480 4cb6 00000000 .4byte 0 30481 4cba 00000000 .4byte 0 30482 .LVUS332: 30483 4cbe 00 .uleb128 .LVU2400 30484 4cbf 00 .uleb128 .LVU2420 30485 4cc0 00 .uleb128 .LVU2424 30486 4cc1 00 .uleb128 .LVU2425 30487 4cc2 00 .uleb128 .LVU2425 30488 4cc3 00 .uleb128 0 30489 .LLST332: 30490 4cc4 44000000 .4byte .LVL503 30491 4cc8 90000000 .4byte .LVL508 30492 4ccc 0200 .2byte 0x2 30493 4cce 70 .byte 0x70 30494 4ccf 00 .sleb128 0 30495 4cd0 98000000 .4byte .LVL510 30496 4cd4 9C000000 .4byte .LVL511 30497 4cd8 0100 .2byte 0x1 30498 4cda 53 .byte 0x53 30499 4cdb 9C000000 .4byte .LVL511 30500 4cdf D8000000 .4byte .LFE158 30501 4ce3 0200 .2byte 0x2 30502 4ce5 70 .byte 0x70 30503 4ce6 00 .sleb128 0 30504 4ce7 00000000 .4byte 0 30505 4ceb 00000000 .4byte 0 30506 .LVUS333: 30507 4cef 00 .uleb128 .LVU2402 30508 4cf0 00 .uleb128 .LVU2420 30509 4cf1 00 .uleb128 .LVU2424 30510 4cf2 00 .uleb128 .LVU2425 30511 4cf3 00 .uleb128 .LVU2425 30512 4cf4 00 .uleb128 0 30513 .LLST333: 30514 4cf5 48000000 .4byte .LVL505 30515 4cf9 90000000 .4byte .LVL508 30516 4cfd 0200 .2byte 0x2 30517 4cff 70 .byte 0x70 30518 4d00 00 .sleb128 0 30519 4d01 98000000 .4byte .LVL510 30520 4d05 9C000000 .4byte .LVL511 30521 4d09 0100 .2byte 0x1 30522 4d0b 53 .byte 0x53 ARM GAS /tmp/ccjvgGVC.s page 1010 30523 4d0c 9C000000 .4byte .LVL511 30524 4d10 D8000000 .4byte .LFE158 30525 4d14 0200 .2byte 0x2 30526 4d16 70 .byte 0x70 30527 4d17 00 .sleb128 0 30528 4d18 00000000 .4byte 0 30529 4d1c 00000000 .4byte 0 30530 .LVUS334: 30531 4d20 00 .uleb128 .LVU2402 30532 4d21 00 .uleb128 .LVU2404 30533 4d22 00 .uleb128 .LVU2404 30534 4d23 00 .uleb128 .LVU2410 30535 4d24 00 .uleb128 .LVU2424 30536 4d25 00 .uleb128 .LVU2429 30537 .LLST334: 30538 4d26 48000000 .4byte .LVL505 30539 4d2a 56000000 .4byte .LVL506 30540 4d2e 0600 .2byte 0x6 30541 4d30 74 .byte 0x74 30542 4d31 00 .sleb128 0 30543 4d32 08 .byte 0x8 30544 4d33 FF .byte 0xff 30545 4d34 1A .byte 0x1a 30546 4d35 9F .byte 0x9f 30547 4d36 56000000 .4byte .LVL506 30548 4d3a 6A000000 .4byte .LVL507 30549 4d3e 3602 .2byte 0x236 30550 4d40 F3 .byte 0xf3 30551 4d41 03 .uleb128 0x3 30552 4d42 F5 .byte 0xf5 30553 4d43 01 .uleb128 0x1 30554 4d44 29 .uleb128 0x29 30555 4d45 F7 .byte 0xf7 30556 4d46 30 .uleb128 0x30 30557 4d47 F7 .byte 0xf7 30558 4d48 00 .uleb128 0 30559 4d49 3F .byte 0x3f 30560 4d4a 1A .byte 0x1a 30561 4d4b 4C .byte 0x4c 30562 4d4c 1E .byte 0x1e 30563 4d4d 23 .byte 0x23 30564 4d4e 3C .uleb128 0x3c 30565 4d4f F3 .byte 0xf3 30566 4d50 03 .uleb128 0x3 30567 4d51 F5 .byte 0xf5 30568 4d52 01 .uleb128 0x1 30569 4d53 29 .uleb128 0x29 30570 4d54 F7 .byte 0xf7 30571 4d55 30 .uleb128 0x30 30572 4d56 F7 .byte 0xf7 30573 4d57 00 .uleb128 0 30574 4d58 3F .byte 0x3f 30575 4d59 1A .byte 0x1a 30576 4d5a 4C .byte 0x4c 30577 4d5b 1E .byte 0x1e 30578 4d5c F3 .byte 0xf3 30579 4d5d 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 1011 30580 4d5e F5 .byte 0xf5 30581 4d5f 01 .uleb128 0x1 30582 4d60 29 .uleb128 0x29 30583 4d61 F7 .byte 0xf7 30584 4d62 30 .uleb128 0x30 30585 4d63 F7 .byte 0xf7 30586 4d64 00 .uleb128 0 30587 4d65 09 .byte 0x9 30588 4d66 FC .byte 0xfc 30589 4d67 24 .byte 0x24 30590 4d68 33 .byte 0x33 30591 4d69 25 .byte 0x25 30592 4d6a 30 .byte 0x30 30593 4d6b 2E .byte 0x2e 30594 4d6c 28 .byte 0x28 30595 4d6d 0100 .2byte 0x1 30596 4d6f 16 .byte 0x16 30597 4d70 13 .byte 0x13 30598 4d71 23 .byte 0x23 30599 4d72 FC03 .uleb128 0x1fc 30600 4d74 F3 .byte 0xf3 30601 4d75 03 .uleb128 0x3 30602 4d76 F5 .byte 0xf5 30603 4d77 01 .uleb128 0x1 30604 4d78 29 .uleb128 0x29 30605 4d79 F7 .byte 0xf7 30606 4d7a 30 .uleb128 0x30 30607 4d7b F7 .byte 0xf7 30608 4d7c 00 .uleb128 0 30609 4d7d 3F .byte 0x3f 30610 4d7e 1A .byte 0x1a 30611 4d7f 4C .byte 0x4c 30612 4d80 1E .byte 0x1e 30613 4d81 23 .byte 0x23 30614 4d82 3C .uleb128 0x3c 30615 4d83 F3 .byte 0xf3 30616 4d84 03 .uleb128 0x3 30617 4d85 F5 .byte 0xf5 30618 4d86 01 .uleb128 0x1 30619 4d87 29 .uleb128 0x29 30620 4d88 F7 .byte 0xf7 30621 4d89 30 .uleb128 0x30 30622 4d8a F7 .byte 0xf7 30623 4d8b 00 .uleb128 0 30624 4d8c 3F .byte 0x3f 30625 4d8d 1A .byte 0x1a 30626 4d8e 4C .byte 0x4c 30627 4d8f 1E .byte 0x1e 30628 4d90 F3 .byte 0xf3 30629 4d91 03 .uleb128 0x3 30630 4d92 F5 .byte 0xf5 30631 4d93 01 .uleb128 0x1 30632 4d94 29 .uleb128 0x29 30633 4d95 F7 .byte 0xf7 30634 4d96 30 .uleb128 0x30 30635 4d97 F7 .byte 0xf7 30636 4d98 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 1012 30637 4d99 09 .byte 0x9 30638 4d9a FC .byte 0xfc 30639 4d9b 24 .byte 0x24 30640 4d9c 33 .byte 0x33 30641 4d9d 25 .byte 0x25 30642 4d9e 30 .byte 0x30 30643 4d9f 2E .byte 0x2e 30644 4da0 28 .byte 0x28 30645 4da1 0100 .2byte 0x1 30646 4da3 16 .byte 0x16 30647 4da4 13 .byte 0x13 30648 4da5 F3 .byte 0xf3 30649 4da6 03 .uleb128 0x3 30650 4da7 F5 .byte 0xf5 30651 4da8 01 .uleb128 0x1 30652 4da9 29 .uleb128 0x29 30653 4daa F7 .byte 0xf7 30654 4dab 30 .uleb128 0x30 30655 4dac F7 .byte 0xf7 30656 4dad 00 .uleb128 0 30657 4dae 09 .byte 0x9 30658 4daf FC .byte 0xfc 30659 4db0 24 .byte 0x24 30660 4db1 33 .byte 0x33 30661 4db2 25 .byte 0x25 30662 4db3 30 .byte 0x30 30663 4db4 29 .byte 0x29 30664 4db5 28 .byte 0x28 30665 4db6 0100 .2byte 0x1 30666 4db8 16 .byte 0x16 30667 4db9 13 .byte 0x13 30668 4dba 70 .byte 0x70 30669 4dbb 00 .sleb128 0 30670 4dbc 22 .byte 0x22 30671 4dbd F3 .byte 0xf3 30672 4dbe 03 .uleb128 0x3 30673 4dbf F5 .byte 0xf5 30674 4dc0 01 .uleb128 0x1 30675 4dc1 29 .uleb128 0x29 30676 4dc2 F7 .byte 0xf7 30677 4dc3 30 .uleb128 0x30 30678 4dc4 F7 .byte 0xf7 30679 4dc5 00 .uleb128 0 30680 4dc6 3F .byte 0x3f 30681 4dc7 1A .byte 0x1a 30682 4dc8 4C .byte 0x4c 30683 4dc9 1E .byte 0x1e 30684 4dca 23 .byte 0x23 30685 4dcb 3C .uleb128 0x3c 30686 4dcc F3 .byte 0xf3 30687 4dcd 03 .uleb128 0x3 30688 4dce F5 .byte 0xf5 30689 4dcf 01 .uleb128 0x1 30690 4dd0 29 .uleb128 0x29 30691 4dd1 F7 .byte 0xf7 30692 4dd2 30 .uleb128 0x30 30693 4dd3 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1013 30694 4dd4 00 .uleb128 0 30695 4dd5 3F .byte 0x3f 30696 4dd6 1A .byte 0x1a 30697 4dd7 4C .byte 0x4c 30698 4dd8 1E .byte 0x1e 30699 4dd9 F3 .byte 0xf3 30700 4dda 03 .uleb128 0x3 30701 4ddb F5 .byte 0xf5 30702 4ddc 01 .uleb128 0x1 30703 4ddd 29 .uleb128 0x29 30704 4dde F7 .byte 0xf7 30705 4ddf 30 .uleb128 0x30 30706 4de0 F7 .byte 0xf7 30707 4de1 00 .uleb128 0 30708 4de2 09 .byte 0x9 30709 4de3 FC .byte 0xfc 30710 4de4 24 .byte 0x24 30711 4de5 33 .byte 0x33 30712 4de6 25 .byte 0x25 30713 4de7 30 .byte 0x30 30714 4de8 2E .byte 0x2e 30715 4de9 28 .byte 0x28 30716 4dea 0100 .2byte 0x1 30717 4dec 16 .byte 0x16 30718 4ded 13 .byte 0x13 30719 4dee 23 .byte 0x23 30720 4def FC03 .uleb128 0x1fc 30721 4df1 F3 .byte 0xf3 30722 4df2 03 .uleb128 0x3 30723 4df3 F5 .byte 0xf5 30724 4df4 01 .uleb128 0x1 30725 4df5 29 .uleb128 0x29 30726 4df6 F7 .byte 0xf7 30727 4df7 30 .uleb128 0x30 30728 4df8 F7 .byte 0xf7 30729 4df9 00 .uleb128 0 30730 4dfa 3F .byte 0x3f 30731 4dfb 1A .byte 0x1a 30732 4dfc 4C .byte 0x4c 30733 4dfd 1E .byte 0x1e 30734 4dfe 23 .byte 0x23 30735 4dff 3C .uleb128 0x3c 30736 4e00 F3 .byte 0xf3 30737 4e01 03 .uleb128 0x3 30738 4e02 F5 .byte 0xf5 30739 4e03 01 .uleb128 0x1 30740 4e04 29 .uleb128 0x29 30741 4e05 F7 .byte 0xf7 30742 4e06 30 .uleb128 0x30 30743 4e07 F7 .byte 0xf7 30744 4e08 00 .uleb128 0 30745 4e09 3F .byte 0x3f 30746 4e0a 1A .byte 0x1a 30747 4e0b 4C .byte 0x4c 30748 4e0c 1E .byte 0x1e 30749 4e0d F3 .byte 0xf3 30750 4e0e 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 1014 30751 4e0f F5 .byte 0xf5 30752 4e10 01 .uleb128 0x1 30753 4e11 29 .uleb128 0x29 30754 4e12 F7 .byte 0xf7 30755 4e13 30 .uleb128 0x30 30756 4e14 F7 .byte 0xf7 30757 4e15 00 .uleb128 0 30758 4e16 09 .byte 0x9 30759 4e17 FC .byte 0xfc 30760 4e18 24 .byte 0x24 30761 4e19 33 .byte 0x33 30762 4e1a 25 .byte 0x25 30763 4e1b 30 .byte 0x30 30764 4e1c 2E .byte 0x2e 30765 4e1d 28 .byte 0x28 30766 4e1e 0100 .2byte 0x1 30767 4e20 16 .byte 0x16 30768 4e21 13 .byte 0x13 30769 4e22 F3 .byte 0xf3 30770 4e23 03 .uleb128 0x3 30771 4e24 F5 .byte 0xf5 30772 4e25 01 .uleb128 0x1 30773 4e26 29 .uleb128 0x29 30774 4e27 F7 .byte 0xf7 30775 4e28 30 .uleb128 0x30 30776 4e29 F7 .byte 0xf7 30777 4e2a 00 .uleb128 0 30778 4e2b 09 .byte 0x9 30779 4e2c FC .byte 0xfc 30780 4e2d 24 .byte 0x24 30781 4e2e 33 .byte 0x33 30782 4e2f 25 .byte 0x25 30783 4e30 30 .byte 0x30 30784 4e31 29 .byte 0x29 30785 4e32 28 .byte 0x28 30786 4e33 0100 .2byte 0x1 30787 4e35 16 .byte 0x16 30788 4e36 13 .byte 0x13 30789 4e37 F3 .byte 0xf3 30790 4e38 03 .uleb128 0x3 30791 4e39 F5 .byte 0xf5 30792 4e3a 01 .uleb128 0x1 30793 4e3b 29 .uleb128 0x29 30794 4e3c F7 .byte 0xf7 30795 4e3d 30 .uleb128 0x30 30796 4e3e F7 .byte 0xf7 30797 4e3f 00 .uleb128 0 30798 4e40 09 .byte 0x9 30799 4e41 FC .byte 0xfc 30800 4e42 24 .byte 0x24 30801 4e43 33 .byte 0x33 30802 4e44 25 .byte 0x25 30803 4e45 30 .byte 0x30 30804 4e46 2E .byte 0x2e 30805 4e47 28 .byte 0x28 30806 4e48 0100 .2byte 0x1 30807 4e4a 16 .byte 0x16 ARM GAS /tmp/ccjvgGVC.s page 1015 30808 4e4b 13 .byte 0x13 30809 4e4c 70 .byte 0x70 30810 4e4d 00 .sleb128 0 30811 4e4e 22 .byte 0x22 30812 4e4f F3 .byte 0xf3 30813 4e50 03 .uleb128 0x3 30814 4e51 F5 .byte 0xf5 30815 4e52 01 .uleb128 0x1 30816 4e53 29 .uleb128 0x29 30817 4e54 F7 .byte 0xf7 30818 4e55 30 .uleb128 0x30 30819 4e56 F7 .byte 0xf7 30820 4e57 00 .uleb128 0 30821 4e58 3F .byte 0x3f 30822 4e59 1A .byte 0x1a 30823 4e5a 4C .byte 0x4c 30824 4e5b 1E .byte 0x1e 30825 4e5c 23 .byte 0x23 30826 4e5d 3C .uleb128 0x3c 30827 4e5e F3 .byte 0xf3 30828 4e5f 03 .uleb128 0x3 30829 4e60 F5 .byte 0xf5 30830 4e61 01 .uleb128 0x1 30831 4e62 29 .uleb128 0x29 30832 4e63 F7 .byte 0xf7 30833 4e64 30 .uleb128 0x30 30834 4e65 F7 .byte 0xf7 30835 4e66 00 .uleb128 0 30836 4e67 3F .byte 0x3f 30837 4e68 1A .byte 0x1a 30838 4e69 4C .byte 0x4c 30839 4e6a 1E .byte 0x1e 30840 4e6b F3 .byte 0xf3 30841 4e6c 03 .uleb128 0x3 30842 4e6d F5 .byte 0xf5 30843 4e6e 01 .uleb128 0x1 30844 4e6f 29 .uleb128 0x29 30845 4e70 F7 .byte 0xf7 30846 4e71 30 .uleb128 0x30 30847 4e72 F7 .byte 0xf7 30848 4e73 00 .uleb128 0 30849 4e74 09 .byte 0x9 30850 4e75 FC .byte 0xfc 30851 4e76 24 .byte 0x24 30852 4e77 33 .byte 0x33 30853 4e78 25 .byte 0x25 30854 4e79 30 .byte 0x30 30855 4e7a 2E .byte 0x2e 30856 4e7b 28 .byte 0x28 30857 4e7c 0100 .2byte 0x1 30858 4e7e 16 .byte 0x16 30859 4e7f 13 .byte 0x13 30860 4e80 23 .byte 0x23 30861 4e81 FC03 .uleb128 0x1fc 30862 4e83 F3 .byte 0xf3 30863 4e84 03 .uleb128 0x3 30864 4e85 F5 .byte 0xf5 ARM GAS /tmp/ccjvgGVC.s page 1016 30865 4e86 01 .uleb128 0x1 30866 4e87 29 .uleb128 0x29 30867 4e88 F7 .byte 0xf7 30868 4e89 30 .uleb128 0x30 30869 4e8a F7 .byte 0xf7 30870 4e8b 00 .uleb128 0 30871 4e8c 3F .byte 0x3f 30872 4e8d 1A .byte 0x1a 30873 4e8e 4C .byte 0x4c 30874 4e8f 1E .byte 0x1e 30875 4e90 23 .byte 0x23 30876 4e91 3C .uleb128 0x3c 30877 4e92 F3 .byte 0xf3 30878 4e93 03 .uleb128 0x3 30879 4e94 F5 .byte 0xf5 30880 4e95 01 .uleb128 0x1 30881 4e96 29 .uleb128 0x29 30882 4e97 F7 .byte 0xf7 30883 4e98 30 .uleb128 0x30 30884 4e99 F7 .byte 0xf7 30885 4e9a 00 .uleb128 0 30886 4e9b 3F .byte 0x3f 30887 4e9c 1A .byte 0x1a 30888 4e9d 4C .byte 0x4c 30889 4e9e 1E .byte 0x1e 30890 4e9f F3 .byte 0xf3 30891 4ea0 03 .uleb128 0x3 30892 4ea1 F5 .byte 0xf5 30893 4ea2 01 .uleb128 0x1 30894 4ea3 29 .uleb128 0x29 30895 4ea4 F7 .byte 0xf7 30896 4ea5 30 .uleb128 0x30 30897 4ea6 F7 .byte 0xf7 30898 4ea7 00 .uleb128 0 30899 4ea8 09 .byte 0x9 30900 4ea9 FC .byte 0xfc 30901 4eaa 24 .byte 0x24 30902 4eab 33 .byte 0x33 30903 4eac 25 .byte 0x25 30904 4ead 30 .byte 0x30 30905 4eae 2E .byte 0x2e 30906 4eaf 28 .byte 0x28 30907 4eb0 0100 .2byte 0x1 30908 4eb2 16 .byte 0x16 30909 4eb3 13 .byte 0x13 30910 4eb4 F3 .byte 0xf3 30911 4eb5 03 .uleb128 0x3 30912 4eb6 F5 .byte 0xf5 30913 4eb7 01 .uleb128 0x1 30914 4eb8 29 .uleb128 0x29 30915 4eb9 F7 .byte 0xf7 30916 4eba 30 .uleb128 0x30 30917 4ebb F7 .byte 0xf7 30918 4ebc 00 .uleb128 0 30919 4ebd 09 .byte 0x9 30920 4ebe FC .byte 0xfc 30921 4ebf 24 .byte 0x24 ARM GAS /tmp/ccjvgGVC.s page 1017 30922 4ec0 33 .byte 0x33 30923 4ec1 25 .byte 0x25 30924 4ec2 30 .byte 0x30 30925 4ec3 29 .byte 0x29 30926 4ec4 28 .byte 0x28 30927 4ec5 0100 .2byte 0x1 30928 4ec7 16 .byte 0x16 30929 4ec8 13 .byte 0x13 30930 4ec9 70 .byte 0x70 30931 4eca 00 .sleb128 0 30932 4ecb 22 .byte 0x22 30933 4ecc F3 .byte 0xf3 30934 4ecd 03 .uleb128 0x3 30935 4ece F5 .byte 0xf5 30936 4ecf 01 .uleb128 0x1 30937 4ed0 29 .uleb128 0x29 30938 4ed1 F7 .byte 0xf7 30939 4ed2 30 .uleb128 0x30 30940 4ed3 F7 .byte 0xf7 30941 4ed4 00 .uleb128 0 30942 4ed5 3F .byte 0x3f 30943 4ed6 1A .byte 0x1a 30944 4ed7 4C .byte 0x4c 30945 4ed8 1E .byte 0x1e 30946 4ed9 23 .byte 0x23 30947 4eda 3C .uleb128 0x3c 30948 4edb F3 .byte 0xf3 30949 4edc 03 .uleb128 0x3 30950 4edd F5 .byte 0xf5 30951 4ede 01 .uleb128 0x1 30952 4edf 29 .uleb128 0x29 30953 4ee0 F7 .byte 0xf7 30954 4ee1 30 .uleb128 0x30 30955 4ee2 F7 .byte 0xf7 30956 4ee3 00 .uleb128 0 30957 4ee4 3F .byte 0x3f 30958 4ee5 1A .byte 0x1a 30959 4ee6 4C .byte 0x4c 30960 4ee7 1E .byte 0x1e 30961 4ee8 F3 .byte 0xf3 30962 4ee9 03 .uleb128 0x3 30963 4eea F5 .byte 0xf5 30964 4eeb 01 .uleb128 0x1 30965 4eec 29 .uleb128 0x29 30966 4eed F7 .byte 0xf7 30967 4eee 30 .uleb128 0x30 30968 4eef F7 .byte 0xf7 30969 4ef0 00 .uleb128 0 30970 4ef1 09 .byte 0x9 30971 4ef2 FC .byte 0xfc 30972 4ef3 24 .byte 0x24 30973 4ef4 33 .byte 0x33 30974 4ef5 25 .byte 0x25 30975 4ef6 30 .byte 0x30 30976 4ef7 2E .byte 0x2e 30977 4ef8 28 .byte 0x28 30978 4ef9 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 1018 30979 4efb 16 .byte 0x16 30980 4efc 13 .byte 0x13 30981 4efd 23 .byte 0x23 30982 4efe FC03 .uleb128 0x1fc 30983 4f00 F3 .byte 0xf3 30984 4f01 03 .uleb128 0x3 30985 4f02 F5 .byte 0xf5 30986 4f03 01 .uleb128 0x1 30987 4f04 29 .uleb128 0x29 30988 4f05 F7 .byte 0xf7 30989 4f06 30 .uleb128 0x30 30990 4f07 F7 .byte 0xf7 30991 4f08 00 .uleb128 0 30992 4f09 3F .byte 0x3f 30993 4f0a 1A .byte 0x1a 30994 4f0b 4C .byte 0x4c 30995 4f0c 1E .byte 0x1e 30996 4f0d 23 .byte 0x23 30997 4f0e 3C .uleb128 0x3c 30998 4f0f F3 .byte 0xf3 30999 4f10 03 .uleb128 0x3 31000 4f11 F5 .byte 0xf5 31001 4f12 01 .uleb128 0x1 31002 4f13 29 .uleb128 0x29 31003 4f14 F7 .byte 0xf7 31004 4f15 30 .uleb128 0x30 31005 4f16 F7 .byte 0xf7 31006 4f17 00 .uleb128 0 31007 4f18 3F .byte 0x3f 31008 4f19 1A .byte 0x1a 31009 4f1a 4C .byte 0x4c 31010 4f1b 1E .byte 0x1e 31011 4f1c F3 .byte 0xf3 31012 4f1d 03 .uleb128 0x3 31013 4f1e F5 .byte 0xf5 31014 4f1f 01 .uleb128 0x1 31015 4f20 29 .uleb128 0x29 31016 4f21 F7 .byte 0xf7 31017 4f22 30 .uleb128 0x30 31018 4f23 F7 .byte 0xf7 31019 4f24 00 .uleb128 0 31020 4f25 09 .byte 0x9 31021 4f26 FC .byte 0xfc 31022 4f27 24 .byte 0x24 31023 4f28 33 .byte 0x33 31024 4f29 25 .byte 0x25 31025 4f2a 30 .byte 0x30 31026 4f2b 2E .byte 0x2e 31027 4f2c 28 .byte 0x28 31028 4f2d 0100 .2byte 0x1 31029 4f2f 16 .byte 0x16 31030 4f30 13 .byte 0x13 31031 4f31 F3 .byte 0xf3 31032 4f32 03 .uleb128 0x3 31033 4f33 F5 .byte 0xf5 31034 4f34 01 .uleb128 0x1 31035 4f35 29 .uleb128 0x29 ARM GAS /tmp/ccjvgGVC.s page 1019 31036 4f36 F7 .byte 0xf7 31037 4f37 30 .uleb128 0x30 31038 4f38 F7 .byte 0xf7 31039 4f39 00 .uleb128 0 31040 4f3a 09 .byte 0x9 31041 4f3b FC .byte 0xfc 31042 4f3c 24 .byte 0x24 31043 4f3d 33 .byte 0x33 31044 4f3e 25 .byte 0x25 31045 4f3f 30 .byte 0x30 31046 4f40 29 .byte 0x29 31047 4f41 28 .byte 0x28 31048 4f42 0100 .2byte 0x1 31049 4f44 16 .byte 0x16 31050 4f45 13 .byte 0x13 31051 4f46 F3 .byte 0xf3 31052 4f47 03 .uleb128 0x3 31053 4f48 F5 .byte 0xf5 31054 4f49 01 .uleb128 0x1 31055 4f4a 29 .uleb128 0x29 31056 4f4b F7 .byte 0xf7 31057 4f4c 30 .uleb128 0x30 31058 4f4d F7 .byte 0xf7 31059 4f4e 00 .uleb128 0 31060 4f4f 09 .byte 0x9 31061 4f50 FC .byte 0xfc 31062 4f51 24 .byte 0x24 31063 4f52 33 .byte 0x33 31064 4f53 25 .byte 0x25 31065 4f54 30 .byte 0x30 31066 4f55 2E .byte 0x2e 31067 4f56 28 .byte 0x28 31068 4f57 0100 .2byte 0x1 31069 4f59 16 .byte 0x16 31070 4f5a 13 .byte 0x13 31071 4f5b F3 .byte 0xf3 31072 4f5c 03 .uleb128 0x3 31073 4f5d F5 .byte 0xf5 31074 4f5e 01 .uleb128 0x1 31075 4f5f 29 .uleb128 0x29 31076 4f60 F7 .byte 0xf7 31077 4f61 30 .uleb128 0x30 31078 4f62 F7 .byte 0xf7 31079 4f63 00 .uleb128 0 31080 4f64 09 .byte 0x9 31081 4f65 FC .byte 0xfc 31082 4f66 24 .byte 0x24 31083 4f67 33 .byte 0x33 31084 4f68 25 .byte 0x25 31085 4f69 30 .byte 0x30 31086 4f6a 29 .byte 0x29 31087 4f6b 28 .byte 0x28 31088 4f6c 0100 .2byte 0x1 31089 4f6e 16 .byte 0x16 31090 4f6f 13 .byte 0x13 31091 4f70 94 .byte 0x94 31092 4f71 01 .byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 1020 31093 4f72 08 .byte 0x8 31094 4f73 FF .byte 0xff 31095 4f74 1A .byte 0x1a 31096 4f75 9F .byte 0x9f 31097 4f76 98000000 .4byte .LVL510 31098 4f7a AA000000 .4byte .LVL512 31099 4f7e 3602 .2byte 0x236 31100 4f80 F3 .byte 0xf3 31101 4f81 03 .uleb128 0x3 31102 4f82 F5 .byte 0xf5 31103 4f83 01 .uleb128 0x1 31104 4f84 29 .uleb128 0x29 31105 4f85 F7 .byte 0xf7 31106 4f86 30 .uleb128 0x30 31107 4f87 F7 .byte 0xf7 31108 4f88 00 .uleb128 0 31109 4f89 3F .byte 0x3f 31110 4f8a 1A .byte 0x1a 31111 4f8b 4C .byte 0x4c 31112 4f8c 1E .byte 0x1e 31113 4f8d 23 .byte 0x23 31114 4f8e 3C .uleb128 0x3c 31115 4f8f F3 .byte 0xf3 31116 4f90 03 .uleb128 0x3 31117 4f91 F5 .byte 0xf5 31118 4f92 01 .uleb128 0x1 31119 4f93 29 .uleb128 0x29 31120 4f94 F7 .byte 0xf7 31121 4f95 30 .uleb128 0x30 31122 4f96 F7 .byte 0xf7 31123 4f97 00 .uleb128 0 31124 4f98 3F .byte 0x3f 31125 4f99 1A .byte 0x1a 31126 4f9a 4C .byte 0x4c 31127 4f9b 1E .byte 0x1e 31128 4f9c F3 .byte 0xf3 31129 4f9d 03 .uleb128 0x3 31130 4f9e F5 .byte 0xf5 31131 4f9f 01 .uleb128 0x1 31132 4fa0 29 .uleb128 0x29 31133 4fa1 F7 .byte 0xf7 31134 4fa2 30 .uleb128 0x30 31135 4fa3 F7 .byte 0xf7 31136 4fa4 00 .uleb128 0 31137 4fa5 09 .byte 0x9 31138 4fa6 FC .byte 0xfc 31139 4fa7 24 .byte 0x24 31140 4fa8 33 .byte 0x33 31141 4fa9 25 .byte 0x25 31142 4faa 30 .byte 0x30 31143 4fab 2E .byte 0x2e 31144 4fac 28 .byte 0x28 31145 4fad 0100 .2byte 0x1 31146 4faf 16 .byte 0x16 31147 4fb0 13 .byte 0x13 31148 4fb1 23 .byte 0x23 31149 4fb2 FC03 .uleb128 0x1fc ARM GAS /tmp/ccjvgGVC.s page 1021 31150 4fb4 F3 .byte 0xf3 31151 4fb5 03 .uleb128 0x3 31152 4fb6 F5 .byte 0xf5 31153 4fb7 01 .uleb128 0x1 31154 4fb8 29 .uleb128 0x29 31155 4fb9 F7 .byte 0xf7 31156 4fba 30 .uleb128 0x30 31157 4fbb F7 .byte 0xf7 31158 4fbc 00 .uleb128 0 31159 4fbd 3F .byte 0x3f 31160 4fbe 1A .byte 0x1a 31161 4fbf 4C .byte 0x4c 31162 4fc0 1E .byte 0x1e 31163 4fc1 23 .byte 0x23 31164 4fc2 3C .uleb128 0x3c 31165 4fc3 F3 .byte 0xf3 31166 4fc4 03 .uleb128 0x3 31167 4fc5 F5 .byte 0xf5 31168 4fc6 01 .uleb128 0x1 31169 4fc7 29 .uleb128 0x29 31170 4fc8 F7 .byte 0xf7 31171 4fc9 30 .uleb128 0x30 31172 4fca F7 .byte 0xf7 31173 4fcb 00 .uleb128 0 31174 4fcc 3F .byte 0x3f 31175 4fcd 1A .byte 0x1a 31176 4fce 4C .byte 0x4c 31177 4fcf 1E .byte 0x1e 31178 4fd0 F3 .byte 0xf3 31179 4fd1 03 .uleb128 0x3 31180 4fd2 F5 .byte 0xf5 31181 4fd3 01 .uleb128 0x1 31182 4fd4 29 .uleb128 0x29 31183 4fd5 F7 .byte 0xf7 31184 4fd6 30 .uleb128 0x30 31185 4fd7 F7 .byte 0xf7 31186 4fd8 00 .uleb128 0 31187 4fd9 09 .byte 0x9 31188 4fda FC .byte 0xfc 31189 4fdb 24 .byte 0x24 31190 4fdc 33 .byte 0x33 31191 4fdd 25 .byte 0x25 31192 4fde 30 .byte 0x30 31193 4fdf 2E .byte 0x2e 31194 4fe0 28 .byte 0x28 31195 4fe1 0100 .2byte 0x1 31196 4fe3 16 .byte 0x16 31197 4fe4 13 .byte 0x13 31198 4fe5 F3 .byte 0xf3 31199 4fe6 03 .uleb128 0x3 31200 4fe7 F5 .byte 0xf5 31201 4fe8 01 .uleb128 0x1 31202 4fe9 29 .uleb128 0x29 31203 4fea F7 .byte 0xf7 31204 4feb 30 .uleb128 0x30 31205 4fec F7 .byte 0xf7 31206 4fed 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 1022 31207 4fee 09 .byte 0x9 31208 4fef FC .byte 0xfc 31209 4ff0 24 .byte 0x24 31210 4ff1 33 .byte 0x33 31211 4ff2 25 .byte 0x25 31212 4ff3 30 .byte 0x30 31213 4ff4 29 .byte 0x29 31214 4ff5 28 .byte 0x28 31215 4ff6 0100 .2byte 0x1 31216 4ff8 16 .byte 0x16 31217 4ff9 13 .byte 0x13 31218 4ffa 70 .byte 0x70 31219 4ffb 00 .sleb128 0 31220 4ffc 22 .byte 0x22 31221 4ffd F3 .byte 0xf3 31222 4ffe 03 .uleb128 0x3 31223 4fff F5 .byte 0xf5 31224 5000 01 .uleb128 0x1 31225 5001 29 .uleb128 0x29 31226 5002 F7 .byte 0xf7 31227 5003 30 .uleb128 0x30 31228 5004 F7 .byte 0xf7 31229 5005 00 .uleb128 0 31230 5006 3F .byte 0x3f 31231 5007 1A .byte 0x1a 31232 5008 4C .byte 0x4c 31233 5009 1E .byte 0x1e 31234 500a 23 .byte 0x23 31235 500b 3C .uleb128 0x3c 31236 500c F3 .byte 0xf3 31237 500d 03 .uleb128 0x3 31238 500e F5 .byte 0xf5 31239 500f 01 .uleb128 0x1 31240 5010 29 .uleb128 0x29 31241 5011 F7 .byte 0xf7 31242 5012 30 .uleb128 0x30 31243 5013 F7 .byte 0xf7 31244 5014 00 .uleb128 0 31245 5015 3F .byte 0x3f 31246 5016 1A .byte 0x1a 31247 5017 4C .byte 0x4c 31248 5018 1E .byte 0x1e 31249 5019 F3 .byte 0xf3 31250 501a 03 .uleb128 0x3 31251 501b F5 .byte 0xf5 31252 501c 01 .uleb128 0x1 31253 501d 29 .uleb128 0x29 31254 501e F7 .byte 0xf7 31255 501f 30 .uleb128 0x30 31256 5020 F7 .byte 0xf7 31257 5021 00 .uleb128 0 31258 5022 09 .byte 0x9 31259 5023 FC .byte 0xfc 31260 5024 24 .byte 0x24 31261 5025 33 .byte 0x33 31262 5026 25 .byte 0x25 31263 5027 30 .byte 0x30 ARM GAS /tmp/ccjvgGVC.s page 1023 31264 5028 2E .byte 0x2e 31265 5029 28 .byte 0x28 31266 502a 0100 .2byte 0x1 31267 502c 16 .byte 0x16 31268 502d 13 .byte 0x13 31269 502e 23 .byte 0x23 31270 502f FC03 .uleb128 0x1fc 31271 5031 F3 .byte 0xf3 31272 5032 03 .uleb128 0x3 31273 5033 F5 .byte 0xf5 31274 5034 01 .uleb128 0x1 31275 5035 29 .uleb128 0x29 31276 5036 F7 .byte 0xf7 31277 5037 30 .uleb128 0x30 31278 5038 F7 .byte 0xf7 31279 5039 00 .uleb128 0 31280 503a 3F .byte 0x3f 31281 503b 1A .byte 0x1a 31282 503c 4C .byte 0x4c 31283 503d 1E .byte 0x1e 31284 503e 23 .byte 0x23 31285 503f 3C .uleb128 0x3c 31286 5040 F3 .byte 0xf3 31287 5041 03 .uleb128 0x3 31288 5042 F5 .byte 0xf5 31289 5043 01 .uleb128 0x1 31290 5044 29 .uleb128 0x29 31291 5045 F7 .byte 0xf7 31292 5046 30 .uleb128 0x30 31293 5047 F7 .byte 0xf7 31294 5048 00 .uleb128 0 31295 5049 3F .byte 0x3f 31296 504a 1A .byte 0x1a 31297 504b 4C .byte 0x4c 31298 504c 1E .byte 0x1e 31299 504d F3 .byte 0xf3 31300 504e 03 .uleb128 0x3 31301 504f F5 .byte 0xf5 31302 5050 01 .uleb128 0x1 31303 5051 29 .uleb128 0x29 31304 5052 F7 .byte 0xf7 31305 5053 30 .uleb128 0x30 31306 5054 F7 .byte 0xf7 31307 5055 00 .uleb128 0 31308 5056 09 .byte 0x9 31309 5057 FC .byte 0xfc 31310 5058 24 .byte 0x24 31311 5059 33 .byte 0x33 31312 505a 25 .byte 0x25 31313 505b 30 .byte 0x30 31314 505c 2E .byte 0x2e 31315 505d 28 .byte 0x28 31316 505e 0100 .2byte 0x1 31317 5060 16 .byte 0x16 31318 5061 13 .byte 0x13 31319 5062 F3 .byte 0xf3 31320 5063 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 1024 31321 5064 F5 .byte 0xf5 31322 5065 01 .uleb128 0x1 31323 5066 29 .uleb128 0x29 31324 5067 F7 .byte 0xf7 31325 5068 30 .uleb128 0x30 31326 5069 F7 .byte 0xf7 31327 506a 00 .uleb128 0 31328 506b 09 .byte 0x9 31329 506c FC .byte 0xfc 31330 506d 24 .byte 0x24 31331 506e 33 .byte 0x33 31332 506f 25 .byte 0x25 31333 5070 30 .byte 0x30 31334 5071 29 .byte 0x29 31335 5072 28 .byte 0x28 31336 5073 0100 .2byte 0x1 31337 5075 16 .byte 0x16 31338 5076 13 .byte 0x13 31339 5077 F3 .byte 0xf3 31340 5078 03 .uleb128 0x3 31341 5079 F5 .byte 0xf5 31342 507a 01 .uleb128 0x1 31343 507b 29 .uleb128 0x29 31344 507c F7 .byte 0xf7 31345 507d 30 .uleb128 0x30 31346 507e F7 .byte 0xf7 31347 507f 00 .uleb128 0 31348 5080 09 .byte 0x9 31349 5081 FC .byte 0xfc 31350 5082 24 .byte 0x24 31351 5083 33 .byte 0x33 31352 5084 25 .byte 0x25 31353 5085 30 .byte 0x30 31354 5086 2E .byte 0x2e 31355 5087 28 .byte 0x28 31356 5088 0100 .2byte 0x1 31357 508a 16 .byte 0x16 31358 508b 13 .byte 0x13 31359 508c 70 .byte 0x70 31360 508d 00 .sleb128 0 31361 508e 22 .byte 0x22 31362 508f F3 .byte 0xf3 31363 5090 03 .uleb128 0x3 31364 5091 F5 .byte 0xf5 31365 5092 01 .uleb128 0x1 31366 5093 29 .uleb128 0x29 31367 5094 F7 .byte 0xf7 31368 5095 30 .uleb128 0x30 31369 5096 F7 .byte 0xf7 31370 5097 00 .uleb128 0 31371 5098 3F .byte 0x3f 31372 5099 1A .byte 0x1a 31373 509a 4C .byte 0x4c 31374 509b 1E .byte 0x1e 31375 509c 23 .byte 0x23 31376 509d 3C .uleb128 0x3c 31377 509e F3 .byte 0xf3 ARM GAS /tmp/ccjvgGVC.s page 1025 31378 509f 03 .uleb128 0x3 31379 50a0 F5 .byte 0xf5 31380 50a1 01 .uleb128 0x1 31381 50a2 29 .uleb128 0x29 31382 50a3 F7 .byte 0xf7 31383 50a4 30 .uleb128 0x30 31384 50a5 F7 .byte 0xf7 31385 50a6 00 .uleb128 0 31386 50a7 3F .byte 0x3f 31387 50a8 1A .byte 0x1a 31388 50a9 4C .byte 0x4c 31389 50aa 1E .byte 0x1e 31390 50ab F3 .byte 0xf3 31391 50ac 03 .uleb128 0x3 31392 50ad F5 .byte 0xf5 31393 50ae 01 .uleb128 0x1 31394 50af 29 .uleb128 0x29 31395 50b0 F7 .byte 0xf7 31396 50b1 30 .uleb128 0x30 31397 50b2 F7 .byte 0xf7 31398 50b3 00 .uleb128 0 31399 50b4 09 .byte 0x9 31400 50b5 FC .byte 0xfc 31401 50b6 24 .byte 0x24 31402 50b7 33 .byte 0x33 31403 50b8 25 .byte 0x25 31404 50b9 30 .byte 0x30 31405 50ba 2E .byte 0x2e 31406 50bb 28 .byte 0x28 31407 50bc 0100 .2byte 0x1 31408 50be 16 .byte 0x16 31409 50bf 13 .byte 0x13 31410 50c0 23 .byte 0x23 31411 50c1 FC03 .uleb128 0x1fc 31412 50c3 F3 .byte 0xf3 31413 50c4 03 .uleb128 0x3 31414 50c5 F5 .byte 0xf5 31415 50c6 01 .uleb128 0x1 31416 50c7 29 .uleb128 0x29 31417 50c8 F7 .byte 0xf7 31418 50c9 30 .uleb128 0x30 31419 50ca F7 .byte 0xf7 31420 50cb 00 .uleb128 0 31421 50cc 3F .byte 0x3f 31422 50cd 1A .byte 0x1a 31423 50ce 4C .byte 0x4c 31424 50cf 1E .byte 0x1e 31425 50d0 23 .byte 0x23 31426 50d1 3C .uleb128 0x3c 31427 50d2 F3 .byte 0xf3 31428 50d3 03 .uleb128 0x3 31429 50d4 F5 .byte 0xf5 31430 50d5 01 .uleb128 0x1 31431 50d6 29 .uleb128 0x29 31432 50d7 F7 .byte 0xf7 31433 50d8 30 .uleb128 0x30 31434 50d9 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1026 31435 50da 00 .uleb128 0 31436 50db 3F .byte 0x3f 31437 50dc 1A .byte 0x1a 31438 50dd 4C .byte 0x4c 31439 50de 1E .byte 0x1e 31440 50df F3 .byte 0xf3 31441 50e0 03 .uleb128 0x3 31442 50e1 F5 .byte 0xf5 31443 50e2 01 .uleb128 0x1 31444 50e3 29 .uleb128 0x29 31445 50e4 F7 .byte 0xf7 31446 50e5 30 .uleb128 0x30 31447 50e6 F7 .byte 0xf7 31448 50e7 00 .uleb128 0 31449 50e8 09 .byte 0x9 31450 50e9 FC .byte 0xfc 31451 50ea 24 .byte 0x24 31452 50eb 33 .byte 0x33 31453 50ec 25 .byte 0x25 31454 50ed 30 .byte 0x30 31455 50ee 2E .byte 0x2e 31456 50ef 28 .byte 0x28 31457 50f0 0100 .2byte 0x1 31458 50f2 16 .byte 0x16 31459 50f3 13 .byte 0x13 31460 50f4 F3 .byte 0xf3 31461 50f5 03 .uleb128 0x3 31462 50f6 F5 .byte 0xf5 31463 50f7 01 .uleb128 0x1 31464 50f8 29 .uleb128 0x29 31465 50f9 F7 .byte 0xf7 31466 50fa 30 .uleb128 0x30 31467 50fb F7 .byte 0xf7 31468 50fc 00 .uleb128 0 31469 50fd 09 .byte 0x9 31470 50fe FC .byte 0xfc 31471 50ff 24 .byte 0x24 31472 5100 33 .byte 0x33 31473 5101 25 .byte 0x25 31474 5102 30 .byte 0x30 31475 5103 29 .byte 0x29 31476 5104 28 .byte 0x28 31477 5105 0100 .2byte 0x1 31478 5107 16 .byte 0x16 31479 5108 13 .byte 0x13 31480 5109 70 .byte 0x70 31481 510a 00 .sleb128 0 31482 510b 22 .byte 0x22 31483 510c F3 .byte 0xf3 31484 510d 03 .uleb128 0x3 31485 510e F5 .byte 0xf5 31486 510f 01 .uleb128 0x1 31487 5110 29 .uleb128 0x29 31488 5111 F7 .byte 0xf7 31489 5112 30 .uleb128 0x30 31490 5113 F7 .byte 0xf7 31491 5114 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 1027 31492 5115 3F .byte 0x3f 31493 5116 1A .byte 0x1a 31494 5117 4C .byte 0x4c 31495 5118 1E .byte 0x1e 31496 5119 23 .byte 0x23 31497 511a 3C .uleb128 0x3c 31498 511b F3 .byte 0xf3 31499 511c 03 .uleb128 0x3 31500 511d F5 .byte 0xf5 31501 511e 01 .uleb128 0x1 31502 511f 29 .uleb128 0x29 31503 5120 F7 .byte 0xf7 31504 5121 30 .uleb128 0x30 31505 5122 F7 .byte 0xf7 31506 5123 00 .uleb128 0 31507 5124 3F .byte 0x3f 31508 5125 1A .byte 0x1a 31509 5126 4C .byte 0x4c 31510 5127 1E .byte 0x1e 31511 5128 F3 .byte 0xf3 31512 5129 03 .uleb128 0x3 31513 512a F5 .byte 0xf5 31514 512b 01 .uleb128 0x1 31515 512c 29 .uleb128 0x29 31516 512d F7 .byte 0xf7 31517 512e 30 .uleb128 0x30 31518 512f F7 .byte 0xf7 31519 5130 00 .uleb128 0 31520 5131 09 .byte 0x9 31521 5132 FC .byte 0xfc 31522 5133 24 .byte 0x24 31523 5134 33 .byte 0x33 31524 5135 25 .byte 0x25 31525 5136 30 .byte 0x30 31526 5137 2E .byte 0x2e 31527 5138 28 .byte 0x28 31528 5139 0100 .2byte 0x1 31529 513b 16 .byte 0x16 31530 513c 13 .byte 0x13 31531 513d 23 .byte 0x23 31532 513e FC03 .uleb128 0x1fc 31533 5140 F3 .byte 0xf3 31534 5141 03 .uleb128 0x3 31535 5142 F5 .byte 0xf5 31536 5143 01 .uleb128 0x1 31537 5144 29 .uleb128 0x29 31538 5145 F7 .byte 0xf7 31539 5146 30 .uleb128 0x30 31540 5147 F7 .byte 0xf7 31541 5148 00 .uleb128 0 31542 5149 3F .byte 0x3f 31543 514a 1A .byte 0x1a 31544 514b 4C .byte 0x4c 31545 514c 1E .byte 0x1e 31546 514d 23 .byte 0x23 31547 514e 3C .uleb128 0x3c 31548 514f F3 .byte 0xf3 ARM GAS /tmp/ccjvgGVC.s page 1028 31549 5150 03 .uleb128 0x3 31550 5151 F5 .byte 0xf5 31551 5152 01 .uleb128 0x1 31552 5153 29 .uleb128 0x29 31553 5154 F7 .byte 0xf7 31554 5155 30 .uleb128 0x30 31555 5156 F7 .byte 0xf7 31556 5157 00 .uleb128 0 31557 5158 3F .byte 0x3f 31558 5159 1A .byte 0x1a 31559 515a 4C .byte 0x4c 31560 515b 1E .byte 0x1e 31561 515c F3 .byte 0xf3 31562 515d 03 .uleb128 0x3 31563 515e F5 .byte 0xf5 31564 515f 01 .uleb128 0x1 31565 5160 29 .uleb128 0x29 31566 5161 F7 .byte 0xf7 31567 5162 30 .uleb128 0x30 31568 5163 F7 .byte 0xf7 31569 5164 00 .uleb128 0 31570 5165 09 .byte 0x9 31571 5166 FC .byte 0xfc 31572 5167 24 .byte 0x24 31573 5168 33 .byte 0x33 31574 5169 25 .byte 0x25 31575 516a 30 .byte 0x30 31576 516b 2E .byte 0x2e 31577 516c 28 .byte 0x28 31578 516d 0100 .2byte 0x1 31579 516f 16 .byte 0x16 31580 5170 13 .byte 0x13 31581 5171 F3 .byte 0xf3 31582 5172 03 .uleb128 0x3 31583 5173 F5 .byte 0xf5 31584 5174 01 .uleb128 0x1 31585 5175 29 .uleb128 0x29 31586 5176 F7 .byte 0xf7 31587 5177 30 .uleb128 0x30 31588 5178 F7 .byte 0xf7 31589 5179 00 .uleb128 0 31590 517a 09 .byte 0x9 31591 517b FC .byte 0xfc 31592 517c 24 .byte 0x24 31593 517d 33 .byte 0x33 31594 517e 25 .byte 0x25 31595 517f 30 .byte 0x30 31596 5180 29 .byte 0x29 31597 5181 28 .byte 0x28 31598 5182 0100 .2byte 0x1 31599 5184 16 .byte 0x16 31600 5185 13 .byte 0x13 31601 5186 F3 .byte 0xf3 31602 5187 03 .uleb128 0x3 31603 5188 F5 .byte 0xf5 31604 5189 01 .uleb128 0x1 31605 518a 29 .uleb128 0x29 ARM GAS /tmp/ccjvgGVC.s page 1029 31606 518b F7 .byte 0xf7 31607 518c 30 .uleb128 0x30 31608 518d F7 .byte 0xf7 31609 518e 00 .uleb128 0 31610 518f 09 .byte 0x9 31611 5190 FC .byte 0xfc 31612 5191 24 .byte 0x24 31613 5192 33 .byte 0x33 31614 5193 25 .byte 0x25 31615 5194 30 .byte 0x30 31616 5195 2E .byte 0x2e 31617 5196 28 .byte 0x28 31618 5197 0100 .2byte 0x1 31619 5199 16 .byte 0x16 31620 519a 13 .byte 0x13 31621 519b F3 .byte 0xf3 31622 519c 03 .uleb128 0x3 31623 519d F5 .byte 0xf5 31624 519e 01 .uleb128 0x1 31625 519f 29 .uleb128 0x29 31626 51a0 F7 .byte 0xf7 31627 51a1 30 .uleb128 0x30 31628 51a2 F7 .byte 0xf7 31629 51a3 00 .uleb128 0 31630 51a4 09 .byte 0x9 31631 51a5 FC .byte 0xfc 31632 51a6 24 .byte 0x24 31633 51a7 33 .byte 0x33 31634 51a8 25 .byte 0x25 31635 51a9 30 .byte 0x30 31636 51aa 29 .byte 0x29 31637 51ab 28 .byte 0x28 31638 51ac 0100 .2byte 0x1 31639 51ae 16 .byte 0x16 31640 51af 13 .byte 0x13 31641 51b0 94 .byte 0x94 31642 51b1 01 .byte 0x1 31643 51b2 08 .byte 0x8 31644 51b3 FF .byte 0xff 31645 51b4 1A .byte 0x1a 31646 51b5 9F .byte 0x9f 31647 51b6 00000000 .4byte 0 31648 51ba 00000000 .4byte 0 31649 .LLST335: 31650 51be 00000000 .4byte .LFB163 31651 51c2 02000000 .4byte .LCFI65 31652 51c6 0200 .2byte 0x2 31653 51c8 7D .byte 0x7d 31654 51c9 00 .sleb128 0 31655 51ca 02000000 .4byte .LCFI65 31656 51ce C0000000 .4byte .LFE163 31657 51d2 0200 .2byte 0x2 31658 51d4 7D .byte 0x7d 31659 51d5 14 .sleb128 20 31660 51d6 00000000 .4byte 0 31661 51da 00000000 .4byte 0 31662 .LVUS336: ARM GAS /tmp/ccjvgGVC.s page 1030 31663 51de 00 .uleb128 0 31664 51df 00 .uleb128 .LVU2443 31665 51e0 00 .uleb128 .LVU2443 31666 51e1 00 .uleb128 0 31667 .LLST336: 31668 51e2 00000000 .4byte .LVL513 31669 51e6 0C000000 .4byte .LVL515 31670 51ea 0100 .2byte 0x1 31671 51ec 50 .byte 0x50 31672 51ed 0C000000 .4byte .LVL515 31673 51f1 C0000000 .4byte .LFE163 31674 51f5 0A00 .2byte 0xa 31675 51f7 F3 .byte 0xf3 31676 51f8 03 .uleb128 0x3 31677 51f9 F5 .byte 0xf5 31678 51fa 00 .uleb128 0 31679 51fb 29 .uleb128 0x29 31680 51fc F7 .byte 0xf7 31681 51fd 30 .uleb128 0x30 31682 51fe F7 .byte 0xf7 31683 51ff 00 .uleb128 0 31684 5200 9F .byte 0x9f 31685 5201 00000000 .4byte 0 31686 5205 00000000 .4byte 0 31687 .LVUS337: 31688 5209 00 .uleb128 0 31689 520a 00 .uleb128 .LVU2445 31690 520b 00 .uleb128 .LVU2445 31691 520c 00 .uleb128 0 31692 .LLST337: 31693 520d 00000000 .4byte .LVL513 31694 5211 1A000000 .4byte .LVL516 31695 5215 0100 .2byte 0x1 31696 5217 51 .byte 0x51 31697 5218 1A000000 .4byte .LVL516 31698 521c C0000000 .4byte .LFE163 31699 5220 0A00 .2byte 0xa 31700 5222 F3 .byte 0xf3 31701 5223 03 .uleb128 0x3 31702 5224 F5 .byte 0xf5 31703 5225 01 .uleb128 0x1 31704 5226 29 .uleb128 0x29 31705 5227 F7 .byte 0xf7 31706 5228 37 .uleb128 0x37 31707 5229 F7 .byte 0xf7 31708 522a 00 .uleb128 0 31709 522b 9F .byte 0x9f 31710 522c 00000000 .4byte 0 31711 5230 00000000 .4byte 0 31712 .LVUS338: 31713 5234 00 .uleb128 0 31714 5235 00 .uleb128 .LVU2476 31715 5236 00 .uleb128 .LVU2476 31716 5237 00 .uleb128 .LVU2482 31717 5238 00 .uleb128 .LVU2482 31718 5239 00 .uleb128 .LVU2489 31719 523a 00 .uleb128 .LVU2489 ARM GAS /tmp/ccjvgGVC.s page 1031 31720 523b 00 .uleb128 0 31721 .LLST338: 31722 523c 00000000 .4byte .LVL513 31723 5240 8C000000 .4byte .LVL522 31724 5244 0100 .2byte 0x1 31725 5246 53 .byte 0x53 31726 5247 8C000000 .4byte .LVL522 31727 524b A4000000 .4byte .LVL526 31728 524f 0A00 .2byte 0xa 31729 5251 F3 .byte 0xf3 31730 5252 03 .uleb128 0x3 31731 5253 F5 .byte 0xf5 31732 5254 03 .uleb128 0x3 31733 5255 29 .uleb128 0x29 31734 5256 F7 .byte 0xf7 31735 5257 3E .uleb128 0x3e 31736 5258 F7 .byte 0xf7 31737 5259 00 .uleb128 0 31738 525a 9F .byte 0x9f 31739 525b A4000000 .4byte .LVL526 31740 525f BC000000 .4byte .LVL528 31741 5263 0100 .2byte 0x1 31742 5265 53 .byte 0x53 31743 5266 BC000000 .4byte .LVL528 31744 526a C0000000 .4byte .LFE163 31745 526e 0A00 .2byte 0xa 31746 5270 F3 .byte 0xf3 31747 5271 03 .uleb128 0x3 31748 5272 F5 .byte 0xf5 31749 5273 03 .uleb128 0x3 31750 5274 29 .uleb128 0x29 31751 5275 F7 .byte 0xf7 31752 5276 3E .uleb128 0x3e 31753 5277 F7 .byte 0xf7 31754 5278 00 .uleb128 0 31755 5279 9F .byte 0x9f 31756 527a 00000000 .4byte 0 31757 527e 00000000 .4byte 0 31758 .LVUS339: 31759 5282 01 .uleb128 .LVU2440 31760 5283 00 .uleb128 .LVU2480 31761 5284 00 .uleb128 .LVU2482 31762 5285 00 .uleb128 0 31763 .LLST339: 31764 5286 00000000 .4byte .LVL513 31765 528a A2000000 .4byte .LVL525 31766 528e 0200 .2byte 0x2 31767 5290 30 .byte 0x30 31768 5291 9F .byte 0x9f 31769 5292 A4000000 .4byte .LVL526 31770 5296 C0000000 .4byte .LFE163 31771 529a 0200 .2byte 0x2 31772 529c 30 .byte 0x30 31773 529d 9F .byte 0x9f 31774 529e 00000000 .4byte 0 31775 52a2 00000000 .4byte 0 31776 .LVUS341: ARM GAS /tmp/ccjvgGVC.s page 1032 31777 52a6 00 .uleb128 .LVU2442 31778 52a7 00 .uleb128 .LVU2480 31779 52a8 00 .uleb128 .LVU2482 31780 52a9 00 .uleb128 0 31781 .LLST341: 31782 52aa 06000000 .4byte .LVL514 31783 52ae A2000000 .4byte .LVL525 31784 52b2 0100 .2byte 0x1 31785 52b4 54 .byte 0x54 31786 52b5 A4000000 .4byte .LVL526 31787 52b9 C0000000 .4byte .LFE163 31788 52bd 0100 .2byte 0x1 31789 52bf 54 .byte 0x54 31790 52c0 00000000 .4byte 0 31791 52c4 00000000 .4byte 0 31792 .LVUS342: 31793 52c8 00 .uleb128 .LVU2442 31794 52c9 00 .uleb128 .LVU2480 31795 52ca 00 .uleb128 .LVU2482 31796 52cb 00 .uleb128 0 31797 .LLST342: 31798 52cc 06000000 .4byte .LVL514 31799 52d0 A2000000 .4byte .LVL525 31800 52d4 0A00 .2byte 0xa 31801 52d6 F3 .byte 0xf3 31802 52d7 03 .uleb128 0x3 31803 52d8 F5 .byte 0xf5 31804 52d9 01 .uleb128 0x1 31805 52da 29 .uleb128 0x29 31806 52db F7 .byte 0xf7 31807 52dc 37 .uleb128 0x37 31808 52dd F7 .byte 0xf7 31809 52de 00 .uleb128 0 31810 52df 9F .byte 0x9f 31811 52e0 A4000000 .4byte .LVL526 31812 52e4 C0000000 .4byte .LFE163 31813 52e8 0A00 .2byte 0xa 31814 52ea F3 .byte 0xf3 31815 52eb 03 .uleb128 0x3 31816 52ec F5 .byte 0xf5 31817 52ed 01 .uleb128 0x1 31818 52ee 29 .uleb128 0x29 31819 52ef F7 .byte 0xf7 31820 52f0 37 .uleb128 0x37 31821 52f1 F7 .byte 0xf7 31822 52f2 00 .uleb128 0 31823 52f3 9F .byte 0x9f 31824 52f4 00000000 .4byte 0 31825 52f8 00000000 .4byte 0 31826 .LVUS343: 31827 52fc 00 .uleb128 .LVU2442 31828 52fd 00 .uleb128 .LVU2476 31829 52fe 00 .uleb128 .LVU2476 31830 52ff 00 .uleb128 .LVU2480 31831 5300 00 .uleb128 .LVU2482 31832 5301 00 .uleb128 .LVU2489 31833 5302 00 .uleb128 .LVU2489 ARM GAS /tmp/ccjvgGVC.s page 1033 31834 5303 00 .uleb128 0 31835 .LLST343: 31836 5304 06000000 .4byte .LVL514 31837 5308 8C000000 .4byte .LVL522 31838 530c 0100 .2byte 0x1 31839 530e 53 .byte 0x53 31840 530f 8C000000 .4byte .LVL522 31841 5313 A2000000 .4byte .LVL525 31842 5317 0A00 .2byte 0xa 31843 5319 F3 .byte 0xf3 31844 531a 03 .uleb128 0x3 31845 531b F5 .byte 0xf5 31846 531c 03 .uleb128 0x3 31847 531d 29 .uleb128 0x29 31848 531e F7 .byte 0xf7 31849 531f 3E .uleb128 0x3e 31850 5320 F7 .byte 0xf7 31851 5321 00 .uleb128 0 31852 5322 9F .byte 0x9f 31853 5323 A4000000 .4byte .LVL526 31854 5327 BC000000 .4byte .LVL528 31855 532b 0100 .2byte 0x1 31856 532d 53 .byte 0x53 31857 532e BC000000 .4byte .LVL528 31858 5332 C0000000 .4byte .LFE163 31859 5336 0A00 .2byte 0xa 31860 5338 F3 .byte 0xf3 31861 5339 03 .uleb128 0x3 31862 533a F5 .byte 0xf5 31863 533b 03 .uleb128 0x3 31864 533c 29 .uleb128 0x29 31865 533d F7 .byte 0xf7 31866 533e 3E .uleb128 0x3e 31867 533f F7 .byte 0xf7 31868 5340 00 .uleb128 0 31869 5341 9F .byte 0x9f 31870 5342 00000000 .4byte 0 31871 5346 00000000 .4byte 0 31872 .LVUS344: 31873 534a 00 .uleb128 .LVU2442 31874 534b 00 .uleb128 .LVU2480 31875 534c 00 .uleb128 .LVU2482 31876 534d 00 .uleb128 0 31877 .LLST344: 31878 534e 06000000 .4byte .LVL514 31879 5352 A2000000 .4byte .LVL525 31880 5356 0100 .2byte 0x1 31881 5358 52 .byte 0x52 31882 5359 A4000000 .4byte .LVL526 31883 535d C0000000 .4byte .LFE163 31884 5361 0100 .2byte 0x1 31885 5363 52 .byte 0x52 31886 5364 00000000 .4byte 0 31887 5368 00000000 .4byte 0 31888 .LVUS345: 31889 536c 00 .uleb128 .LVU2447 31890 536d 00 .uleb128 .LVU2448 ARM GAS /tmp/ccjvgGVC.s page 1034 31891 536e 00 .uleb128 .LVU2457 31892 536f 00 .uleb128 .LVU2477 31893 5370 00 .uleb128 .LVU2477 31894 5371 00 .uleb128 .LVU2480 31895 5372 00 .uleb128 .LVU2482 31896 5373 00 .uleb128 .LVU2483 31897 5374 00 .uleb128 .LVU2483 31898 5375 00 .uleb128 0 31899 .LLST345: 31900 5376 26000000 .4byte .LVL517 31901 537a 28000000 .4byte .LVL518 31902 537e 0600 .2byte 0x6 31903 5380 74 .byte 0x74 31904 5381 00 .sleb128 0 31905 5382 71 .byte 0x71 31906 5383 00 .sleb128 0 31907 5384 22 .byte 0x22 31908 5385 9F .byte 0x9f 31909 5386 46000000 .4byte .LVL520 31910 538a 92000000 .4byte .LVL523 31911 538e 9C00 .2byte 0x9c 31912 5390 75 .byte 0x75 31913 5391 00 .sleb128 0 31914 5392 4C .byte 0x4c 31915 5393 1E .byte 0x1e 31916 5394 23 .byte 0x23 31917 5395 FC03 .uleb128 0x1fc 31918 5397 75 .byte 0x75 31919 5398 00 .sleb128 0 31920 5399 4C .byte 0x4c 31921 539a 1E .byte 0x1e 31922 539b 23 .byte 0x23 31923 539c 3C .uleb128 0x3c 31924 539d F3 .byte 0xf3 31925 539e 03 .uleb128 0x3 31926 539f F5 .byte 0xf5 31927 53a0 01 .uleb128 0x1 31928 53a1 29 .uleb128 0x29 31929 53a2 F7 .byte 0xf7 31930 53a3 30 .uleb128 0x30 31931 53a4 F7 .byte 0xf7 31932 53a5 00 .uleb128 0 31933 53a6 F3 .byte 0xf3 31934 53a7 03 .uleb128 0x3 31935 53a8 F5 .byte 0xf5 31936 53a9 01 .uleb128 0x1 31937 53aa 29 .uleb128 0x29 31938 53ab F7 .byte 0xf7 31939 53ac 30 .uleb128 0x30 31940 53ad F7 .byte 0xf7 31941 53ae 00 .uleb128 0 31942 53af 09 .byte 0x9 31943 53b0 FC .byte 0xfc 31944 53b1 24 .byte 0x24 31945 53b2 33 .byte 0x33 31946 53b3 25 .byte 0x25 31947 53b4 30 .byte 0x30 ARM GAS /tmp/ccjvgGVC.s page 1035 31948 53b5 2E .byte 0x2e 31949 53b6 28 .byte 0x28 31950 53b7 0100 .2byte 0x1 31951 53b9 16 .byte 0x16 31952 53ba 13 .byte 0x13 31953 53bb F3 .byte 0xf3 31954 53bc 03 .uleb128 0x3 31955 53bd F5 .byte 0xf5 31956 53be 01 .uleb128 0x1 31957 53bf 29 .uleb128 0x29 31958 53c0 F7 .byte 0xf7 31959 53c1 30 .uleb128 0x30 31960 53c2 F7 .byte 0xf7 31961 53c3 00 .uleb128 0 31962 53c4 09 .byte 0x9 31963 53c5 FC .byte 0xfc 31964 53c6 24 .byte 0x24 31965 53c7 33 .byte 0x33 31966 53c8 25 .byte 0x25 31967 53c9 30 .byte 0x30 31968 53ca 29 .byte 0x29 31969 53cb 28 .byte 0x28 31970 53cc 0100 .2byte 0x1 31971 53ce 16 .byte 0x16 31972 53cf 13 .byte 0x13 31973 53d0 74 .byte 0x74 31974 53d1 00 .sleb128 0 31975 53d2 22 .byte 0x22 31976 53d3 75 .byte 0x75 31977 53d4 00 .sleb128 0 31978 53d5 4C .byte 0x4c 31979 53d6 1E .byte 0x1e 31980 53d7 23 .byte 0x23 31981 53d8 FC03 .uleb128 0x1fc 31982 53da 75 .byte 0x75 31983 53db 00 .sleb128 0 31984 53dc 4C .byte 0x4c 31985 53dd 1E .byte 0x1e 31986 53de 23 .byte 0x23 31987 53df 3C .uleb128 0x3c 31988 53e0 F3 .byte 0xf3 31989 53e1 03 .uleb128 0x3 31990 53e2 F5 .byte 0xf5 31991 53e3 01 .uleb128 0x1 31992 53e4 29 .uleb128 0x29 31993 53e5 F7 .byte 0xf7 31994 53e6 30 .uleb128 0x30 31995 53e7 F7 .byte 0xf7 31996 53e8 00 .uleb128 0 31997 53e9 F3 .byte 0xf3 31998 53ea 03 .uleb128 0x3 31999 53eb F5 .byte 0xf5 32000 53ec 01 .uleb128 0x1 32001 53ed 29 .uleb128 0x29 32002 53ee F7 .byte 0xf7 32003 53ef 30 .uleb128 0x30 32004 53f0 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1036 32005 53f1 00 .uleb128 0 32006 53f2 09 .byte 0x9 32007 53f3 FC .byte 0xfc 32008 53f4 24 .byte 0x24 32009 53f5 33 .byte 0x33 32010 53f6 25 .byte 0x25 32011 53f7 30 .byte 0x30 32012 53f8 2E .byte 0x2e 32013 53f9 28 .byte 0x28 32014 53fa 0100 .2byte 0x1 32015 53fc 16 .byte 0x16 32016 53fd 13 .byte 0x13 32017 53fe F3 .byte 0xf3 32018 53ff 03 .uleb128 0x3 32019 5400 F5 .byte 0xf5 32020 5401 01 .uleb128 0x1 32021 5402 29 .uleb128 0x29 32022 5403 F7 .byte 0xf7 32023 5404 30 .uleb128 0x30 32024 5405 F7 .byte 0xf7 32025 5406 00 .uleb128 0 32026 5407 09 .byte 0x9 32027 5408 FC .byte 0xfc 32028 5409 24 .byte 0x24 32029 540a 33 .byte 0x33 32030 540b 25 .byte 0x25 32031 540c 30 .byte 0x30 32032 540d 29 .byte 0x29 32033 540e 28 .byte 0x28 32034 540f 0100 .2byte 0x1 32035 5411 16 .byte 0x16 32036 5412 13 .byte 0x13 32037 5413 F3 .byte 0xf3 32038 5414 03 .uleb128 0x3 32039 5415 F5 .byte 0xf5 32040 5416 01 .uleb128 0x1 32041 5417 29 .uleb128 0x29 32042 5418 F7 .byte 0xf7 32043 5419 30 .uleb128 0x30 32044 541a F7 .byte 0xf7 32045 541b 00 .uleb128 0 32046 541c 09 .byte 0x9 32047 541d FC .byte 0xfc 32048 541e 24 .byte 0x24 32049 541f 33 .byte 0x33 32050 5420 25 .byte 0x25 32051 5421 30 .byte 0x30 32052 5422 2E .byte 0x2e 32053 5423 28 .byte 0x28 32054 5424 0100 .2byte 0x1 32055 5426 16 .byte 0x16 32056 5427 13 .byte 0x13 32057 5428 74 .byte 0x74 32058 5429 00 .sleb128 0 32059 542a 22 .byte 0x22 32060 542b 9F .byte 0x9f 32061 542c 92000000 .4byte .LVL523 ARM GAS /tmp/ccjvgGVC.s page 1037 32062 5430 A2000000 .4byte .LVL525 32063 5434 C000 .2byte 0xc0 32064 5436 F3 .byte 0xf3 32065 5437 03 .uleb128 0x3 32066 5438 F5 .byte 0xf5 32067 5439 01 .uleb128 0x1 32068 543a 29 .uleb128 0x29 32069 543b F7 .byte 0xf7 32070 543c 30 .uleb128 0x30 32071 543d F7 .byte 0xf7 32072 543e 00 .uleb128 0 32073 543f 3F .byte 0x3f 32074 5440 1A .byte 0x1a 32075 5441 4C .byte 0x4c 32076 5442 1E .byte 0x1e 32077 5443 23 .byte 0x23 32078 5444 FC03 .uleb128 0x1fc 32079 5446 F3 .byte 0xf3 32080 5447 03 .uleb128 0x3 32081 5448 F5 .byte 0xf5 32082 5449 01 .uleb128 0x1 32083 544a 29 .uleb128 0x29 32084 544b F7 .byte 0xf7 32085 544c 30 .uleb128 0x30 32086 544d F7 .byte 0xf7 32087 544e 00 .uleb128 0 32088 544f 3F .byte 0x3f 32089 5450 1A .byte 0x1a 32090 5451 4C .byte 0x4c 32091 5452 1E .byte 0x1e 32092 5453 23 .byte 0x23 32093 5454 3C .uleb128 0x3c 32094 5455 F3 .byte 0xf3 32095 5456 03 .uleb128 0x3 32096 5457 F5 .byte 0xf5 32097 5458 01 .uleb128 0x1 32098 5459 29 .uleb128 0x29 32099 545a F7 .byte 0xf7 32100 545b 30 .uleb128 0x30 32101 545c F7 .byte 0xf7 32102 545d 00 .uleb128 0 32103 545e F3 .byte 0xf3 32104 545f 03 .uleb128 0x3 32105 5460 F5 .byte 0xf5 32106 5461 01 .uleb128 0x1 32107 5462 29 .uleb128 0x29 32108 5463 F7 .byte 0xf7 32109 5464 30 .uleb128 0x30 32110 5465 F7 .byte 0xf7 32111 5466 00 .uleb128 0 32112 5467 09 .byte 0x9 32113 5468 FC .byte 0xfc 32114 5469 24 .byte 0x24 32115 546a 33 .byte 0x33 32116 546b 25 .byte 0x25 32117 546c 30 .byte 0x30 32118 546d 2E .byte 0x2e ARM GAS /tmp/ccjvgGVC.s page 1038 32119 546e 28 .byte 0x28 32120 546f 0100 .2byte 0x1 32121 5471 16 .byte 0x16 32122 5472 13 .byte 0x13 32123 5473 F3 .byte 0xf3 32124 5474 03 .uleb128 0x3 32125 5475 F5 .byte 0xf5 32126 5476 01 .uleb128 0x1 32127 5477 29 .uleb128 0x29 32128 5478 F7 .byte 0xf7 32129 5479 30 .uleb128 0x30 32130 547a F7 .byte 0xf7 32131 547b 00 .uleb128 0 32132 547c 09 .byte 0x9 32133 547d FC .byte 0xfc 32134 547e 24 .byte 0x24 32135 547f 33 .byte 0x33 32136 5480 25 .byte 0x25 32137 5481 30 .byte 0x30 32138 5482 29 .byte 0x29 32139 5483 28 .byte 0x28 32140 5484 0100 .2byte 0x1 32141 5486 16 .byte 0x16 32142 5487 13 .byte 0x13 32143 5488 74 .byte 0x74 32144 5489 00 .sleb128 0 32145 548a 22 .byte 0x22 32146 548b F3 .byte 0xf3 32147 548c 03 .uleb128 0x3 32148 548d F5 .byte 0xf5 32149 548e 01 .uleb128 0x1 32150 548f 29 .uleb128 0x29 32151 5490 F7 .byte 0xf7 32152 5491 30 .uleb128 0x30 32153 5492 F7 .byte 0xf7 32154 5493 00 .uleb128 0 32155 5494 3F .byte 0x3f 32156 5495 1A .byte 0x1a 32157 5496 4C .byte 0x4c 32158 5497 1E .byte 0x1e 32159 5498 23 .byte 0x23 32160 5499 FC03 .uleb128 0x1fc 32161 549b F3 .byte 0xf3 32162 549c 03 .uleb128 0x3 32163 549d F5 .byte 0xf5 32164 549e 01 .uleb128 0x1 32165 549f 29 .uleb128 0x29 32166 54a0 F7 .byte 0xf7 32167 54a1 30 .uleb128 0x30 32168 54a2 F7 .byte 0xf7 32169 54a3 00 .uleb128 0 32170 54a4 3F .byte 0x3f 32171 54a5 1A .byte 0x1a 32172 54a6 4C .byte 0x4c 32173 54a7 1E .byte 0x1e 32174 54a8 23 .byte 0x23 32175 54a9 3C .uleb128 0x3c ARM GAS /tmp/ccjvgGVC.s page 1039 32176 54aa F3 .byte 0xf3 32177 54ab 03 .uleb128 0x3 32178 54ac F5 .byte 0xf5 32179 54ad 01 .uleb128 0x1 32180 54ae 29 .uleb128 0x29 32181 54af F7 .byte 0xf7 32182 54b0 30 .uleb128 0x30 32183 54b1 F7 .byte 0xf7 32184 54b2 00 .uleb128 0 32185 54b3 F3 .byte 0xf3 32186 54b4 03 .uleb128 0x3 32187 54b5 F5 .byte 0xf5 32188 54b6 01 .uleb128 0x1 32189 54b7 29 .uleb128 0x29 32190 54b8 F7 .byte 0xf7 32191 54b9 30 .uleb128 0x30 32192 54ba F7 .byte 0xf7 32193 54bb 00 .uleb128 0 32194 54bc 09 .byte 0x9 32195 54bd FC .byte 0xfc 32196 54be 24 .byte 0x24 32197 54bf 33 .byte 0x33 32198 54c0 25 .byte 0x25 32199 54c1 30 .byte 0x30 32200 54c2 2E .byte 0x2e 32201 54c3 28 .byte 0x28 32202 54c4 0100 .2byte 0x1 32203 54c6 16 .byte 0x16 32204 54c7 13 .byte 0x13 32205 54c8 F3 .byte 0xf3 32206 54c9 03 .uleb128 0x3 32207 54ca F5 .byte 0xf5 32208 54cb 01 .uleb128 0x1 32209 54cc 29 .uleb128 0x29 32210 54cd F7 .byte 0xf7 32211 54ce 30 .uleb128 0x30 32212 54cf F7 .byte 0xf7 32213 54d0 00 .uleb128 0 32214 54d1 09 .byte 0x9 32215 54d2 FC .byte 0xfc 32216 54d3 24 .byte 0x24 32217 54d4 33 .byte 0x33 32218 54d5 25 .byte 0x25 32219 54d6 30 .byte 0x30 32220 54d7 29 .byte 0x29 32221 54d8 28 .byte 0x28 32222 54d9 0100 .2byte 0x1 32223 54db 16 .byte 0x16 32224 54dc 13 .byte 0x13 32225 54dd F3 .byte 0xf3 32226 54de 03 .uleb128 0x3 32227 54df F5 .byte 0xf5 32228 54e0 01 .uleb128 0x1 32229 54e1 29 .uleb128 0x29 32230 54e2 F7 .byte 0xf7 32231 54e3 30 .uleb128 0x30 32232 54e4 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1040 32233 54e5 00 .uleb128 0 32234 54e6 09 .byte 0x9 32235 54e7 FC .byte 0xfc 32236 54e8 24 .byte 0x24 32237 54e9 33 .byte 0x33 32238 54ea 25 .byte 0x25 32239 54eb 30 .byte 0x30 32240 54ec 2E .byte 0x2e 32241 54ed 28 .byte 0x28 32242 54ee 0100 .2byte 0x1 32243 54f0 16 .byte 0x16 32244 54f1 13 .byte 0x13 32245 54f2 74 .byte 0x74 32246 54f3 00 .sleb128 0 32247 54f4 22 .byte 0x22 32248 54f5 9F .byte 0x9f 32249 54f6 A4000000 .4byte .LVL526 32250 54fa A6000000 .4byte .LVL527 32251 54fe 9C00 .2byte 0x9c 32252 5500 75 .byte 0x75 32253 5501 00 .sleb128 0 32254 5502 4C .byte 0x4c 32255 5503 1E .byte 0x1e 32256 5504 23 .byte 0x23 32257 5505 FC03 .uleb128 0x1fc 32258 5507 75 .byte 0x75 32259 5508 00 .sleb128 0 32260 5509 4C .byte 0x4c 32261 550a 1E .byte 0x1e 32262 550b 23 .byte 0x23 32263 550c 3C .uleb128 0x3c 32264 550d F3 .byte 0xf3 32265 550e 03 .uleb128 0x3 32266 550f F5 .byte 0xf5 32267 5510 01 .uleb128 0x1 32268 5511 29 .uleb128 0x29 32269 5512 F7 .byte 0xf7 32270 5513 30 .uleb128 0x30 32271 5514 F7 .byte 0xf7 32272 5515 00 .uleb128 0 32273 5516 F3 .byte 0xf3 32274 5517 03 .uleb128 0x3 32275 5518 F5 .byte 0xf5 32276 5519 01 .uleb128 0x1 32277 551a 29 .uleb128 0x29 32278 551b F7 .byte 0xf7 32279 551c 30 .uleb128 0x30 32280 551d F7 .byte 0xf7 32281 551e 00 .uleb128 0 32282 551f 09 .byte 0x9 32283 5520 FC .byte 0xfc 32284 5521 24 .byte 0x24 32285 5522 33 .byte 0x33 32286 5523 25 .byte 0x25 32287 5524 30 .byte 0x30 32288 5525 2E .byte 0x2e 32289 5526 28 .byte 0x28 ARM GAS /tmp/ccjvgGVC.s page 1041 32290 5527 0100 .2byte 0x1 32291 5529 16 .byte 0x16 32292 552a 13 .byte 0x13 32293 552b F3 .byte 0xf3 32294 552c 03 .uleb128 0x3 32295 552d F5 .byte 0xf5 32296 552e 01 .uleb128 0x1 32297 552f 29 .uleb128 0x29 32298 5530 F7 .byte 0xf7 32299 5531 30 .uleb128 0x30 32300 5532 F7 .byte 0xf7 32301 5533 00 .uleb128 0 32302 5534 09 .byte 0x9 32303 5535 FC .byte 0xfc 32304 5536 24 .byte 0x24 32305 5537 33 .byte 0x33 32306 5538 25 .byte 0x25 32307 5539 30 .byte 0x30 32308 553a 29 .byte 0x29 32309 553b 28 .byte 0x28 32310 553c 0100 .2byte 0x1 32311 553e 16 .byte 0x16 32312 553f 13 .byte 0x13 32313 5540 74 .byte 0x74 32314 5541 00 .sleb128 0 32315 5542 22 .byte 0x22 32316 5543 75 .byte 0x75 32317 5544 00 .sleb128 0 32318 5545 4C .byte 0x4c 32319 5546 1E .byte 0x1e 32320 5547 23 .byte 0x23 32321 5548 FC03 .uleb128 0x1fc 32322 554a 75 .byte 0x75 32323 554b 00 .sleb128 0 32324 554c 4C .byte 0x4c 32325 554d 1E .byte 0x1e 32326 554e 23 .byte 0x23 32327 554f 3C .uleb128 0x3c 32328 5550 F3 .byte 0xf3 32329 5551 03 .uleb128 0x3 32330 5552 F5 .byte 0xf5 32331 5553 01 .uleb128 0x1 32332 5554 29 .uleb128 0x29 32333 5555 F7 .byte 0xf7 32334 5556 30 .uleb128 0x30 32335 5557 F7 .byte 0xf7 32336 5558 00 .uleb128 0 32337 5559 F3 .byte 0xf3 32338 555a 03 .uleb128 0x3 32339 555b F5 .byte 0xf5 32340 555c 01 .uleb128 0x1 32341 555d 29 .uleb128 0x29 32342 555e F7 .byte 0xf7 32343 555f 30 .uleb128 0x30 32344 5560 F7 .byte 0xf7 32345 5561 00 .uleb128 0 32346 5562 09 .byte 0x9 ARM GAS /tmp/ccjvgGVC.s page 1042 32347 5563 FC .byte 0xfc 32348 5564 24 .byte 0x24 32349 5565 33 .byte 0x33 32350 5566 25 .byte 0x25 32351 5567 30 .byte 0x30 32352 5568 2E .byte 0x2e 32353 5569 28 .byte 0x28 32354 556a 0100 .2byte 0x1 32355 556c 16 .byte 0x16 32356 556d 13 .byte 0x13 32357 556e F3 .byte 0xf3 32358 556f 03 .uleb128 0x3 32359 5570 F5 .byte 0xf5 32360 5571 01 .uleb128 0x1 32361 5572 29 .uleb128 0x29 32362 5573 F7 .byte 0xf7 32363 5574 30 .uleb128 0x30 32364 5575 F7 .byte 0xf7 32365 5576 00 .uleb128 0 32366 5577 09 .byte 0x9 32367 5578 FC .byte 0xfc 32368 5579 24 .byte 0x24 32369 557a 33 .byte 0x33 32370 557b 25 .byte 0x25 32371 557c 30 .byte 0x30 32372 557d 29 .byte 0x29 32373 557e 28 .byte 0x28 32374 557f 0100 .2byte 0x1 32375 5581 16 .byte 0x16 32376 5582 13 .byte 0x13 32377 5583 F3 .byte 0xf3 32378 5584 03 .uleb128 0x3 32379 5585 F5 .byte 0xf5 32380 5586 01 .uleb128 0x1 32381 5587 29 .uleb128 0x29 32382 5588 F7 .byte 0xf7 32383 5589 30 .uleb128 0x30 32384 558a F7 .byte 0xf7 32385 558b 00 .uleb128 0 32386 558c 09 .byte 0x9 32387 558d FC .byte 0xfc 32388 558e 24 .byte 0x24 32389 558f 33 .byte 0x33 32390 5590 25 .byte 0x25 32391 5591 30 .byte 0x30 32392 5592 2E .byte 0x2e 32393 5593 28 .byte 0x28 32394 5594 0100 .2byte 0x1 32395 5596 16 .byte 0x16 32396 5597 13 .byte 0x13 32397 5598 74 .byte 0x74 32398 5599 00 .sleb128 0 32399 559a 22 .byte 0x22 32400 559b 9F .byte 0x9f 32401 559c A6000000 .4byte .LVL527 32402 55a0 C0000000 .4byte .LFE163 32403 55a4 C000 .2byte 0xc0 ARM GAS /tmp/ccjvgGVC.s page 1043 32404 55a6 F3 .byte 0xf3 32405 55a7 03 .uleb128 0x3 32406 55a8 F5 .byte 0xf5 32407 55a9 01 .uleb128 0x1 32408 55aa 29 .uleb128 0x29 32409 55ab F7 .byte 0xf7 32410 55ac 30 .uleb128 0x30 32411 55ad F7 .byte 0xf7 32412 55ae 00 .uleb128 0 32413 55af 3F .byte 0x3f 32414 55b0 1A .byte 0x1a 32415 55b1 4C .byte 0x4c 32416 55b2 1E .byte 0x1e 32417 55b3 23 .byte 0x23 32418 55b4 FC03 .uleb128 0x1fc 32419 55b6 F3 .byte 0xf3 32420 55b7 03 .uleb128 0x3 32421 55b8 F5 .byte 0xf5 32422 55b9 01 .uleb128 0x1 32423 55ba 29 .uleb128 0x29 32424 55bb F7 .byte 0xf7 32425 55bc 30 .uleb128 0x30 32426 55bd F7 .byte 0xf7 32427 55be 00 .uleb128 0 32428 55bf 3F .byte 0x3f 32429 55c0 1A .byte 0x1a 32430 55c1 4C .byte 0x4c 32431 55c2 1E .byte 0x1e 32432 55c3 23 .byte 0x23 32433 55c4 3C .uleb128 0x3c 32434 55c5 F3 .byte 0xf3 32435 55c6 03 .uleb128 0x3 32436 55c7 F5 .byte 0xf5 32437 55c8 01 .uleb128 0x1 32438 55c9 29 .uleb128 0x29 32439 55ca F7 .byte 0xf7 32440 55cb 30 .uleb128 0x30 32441 55cc F7 .byte 0xf7 32442 55cd 00 .uleb128 0 32443 55ce F3 .byte 0xf3 32444 55cf 03 .uleb128 0x3 32445 55d0 F5 .byte 0xf5 32446 55d1 01 .uleb128 0x1 32447 55d2 29 .uleb128 0x29 32448 55d3 F7 .byte 0xf7 32449 55d4 30 .uleb128 0x30 32450 55d5 F7 .byte 0xf7 32451 55d6 00 .uleb128 0 32452 55d7 09 .byte 0x9 32453 55d8 FC .byte 0xfc 32454 55d9 24 .byte 0x24 32455 55da 33 .byte 0x33 32456 55db 25 .byte 0x25 32457 55dc 30 .byte 0x30 32458 55dd 2E .byte 0x2e 32459 55de 28 .byte 0x28 32460 55df 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 1044 32461 55e1 16 .byte 0x16 32462 55e2 13 .byte 0x13 32463 55e3 F3 .byte 0xf3 32464 55e4 03 .uleb128 0x3 32465 55e5 F5 .byte 0xf5 32466 55e6 01 .uleb128 0x1 32467 55e7 29 .uleb128 0x29 32468 55e8 F7 .byte 0xf7 32469 55e9 30 .uleb128 0x30 32470 55ea F7 .byte 0xf7 32471 55eb 00 .uleb128 0 32472 55ec 09 .byte 0x9 32473 55ed FC .byte 0xfc 32474 55ee 24 .byte 0x24 32475 55ef 33 .byte 0x33 32476 55f0 25 .byte 0x25 32477 55f1 30 .byte 0x30 32478 55f2 29 .byte 0x29 32479 55f3 28 .byte 0x28 32480 55f4 0100 .2byte 0x1 32481 55f6 16 .byte 0x16 32482 55f7 13 .byte 0x13 32483 55f8 74 .byte 0x74 32484 55f9 00 .sleb128 0 32485 55fa 22 .byte 0x22 32486 55fb F3 .byte 0xf3 32487 55fc 03 .uleb128 0x3 32488 55fd F5 .byte 0xf5 32489 55fe 01 .uleb128 0x1 32490 55ff 29 .uleb128 0x29 32491 5600 F7 .byte 0xf7 32492 5601 30 .uleb128 0x30 32493 5602 F7 .byte 0xf7 32494 5603 00 .uleb128 0 32495 5604 3F .byte 0x3f 32496 5605 1A .byte 0x1a 32497 5606 4C .byte 0x4c 32498 5607 1E .byte 0x1e 32499 5608 23 .byte 0x23 32500 5609 FC03 .uleb128 0x1fc 32501 560b F3 .byte 0xf3 32502 560c 03 .uleb128 0x3 32503 560d F5 .byte 0xf5 32504 560e 01 .uleb128 0x1 32505 560f 29 .uleb128 0x29 32506 5610 F7 .byte 0xf7 32507 5611 30 .uleb128 0x30 32508 5612 F7 .byte 0xf7 32509 5613 00 .uleb128 0 32510 5614 3F .byte 0x3f 32511 5615 1A .byte 0x1a 32512 5616 4C .byte 0x4c 32513 5617 1E .byte 0x1e 32514 5618 23 .byte 0x23 32515 5619 3C .uleb128 0x3c 32516 561a F3 .byte 0xf3 32517 561b 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 1045 32518 561c F5 .byte 0xf5 32519 561d 01 .uleb128 0x1 32520 561e 29 .uleb128 0x29 32521 561f F7 .byte 0xf7 32522 5620 30 .uleb128 0x30 32523 5621 F7 .byte 0xf7 32524 5622 00 .uleb128 0 32525 5623 F3 .byte 0xf3 32526 5624 03 .uleb128 0x3 32527 5625 F5 .byte 0xf5 32528 5626 01 .uleb128 0x1 32529 5627 29 .uleb128 0x29 32530 5628 F7 .byte 0xf7 32531 5629 30 .uleb128 0x30 32532 562a F7 .byte 0xf7 32533 562b 00 .uleb128 0 32534 562c 09 .byte 0x9 32535 562d FC .byte 0xfc 32536 562e 24 .byte 0x24 32537 562f 33 .byte 0x33 32538 5630 25 .byte 0x25 32539 5631 30 .byte 0x30 32540 5632 2E .byte 0x2e 32541 5633 28 .byte 0x28 32542 5634 0100 .2byte 0x1 32543 5636 16 .byte 0x16 32544 5637 13 .byte 0x13 32545 5638 F3 .byte 0xf3 32546 5639 03 .uleb128 0x3 32547 563a F5 .byte 0xf5 32548 563b 01 .uleb128 0x1 32549 563c 29 .uleb128 0x29 32550 563d F7 .byte 0xf7 32551 563e 30 .uleb128 0x30 32552 563f F7 .byte 0xf7 32553 5640 00 .uleb128 0 32554 5641 09 .byte 0x9 32555 5642 FC .byte 0xfc 32556 5643 24 .byte 0x24 32557 5644 33 .byte 0x33 32558 5645 25 .byte 0x25 32559 5646 30 .byte 0x30 32560 5647 29 .byte 0x29 32561 5648 28 .byte 0x28 32562 5649 0100 .2byte 0x1 32563 564b 16 .byte 0x16 32564 564c 13 .byte 0x13 32565 564d F3 .byte 0xf3 32566 564e 03 .uleb128 0x3 32567 564f F5 .byte 0xf5 32568 5650 01 .uleb128 0x1 32569 5651 29 .uleb128 0x29 32570 5652 F7 .byte 0xf7 32571 5653 30 .uleb128 0x30 32572 5654 F7 .byte 0xf7 32573 5655 00 .uleb128 0 32574 5656 09 .byte 0x9 ARM GAS /tmp/ccjvgGVC.s page 1046 32575 5657 FC .byte 0xfc 32576 5658 24 .byte 0x24 32577 5659 33 .byte 0x33 32578 565a 25 .byte 0x25 32579 565b 30 .byte 0x30 32580 565c 2E .byte 0x2e 32581 565d 28 .byte 0x28 32582 565e 0100 .2byte 0x1 32583 5660 16 .byte 0x16 32584 5661 13 .byte 0x13 32585 5662 74 .byte 0x74 32586 5663 00 .sleb128 0 32587 5664 22 .byte 0x22 32588 5665 9F .byte 0x9f 32589 5666 00000000 .4byte 0 32590 566a 00000000 .4byte 0 32591 .LVUS346: 32592 566e 00 .uleb128 .LVU2465 32593 566f 00 .uleb128 .LVU2478 32594 5670 00 .uleb128 .LVU2482 32595 5671 00 .uleb128 0 32596 .LLST346: 32597 5672 64000000 .4byte .LVL521 32598 5676 9C000000 .4byte .LVL524 32599 567a 0100 .2byte 0x1 32600 567c 50 .byte 0x50 32601 567d A4000000 .4byte .LVL526 32602 5681 C0000000 .4byte .LFE163 32603 5685 0100 .2byte 0x1 32604 5687 50 .byte 0x50 32605 5688 00000000 .4byte 0 32606 568c 00000000 .4byte 0 32607 .LVUS347: 32608 5690 00 .uleb128 .LVU2465 32609 5691 00 .uleb128 .LVU2477 32610 5692 00 .uleb128 .LVU2477 32611 5693 00 .uleb128 .LVU2478 32612 5694 00 .uleb128 .LVU2482 32613 5695 00 .uleb128 .LVU2483 32614 5696 00 .uleb128 .LVU2483 32615 5697 00 .uleb128 0 32616 .LLST347: 32617 5698 64000000 .4byte .LVL521 32618 569c 92000000 .4byte .LVL523 32619 56a0 9C00 .2byte 0x9c 32620 56a2 75 .byte 0x75 32621 56a3 00 .sleb128 0 32622 56a4 4C .byte 0x4c 32623 56a5 1E .byte 0x1e 32624 56a6 23 .byte 0x23 32625 56a7 FC03 .uleb128 0x1fc 32626 56a9 75 .byte 0x75 32627 56aa 00 .sleb128 0 32628 56ab 4C .byte 0x4c 32629 56ac 1E .byte 0x1e 32630 56ad 23 .byte 0x23 32631 56ae 3C .uleb128 0x3c ARM GAS /tmp/ccjvgGVC.s page 1047 32632 56af F3 .byte 0xf3 32633 56b0 03 .uleb128 0x3 32634 56b1 F5 .byte 0xf5 32635 56b2 01 .uleb128 0x1 32636 56b3 29 .uleb128 0x29 32637 56b4 F7 .byte 0xf7 32638 56b5 30 .uleb128 0x30 32639 56b6 F7 .byte 0xf7 32640 56b7 00 .uleb128 0 32641 56b8 F3 .byte 0xf3 32642 56b9 03 .uleb128 0x3 32643 56ba F5 .byte 0xf5 32644 56bb 01 .uleb128 0x1 32645 56bc 29 .uleb128 0x29 32646 56bd F7 .byte 0xf7 32647 56be 30 .uleb128 0x30 32648 56bf F7 .byte 0xf7 32649 56c0 00 .uleb128 0 32650 56c1 09 .byte 0x9 32651 56c2 FC .byte 0xfc 32652 56c3 24 .byte 0x24 32653 56c4 33 .byte 0x33 32654 56c5 25 .byte 0x25 32655 56c6 30 .byte 0x30 32656 56c7 2E .byte 0x2e 32657 56c8 28 .byte 0x28 32658 56c9 0100 .2byte 0x1 32659 56cb 16 .byte 0x16 32660 56cc 13 .byte 0x13 32661 56cd F3 .byte 0xf3 32662 56ce 03 .uleb128 0x3 32663 56cf F5 .byte 0xf5 32664 56d0 01 .uleb128 0x1 32665 56d1 29 .uleb128 0x29 32666 56d2 F7 .byte 0xf7 32667 56d3 30 .uleb128 0x30 32668 56d4 F7 .byte 0xf7 32669 56d5 00 .uleb128 0 32670 56d6 09 .byte 0x9 32671 56d7 FC .byte 0xfc 32672 56d8 24 .byte 0x24 32673 56d9 33 .byte 0x33 32674 56da 25 .byte 0x25 32675 56db 30 .byte 0x30 32676 56dc 29 .byte 0x29 32677 56dd 28 .byte 0x28 32678 56de 0100 .2byte 0x1 32679 56e0 16 .byte 0x16 32680 56e1 13 .byte 0x13 32681 56e2 74 .byte 0x74 32682 56e3 00 .sleb128 0 32683 56e4 22 .byte 0x22 32684 56e5 75 .byte 0x75 32685 56e6 00 .sleb128 0 32686 56e7 4C .byte 0x4c 32687 56e8 1E .byte 0x1e 32688 56e9 23 .byte 0x23 ARM GAS /tmp/ccjvgGVC.s page 1048 32689 56ea FC03 .uleb128 0x1fc 32690 56ec 75 .byte 0x75 32691 56ed 00 .sleb128 0 32692 56ee 4C .byte 0x4c 32693 56ef 1E .byte 0x1e 32694 56f0 23 .byte 0x23 32695 56f1 3C .uleb128 0x3c 32696 56f2 F3 .byte 0xf3 32697 56f3 03 .uleb128 0x3 32698 56f4 F5 .byte 0xf5 32699 56f5 01 .uleb128 0x1 32700 56f6 29 .uleb128 0x29 32701 56f7 F7 .byte 0xf7 32702 56f8 30 .uleb128 0x30 32703 56f9 F7 .byte 0xf7 32704 56fa 00 .uleb128 0 32705 56fb F3 .byte 0xf3 32706 56fc 03 .uleb128 0x3 32707 56fd F5 .byte 0xf5 32708 56fe 01 .uleb128 0x1 32709 56ff 29 .uleb128 0x29 32710 5700 F7 .byte 0xf7 32711 5701 30 .uleb128 0x30 32712 5702 F7 .byte 0xf7 32713 5703 00 .uleb128 0 32714 5704 09 .byte 0x9 32715 5705 FC .byte 0xfc 32716 5706 24 .byte 0x24 32717 5707 33 .byte 0x33 32718 5708 25 .byte 0x25 32719 5709 30 .byte 0x30 32720 570a 2E .byte 0x2e 32721 570b 28 .byte 0x28 32722 570c 0100 .2byte 0x1 32723 570e 16 .byte 0x16 32724 570f 13 .byte 0x13 32725 5710 F3 .byte 0xf3 32726 5711 03 .uleb128 0x3 32727 5712 F5 .byte 0xf5 32728 5713 01 .uleb128 0x1 32729 5714 29 .uleb128 0x29 32730 5715 F7 .byte 0xf7 32731 5716 30 .uleb128 0x30 32732 5717 F7 .byte 0xf7 32733 5718 00 .uleb128 0 32734 5719 09 .byte 0x9 32735 571a FC .byte 0xfc 32736 571b 24 .byte 0x24 32737 571c 33 .byte 0x33 32738 571d 25 .byte 0x25 32739 571e 30 .byte 0x30 32740 571f 29 .byte 0x29 32741 5720 28 .byte 0x28 32742 5721 0100 .2byte 0x1 32743 5723 16 .byte 0x16 32744 5724 13 .byte 0x13 32745 5725 F3 .byte 0xf3 ARM GAS /tmp/ccjvgGVC.s page 1049 32746 5726 03 .uleb128 0x3 32747 5727 F5 .byte 0xf5 32748 5728 01 .uleb128 0x1 32749 5729 29 .uleb128 0x29 32750 572a F7 .byte 0xf7 32751 572b 30 .uleb128 0x30 32752 572c F7 .byte 0xf7 32753 572d 00 .uleb128 0 32754 572e 09 .byte 0x9 32755 572f FC .byte 0xfc 32756 5730 24 .byte 0x24 32757 5731 33 .byte 0x33 32758 5732 25 .byte 0x25 32759 5733 30 .byte 0x30 32760 5734 2E .byte 0x2e 32761 5735 28 .byte 0x28 32762 5736 0100 .2byte 0x1 32763 5738 16 .byte 0x16 32764 5739 13 .byte 0x13 32765 573a 74 .byte 0x74 32766 573b 00 .sleb128 0 32767 573c 22 .byte 0x22 32768 573d 9F .byte 0x9f 32769 573e 92000000 .4byte .LVL523 32770 5742 9C000000 .4byte .LVL524 32771 5746 C000 .2byte 0xc0 32772 5748 F3 .byte 0xf3 32773 5749 03 .uleb128 0x3 32774 574a F5 .byte 0xf5 32775 574b 01 .uleb128 0x1 32776 574c 29 .uleb128 0x29 32777 574d F7 .byte 0xf7 32778 574e 30 .uleb128 0x30 32779 574f F7 .byte 0xf7 32780 5750 00 .uleb128 0 32781 5751 3F .byte 0x3f 32782 5752 1A .byte 0x1a 32783 5753 4C .byte 0x4c 32784 5754 1E .byte 0x1e 32785 5755 23 .byte 0x23 32786 5756 FC03 .uleb128 0x1fc 32787 5758 F3 .byte 0xf3 32788 5759 03 .uleb128 0x3 32789 575a F5 .byte 0xf5 32790 575b 01 .uleb128 0x1 32791 575c 29 .uleb128 0x29 32792 575d F7 .byte 0xf7 32793 575e 30 .uleb128 0x30 32794 575f F7 .byte 0xf7 32795 5760 00 .uleb128 0 32796 5761 3F .byte 0x3f 32797 5762 1A .byte 0x1a 32798 5763 4C .byte 0x4c 32799 5764 1E .byte 0x1e 32800 5765 23 .byte 0x23 32801 5766 3C .uleb128 0x3c 32802 5767 F3 .byte 0xf3 ARM GAS /tmp/ccjvgGVC.s page 1050 32803 5768 03 .uleb128 0x3 32804 5769 F5 .byte 0xf5 32805 576a 01 .uleb128 0x1 32806 576b 29 .uleb128 0x29 32807 576c F7 .byte 0xf7 32808 576d 30 .uleb128 0x30 32809 576e F7 .byte 0xf7 32810 576f 00 .uleb128 0 32811 5770 F3 .byte 0xf3 32812 5771 03 .uleb128 0x3 32813 5772 F5 .byte 0xf5 32814 5773 01 .uleb128 0x1 32815 5774 29 .uleb128 0x29 32816 5775 F7 .byte 0xf7 32817 5776 30 .uleb128 0x30 32818 5777 F7 .byte 0xf7 32819 5778 00 .uleb128 0 32820 5779 09 .byte 0x9 32821 577a FC .byte 0xfc 32822 577b 24 .byte 0x24 32823 577c 33 .byte 0x33 32824 577d 25 .byte 0x25 32825 577e 30 .byte 0x30 32826 577f 2E .byte 0x2e 32827 5780 28 .byte 0x28 32828 5781 0100 .2byte 0x1 32829 5783 16 .byte 0x16 32830 5784 13 .byte 0x13 32831 5785 F3 .byte 0xf3 32832 5786 03 .uleb128 0x3 32833 5787 F5 .byte 0xf5 32834 5788 01 .uleb128 0x1 32835 5789 29 .uleb128 0x29 32836 578a F7 .byte 0xf7 32837 578b 30 .uleb128 0x30 32838 578c F7 .byte 0xf7 32839 578d 00 .uleb128 0 32840 578e 09 .byte 0x9 32841 578f FC .byte 0xfc 32842 5790 24 .byte 0x24 32843 5791 33 .byte 0x33 32844 5792 25 .byte 0x25 32845 5793 30 .byte 0x30 32846 5794 29 .byte 0x29 32847 5795 28 .byte 0x28 32848 5796 0100 .2byte 0x1 32849 5798 16 .byte 0x16 32850 5799 13 .byte 0x13 32851 579a 74 .byte 0x74 32852 579b 00 .sleb128 0 32853 579c 22 .byte 0x22 32854 579d F3 .byte 0xf3 32855 579e 03 .uleb128 0x3 32856 579f F5 .byte 0xf5 32857 57a0 01 .uleb128 0x1 32858 57a1 29 .uleb128 0x29 32859 57a2 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1051 32860 57a3 30 .uleb128 0x30 32861 57a4 F7 .byte 0xf7 32862 57a5 00 .uleb128 0 32863 57a6 3F .byte 0x3f 32864 57a7 1A .byte 0x1a 32865 57a8 4C .byte 0x4c 32866 57a9 1E .byte 0x1e 32867 57aa 23 .byte 0x23 32868 57ab FC03 .uleb128 0x1fc 32869 57ad F3 .byte 0xf3 32870 57ae 03 .uleb128 0x3 32871 57af F5 .byte 0xf5 32872 57b0 01 .uleb128 0x1 32873 57b1 29 .uleb128 0x29 32874 57b2 F7 .byte 0xf7 32875 57b3 30 .uleb128 0x30 32876 57b4 F7 .byte 0xf7 32877 57b5 00 .uleb128 0 32878 57b6 3F .byte 0x3f 32879 57b7 1A .byte 0x1a 32880 57b8 4C .byte 0x4c 32881 57b9 1E .byte 0x1e 32882 57ba 23 .byte 0x23 32883 57bb 3C .uleb128 0x3c 32884 57bc F3 .byte 0xf3 32885 57bd 03 .uleb128 0x3 32886 57be F5 .byte 0xf5 32887 57bf 01 .uleb128 0x1 32888 57c0 29 .uleb128 0x29 32889 57c1 F7 .byte 0xf7 32890 57c2 30 .uleb128 0x30 32891 57c3 F7 .byte 0xf7 32892 57c4 00 .uleb128 0 32893 57c5 F3 .byte 0xf3 32894 57c6 03 .uleb128 0x3 32895 57c7 F5 .byte 0xf5 32896 57c8 01 .uleb128 0x1 32897 57c9 29 .uleb128 0x29 32898 57ca F7 .byte 0xf7 32899 57cb 30 .uleb128 0x30 32900 57cc F7 .byte 0xf7 32901 57cd 00 .uleb128 0 32902 57ce 09 .byte 0x9 32903 57cf FC .byte 0xfc 32904 57d0 24 .byte 0x24 32905 57d1 33 .byte 0x33 32906 57d2 25 .byte 0x25 32907 57d3 30 .byte 0x30 32908 57d4 2E .byte 0x2e 32909 57d5 28 .byte 0x28 32910 57d6 0100 .2byte 0x1 32911 57d8 16 .byte 0x16 32912 57d9 13 .byte 0x13 32913 57da F3 .byte 0xf3 32914 57db 03 .uleb128 0x3 32915 57dc F5 .byte 0xf5 32916 57dd 01 .uleb128 0x1 ARM GAS /tmp/ccjvgGVC.s page 1052 32917 57de 29 .uleb128 0x29 32918 57df F7 .byte 0xf7 32919 57e0 30 .uleb128 0x30 32920 57e1 F7 .byte 0xf7 32921 57e2 00 .uleb128 0 32922 57e3 09 .byte 0x9 32923 57e4 FC .byte 0xfc 32924 57e5 24 .byte 0x24 32925 57e6 33 .byte 0x33 32926 57e7 25 .byte 0x25 32927 57e8 30 .byte 0x30 32928 57e9 29 .byte 0x29 32929 57ea 28 .byte 0x28 32930 57eb 0100 .2byte 0x1 32931 57ed 16 .byte 0x16 32932 57ee 13 .byte 0x13 32933 57ef F3 .byte 0xf3 32934 57f0 03 .uleb128 0x3 32935 57f1 F5 .byte 0xf5 32936 57f2 01 .uleb128 0x1 32937 57f3 29 .uleb128 0x29 32938 57f4 F7 .byte 0xf7 32939 57f5 30 .uleb128 0x30 32940 57f6 F7 .byte 0xf7 32941 57f7 00 .uleb128 0 32942 57f8 09 .byte 0x9 32943 57f9 FC .byte 0xfc 32944 57fa 24 .byte 0x24 32945 57fb 33 .byte 0x33 32946 57fc 25 .byte 0x25 32947 57fd 30 .byte 0x30 32948 57fe 2E .byte 0x2e 32949 57ff 28 .byte 0x28 32950 5800 0100 .2byte 0x1 32951 5802 16 .byte 0x16 32952 5803 13 .byte 0x13 32953 5804 74 .byte 0x74 32954 5805 00 .sleb128 0 32955 5806 22 .byte 0x22 32956 5807 9F .byte 0x9f 32957 5808 A4000000 .4byte .LVL526 32958 580c A6000000 .4byte .LVL527 32959 5810 9C00 .2byte 0x9c 32960 5812 75 .byte 0x75 32961 5813 00 .sleb128 0 32962 5814 4C .byte 0x4c 32963 5815 1E .byte 0x1e 32964 5816 23 .byte 0x23 32965 5817 FC03 .uleb128 0x1fc 32966 5819 75 .byte 0x75 32967 581a 00 .sleb128 0 32968 581b 4C .byte 0x4c 32969 581c 1E .byte 0x1e 32970 581d 23 .byte 0x23 32971 581e 3C .uleb128 0x3c 32972 581f F3 .byte 0xf3 32973 5820 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 1053 32974 5821 F5 .byte 0xf5 32975 5822 01 .uleb128 0x1 32976 5823 29 .uleb128 0x29 32977 5824 F7 .byte 0xf7 32978 5825 30 .uleb128 0x30 32979 5826 F7 .byte 0xf7 32980 5827 00 .uleb128 0 32981 5828 F3 .byte 0xf3 32982 5829 03 .uleb128 0x3 32983 582a F5 .byte 0xf5 32984 582b 01 .uleb128 0x1 32985 582c 29 .uleb128 0x29 32986 582d F7 .byte 0xf7 32987 582e 30 .uleb128 0x30 32988 582f F7 .byte 0xf7 32989 5830 00 .uleb128 0 32990 5831 09 .byte 0x9 32991 5832 FC .byte 0xfc 32992 5833 24 .byte 0x24 32993 5834 33 .byte 0x33 32994 5835 25 .byte 0x25 32995 5836 30 .byte 0x30 32996 5837 2E .byte 0x2e 32997 5838 28 .byte 0x28 32998 5839 0100 .2byte 0x1 32999 583b 16 .byte 0x16 33000 583c 13 .byte 0x13 33001 583d F3 .byte 0xf3 33002 583e 03 .uleb128 0x3 33003 583f F5 .byte 0xf5 33004 5840 01 .uleb128 0x1 33005 5841 29 .uleb128 0x29 33006 5842 F7 .byte 0xf7 33007 5843 30 .uleb128 0x30 33008 5844 F7 .byte 0xf7 33009 5845 00 .uleb128 0 33010 5846 09 .byte 0x9 33011 5847 FC .byte 0xfc 33012 5848 24 .byte 0x24 33013 5849 33 .byte 0x33 33014 584a 25 .byte 0x25 33015 584b 30 .byte 0x30 33016 584c 29 .byte 0x29 33017 584d 28 .byte 0x28 33018 584e 0100 .2byte 0x1 33019 5850 16 .byte 0x16 33020 5851 13 .byte 0x13 33021 5852 74 .byte 0x74 33022 5853 00 .sleb128 0 33023 5854 22 .byte 0x22 33024 5855 75 .byte 0x75 33025 5856 00 .sleb128 0 33026 5857 4C .byte 0x4c 33027 5858 1E .byte 0x1e 33028 5859 23 .byte 0x23 33029 585a FC03 .uleb128 0x1fc 33030 585c 75 .byte 0x75 ARM GAS /tmp/ccjvgGVC.s page 1054 33031 585d 00 .sleb128 0 33032 585e 4C .byte 0x4c 33033 585f 1E .byte 0x1e 33034 5860 23 .byte 0x23 33035 5861 3C .uleb128 0x3c 33036 5862 F3 .byte 0xf3 33037 5863 03 .uleb128 0x3 33038 5864 F5 .byte 0xf5 33039 5865 01 .uleb128 0x1 33040 5866 29 .uleb128 0x29 33041 5867 F7 .byte 0xf7 33042 5868 30 .uleb128 0x30 33043 5869 F7 .byte 0xf7 33044 586a 00 .uleb128 0 33045 586b F3 .byte 0xf3 33046 586c 03 .uleb128 0x3 33047 586d F5 .byte 0xf5 33048 586e 01 .uleb128 0x1 33049 586f 29 .uleb128 0x29 33050 5870 F7 .byte 0xf7 33051 5871 30 .uleb128 0x30 33052 5872 F7 .byte 0xf7 33053 5873 00 .uleb128 0 33054 5874 09 .byte 0x9 33055 5875 FC .byte 0xfc 33056 5876 24 .byte 0x24 33057 5877 33 .byte 0x33 33058 5878 25 .byte 0x25 33059 5879 30 .byte 0x30 33060 587a 2E .byte 0x2e 33061 587b 28 .byte 0x28 33062 587c 0100 .2byte 0x1 33063 587e 16 .byte 0x16 33064 587f 13 .byte 0x13 33065 5880 F3 .byte 0xf3 33066 5881 03 .uleb128 0x3 33067 5882 F5 .byte 0xf5 33068 5883 01 .uleb128 0x1 33069 5884 29 .uleb128 0x29 33070 5885 F7 .byte 0xf7 33071 5886 30 .uleb128 0x30 33072 5887 F7 .byte 0xf7 33073 5888 00 .uleb128 0 33074 5889 09 .byte 0x9 33075 588a FC .byte 0xfc 33076 588b 24 .byte 0x24 33077 588c 33 .byte 0x33 33078 588d 25 .byte 0x25 33079 588e 30 .byte 0x30 33080 588f 29 .byte 0x29 33081 5890 28 .byte 0x28 33082 5891 0100 .2byte 0x1 33083 5893 16 .byte 0x16 33084 5894 13 .byte 0x13 33085 5895 F3 .byte 0xf3 33086 5896 03 .uleb128 0x3 33087 5897 F5 .byte 0xf5 ARM GAS /tmp/ccjvgGVC.s page 1055 33088 5898 01 .uleb128 0x1 33089 5899 29 .uleb128 0x29 33090 589a F7 .byte 0xf7 33091 589b 30 .uleb128 0x30 33092 589c F7 .byte 0xf7 33093 589d 00 .uleb128 0 33094 589e 09 .byte 0x9 33095 589f FC .byte 0xfc 33096 58a0 24 .byte 0x24 33097 58a1 33 .byte 0x33 33098 58a2 25 .byte 0x25 33099 58a3 30 .byte 0x30 33100 58a4 2E .byte 0x2e 33101 58a5 28 .byte 0x28 33102 58a6 0100 .2byte 0x1 33103 58a8 16 .byte 0x16 33104 58a9 13 .byte 0x13 33105 58aa 74 .byte 0x74 33106 58ab 00 .sleb128 0 33107 58ac 22 .byte 0x22 33108 58ad 9F .byte 0x9f 33109 58ae A6000000 .4byte .LVL527 33110 58b2 C0000000 .4byte .LFE163 33111 58b6 C000 .2byte 0xc0 33112 58b8 F3 .byte 0xf3 33113 58b9 03 .uleb128 0x3 33114 58ba F5 .byte 0xf5 33115 58bb 01 .uleb128 0x1 33116 58bc 29 .uleb128 0x29 33117 58bd F7 .byte 0xf7 33118 58be 30 .uleb128 0x30 33119 58bf F7 .byte 0xf7 33120 58c0 00 .uleb128 0 33121 58c1 3F .byte 0x3f 33122 58c2 1A .byte 0x1a 33123 58c3 4C .byte 0x4c 33124 58c4 1E .byte 0x1e 33125 58c5 23 .byte 0x23 33126 58c6 FC03 .uleb128 0x1fc 33127 58c8 F3 .byte 0xf3 33128 58c9 03 .uleb128 0x3 33129 58ca F5 .byte 0xf5 33130 58cb 01 .uleb128 0x1 33131 58cc 29 .uleb128 0x29 33132 58cd F7 .byte 0xf7 33133 58ce 30 .uleb128 0x30 33134 58cf F7 .byte 0xf7 33135 58d0 00 .uleb128 0 33136 58d1 3F .byte 0x3f 33137 58d2 1A .byte 0x1a 33138 58d3 4C .byte 0x4c 33139 58d4 1E .byte 0x1e 33140 58d5 23 .byte 0x23 33141 58d6 3C .uleb128 0x3c 33142 58d7 F3 .byte 0xf3 33143 58d8 03 .uleb128 0x3 33144 58d9 F5 .byte 0xf5 ARM GAS /tmp/ccjvgGVC.s page 1056 33145 58da 01 .uleb128 0x1 33146 58db 29 .uleb128 0x29 33147 58dc F7 .byte 0xf7 33148 58dd 30 .uleb128 0x30 33149 58de F7 .byte 0xf7 33150 58df 00 .uleb128 0 33151 58e0 F3 .byte 0xf3 33152 58e1 03 .uleb128 0x3 33153 58e2 F5 .byte 0xf5 33154 58e3 01 .uleb128 0x1 33155 58e4 29 .uleb128 0x29 33156 58e5 F7 .byte 0xf7 33157 58e6 30 .uleb128 0x30 33158 58e7 F7 .byte 0xf7 33159 58e8 00 .uleb128 0 33160 58e9 09 .byte 0x9 33161 58ea FC .byte 0xfc 33162 58eb 24 .byte 0x24 33163 58ec 33 .byte 0x33 33164 58ed 25 .byte 0x25 33165 58ee 30 .byte 0x30 33166 58ef 2E .byte 0x2e 33167 58f0 28 .byte 0x28 33168 58f1 0100 .2byte 0x1 33169 58f3 16 .byte 0x16 33170 58f4 13 .byte 0x13 33171 58f5 F3 .byte 0xf3 33172 58f6 03 .uleb128 0x3 33173 58f7 F5 .byte 0xf5 33174 58f8 01 .uleb128 0x1 33175 58f9 29 .uleb128 0x29 33176 58fa F7 .byte 0xf7 33177 58fb 30 .uleb128 0x30 33178 58fc F7 .byte 0xf7 33179 58fd 00 .uleb128 0 33180 58fe 09 .byte 0x9 33181 58ff FC .byte 0xfc 33182 5900 24 .byte 0x24 33183 5901 33 .byte 0x33 33184 5902 25 .byte 0x25 33185 5903 30 .byte 0x30 33186 5904 29 .byte 0x29 33187 5905 28 .byte 0x28 33188 5906 0100 .2byte 0x1 33189 5908 16 .byte 0x16 33190 5909 13 .byte 0x13 33191 590a 74 .byte 0x74 33192 590b 00 .sleb128 0 33193 590c 22 .byte 0x22 33194 590d F3 .byte 0xf3 33195 590e 03 .uleb128 0x3 33196 590f F5 .byte 0xf5 33197 5910 01 .uleb128 0x1 33198 5911 29 .uleb128 0x29 33199 5912 F7 .byte 0xf7 33200 5913 30 .uleb128 0x30 33201 5914 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1057 33202 5915 00 .uleb128 0 33203 5916 3F .byte 0x3f 33204 5917 1A .byte 0x1a 33205 5918 4C .byte 0x4c 33206 5919 1E .byte 0x1e 33207 591a 23 .byte 0x23 33208 591b FC03 .uleb128 0x1fc 33209 591d F3 .byte 0xf3 33210 591e 03 .uleb128 0x3 33211 591f F5 .byte 0xf5 33212 5920 01 .uleb128 0x1 33213 5921 29 .uleb128 0x29 33214 5922 F7 .byte 0xf7 33215 5923 30 .uleb128 0x30 33216 5924 F7 .byte 0xf7 33217 5925 00 .uleb128 0 33218 5926 3F .byte 0x3f 33219 5927 1A .byte 0x1a 33220 5928 4C .byte 0x4c 33221 5929 1E .byte 0x1e 33222 592a 23 .byte 0x23 33223 592b 3C .uleb128 0x3c 33224 592c F3 .byte 0xf3 33225 592d 03 .uleb128 0x3 33226 592e F5 .byte 0xf5 33227 592f 01 .uleb128 0x1 33228 5930 29 .uleb128 0x29 33229 5931 F7 .byte 0xf7 33230 5932 30 .uleb128 0x30 33231 5933 F7 .byte 0xf7 33232 5934 00 .uleb128 0 33233 5935 F3 .byte 0xf3 33234 5936 03 .uleb128 0x3 33235 5937 F5 .byte 0xf5 33236 5938 01 .uleb128 0x1 33237 5939 29 .uleb128 0x29 33238 593a F7 .byte 0xf7 33239 593b 30 .uleb128 0x30 33240 593c F7 .byte 0xf7 33241 593d 00 .uleb128 0 33242 593e 09 .byte 0x9 33243 593f FC .byte 0xfc 33244 5940 24 .byte 0x24 33245 5941 33 .byte 0x33 33246 5942 25 .byte 0x25 33247 5943 30 .byte 0x30 33248 5944 2E .byte 0x2e 33249 5945 28 .byte 0x28 33250 5946 0100 .2byte 0x1 33251 5948 16 .byte 0x16 33252 5949 13 .byte 0x13 33253 594a F3 .byte 0xf3 33254 594b 03 .uleb128 0x3 33255 594c F5 .byte 0xf5 33256 594d 01 .uleb128 0x1 33257 594e 29 .uleb128 0x29 33258 594f F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1058 33259 5950 30 .uleb128 0x30 33260 5951 F7 .byte 0xf7 33261 5952 00 .uleb128 0 33262 5953 09 .byte 0x9 33263 5954 FC .byte 0xfc 33264 5955 24 .byte 0x24 33265 5956 33 .byte 0x33 33266 5957 25 .byte 0x25 33267 5958 30 .byte 0x30 33268 5959 29 .byte 0x29 33269 595a 28 .byte 0x28 33270 595b 0100 .2byte 0x1 33271 595d 16 .byte 0x16 33272 595e 13 .byte 0x13 33273 595f F3 .byte 0xf3 33274 5960 03 .uleb128 0x3 33275 5961 F5 .byte 0xf5 33276 5962 01 .uleb128 0x1 33277 5963 29 .uleb128 0x29 33278 5964 F7 .byte 0xf7 33279 5965 30 .uleb128 0x30 33280 5966 F7 .byte 0xf7 33281 5967 00 .uleb128 0 33282 5968 09 .byte 0x9 33283 5969 FC .byte 0xfc 33284 596a 24 .byte 0x24 33285 596b 33 .byte 0x33 33286 596c 25 .byte 0x25 33287 596d 30 .byte 0x30 33288 596e 2E .byte 0x2e 33289 596f 28 .byte 0x28 33290 5970 0100 .2byte 0x1 33291 5972 16 .byte 0x16 33292 5973 13 .byte 0x13 33293 5974 74 .byte 0x74 33294 5975 00 .sleb128 0 33295 5976 22 .byte 0x22 33296 5977 9F .byte 0x9f 33297 5978 00000000 .4byte 0 33298 597c 00000000 .4byte 0 33299 .LVUS349: 33300 5980 00 .uleb128 .LVU2465 33301 5981 00 .uleb128 .LVU2478 33302 5982 00 .uleb128 .LVU2482 33303 5983 00 .uleb128 0 33304 .LLST349: 33305 5984 64000000 .4byte .LVL521 33306 5988 9C000000 .4byte .LVL524 33307 598c 0F00 .2byte 0xf 33308 598e F3 .byte 0xf3 33309 598f 03 .uleb128 0x3 33310 5990 F5 .byte 0xf5 33311 5991 01 .uleb128 0x1 33312 5992 29 .uleb128 0x29 33313 5993 F7 .byte 0xf7 33314 5994 37 .uleb128 0x37 33315 5995 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1059 33316 5996 00 .uleb128 0 33317 5997 3F .byte 0x3f 33318 5998 1A .byte 0x1a 33319 5999 08 .byte 0x8 33320 599a FF .byte 0xff 33321 599b 1A .byte 0x1a 33322 599c 9F .byte 0x9f 33323 599d A4000000 .4byte .LVL526 33324 59a1 C0000000 .4byte .LFE163 33325 59a5 0F00 .2byte 0xf 33326 59a7 F3 .byte 0xf3 33327 59a8 03 .uleb128 0x3 33328 59a9 F5 .byte 0xf5 33329 59aa 01 .uleb128 0x1 33330 59ab 29 .uleb128 0x29 33331 59ac F7 .byte 0xf7 33332 59ad 37 .uleb128 0x37 33333 59ae F7 .byte 0xf7 33334 59af 00 .uleb128 0 33335 59b0 3F .byte 0x3f 33336 59b1 1A .byte 0x1a 33337 59b2 08 .byte 0x8 33338 59b3 FF .byte 0xff 33339 59b4 1A .byte 0x1a 33340 59b5 9F .byte 0x9f 33341 59b6 00000000 .4byte 0 33342 59ba 00000000 .4byte 0 33343 .LLST350: 33344 59be 00000000 .4byte .LFB168 33345 59c2 08000000 .4byte .LCFI66 33346 59c6 0200 .2byte 0x2 33347 59c8 7D .byte 0x7d 33348 59c9 00 .sleb128 0 33349 59ca 08000000 .4byte .LCFI66 33350 59ce 38000000 .4byte .LFE168 33351 59d2 0200 .2byte 0x2 33352 59d4 7D .byte 0x7d 33353 59d5 08 .sleb128 8 33354 59d6 00000000 .4byte 0 33355 59da 00000000 .4byte 0 33356 .LVUS351: 33357 59de 00 .uleb128 0 33358 59df 00 .uleb128 .LVU2494 33359 59e0 00 .uleb128 .LVU2494 33360 59e1 00 .uleb128 0 33361 .LLST351: 33362 59e2 00000000 .4byte .LVL529 33363 59e6 0C000000 .4byte .LVL530 33364 59ea 0100 .2byte 0x1 33365 59ec 50 .byte 0x50 33366 59ed 0C000000 .4byte .LVL530 33367 59f1 38000000 .4byte .LFE168 33368 59f5 0A00 .2byte 0xa 33369 59f7 F3 .byte 0xf3 33370 59f8 03 .uleb128 0x3 33371 59f9 F5 .byte 0xf5 33372 59fa 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 1060 33373 59fb 29 .uleb128 0x29 33374 59fc F7 .byte 0xf7 33375 59fd 30 .uleb128 0x30 33376 59fe F7 .byte 0xf7 33377 59ff 00 .uleb128 0 33378 5a00 9F .byte 0x9f 33379 5a01 00000000 .4byte 0 33380 5a05 00000000 .4byte 0 33381 .LVUS352: 33382 5a09 00 .uleb128 0 33383 5a0a 00 .uleb128 .LVU2500 33384 5a0b 00 .uleb128 .LVU2500 33385 5a0c 00 .uleb128 .LVU2503 33386 5a0d 00 .uleb128 .LVU2503 33387 5a0e 00 .uleb128 0 33388 .LLST352: 33389 5a0f 00000000 .4byte .LVL529 33390 5a13 24000000 .4byte .LVL531 33391 5a17 0100 .2byte 0x1 33392 5a19 52 .byte 0x52 33393 5a1a 24000000 .4byte .LVL531 33394 5a1e 32000000 .4byte .LVL532 33395 5a22 0300 .2byte 0x3 33396 5a24 74 .byte 0x74 33397 5a25 C404 .sleb128 580 33398 5a27 32000000 .4byte .LVL532 33399 5a2b 38000000 .4byte .LFE168 33400 5a2f 0A00 .2byte 0xa 33401 5a31 F3 .byte 0xf3 33402 5a32 03 .uleb128 0x3 33403 5a33 F5 .byte 0xf5 33404 5a34 02 .uleb128 0x2 33405 5a35 29 .uleb128 0x29 33406 5a36 F7 .byte 0xf7 33407 5a37 37 .uleb128 0x37 33408 5a38 F7 .byte 0xf7 33409 5a39 00 .uleb128 0 33410 5a3a 9F .byte 0x9f 33411 5a3b 00000000 .4byte 0 33412 5a3f 00000000 .4byte 0 33413 .LVUS353: 33414 5a43 00 .uleb128 .LVU2494 33415 5a44 00 .uleb128 0 33416 .LLST353: 33417 5a45 0C000000 .4byte .LVL530 33418 5a49 38000000 .4byte .LFE168 33419 5a4d 0100 .2byte 0x1 33420 5a4f 50 .byte 0x50 33421 5a50 00000000 .4byte 0 33422 5a54 00000000 .4byte 0 33423 .LVUS354: 33424 5a58 01 .uleb128 .LVU2491 33425 5a59 00 .uleb128 0 33426 .LLST354: 33427 5a5a 00000000 .4byte .LVL529 33428 5a5e 38000000 .4byte .LFE168 33429 5a62 0600 .2byte 0x6 ARM GAS /tmp/ccjvgGVC.s page 1061 33430 5a64 FA .byte 0xfa 33431 5a65 A12A0000 .4byte 0x2aa1 33432 5a69 9F .byte 0x9f 33433 5a6a 00000000 .4byte 0 33434 5a6e 00000000 .4byte 0 33435 .LLST355: 33436 5a72 00000000 .4byte .LFB170 33437 5a76 02000000 .4byte .LCFI67 33438 5a7a 0200 .2byte 0x2 33439 5a7c 7D .byte 0x7d 33440 5a7d 00 .sleb128 0 33441 5a7e 02000000 .4byte .LCFI67 33442 5a82 16000000 .4byte .LFE170 33443 5a86 0200 .2byte 0x2 33444 5a88 7D .byte 0x7d 33445 5a89 08 .sleb128 8 33446 5a8a 00000000 .4byte 0 33447 5a8e 00000000 .4byte 0 33448 .LVUS356: 33449 5a92 00 .uleb128 0 33450 5a93 00 .uleb128 .LVU2509 33451 5a94 00 .uleb128 .LVU2509 33452 5a95 00 .uleb128 0 33453 .LLST356: 33454 5a96 00000000 .4byte .LVL533 33455 5a9a 06000000 .4byte .LVL534 33456 5a9e 0100 .2byte 0x1 33457 5aa0 52 .byte 0x52 33458 5aa1 06000000 .4byte .LVL534 33459 5aa5 16000000 .4byte .LFE170 33460 5aa9 0A00 .2byte 0xa 33461 5aab F3 .byte 0xf3 33462 5aac 03 .uleb128 0x3 33463 5aad F5 .byte 0xf5 33464 5aae 02 .uleb128 0x2 33465 5aaf 29 .uleb128 0x29 33466 5ab0 F7 .byte 0xf7 33467 5ab1 3E .uleb128 0x3e 33468 5ab2 F7 .byte 0xf7 33469 5ab3 00 .uleb128 0 33470 5ab4 9F .byte 0x9f 33471 5ab5 00000000 .4byte 0 33472 5ab9 00000000 .4byte 0 33473 .LVUS357: 33474 5abd 01 .uleb128 .LVU2506 33475 5abe 00 .uleb128 .LVU2509 33476 5abf 00 .uleb128 .LVU2509 33477 5ac0 00 .uleb128 0 33478 .LLST357: 33479 5ac1 00000000 .4byte .LVL533 33480 5ac5 06000000 .4byte .LVL534 33481 5ac9 0100 .2byte 0x1 33482 5acb 52 .byte 0x52 33483 5acc 06000000 .4byte .LVL534 33484 5ad0 16000000 .4byte .LFE170 33485 5ad4 0A00 .2byte 0xa 33486 5ad6 F3 .byte 0xf3 ARM GAS /tmp/ccjvgGVC.s page 1062 33487 5ad7 03 .uleb128 0x3 33488 5ad8 F5 .byte 0xf5 33489 5ad9 02 .uleb128 0x2 33490 5ada 29 .uleb128 0x29 33491 5adb F7 .byte 0xf7 33492 5adc 3E .uleb128 0x3e 33493 5add F7 .byte 0xf7 33494 5ade 00 .uleb128 0 33495 5adf 9F .byte 0x9f 33496 5ae0 00000000 .4byte 0 33497 5ae4 00000000 .4byte 0 33498 .LVUS358: 33499 5ae8 00 .uleb128 .LVU2509 33500 5ae9 00 .uleb128 .LVU2510 33501 5aea 00 .uleb128 .LVU2512 33502 5aeb 00 .uleb128 0 33503 .LLST358: 33504 5aec 06000000 .4byte .LVL534 33505 5af0 08000000 .4byte .LVL535 33506 5af4 0100 .2byte 0x1 33507 5af6 50 .byte 0x50 33508 5af7 0A000000 .4byte .LVL536 33509 5afb 16000000 .4byte .LFE170 33510 5aff 0100 .2byte 0x1 33511 5b01 50 .byte 0x50 33512 5b02 00000000 .4byte 0 33513 5b06 00000000 .4byte 0 33514 .LVUS359: 33515 5b0a 00 .uleb128 .LVU2509 33516 5b0b 00 .uleb128 .LVU2510 33517 5b0c 00 .uleb128 .LVU2512 33518 5b0d 00 .uleb128 0 33519 .LLST359: 33520 5b0e 06000000 .4byte .LVL534 33521 5b12 08000000 .4byte .LVL535 33522 5b16 0100 .2byte 0x1 33523 5b18 51 .byte 0x51 33524 5b19 0A000000 .4byte .LVL536 33525 5b1d 16000000 .4byte .LFE170 33526 5b21 0100 .2byte 0x1 33527 5b23 51 .byte 0x51 33528 5b24 00000000 .4byte 0 33529 5b28 00000000 .4byte 0 33530 .LVUS360: 33531 5b2c 00 .uleb128 .LVU2509 33532 5b2d 00 .uleb128 .LVU2510 33533 5b2e 00 .uleb128 .LVU2512 33534 5b2f 00 .uleb128 0 33535 .LLST360: 33536 5b30 06000000 .4byte .LVL534 33537 5b34 08000000 .4byte .LVL535 33538 5b38 0A00 .2byte 0xa 33539 5b3a F3 .byte 0xf3 33540 5b3b 03 .uleb128 0x3 33541 5b3c F5 .byte 0xf5 33542 5b3d 02 .uleb128 0x2 33543 5b3e 29 .uleb128 0x29 ARM GAS /tmp/ccjvgGVC.s page 1063 33544 5b3f F7 .byte 0xf7 33545 5b40 3E .uleb128 0x3e 33546 5b41 F7 .byte 0xf7 33547 5b42 00 .uleb128 0 33548 5b43 9F .byte 0x9f 33549 5b44 0A000000 .4byte .LVL536 33550 5b48 16000000 .4byte .LFE170 33551 5b4c 0A00 .2byte 0xa 33552 5b4e F3 .byte 0xf3 33553 5b4f 03 .uleb128 0x3 33554 5b50 F5 .byte 0xf5 33555 5b51 02 .uleb128 0x2 33556 5b52 29 .uleb128 0x29 33557 5b53 F7 .byte 0xf7 33558 5b54 3E .uleb128 0x3e 33559 5b55 F7 .byte 0xf7 33560 5b56 00 .uleb128 0 33561 5b57 9F .byte 0x9f 33562 5b58 00000000 .4byte 0 33563 5b5c 00000000 .4byte 0 33564 .LVUS361: 33565 5b60 00 .uleb128 .LVU2509 33566 5b61 00 .uleb128 .LVU2510 33567 5b62 00 .uleb128 .LVU2512 33568 5b63 00 .uleb128 .LVU2513 33569 5b64 00 .uleb128 .LVU2514 33570 5b65 00 .uleb128 0 33571 .LLST361: 33572 5b66 06000000 .4byte .LVL534 33573 5b6a 08000000 .4byte .LVL535 33574 5b6e 0100 .2byte 0x1 33575 5b70 52 .byte 0x52 33576 5b71 0A000000 .4byte .LVL536 33577 5b75 0C000000 .4byte .LVL537 33578 5b79 0100 .2byte 0x1 33579 5b7b 52 .byte 0x52 33580 5b7c 0E000000 .4byte .LVL538 33581 5b80 16000000 .4byte .LFE170 33582 5b84 0100 .2byte 0x1 33583 5b86 52 .byte 0x52 33584 5b87 00000000 .4byte 0 33585 5b8b 00000000 .4byte 0 33586 .LVUS362: 33587 5b8f 00 .uleb128 0 33588 5b90 00 .uleb128 .LVU2522 33589 5b91 00 .uleb128 .LVU2522 33590 5b92 00 .uleb128 0 33591 .LLST362: 33592 5b93 00000000 .4byte .LVL539 33593 5b97 0F000000 .4byte .LVL540-1 33594 5b9b 0100 .2byte 0x1 33595 5b9d 50 .byte 0x50 33596 5b9e 0F000000 .4byte .LVL540-1 33597 5ba2 10000000 .4byte .LFE174 33598 5ba6 0A00 .2byte 0xa 33599 5ba8 F3 .byte 0xf3 33600 5ba9 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 1064 33601 5baa F5 .byte 0xf5 33602 5bab 00 .uleb128 0 33603 5bac 29 .uleb128 0x29 33604 5bad F7 .byte 0xf7 33605 5bae 30 .uleb128 0x30 33606 5baf F7 .byte 0xf7 33607 5bb0 00 .uleb128 0 33608 5bb1 9F .byte 0x9f 33609 5bb2 00000000 .4byte 0 33610 5bb6 00000000 .4byte 0 33611 .LLST363: 33612 5bba 00000000 .4byte .LFB176 33613 5bbe 04000000 .4byte .LCFI68 33614 5bc2 0200 .2byte 0x2 33615 5bc4 7D .byte 0x7d 33616 5bc5 00 .sleb128 0 33617 5bc6 04000000 .4byte .LCFI68 33618 5bca 3C000000 .4byte .LCFI69 33619 5bce 0200 .2byte 0x2 33620 5bd0 7D .byte 0x7d 33621 5bd1 08 .sleb128 8 33622 5bd2 3C000000 .4byte .LCFI69 33623 5bd6 40000000 .4byte .LCFI70 33624 5bda 0200 .2byte 0x2 33625 5bdc 7D .byte 0x7d 33626 5bdd 00 .sleb128 0 33627 5bde 40000000 .4byte .LCFI70 33628 5be2 5E000000 .4byte .LCFI71 33629 5be6 0200 .2byte 0x2 33630 5be8 7D .byte 0x7d 33631 5be9 08 .sleb128 8 33632 5bea 5E000000 .4byte .LCFI71 33633 5bee 62000000 .4byte .LCFI72 33634 5bf2 0200 .2byte 0x2 33635 5bf4 7D .byte 0x7d 33636 5bf5 00 .sleb128 0 33637 5bf6 62000000 .4byte .LCFI72 33638 5bfa 7E000000 .4byte .LCFI73 33639 5bfe 0200 .2byte 0x2 33640 5c00 7D .byte 0x7d 33641 5c01 08 .sleb128 8 33642 5c02 7E000000 .4byte .LCFI73 33643 5c06 80000000 .4byte .LCFI74 33644 5c0a 0200 .2byte 0x2 33645 5c0c 7D .byte 0x7d 33646 5c0d 00 .sleb128 0 33647 5c0e 80000000 .4byte .LCFI74 33648 5c12 88000000 .4byte .LFE176 33649 5c16 0200 .2byte 0x2 33650 5c18 7D .byte 0x7d 33651 5c19 08 .sleb128 8 33652 5c1a 00000000 .4byte 0 33653 5c1e 00000000 .4byte 0 33654 .LVUS364: 33655 5c22 00 .uleb128 0 33656 5c23 00 .uleb128 .LVU2532 33657 5c24 00 .uleb128 .LVU2532 ARM GAS /tmp/ccjvgGVC.s page 1065 33658 5c25 00 .uleb128 .LVU2545 33659 5c26 00 .uleb128 .LVU2545 33660 5c27 00 .uleb128 .LVU2555 33661 5c28 00 .uleb128 .LVU2555 33662 5c29 00 .uleb128 .LVU2561 33663 5c2a 00 .uleb128 .LVU2561 33664 5c2b 00 .uleb128 .LVU2564 33665 5c2c 00 .uleb128 .LVU2564 33666 5c2d 00 .uleb128 .LVU2564 33667 5c2e 00 .uleb128 .LVU2564 33668 5c2f 00 .uleb128 0 33669 .LLST364: 33670 5c30 00000000 .4byte .LVL541 33671 5c34 18000000 .4byte .LVL544 33672 5c38 0100 .2byte 0x1 33673 5c3a 50 .byte 0x50 33674 5c3b 18000000 .4byte .LVL544 33675 5c3f 3F000000 .4byte .LVL549-1 33676 5c43 0100 .2byte 0x1 33677 5c45 51 .byte 0x51 33678 5c46 3F000000 .4byte .LVL549-1 33679 5c4a 62000000 .4byte .LVL552 33680 5c4e 0A00 .2byte 0xa 33681 5c50 F3 .byte 0xf3 33682 5c51 03 .uleb128 0x3 33683 5c52 F5 .byte 0xf5 33684 5c53 00 .uleb128 0 33685 5c54 29 .uleb128 0x29 33686 5c55 F7 .byte 0xf7 33687 5c56 37 .uleb128 0x37 33688 5c57 F7 .byte 0xf7 33689 5c58 00 .uleb128 0 33690 5c59 9F .byte 0x9f 33691 5c5a 62000000 .4byte .LVL552 33692 5c5e 7A000000 .4byte .LVL553 33693 5c62 0100 .2byte 0x1 33694 5c64 50 .byte 0x50 33695 5c65 7A000000 .4byte .LVL553 33696 5c69 7F000000 .4byte .LVL555-1 33697 5c6d 0100 .2byte 0x1 33698 5c6f 51 .byte 0x51 33699 5c70 7F000000 .4byte .LVL555-1 33700 5c74 80000000 .4byte .LVL555 33701 5c78 0A00 .2byte 0xa 33702 5c7a F3 .byte 0xf3 33703 5c7b 03 .uleb128 0x3 33704 5c7c F5 .byte 0xf5 33705 5c7d 00 .uleb128 0 33706 5c7e 29 .uleb128 0x29 33707 5c7f F7 .byte 0xf7 33708 5c80 37 .uleb128 0x37 33709 5c81 F7 .byte 0xf7 33710 5c82 00 .uleb128 0 33711 5c83 9F .byte 0x9f 33712 5c84 80000000 .4byte .LVL555 33713 5c88 88000000 .4byte .LFE176 33714 5c8c 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 1066 33715 5c8e 50 .byte 0x50 33716 5c8f 00000000 .4byte 0 33717 5c93 00000000 .4byte 0 33718 .LVUS366: 33719 5c97 00 .uleb128 .LVU2528 33720 5c98 00 .uleb128 .LVU2544 33721 5c99 00 .uleb128 .LVU2544 33722 5c9a 00 .uleb128 .LVU2545 33723 5c9b 00 .uleb128 .LVU2545 33724 5c9c 00 .uleb128 .LVU2554 33725 5c9d 00 .uleb128 .LVU2554 33726 5c9e 00 .uleb128 .LVU2555 33727 5c9f 00 .uleb128 .LVU2555 33728 5ca0 00 .uleb128 .LVU2563 33729 5ca1 00 .uleb128 .LVU2564 33730 5ca2 00 .uleb128 .LVU2566 33731 .LLST366: 33732 5ca3 0A000000 .4byte .LVL542 33733 5ca7 3C000000 .4byte .LVL548 33734 5cab 0100 .2byte 0x1 33735 5cad 54 .byte 0x54 33736 5cae 3C000000 .4byte .LVL548 33737 5cb2 3F000000 .4byte .LVL549-1 33738 5cb6 0100 .2byte 0x1 33739 5cb8 50 .byte 0x50 33740 5cb9 40000000 .4byte .LVL549 33741 5cbd 5E000000 .4byte .LVL551 33742 5cc1 0100 .2byte 0x1 33743 5cc3 54 .byte 0x54 33744 5cc4 5E000000 .4byte .LVL551 33745 5cc8 61000000 .4byte .LVL552-1 33746 5ccc 0100 .2byte 0x1 33747 5cce 50 .byte 0x50 33748 5ccf 62000000 .4byte .LVL552 33749 5cd3 7E000000 .4byte .LVL554 33750 5cd7 0100 .2byte 0x1 33751 5cd9 54 .byte 0x54 33752 5cda 80000000 .4byte .LVL555 33753 5cde 82000000 .4byte .LVL556 33754 5ce2 0100 .2byte 0x1 33755 5ce4 54 .byte 0x54 33756 5ce5 00000000 .4byte 0 33757 5ce9 00000000 .4byte 0 33758 .LVUS367: 33759 5ced 00 .uleb128 .LVU2528 33760 5cee 00 .uleb128 .LVU2532 33761 5cef 00 .uleb128 .LVU2532 33762 5cf0 00 .uleb128 .LVU2545 33763 5cf1 00 .uleb128 .LVU2545 33764 5cf2 00 .uleb128 .LVU2555 33765 5cf3 00 .uleb128 .LVU2555 33766 5cf4 00 .uleb128 .LVU2561 33767 5cf5 00 .uleb128 .LVU2561 33768 5cf6 00 .uleb128 .LVU2564 33769 5cf7 00 .uleb128 .LVU2564 33770 5cf8 00 .uleb128 .LVU2564 33771 5cf9 00 .uleb128 .LVU2564 ARM GAS /tmp/ccjvgGVC.s page 1067 33772 5cfa 00 .uleb128 0 33773 .LLST367: 33774 5cfb 0A000000 .4byte .LVL542 33775 5cff 18000000 .4byte .LVL544 33776 5d03 0100 .2byte 0x1 33777 5d05 50 .byte 0x50 33778 5d06 18000000 .4byte .LVL544 33779 5d0a 3F000000 .4byte .LVL549-1 33780 5d0e 0100 .2byte 0x1 33781 5d10 51 .byte 0x51 33782 5d11 3F000000 .4byte .LVL549-1 33783 5d15 62000000 .4byte .LVL552 33784 5d19 0A00 .2byte 0xa 33785 5d1b F3 .byte 0xf3 33786 5d1c 03 .uleb128 0x3 33787 5d1d F5 .byte 0xf5 33788 5d1e 00 .uleb128 0 33789 5d1f 29 .uleb128 0x29 33790 5d20 F7 .byte 0xf7 33791 5d21 37 .uleb128 0x37 33792 5d22 F7 .byte 0xf7 33793 5d23 00 .uleb128 0 33794 5d24 9F .byte 0x9f 33795 5d25 62000000 .4byte .LVL552 33796 5d29 7A000000 .4byte .LVL553 33797 5d2d 0100 .2byte 0x1 33798 5d2f 50 .byte 0x50 33799 5d30 7A000000 .4byte .LVL553 33800 5d34 7F000000 .4byte .LVL555-1 33801 5d38 0100 .2byte 0x1 33802 5d3a 51 .byte 0x51 33803 5d3b 7F000000 .4byte .LVL555-1 33804 5d3f 80000000 .4byte .LVL555 33805 5d43 0A00 .2byte 0xa 33806 5d45 F3 .byte 0xf3 33807 5d46 03 .uleb128 0x3 33808 5d47 F5 .byte 0xf5 33809 5d48 00 .uleb128 0 33810 5d49 29 .uleb128 0x29 33811 5d4a F7 .byte 0xf7 33812 5d4b 37 .uleb128 0x37 33813 5d4c F7 .byte 0xf7 33814 5d4d 00 .uleb128 0 33815 5d4e 9F .byte 0x9f 33816 5d4f 80000000 .4byte .LVL555 33817 5d53 88000000 .4byte .LFE176 33818 5d57 0100 .2byte 0x1 33819 5d59 50 .byte 0x50 33820 5d5a 00000000 .4byte 0 33821 5d5e 00000000 .4byte 0 33822 .LVUS368: 33823 5d62 00 .uleb128 .LVU2529 33824 5d63 00 .uleb128 .LVU2544 33825 5d64 00 .uleb128 .LVU2544 33826 5d65 00 .uleb128 .LVU2545 33827 5d66 00 .uleb128 .LVU2545 33828 5d67 00 .uleb128 .LVU2554 ARM GAS /tmp/ccjvgGVC.s page 1068 33829 5d68 00 .uleb128 .LVU2554 33830 5d69 00 .uleb128 .LVU2555 33831 .LLST368: 33832 5d6a 0C000000 .4byte .LVL543 33833 5d6e 3C000000 .4byte .LVL548 33834 5d72 0400 .2byte 0x4 33835 5d74 74 .byte 0x74 33836 5d75 D402 .sleb128 340 33837 5d77 9F .byte 0x9f 33838 5d78 3C000000 .4byte .LVL548 33839 5d7c 3F000000 .4byte .LVL549-1 33840 5d80 0400 .2byte 0x4 33841 5d82 70 .byte 0x70 33842 5d83 D402 .sleb128 340 33843 5d85 9F .byte 0x9f 33844 5d86 40000000 .4byte .LVL549 33845 5d8a 5E000000 .4byte .LVL551 33846 5d8e 0400 .2byte 0x4 33847 5d90 74 .byte 0x74 33848 5d91 D402 .sleb128 340 33849 5d93 9F .byte 0x9f 33850 5d94 5E000000 .4byte .LVL551 33851 5d98 61000000 .4byte .LVL552-1 33852 5d9c 0400 .2byte 0x4 33853 5d9e 70 .byte 0x70 33854 5d9f D402 .sleb128 340 33855 5da1 9F .byte 0x9f 33856 5da2 00000000 .4byte 0 33857 5da6 00000000 .4byte 0 33858 .LVUS369: 33859 5daa 00 .uleb128 .LVU2545 33860 5dab 00 .uleb128 .LVU2564 33861 .LLST369: 33862 5dac 40000000 .4byte .LVL549 33863 5db0 80000000 .4byte .LVL555 33864 5db4 0200 .2byte 0x2 33865 5db6 30 .byte 0x30 33866 5db7 9F .byte 0x9f 33867 5db8 00000000 .4byte 0 33868 5dbc 00000000 .4byte 0 33869 .LVUS370: 33870 5dc0 00 .uleb128 .LVU2540 33871 5dc1 00 .uleb128 .LVU2544 33872 5dc2 00 .uleb128 .LVU2544 33873 5dc3 00 .uleb128 .LVU2545 33874 .LLST370: 33875 5dc4 32000000 .4byte .LVL545 33876 5dc8 3C000000 .4byte .LVL548 33877 5dcc 0100 .2byte 0x1 33878 5dce 54 .byte 0x54 33879 5dcf 3C000000 .4byte .LVL548 33880 5dd3 3F000000 .4byte .LVL549-1 33881 5dd7 0100 .2byte 0x1 33882 5dd9 50 .byte 0x50 33883 5dda 00000000 .4byte 0 33884 5dde 00000000 .4byte 0 33885 .LVUS371: ARM GAS /tmp/ccjvgGVC.s page 1069 33886 5de2 00 .uleb128 .LVU2540 33887 5de3 00 .uleb128 .LVU2545 33888 .LLST371: 33889 5de4 32000000 .4byte .LVL545 33890 5de8 3F000000 .4byte .LVL549-1 33891 5dec 0100 .2byte 0x1 33892 5dee 52 .byte 0x52 33893 5def 00000000 .4byte 0 33894 5df3 00000000 .4byte 0 33895 .LVUS372: 33896 5df7 00 .uleb128 .LVU2540 33897 5df8 00 .uleb128 .LVU2541 33898 5df9 00 .uleb128 .LVU2541 33899 5dfa 00 .uleb128 .LVU2542 33900 5dfb 00 .uleb128 .LVU2542 33901 5dfc 00 .uleb128 .LVU2544 33902 5dfd 00 .uleb128 .LVU2544 33903 5dfe 00 .uleb128 .LVU2545 33904 .LLST372: 33905 5dff 32000000 .4byte .LVL545 33906 5e03 36000000 .4byte .LVL546 33907 5e07 1600 .2byte 0x16 33908 5e09 73 .byte 0x73 33909 5e0a 00 .sleb128 0 33910 5e0b 12 .byte 0x12 33911 5e0c 40 .byte 0x40 33912 5e0d 4B .byte 0x4b 33913 5e0e 24 .byte 0x24 33914 5e0f 22 .byte 0x22 33915 5e10 70 .byte 0x70 33916 5e11 00 .sleb128 0 33917 5e12 16 .byte 0x16 33918 5e13 14 .byte 0x14 33919 5e14 40 .byte 0x40 33920 5e15 4B .byte 0x4b 33921 5e16 24 .byte 0x24 33922 5e17 22 .byte 0x22 33923 5e18 2B .byte 0x2b 33924 5e19 28 .byte 0x28 33925 5e1a 0100 .2byte 0x1 33926 5e1c 16 .byte 0x16 33927 5e1d 13 .byte 0x13 33928 5e1e 9F .byte 0x9f 33929 5e1f 36000000 .4byte .LVL546 33930 5e23 38000000 .4byte .LVL547 33931 5e27 1D00 .2byte 0x1d 33932 5e29 74 .byte 0x74 33933 5e2a E002 .sleb128 352 33934 5e2c 94 .byte 0x94 33935 5e2d 02 .byte 0x2 33936 5e2e 0A .byte 0xa 33937 5e2f FFFF .2byte 0xffff 33938 5e31 1A .byte 0x1a 33939 5e32 12 .byte 0x12 33940 5e33 40 .byte 0x40 33941 5e34 4B .byte 0x4b 33942 5e35 24 .byte 0x24 ARM GAS /tmp/ccjvgGVC.s page 1070 33943 5e36 22 .byte 0x22 33944 5e37 70 .byte 0x70 33945 5e38 00 .sleb128 0 33946 5e39 16 .byte 0x16 33947 5e3a 14 .byte 0x14 33948 5e3b 40 .byte 0x40 33949 5e3c 4B .byte 0x4b 33950 5e3d 24 .byte 0x24 33951 5e3e 22 .byte 0x22 33952 5e3f 2B .byte 0x2b 33953 5e40 28 .byte 0x28 33954 5e41 0100 .2byte 0x1 33955 5e43 16 .byte 0x16 33956 5e44 13 .byte 0x13 33957 5e45 9F .byte 0x9f 33958 5e46 38000000 .4byte .LVL547 33959 5e4a 3C000000 .4byte .LVL548 33960 5e4e 1F00 .2byte 0x1f 33961 5e50 74 .byte 0x74 33962 5e51 E002 .sleb128 352 33963 5e53 94 .byte 0x94 33964 5e54 02 .byte 0x2 33965 5e55 0A .byte 0xa 33966 5e56 FFFF .2byte 0xffff 33967 5e58 1A .byte 0x1a 33968 5e59 12 .byte 0x12 33969 5e5a 40 .byte 0x40 33970 5e5b 4B .byte 0x4b 33971 5e5c 24 .byte 0x24 33972 5e5d 22 .byte 0x22 33973 5e5e 74 .byte 0x74 33974 5e5f D802 .sleb128 344 33975 5e61 06 .byte 0x6 33976 5e62 16 .byte 0x16 33977 5e63 14 .byte 0x14 33978 5e64 40 .byte 0x40 33979 5e65 4B .byte 0x4b 33980 5e66 24 .byte 0x24 33981 5e67 22 .byte 0x22 33982 5e68 2B .byte 0x2b 33983 5e69 28 .byte 0x28 33984 5e6a 0100 .2byte 0x1 33985 5e6c 16 .byte 0x16 33986 5e6d 13 .byte 0x13 33987 5e6e 9F .byte 0x9f 33988 5e6f 3C000000 .4byte .LVL548 33989 5e73 3F000000 .4byte .LVL549-1 33990 5e77 1F00 .2byte 0x1f 33991 5e79 70 .byte 0x70 33992 5e7a E002 .sleb128 352 33993 5e7c 94 .byte 0x94 33994 5e7d 02 .byte 0x2 33995 5e7e 0A .byte 0xa 33996 5e7f FFFF .2byte 0xffff 33997 5e81 1A .byte 0x1a 33998 5e82 12 .byte 0x12 33999 5e83 40 .byte 0x40 ARM GAS /tmp/ccjvgGVC.s page 1071 34000 5e84 4B .byte 0x4b 34001 5e85 24 .byte 0x24 34002 5e86 22 .byte 0x22 34003 5e87 70 .byte 0x70 34004 5e88 D802 .sleb128 344 34005 5e8a 06 .byte 0x6 34006 5e8b 16 .byte 0x16 34007 5e8c 14 .byte 0x14 34008 5e8d 40 .byte 0x40 34009 5e8e 4B .byte 0x4b 34010 5e8f 24 .byte 0x24 34011 5e90 22 .byte 0x22 34012 5e91 2B .byte 0x2b 34013 5e92 28 .byte 0x28 34014 5e93 0100 .2byte 0x1 34015 5e95 16 .byte 0x16 34016 5e96 13 .byte 0x13 34017 5e97 9F .byte 0x9f 34018 5e98 00000000 .4byte 0 34019 5e9c 00000000 .4byte 0 34020 .LLST373: 34021 5ea0 00000000 .4byte .LFB182 34022 5ea4 02000000 .4byte .LCFI75 34023 5ea8 0200 .2byte 0x2 34024 5eaa 7D .byte 0x7d 34025 5eab 00 .sleb128 0 34026 5eac 02000000 .4byte .LCFI75 34027 5eb0 12000000 .4byte .LCFI76 34028 5eb4 0200 .2byte 0x2 34029 5eb6 7D .byte 0x7d 34030 5eb7 04 .sleb128 4 34031 5eb8 12000000 .4byte .LCFI76 34032 5ebc 1C000000 .4byte .LFE182 34033 5ec0 0200 .2byte 0x2 34034 5ec2 7D .byte 0x7d 34035 5ec3 00 .sleb128 0 34036 5ec4 00000000 .4byte 0 34037 5ec8 00000000 .4byte 0 34038 .LVUS374: 34039 5ecc 00 .uleb128 0 34040 5ecd 00 .uleb128 .LVU2579 34041 5ece 00 .uleb128 .LVU2579 34042 5ecf 00 .uleb128 0 34043 .LLST374: 34044 5ed0 00000000 .4byte .LVL557 34045 5ed4 1B000000 .4byte .LVL560-1 34046 5ed8 0100 .2byte 0x1 34047 5eda 50 .byte 0x50 34048 5edb 1B000000 .4byte .LVL560-1 34049 5edf 1C000000 .4byte .LFE182 34050 5ee3 0A00 .2byte 0xa 34051 5ee5 F3 .byte 0xf3 34052 5ee6 03 .uleb128 0x3 34053 5ee7 F5 .byte 0xf5 34054 5ee8 00 .uleb128 0 34055 5ee9 29 .uleb128 0x29 34056 5eea F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1072 34057 5eeb 30 .uleb128 0x30 34058 5eec F7 .byte 0xf7 34059 5eed 00 .uleb128 0 34060 5eee 9F .byte 0x9f 34061 5eef 00000000 .4byte 0 34062 5ef3 00000000 .4byte 0 34063 .LVUS375: 34064 5ef7 00 .uleb128 0 34065 5ef8 00 .uleb128 .LVU2578 34066 5ef9 00 .uleb128 .LVU2578 34067 5efa 00 .uleb128 .LVU2579 34068 5efb 00 .uleb128 .LVU2579 34069 5efc 00 .uleb128 0 34070 .LLST375: 34071 5efd 00000000 .4byte .LVL557 34072 5f01 18000000 .4byte .LVL559 34073 5f05 0100 .2byte 0x1 34074 5f07 51 .byte 0x51 34075 5f08 18000000 .4byte .LVL559 34076 5f0c 1B000000 .4byte .LVL560-1 34077 5f10 0100 .2byte 0x1 34078 5f12 52 .byte 0x52 34079 5f13 1B000000 .4byte .LVL560-1 34080 5f17 1C000000 .4byte .LFE182 34081 5f1b 0A00 .2byte 0xa 34082 5f1d F3 .byte 0xf3 34083 5f1e 03 .uleb128 0x3 34084 5f1f F5 .byte 0xf5 34085 5f20 01 .uleb128 0x1 34086 5f21 29 .uleb128 0x29 34087 5f22 F7 .byte 0xf7 34088 5f23 30 .uleb128 0x30 34089 5f24 F7 .byte 0xf7 34090 5f25 00 .uleb128 0 34091 5f26 9F .byte 0x9f 34092 5f27 00000000 .4byte 0 34093 5f2b 00000000 .4byte 0 34094 .LVUS376: 34095 5f2f 00 .uleb128 0 34096 5f30 00 .uleb128 .LVU2571 34097 5f31 00 .uleb128 .LVU2571 34098 5f32 00 .uleb128 .LVU2579 34099 5f33 00 .uleb128 .LVU2579 34100 5f34 00 .uleb128 0 34101 .LLST376: 34102 5f35 00000000 .4byte .LVL557 34103 5f39 06000000 .4byte .LVL558 34104 5f3d 0100 .2byte 0x1 34105 5f3f 52 .byte 0x52 34106 5f40 06000000 .4byte .LVL558 34107 5f44 1B000000 .4byte .LVL560-1 34108 5f48 0100 .2byte 0x1 34109 5f4a 53 .byte 0x53 34110 5f4b 1B000000 .4byte .LVL560-1 34111 5f4f 1C000000 .4byte .LFE182 34112 5f53 0A00 .2byte 0xa 34113 5f55 F3 .byte 0xf3 ARM GAS /tmp/ccjvgGVC.s page 1073 34114 5f56 03 .uleb128 0x3 34115 5f57 F5 .byte 0xf5 34116 5f58 02 .uleb128 0x2 34117 5f59 29 .uleb128 0x29 34118 5f5a F7 .byte 0xf7 34119 5f5b 30 .uleb128 0x30 34120 5f5c F7 .byte 0xf7 34121 5f5d 00 .uleb128 0 34122 5f5e 9F .byte 0x9f 34123 5f5f 00000000 .4byte 0 34124 5f63 00000000 .4byte 0 34125 .LVUS377: 34126 5f67 00 .uleb128 0 34127 5f68 00 .uleb128 .LVU2583 34128 5f69 00 .uleb128 .LVU2583 34129 5f6a 00 .uleb128 0 34130 .LLST377: 34131 5f6b 00000000 .4byte .LVL561 34132 5f6f 07000000 .4byte .LVL562-1 34133 5f73 0100 .2byte 0x1 34134 5f75 50 .byte 0x50 34135 5f76 07000000 .4byte .LVL562-1 34136 5f7a 08000000 .4byte .LFE184 34137 5f7e 0A00 .2byte 0xa 34138 5f80 F3 .byte 0xf3 34139 5f81 03 .uleb128 0x3 34140 5f82 F5 .byte 0xf5 34141 5f83 00 .uleb128 0 34142 5f84 29 .uleb128 0x29 34143 5f85 F7 .byte 0xf7 34144 5f86 30 .uleb128 0x30 34145 5f87 F7 .byte 0xf7 34146 5f88 00 .uleb128 0 34147 5f89 9F .byte 0x9f 34148 5f8a 00000000 .4byte 0 34149 5f8e 00000000 .4byte 0 34150 .LVUS378: 34151 5f92 00 .uleb128 0 34152 5f93 00 .uleb128 .LVU2583 34153 5f94 00 .uleb128 .LVU2583 34154 5f95 00 .uleb128 0 34155 .LLST378: 34156 5f96 00000000 .4byte .LVL561 34157 5f9a 07000000 .4byte .LVL562-1 34158 5f9e 0100 .2byte 0x1 34159 5fa0 51 .byte 0x51 34160 5fa1 07000000 .4byte .LVL562-1 34161 5fa5 08000000 .4byte .LFE184 34162 5fa9 0A00 .2byte 0xa 34163 5fab F3 .byte 0xf3 34164 5fac 03 .uleb128 0x3 34165 5fad F5 .byte 0xf5 34166 5fae 01 .uleb128 0x1 34167 5faf 29 .uleb128 0x29 34168 5fb0 F7 .byte 0xf7 34169 5fb1 37 .uleb128 0x37 34170 5fb2 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1074 34171 5fb3 00 .uleb128 0 34172 5fb4 9F .byte 0x9f 34173 5fb5 00000000 .4byte 0 34174 5fb9 00000000 .4byte 0 34175 .LLST379: 34176 5fbd 00000000 .4byte .LFB186 34177 5fc1 02000000 .4byte .LCFI77 34178 5fc5 0200 .2byte 0x2 34179 5fc7 7D .byte 0x7d 34180 5fc8 00 .sleb128 0 34181 5fc9 02000000 .4byte .LCFI77 34182 5fcd 4C000000 .4byte .LFE186 34183 5fd1 0200 .2byte 0x2 34184 5fd3 7D .byte 0x7d 34185 5fd4 0C .sleb128 12 34186 5fd5 00000000 .4byte 0 34187 5fd9 00000000 .4byte 0 34188 .LVUS380: 34189 5fdd 01 .uleb128 .LVU2585 34190 5fde 00 .uleb128 0 34191 .LLST380: 34192 5fdf 00000000 .4byte .LVL563 34193 5fe3 4C000000 .4byte .LFE186 34194 5fe7 0100 .2byte 0x1 34195 5fe9 50 .byte 0x50 34196 5fea 00000000 .4byte 0 34197 5fee 00000000 .4byte 0 34198 .LVUS381: 34199 5ff2 00 .uleb128 .LVU2587 34200 5ff3 00 .uleb128 .LVU2604 34201 .LLST381: 34202 5ff4 04000000 .4byte .LVL564 34203 5ff8 46000000 .4byte .LVL565 34204 5ffc 0100 .2byte 0x1 34205 5ffe 55 .byte 0x55 34206 5fff 00000000 .4byte 0 34207 6003 00000000 .4byte 0 34208 .LLST382: 34209 6007 00000000 .4byte .LFB188 34210 600b 02000000 .4byte .LCFI78 34211 600f 0200 .2byte 0x2 34212 6011 7D .byte 0x7d 34213 6012 00 .sleb128 0 34214 6013 02000000 .4byte .LCFI78 34215 6017 8E000000 .4byte .LFE188 34216 601b 0200 .2byte 0x2 34217 601d 7D .byte 0x7d 34218 601e 10 .sleb128 16 34219 601f 00000000 .4byte 0 34220 6023 00000000 .4byte 0 34221 .LVUS383: 34222 6027 00 .uleb128 0 34223 6028 00 .uleb128 .LVU2622 34224 6029 00 .uleb128 .LVU2622 34225 602a 00 .uleb128 .LVU2639 34226 602b 00 .uleb128 .LVU2639 34227 602c 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 1075 34228 .LLST383: 34229 602d 00000000 .4byte .LVL566 34230 6031 42000000 .4byte .LVL571 34231 6035 0100 .2byte 0x1 34232 6037 50 .byte 0x50 34233 6038 42000000 .4byte .LVL571 34234 603c 7C000000 .4byte .LVL576 34235 6040 0A00 .2byte 0xa 34236 6042 F3 .byte 0xf3 34237 6043 03 .uleb128 0x3 34238 6044 F5 .byte 0xf5 34239 6045 00 .uleb128 0 34240 6046 29 .uleb128 0x29 34241 6047 F7 .byte 0xf7 34242 6048 30 .uleb128 0x30 34243 6049 F7 .byte 0xf7 34244 604a 00 .uleb128 0 34245 604b 9F .byte 0x9f 34246 604c 7C000000 .4byte .LVL576 34247 6050 8E000000 .4byte .LFE188 34248 6054 0100 .2byte 0x1 34249 6056 50 .byte 0x50 34250 6057 00000000 .4byte 0 34251 605b 00000000 .4byte 0 34252 .LVUS384: 34253 605f 00 .uleb128 0 34254 6060 00 .uleb128 .LVU2612 34255 6061 00 .uleb128 .LVU2612 34256 6062 00 .uleb128 .LVU2639 34257 6063 00 .uleb128 .LVU2639 34258 6064 00 .uleb128 .LVU2640 34259 6065 00 .uleb128 .LVU2640 34260 6066 00 .uleb128 0 34261 .LLST384: 34262 6067 00000000 .4byte .LVL566 34263 606b 24000000 .4byte .LVL568 34264 606f 0100 .2byte 0x1 34265 6071 51 .byte 0x51 34266 6072 24000000 .4byte .LVL568 34267 6076 7C000000 .4byte .LVL576 34268 607a 0A00 .2byte 0xa 34269 607c F3 .byte 0xf3 34270 607d 03 .uleb128 0x3 34271 607e F5 .byte 0xf5 34272 607f 01 .uleb128 0x1 34273 6080 29 .uleb128 0x29 34274 6081 F7 .byte 0xf7 34275 6082 37 .uleb128 0x37 34276 6083 F7 .byte 0xf7 34277 6084 00 .uleb128 0 34278 6085 9F .byte 0x9f 34279 6086 7C000000 .4byte .LVL576 34280 608a 7E000000 .4byte .LVL577 34281 608e 0100 .2byte 0x1 34282 6090 51 .byte 0x51 34283 6091 7E000000 .4byte .LVL577 34284 6095 8E000000 .4byte .LFE188 ARM GAS /tmp/ccjvgGVC.s page 1076 34285 6099 0A00 .2byte 0xa 34286 609b F3 .byte 0xf3 34287 609c 03 .uleb128 0x3 34288 609d F5 .byte 0xf5 34289 609e 01 .uleb128 0x1 34290 609f 29 .uleb128 0x29 34291 60a0 F7 .byte 0xf7 34292 60a1 37 .uleb128 0x37 34293 60a2 F7 .byte 0xf7 34294 60a3 00 .uleb128 0 34295 60a4 9F .byte 0x9f 34296 60a5 00000000 .4byte 0 34297 60a9 00000000 .4byte 0 34298 .LVUS385: 34299 60ad 01 .uleb128 .LVU2606 34300 60ae 00 .uleb128 .LVU2637 34301 60af 00 .uleb128 .LVU2639 34302 60b0 00 .uleb128 0 34303 .LLST385: 34304 60b1 00000000 .4byte .LVL566 34305 60b5 7A000000 .4byte .LVL575 34306 60b9 0200 .2byte 0x2 34307 60bb 30 .byte 0x30 34308 60bc 9F .byte 0x9f 34309 60bd 7C000000 .4byte .LVL576 34310 60c1 8E000000 .4byte .LFE188 34311 60c5 0200 .2byte 0x2 34312 60c7 30 .byte 0x30 34313 60c8 9F .byte 0x9f 34314 60c9 00000000 .4byte 0 34315 60cd 00000000 .4byte 0 34316 .LVUS387: 34317 60d1 00 .uleb128 .LVU2608 34318 60d2 00 .uleb128 .LVU2637 34319 60d3 00 .uleb128 .LVU2639 34320 60d4 00 .uleb128 0 34321 .LLST387: 34322 60d5 06000000 .4byte .LVL567 34323 60d9 7A000000 .4byte .LVL575 34324 60dd 0100 .2byte 0x1 34325 60df 54 .byte 0x54 34326 60e0 7C000000 .4byte .LVL576 34327 60e4 8E000000 .4byte .LFE188 34328 60e8 0100 .2byte 0x1 34329 60ea 54 .byte 0x54 34330 60eb 00000000 .4byte 0 34331 60ef 00000000 .4byte 0 34332 .LVUS388: 34333 60f3 00 .uleb128 .LVU2608 34334 60f4 00 .uleb128 .LVU2612 34335 60f5 00 .uleb128 .LVU2612 34336 60f6 00 .uleb128 .LVU2637 34337 60f7 00 .uleb128 .LVU2639 34338 60f8 00 .uleb128 .LVU2640 34339 60f9 00 .uleb128 .LVU2640 34340 60fa 00 .uleb128 0 34341 .LLST388: ARM GAS /tmp/ccjvgGVC.s page 1077 34342 60fb 06000000 .4byte .LVL567 34343 60ff 24000000 .4byte .LVL568 34344 6103 0100 .2byte 0x1 34345 6105 51 .byte 0x51 34346 6106 24000000 .4byte .LVL568 34347 610a 7A000000 .4byte .LVL575 34348 610e 0A00 .2byte 0xa 34349 6110 F3 .byte 0xf3 34350 6111 03 .uleb128 0x3 34351 6112 F5 .byte 0xf5 34352 6113 01 .uleb128 0x1 34353 6114 29 .uleb128 0x29 34354 6115 F7 .byte 0xf7 34355 6116 37 .uleb128 0x37 34356 6117 F7 .byte 0xf7 34357 6118 00 .uleb128 0 34358 6119 9F .byte 0x9f 34359 611a 7C000000 .4byte .LVL576 34360 611e 7E000000 .4byte .LVL577 34361 6122 0100 .2byte 0x1 34362 6124 51 .byte 0x51 34363 6125 7E000000 .4byte .LVL577 34364 6129 8E000000 .4byte .LFE188 34365 612d 0A00 .2byte 0xa 34366 612f F3 .byte 0xf3 34367 6130 03 .uleb128 0x3 34368 6131 F5 .byte 0xf5 34369 6132 01 .uleb128 0x1 34370 6133 29 .uleb128 0x29 34371 6134 F7 .byte 0xf7 34372 6135 37 .uleb128 0x37 34373 6136 F7 .byte 0xf7 34374 6137 00 .uleb128 0 34375 6138 9F .byte 0x9f 34376 6139 00000000 .4byte 0 34377 613d 00000000 .4byte 0 34378 .LVUS389: 34379 6141 00 .uleb128 .LVU2613 34380 6142 00 .uleb128 .LVU2620 34381 6143 00 .uleb128 .LVU2643 34382 6144 00 .uleb128 0 34383 .LLST389: 34384 6145 26000000 .4byte .LVL569 34385 6149 40000000 .4byte .LVL570 34386 614d 0100 .2byte 0x1 34387 614f 52 .byte 0x52 34388 6150 88000000 .4byte .LVL578 34389 6154 8E000000 .4byte .LFE188 34390 6158 0100 .2byte 0x1 34391 615a 52 .byte 0x52 34392 615b 00000000 .4byte 0 34393 615f 00000000 .4byte 0 34394 .LVUS390: 34395 6163 00 .uleb128 .LVU2622 34396 6164 00 .uleb128 .LVU2633 34397 .LLST390: 34398 6165 42000000 .4byte .LVL571 ARM GAS /tmp/ccjvgGVC.s page 1078 34399 6169 68000000 .4byte .LVL573 34400 616d 0100 .2byte 0x1 34401 616f 50 .byte 0x50 34402 6170 00000000 .4byte 0 34403 6174 00000000 .4byte 0 34404 .LVUS392: 34405 6178 00 .uleb128 .LVU2622 34406 6179 00 .uleb128 .LVU2630 34407 .LLST392: 34408 617a 42000000 .4byte .LVL571 34409 617e 5A000000 .4byte .LVL572 34410 6182 0100 .2byte 0x1 34411 6184 51 .byte 0x51 34412 6185 00000000 .4byte 0 34413 6189 00000000 .4byte 0 34414 .LLST393: 34415 618d 00000000 .4byte .LFB193 34416 6191 02000000 .4byte .LCFI79 34417 6195 0200 .2byte 0x2 34418 6197 7D .byte 0x7d 34419 6198 00 .sleb128 0 34420 6199 02000000 .4byte .LCFI79 34421 619d 12000000 .4byte .LCFI80 34422 61a1 0200 .2byte 0x2 34423 61a3 7D .byte 0x7d 34424 61a4 08 .sleb128 8 34425 61a5 12000000 .4byte .LCFI80 34426 61a9 16000000 .4byte .LFE193 34427 61ad 0200 .2byte 0x2 34428 61af 7D .byte 0x7d 34429 61b0 00 .sleb128 0 34430 61b1 00000000 .4byte 0 34431 61b5 00000000 .4byte 0 34432 .LVUS394: 34433 61b9 00 .uleb128 0 34434 61ba 00 .uleb128 .LVU2649 34435 61bb 00 .uleb128 .LVU2649 34436 61bc 00 .uleb128 .LVU2651 34437 61bd 00 .uleb128 .LVU2651 34438 61be 00 .uleb128 .LVU2652 34439 61bf 00 .uleb128 .LVU2652 34440 61c0 00 .uleb128 0 34441 .LLST394: 34442 61c1 00000000 .4byte .LVL579 34443 61c5 09000000 .4byte .LVL580-1 34444 61c9 0100 .2byte 0x1 34445 61cb 50 .byte 0x50 34446 61cc 09000000 .4byte .LVL580-1 34447 61d0 12000000 .4byte .LVL581 34448 61d4 0100 .2byte 0x1 34449 61d6 54 .byte 0x54 34450 61d7 12000000 .4byte .LVL581 34451 61db 15000000 .4byte .LVL582-1 34452 61df 0100 .2byte 0x1 34453 61e1 50 .byte 0x50 34454 61e2 15000000 .4byte .LVL582-1 34455 61e6 16000000 .4byte .LFE193 ARM GAS /tmp/ccjvgGVC.s page 1079 34456 61ea 0A00 .2byte 0xa 34457 61ec F3 .byte 0xf3 34458 61ed 03 .uleb128 0x3 34459 61ee F5 .byte 0xf5 34460 61ef 00 .uleb128 0 34461 61f0 29 .uleb128 0x29 34462 61f1 F7 .byte 0xf7 34463 61f2 30 .uleb128 0x30 34464 61f3 F7 .byte 0xf7 34465 61f4 00 .uleb128 0 34466 61f5 9F .byte 0x9f 34467 61f6 00000000 .4byte 0 34468 61fa 00000000 .4byte 0 34469 .LVUS395: 34470 61fe 01 .uleb128 .LVU2645 34471 61ff 00 .uleb128 0 34472 .LLST395: 34473 6200 00000000 .4byte .LVL579 34474 6204 16000000 .4byte .LFE193 34475 6208 0600 .2byte 0x6 34476 620a FA .byte 0xfa 34477 620b E02E0000 .4byte 0x2ee0 34478 620f 9F .byte 0x9f 34479 6210 00000000 .4byte 0 34480 6214 00000000 .4byte 0 34481 .LLST396: 34482 6218 00000000 .4byte .LFB195 34483 621c 02000000 .4byte .LCFI81 34484 6220 0200 .2byte 0x2 34485 6222 7D .byte 0x7d 34486 6223 00 .sleb128 0 34487 6224 02000000 .4byte .LCFI81 34488 6228 14000000 .4byte .LCFI82 34489 622c 0200 .2byte 0x2 34490 622e 7D .byte 0x7d 34491 622f 08 .sleb128 8 34492 6230 14000000 .4byte .LCFI82 34493 6234 18000000 .4byte .LCFI83 34494 6238 0200 .2byte 0x2 34495 623a 7D .byte 0x7d 34496 623b 00 .sleb128 0 34497 623c 18000000 .4byte .LCFI83 34498 6240 2E000000 .4byte .LCFI84 34499 6244 0200 .2byte 0x2 34500 6246 7D .byte 0x7d 34501 6247 08 .sleb128 8 34502 6248 2E000000 .4byte .LCFI84 34503 624c 32000000 .4byte .LCFI85 34504 6250 0200 .2byte 0x2 34505 6252 7D .byte 0x7d 34506 6253 00 .sleb128 0 34507 6254 32000000 .4byte .LCFI85 34508 6258 C8000000 .4byte .LFE195 34509 625c 0200 .2byte 0x2 34510 625e 7D .byte 0x7d 34511 625f 08 .sleb128 8 34512 6260 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 1080 34513 6264 00000000 .4byte 0 34514 .LVUS397: 34515 6268 00 .uleb128 0 34516 6269 00 .uleb128 .LVU2657 34517 626a 00 .uleb128 .LVU2657 34518 626b 00 .uleb128 .LVU2661 34519 626c 00 .uleb128 .LVU2661 34520 626d 00 .uleb128 .LVU2663 34521 626e 00 .uleb128 .LVU2663 34522 626f 00 .uleb128 .LVU2667 34523 6270 00 .uleb128 .LVU2667 34524 6271 00 .uleb128 .LVU2669 34525 6272 00 .uleb128 .LVU2669 34526 6273 00 .uleb128 .LVU2671 34527 6274 00 .uleb128 .LVU2671 34528 6275 00 .uleb128 .LVU2673 34529 6276 00 .uleb128 .LVU2673 34530 6277 00 .uleb128 .LVU2675 34531 6278 00 .uleb128 .LVU2675 34532 6279 00 .uleb128 .LVU2677 34533 627a 00 .uleb128 .LVU2677 34534 627b 00 .uleb128 .LVU2679 34535 627c 00 .uleb128 .LVU2679 34536 627d 00 .uleb128 .LVU2681 34537 627e 00 .uleb128 .LVU2681 34538 627f 00 .uleb128 .LVU2683 34539 6280 00 .uleb128 .LVU2683 34540 6281 00 .uleb128 .LVU2685 34541 6282 00 .uleb128 .LVU2685 34542 6283 00 .uleb128 .LVU2687 34543 6284 00 .uleb128 .LVU2687 34544 6285 00 .uleb128 .LVU2689 34545 6286 00 .uleb128 .LVU2689 34546 6287 00 .uleb128 .LVU2691 34547 6288 00 .uleb128 .LVU2691 34548 6289 00 .uleb128 0 34549 .LLST397: 34550 628a 00000000 .4byte .LVL583 34551 628e 0A000000 .4byte .LVL584 34552 6292 0100 .2byte 0x1 34553 6294 50 .byte 0x50 34554 6295 0A000000 .4byte .LVL584 34555 6299 18000000 .4byte .LVL586 34556 629d 0A00 .2byte 0xa 34557 629f F3 .byte 0xf3 34558 62a0 03 .uleb128 0x3 34559 62a1 F5 .byte 0xf5 34560 62a2 00 .uleb128 0 34561 62a3 29 .uleb128 0x29 34562 62a4 F7 .byte 0xf7 34563 62a5 30 .uleb128 0x30 34564 62a6 F7 .byte 0xf7 34565 62a7 00 .uleb128 0 34566 62a8 9F .byte 0x9f 34567 62a9 18000000 .4byte .LVL586 34568 62ad 22000000 .4byte .LVL587 34569 62b1 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 1081 34570 62b3 50 .byte 0x50 34571 62b4 22000000 .4byte .LVL587 34572 62b8 32000000 .4byte .LVL589 34573 62bc 0A00 .2byte 0xa 34574 62be F3 .byte 0xf3 34575 62bf 03 .uleb128 0x3 34576 62c0 F5 .byte 0xf5 34577 62c1 00 .uleb128 0 34578 62c2 29 .uleb128 0x29 34579 62c3 F7 .byte 0xf7 34580 62c4 30 .uleb128 0x30 34581 62c5 F7 .byte 0xf7 34582 62c6 00 .uleb128 0 34583 62c7 9F .byte 0x9f 34584 62c8 32000000 .4byte .LVL589 34585 62cc 3C000000 .4byte .LVL590 34586 62d0 0100 .2byte 0x1 34587 62d2 50 .byte 0x50 34588 62d3 3C000000 .4byte .LVL590 34589 62d7 46000000 .4byte .LVL592 34590 62db 0A00 .2byte 0xa 34591 62dd F3 .byte 0xf3 34592 62de 03 .uleb128 0x3 34593 62df F5 .byte 0xf5 34594 62e0 00 .uleb128 0 34595 62e1 29 .uleb128 0x29 34596 62e2 F7 .byte 0xf7 34597 62e3 30 .uleb128 0x30 34598 62e4 F7 .byte 0xf7 34599 62e5 00 .uleb128 0 34600 62e6 9F .byte 0x9f 34601 62e7 46000000 .4byte .LVL592 34602 62eb 4E000000 .4byte .LVL593 34603 62ef 0100 .2byte 0x1 34604 62f1 50 .byte 0x50 34605 62f2 4E000000 .4byte .LVL593 34606 62f6 56000000 .4byte .LVL595 34607 62fa 0A00 .2byte 0xa 34608 62fc F3 .byte 0xf3 34609 62fd 03 .uleb128 0x3 34610 62fe F5 .byte 0xf5 34611 62ff 00 .uleb128 0 34612 6300 29 .uleb128 0x29 34613 6301 F7 .byte 0xf7 34614 6302 30 .uleb128 0x30 34615 6303 F7 .byte 0xf7 34616 6304 00 .uleb128 0 34617 6305 9F .byte 0x9f 34618 6306 56000000 .4byte .LVL595 34619 630a 60000000 .4byte .LVL596 34620 630e 0100 .2byte 0x1 34621 6310 50 .byte 0x50 34622 6311 60000000 .4byte .LVL596 34623 6315 6A000000 .4byte .LVL598 34624 6319 0A00 .2byte 0xa 34625 631b F3 .byte 0xf3 34626 631c 03 .uleb128 0x3 ARM GAS /tmp/ccjvgGVC.s page 1082 34627 631d F5 .byte 0xf5 34628 631e 00 .uleb128 0 34629 631f 29 .uleb128 0x29 34630 6320 F7 .byte 0xf7 34631 6321 30 .uleb128 0x30 34632 6322 F7 .byte 0xf7 34633 6323 00 .uleb128 0 34634 6324 9F .byte 0x9f 34635 6325 6A000000 .4byte .LVL598 34636 6329 74000000 .4byte .LVL599 34637 632d 0100 .2byte 0x1 34638 632f 50 .byte 0x50 34639 6330 74000000 .4byte .LVL599 34640 6334 7E000000 .4byte .LVL601 34641 6338 0A00 .2byte 0xa 34642 633a F3 .byte 0xf3 34643 633b 03 .uleb128 0x3 34644 633c F5 .byte 0xf5 34645 633d 00 .uleb128 0 34646 633e 29 .uleb128 0x29 34647 633f F7 .byte 0xf7 34648 6340 30 .uleb128 0x30 34649 6341 F7 .byte 0xf7 34650 6342 00 .uleb128 0 34651 6343 9F .byte 0x9f 34652 6344 7E000000 .4byte .LVL601 34653 6348 88000000 .4byte .LVL602 34654 634c 0100 .2byte 0x1 34655 634e 50 .byte 0x50 34656 634f 88000000 .4byte .LVL602 34657 6353 92000000 .4byte .LVL604 34658 6357 0A00 .2byte 0xa 34659 6359 F3 .byte 0xf3 34660 635a 03 .uleb128 0x3 34661 635b F5 .byte 0xf5 34662 635c 00 .uleb128 0 34663 635d 29 .uleb128 0x29 34664 635e F7 .byte 0xf7 34665 635f 30 .uleb128 0x30 34666 6360 F7 .byte 0xf7 34667 6361 00 .uleb128 0 34668 6362 9F .byte 0x9f 34669 6363 92000000 .4byte .LVL604 34670 6367 9C000000 .4byte .LVL605 34671 636b 0100 .2byte 0x1 34672 636d 50 .byte 0x50 34673 636e 9C000000 .4byte .LVL605 34674 6372 A6000000 .4byte .LVL607 34675 6376 0A00 .2byte 0xa 34676 6378 F3 .byte 0xf3 34677 6379 03 .uleb128 0x3 34678 637a F5 .byte 0xf5 34679 637b 00 .uleb128 0 34680 637c 29 .uleb128 0x29 34681 637d F7 .byte 0xf7 34682 637e 30 .uleb128 0x30 34683 637f F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1083 34684 6380 00 .uleb128 0 34685 6381 9F .byte 0x9f 34686 6382 A6000000 .4byte .LVL607 34687 6386 C8000000 .4byte .LFE195 34688 638a 0100 .2byte 0x1 34689 638c 50 .byte 0x50 34690 638d 00000000 .4byte 0 34691 6391 00000000 .4byte 0 34692 .LLST398: 34693 6395 00000000 .4byte .LFB196 34694 6399 06000000 .4byte .LCFI86 34695 639d 0200 .2byte 0x2 34696 639f 7D .byte 0x7d 34697 63a0 00 .sleb128 0 34698 63a1 06000000 .4byte .LCFI86 34699 63a5 B0020000 .4byte .LFE196 34700 63a9 0200 .2byte 0x2 34701 63ab 7D .byte 0x7d 34702 63ac 18 .sleb128 24 34703 63ad 00000000 .4byte 0 34704 63b1 00000000 .4byte 0 34705 .LVUS399: 34706 63b5 00 .uleb128 0 34707 63b6 00 .uleb128 .LVU2699 34708 63b7 00 .uleb128 .LVU2699 34709 63b8 00 .uleb128 .LVU2702 34710 63b9 00 .uleb128 .LVU2702 34711 63ba 00 .uleb128 .LVU2708 34712 63bb 00 .uleb128 .LVU2708 34713 63bc 00 .uleb128 .LVU2839 34714 63bd 00 .uleb128 .LVU2839 34715 63be 00 .uleb128 0 34716 .LLST399: 34717 63bf 00000000 .4byte .LVL608 34718 63c3 0C000000 .4byte .LVL609 34719 63c7 0100 .2byte 0x1 34720 63c9 50 .byte 0x50 34721 63ca 0C000000 .4byte .LVL609 34722 63ce 14000000 .4byte .LVL610 34723 63d2 0A00 .2byte 0xa 34724 63d4 F3 .byte 0xf3 34725 63d5 03 .uleb128 0x3 34726 63d6 F5 .byte 0xf5 34727 63d7 00 .uleb128 0 34728 63d8 29 .uleb128 0x29 34729 63d9 F7 .byte 0xf7 34730 63da 37 .uleb128 0x37 34731 63db F7 .byte 0xf7 34732 63dc 00 .uleb128 0 34733 63dd 9F .byte 0x9f 34734 63de 14000000 .4byte .LVL610 34735 63e2 1E000000 .4byte .LVL612 34736 63e6 0100 .2byte 0x1 34737 63e8 50 .byte 0x50 34738 63e9 1E000000 .4byte .LVL612 34739 63ed 90010000 .4byte .LVL635 34740 63f1 0100 .2byte 0x1 ARM GAS /tmp/ccjvgGVC.s page 1084 34741 63f3 54 .byte 0x54 34742 63f4 90010000 .4byte .LVL635 34743 63f8 B0020000 .4byte .LFE196 34744 63fc 0A00 .2byte 0xa 34745 63fe F3 .byte 0xf3 34746 63ff 03 .uleb128 0x3 34747 6400 F5 .byte 0xf5 34748 6401 00 .uleb128 0 34749 6402 29 .uleb128 0x29 34750 6403 F7 .byte 0xf7 34751 6404 37 .uleb128 0x37 34752 6405 F7 .byte 0xf7 34753 6406 00 .uleb128 0 34754 6407 9F .byte 0x9f 34755 6408 00000000 .4byte 0 34756 640c 00000000 .4byte 0 34757 .LVUS400: 34758 6410 00 .uleb128 0 34759 6411 00 .uleb128 .LVU2699 34760 6412 00 .uleb128 .LVU2699 34761 6413 00 .uleb128 .LVU2702 34762 6414 00 .uleb128 .LVU2702 34763 6415 00 .uleb128 .LVU2740 34764 6416 00 .uleb128 .LVU2740 34765 6417 00 .uleb128 0 34766 .LLST400: 34767 6418 00000000 .4byte .LVL608 34768 641c 0C000000 .4byte .LVL609 34769 6420 0100 .2byte 0x1 34770 6422 51 .byte 0x51 34771 6423 0C000000 .4byte .LVL609 34772 6427 14000000 .4byte .LVL610 34773 642b 0A00 .2byte 0xa 34774 642d F3 .byte 0xf3 34775 642e 03 .uleb128 0x3 34776 642f F5 .byte 0xf5 34777 6430 01 .uleb128 0x1 34778 6431 29 .uleb128 0x29 34779 6432 F7 .byte 0xf7 34780 6433 30 .uleb128 0x30 34781 6434 F7 .byte 0xf7 34782 6435 00 .uleb128 0 34783 6436 9F .byte 0x9f 34784 6437 14000000 .4byte .LVL610 34785 643b 57000000 .4byte .LVL616-1 34786 643f 0100 .2byte 0x1 34787 6441 51 .byte 0x51 34788 6442 57000000 .4byte .LVL616-1 34789 6446 B0020000 .4byte .LFE196 34790 644a 0A00 .2byte 0xa 34791 644c F3 .byte 0xf3 34792 644d 03 .uleb128 0x3 34793 644e F5 .byte 0xf5 34794 644f 01 .uleb128 0x1 34795 6450 29 .uleb128 0x29 34796 6451 F7 .byte 0xf7 34797 6452 30 .uleb128 0x30 ARM GAS /tmp/ccjvgGVC.s page 1085 34798 6453 F7 .byte 0xf7 34799 6454 00 .uleb128 0 34800 6455 9F .byte 0x9f 34801 6456 00000000 .4byte 0 34802 645a 00000000 .4byte 0 34803 .LVUS401: 34804 645e 00 .uleb128 0 34805 645f 00 .uleb128 .LVU2699 34806 6460 00 .uleb128 .LVU2699 34807 6461 00 .uleb128 .LVU2702 34808 6462 00 .uleb128 .LVU2702 34809 6463 00 .uleb128 .LVU2705 34810 6464 00 .uleb128 .LVU2705 34811 6465 00 .uleb128 .LVU2817 34812 6466 00 .uleb128 .LVU2817 34813 6467 00 .uleb128 .LVU2899 34814 6468 00 .uleb128 .LVU2899 34815 6469 00 .uleb128 0 34816 .LLST401: 34817 646a 00000000 .4byte .LVL608 34818 646e 0C000000 .4byte .LVL609 34819 6472 0100 .2byte 0x1 34820 6474 52 .byte 0x52 34821 6475 0C000000 .4byte .LVL609 34822 6479 14000000 .4byte .LVL610 34823 647d 0A00 .2byte 0xa 34824 647f F3 .byte 0xf3 34825 6480 03 .uleb128 0x3 34826 6481 F5 .byte 0xf5 34827 6482 02 .uleb128 0x2 34828 6483 29 .uleb128 0x29 34829 6484 F7 .byte 0xf7 34830 6485 30 .uleb128 0x30 34831 6486 F7 .byte 0xf7 34832 6487 00 .uleb128 0 34833 6488 9F .byte 0x9f 34834 6489 14000000 .4byte .LVL610 34835 648d 18000000 .4byte .LVL611 34836 6491 0100 .2byte 0x1 34837 6493 52 .byte 0x52 34838 6494 18000000 .4byte .LVL611 34839 6498 28010000 .4byte .LVL630 34840 649c 0100 .2byte 0x1 34841 649e 56 .byte 0x56 34842 649f 28010000 .4byte .LVL630 34843 64a3 7E020000 .4byte .LVL646 34844 64a7 0A00 .2byte 0xa 34845 64a9 F3 .byte 0xf3 34846 64aa 03 .uleb128 0x3 34847 64ab F5 .byte 0xf5 34848 64ac 02 .uleb128 0x2 34849 64ad 29 .uleb128 0x29 34850 64ae F7 .byte 0xf7 34851 64af 30 .uleb128 0x30 34852 64b0 F7 .byte 0xf7 34853 64b1 00 .uleb128 0 34854 64b2 9F .byte 0x9f ARM GAS /tmp/ccjvgGVC.s page 1086 34855 64b3 7E020000 .4byte .LVL646 34856 64b7 B0020000 .4byte .LFE196 34857 64bb 0100 .2byte 0x1 34858 64bd 56 .byte 0x56 34859 64be 00000000 .4byte 0 34860 64c2 00000000 .4byte 0 34861 .LVUS402: 34862 64c6 00 .uleb128 .LVU2711 34863 64c7 00 .uleb128 .LVU2740 34864 .LLST402: 34865 64c8 26000000 .4byte .LVL613 34866 64cc 57000000 .4byte .LVL616-1 34867 64d0 0100 .2byte 0x1 34868 64d2 53 .byte 0x53 34869 64d3 00000000 .4byte 0 34870 64d7 00000000 .4byte 0 34871 .LVUS403: 34872 64db 01 .uleb128 .LVU2720 34873 64dc 00 .uleb128 .LVU2839 34874 64dd 00 .uleb128 .LVU2839 34875 64de 00 .uleb128 .LVU2888 34876 64df 00 .uleb128 .LVU2888 34877 64e0 00 .uleb128 0 34878 .LLST403: 34879 64e1 2E000000 .4byte .LVL614 34880 64e5 90010000 .4byte .LVL635 34881 64e9 0C00 .2byte 0xc 34882 64eb 74 .byte 0x74 34883 64ec 00 .sleb128 0 34884 64ed 08 .byte 0x8 34885 64ee A8 .byte 0xa8 34886 64ef 1E .byte 0x1e 34887 64f0 03 .byte 0x3 34888 64f1 00000000 .4byte _ZL9_i2c_devs 34889 64f5 22 .byte 0x22 34890 64f6 9F .byte 0x9f 34891 64f7 90010000 .4byte .LVL635 34892 64fb 40020000 .4byte .LVL642 34893 64ff 1300 .2byte 0x13 34894 6501 F3 .byte 0xf3 34895 6502 03 .uleb128 0x3 34896 6503 F5 .byte 0xf5 34897 6504 00 .uleb128 0 34898 6505 29 .uleb128 0x29 34899 6506 F7 .byte 0xf7 34900 6507 30 .uleb128 0x30 34901 6508 F7 .byte 0xf7 34902 6509 00 .uleb128 0 34903 650a 08 .byte 0x8 34904 650b A8 .byte 0xa8 34905 650c 1E .byte 0x1e 34906 650d 03 .byte 0x3 34907 650e 00000000 .4byte _ZL9_i2c_devs 34908 6512 22 .byte 0x22 34909 6513 9F .byte 0x9f 34910 6514 40020000 .4byte .LVL642 34911 6518 B0020000 .4byte .LFE196 ARM GAS /tmp/ccjvgGVC.s page 1087 34912 651c 0C00 .2byte 0xc 34913 651e 74 .byte 0x74 34914 651f 00 .sleb128 0 34915 6520 08 .byte 0x8 34916 6521 A8 .byte 0xa8 34917 6522 1E .byte 0x1e 34918 6523 03 .byte 0x3 34919 6524 00000000 .4byte _ZL9_i2c_devs 34920 6528 22 .byte 0x22 34921 6529 9F .byte 0x9f 34922 652a 00000000 .4byte 0 34923 652e 00000000 .4byte 0 34924 .LVUS404: 34925 6532 02 .uleb128 .LVU2721 34926 6533 00 .uleb128 .LVU2740 34927 .LLST404: 34928 6534 2E000000 .4byte .LVL614 34929 6538 57000000 .4byte .LVL616-1 34930 653c 0300 .2byte 0x3 34931 653e 73 .byte 0x73 34932 653f 04 .sleb128 4 34933 6540 9F .byte 0x9f 34934 6541 00000000 .4byte 0 34935 6545 00000000 .4byte 0 34936 .LVUS405: 34937 6549 02 .uleb128 .LVU2694 34938 654a 00 .uleb128 .LVU2699 34939 654b 00 .uleb128 .LVU2702 34940 654c 00 .uleb128 .LVU2708 34941 654d 00 .uleb128 .LVU2708 34942 654e 00 .uleb128 .LVU2711 34943 .LLST405: 34944 654f 00000000 .4byte .LVL608 34945 6553 0C000000 .4byte .LVL609 34946 6557 0100 .2byte 0x1 34947 6559 50 .byte 0x50 34948 655a 14000000 .4byte .LVL610 34949 655e 1E000000 .4byte .LVL612 34950 6562 0100 .2byte 0x1 34951 6564 50 .byte 0x50 34952 6565 1E000000 .4byte .LVL612 34953 6569 26000000 .4byte .LVL613 34954 656d 0100 .2byte 0x1 34955 656f 54 .byte 0x54 34956 6570 00000000 .4byte 0 34957 6574 00000000 .4byte 0 34958 .LVUS406: 34959 6578 01 .uleb128 .LVU2738 34960 6579 00 .uleb128 .LVU2750 34961 .LLST406: 34962 657a 52000000 .4byte .LVL615 34963 657e 96000000 .4byte .LVL623 34964 6582 0100 .2byte 0x1 34965 6584 56 .byte 0x56 34966 6585 00000000 .4byte 0 34967 6589 00000000 .4byte 0 34968 .LVUS407: ARM GAS /tmp/ccjvgGVC.s page 1088 34969 658d 00 .uleb128 .LVU2753 34970 658e 00 .uleb128 .LVU2758 34971 658f 00 .uleb128 .LVU2808 34972 6590 00 .uleb128 .LVU2814 34973 6591 00 .uleb128 .LVU2899 34974 6592 00 .uleb128 0 34975 .LLST407: 34976 6593 98000000 .4byte .LVL624 34977 6597 A5000000 .4byte .LVL625-1 34978 659b 0100 .2byte 0x1 34979 659d 53 .byte 0x53 34980 659e 0C010000 .4byte .LVL628 34981 65a2 26010000 .4byte .LVL629 34982 65a6 0100 .2byte 0x1 34983 65a8 53 .byte 0x53 34984 65a9 7E020000 .4byte .LVL646 34985 65ad B0020000 .4byte .LFE196 34986 65b1 0100 .2byte 0x1 34987 65b3 53 .byte 0x53 34988 65b4 00000000 .4byte 0 34989 65b8 00000000 .4byte 0 34990 .LVUS408: 34991 65bc 02 .uleb128 .LVU2760 34992 65bd 00 .uleb128 .LVU2807 34993 65be 00 .uleb128 .LVU2814 34994 65bf 00 .uleb128 .LVU2839 34995 65c0 00 .uleb128 .LVU2839 34996 65c1 01 .uleb128 .LVU2853 34997 65c2 00 .uleb128 .LVU2888 34998 65c3 00 .uleb128 .LVU2899 34999 .LLST408: 35000 65c4 A6000000 .4byte .LVL625 35001 65c8 0A010000 .4byte .LVL627 35002 65cc 0C00 .2byte 0xc 35003 65ce 74 .byte 0x74 35004 65cf 00 .sleb128 0 35005 65d0 08 .byte 0x8 35006 65d1 A8 .byte 0xa8 35007 65d2 1E .byte 0x1e 35008 65d3 03 .byte 0x3 35009 65d4 00000000 .4byte _ZL9_i2c_devs 35010 65d8 22 .byte 0x22 35011 65d9 9F .byte 0x9f 35012 65da 26010000 .4byte .LVL629 35013 65de 90010000 .4byte .LVL635 35014 65e2 0C00 .2byte 0xc 35015 65e4 74 .byte 0x74 35016 65e5 00 .sleb128 0 35017 65e6 08 .byte 0x8 35018 65e7 A8 .byte 0xa8 35019 65e8 1E .byte 0x1e 35020 65e9 03 .byte 0x3 35021 65ea 00000000 .4byte _ZL9_i2c_devs 35022 65ee 22 .byte 0x22 35023 65ef 9F .byte 0x9f 35024 65f0 90010000 .4byte .LVL635 35025 65f4 D8010000 .4byte .LVL636 ARM GAS /tmp/ccjvgGVC.s page 1089 35026 65f8 1300 .2byte 0x13 35027 65fa F3 .byte 0xf3 35028 65fb 03 .uleb128 0x3 35029 65fc F5 .byte 0xf5 35030 65fd 00 .uleb128 0 35031 65fe 29 .uleb128 0x29 35032 65ff F7 .byte 0xf7 35033 6600 30 .uleb128 0x30 35034 6601 F7 .byte 0xf7 35035 6602 00 .uleb128 0 35036 6603 08 .byte 0x8 35037 6604 A8 .byte 0xa8 35038 6605 1E .byte 0x1e 35039 6606 03 .byte 0x3 35040 6607 00000000 .4byte _ZL9_i2c_devs 35041 660b 22 .byte 0x22 35042 660c 9F .byte 0x9f 35043 660d 40020000 .4byte .LVL642 35044 6611 7E020000 .4byte .LVL646 35045 6615 0C00 .2byte 0xc 35046 6617 74 .byte 0x74 35047 6618 00 .sleb128 0 35048 6619 08 .byte 0x8 35049 661a A8 .byte 0xa8 35050 661b 1E .byte 0x1e 35051 661c 03 .byte 0x3 35052 661d 00000000 .4byte _ZL9_i2c_devs 35053 6621 22 .byte 0x22 35054 6622 9F .byte 0x9f 35055 6623 00000000 .4byte 0 35056 6627 00000000 .4byte 0 35057 .LVUS409: 35058 662b 00 .uleb128 .LVU2819 35059 662c 00 .uleb128 .LVU2826 35060 662d 00 .uleb128 .LVU2826 35061 662e 00 .uleb128 .LVU2831 35062 662f 00 .uleb128 .LVU2831 35063 6630 00 .uleb128 .LVU2833 35064 6631 00 .uleb128 .LVU2888 35065 6632 00 .uleb128 .LVU2890 35066 6633 00 .uleb128 .LVU2893 35067 6634 00 .uleb128 .LVU2894 35068 .LLST409: 35069 6635 30010000 .4byte .LVL631 35070 6639 46010000 .4byte .LVL632 35071 663d 0100 .2byte 0x1 35072 663f 51 .byte 0x51 35073 6640 46010000 .4byte .LVL632 35074 6644 6C010000 .4byte .LVL633 35075 6648 0F00 .2byte 0xf 35076 664a 73 .byte 0x73 35077 664b 00 .sleb128 0 35078 664c F7 .byte 0xf7 35079 664d 30 .uleb128 0x30 35080 664e 0C .byte 0xc 35081 664f 40420F00 .4byte 0xf4240 35082 6653 F7 .byte 0xf7 ARM GAS /tmp/ccjvgGVC.s page 1090 35083 6654 30 .uleb128 0x30 35084 6655 1B .byte 0x1b 35085 6656 F7 .byte 0xf7 35086 6657 00 .uleb128 0 35087 6658 9F .byte 0x9f 35088 6659 6C010000 .4byte .LVL633 35089 665d 74010000 .4byte .LVL634 35090 6661 0F00 .2byte 0xf 35091 6663 73 .byte 0x73 35092 6664 01 .sleb128 1 35093 6665 F7 .byte 0xf7 35094 6666 30 .uleb128 0x30 35095 6667 0C .byte 0xc 35096 6668 40420F00 .4byte 0xf4240 35097 666c F7 .byte 0xf7 35098 666d 30 .uleb128 0x30 35099 666e 1B .byte 0x1b 35100 666f F7 .byte 0xf7 35101 6670 00 .uleb128 0 35102 6671 9F .byte 0x9f 35103 6672 40020000 .4byte .LVL642 35104 6676 52020000 .4byte .LVL643 35105 667a 0F00 .2byte 0xf 35106 667c 73 .byte 0x73 35107 667d 01 .sleb128 1 35108 667e F7 .byte 0xf7 35109 667f 30 .uleb128 0x30 35110 6680 0C .byte 0xc 35111 6681 40420F00 .4byte 0xf4240 35112 6685 F7 .byte 0xf7 35113 6686 30 .uleb128 0x30 35114 6687 1B .byte 0x1b 35115 6688 F7 .byte 0xf7 35116 6689 00 .uleb128 0 35117 668a 9F .byte 0x9f 35118 668b 60020000 .4byte .LVL644 35119 668f 68020000 .4byte .LVL645 35120 6693 0F00 .2byte 0xf 35121 6695 73 .byte 0x73 35122 6696 01 .sleb128 1 35123 6697 F7 .byte 0xf7 35124 6698 30 .uleb128 0x30 35125 6699 0C .byte 0xc 35126 669a 40420F00 .4byte 0xf4240 35127 669e F7 .byte 0xf7 35128 669f 30 .uleb128 0x30 35129 66a0 1B .byte 0x1b 35130 66a1 F7 .byte 0xf7 35131 66a2 00 .uleb128 0 35132 66a3 9F .byte 0x9f 35133 66a4 00000000 .4byte 0 35134 66a8 00000000 .4byte 0 35135 .LVUS410: 35136 66ac 00 .uleb128 .LVU2799 35137 66ad 00 .uleb128 .LVU2807 35138 66ae 00 .uleb128 .LVU2814 35139 66af 00 .uleb128 .LVU2831 ARM GAS /tmp/ccjvgGVC.s page 1091 35140 66b0 00 .uleb128 .LVU2831 35141 66b1 00 .uleb128 .LVU2833 35142 66b2 00 .uleb128 .LVU2888 35143 66b3 00 .uleb128 .LVU2890 35144 66b4 00 .uleb128 .LVU2893 35145 66b5 00 .uleb128 .LVU2894 35146 .LLST410: 35147 66b6 F0000000 .4byte .LVL626 35148 66ba 0A010000 .4byte .LVL627 35149 66be 0100 .2byte 0x1 35150 66c0 53 .byte 0x53 35151 66c1 26010000 .4byte .LVL629 35152 66c5 6C010000 .4byte .LVL633 35153 66c9 0100 .2byte 0x1 35154 66cb 53 .byte 0x53 35155 66cc 6C010000 .4byte .LVL633 35156 66d0 74010000 .4byte .LVL634 35157 66d4 0300 .2byte 0x3 35158 66d6 73 .byte 0x73 35159 66d7 01 .sleb128 1 35160 66d8 9F .byte 0x9f 35161 66d9 40020000 .4byte .LVL642 35162 66dd 52020000 .4byte .LVL643 35163 66e1 0300 .2byte 0x3 35164 66e3 73 .byte 0x73 35165 66e4 01 .sleb128 1 35166 66e5 9F .byte 0x9f 35167 66e6 60020000 .4byte .LVL644 35168 66ea 68020000 .4byte .LVL645 35169 66ee 0300 .2byte 0x3 35170 66f0 73 .byte 0x73 35171 66f1 01 .sleb128 1 35172 66f2 9F .byte 0x9f 35173 66f3 00000000 .4byte 0 35174 66f7 00000000 .4byte 0 35175 .LVUS411: 35176 66fb 04 .uleb128 .LVU2856 35177 66fc 00 .uleb128 .LVU2869 35178 .LLST411: 35179 66fd D8010000 .4byte .LVL636 35180 6701 0A020000 .4byte .LVL638 35181 6705 0200 .2byte 0x2 35182 6707 30 .byte 0x30 35183 6708 9F .byte 0x9f 35184 6709 00000000 .4byte 0 35185 670d 00000000 .4byte 0 35186 .LVUS412: 35187 6711 03 .uleb128 .LVU2855 35188 6712 00 .uleb128 .LVU2869 35189 .LLST412: 35190 6713 D8010000 .4byte .LVL636 35191 6717 0A020000 .4byte .LVL638 35192 671b 1300 .2byte 0x13 35193 671d F3 .byte 0xf3 35194 671e 03 .uleb128 0x3 35195 671f F5 .byte 0xf5 35196 6720 00 .uleb128 0 ARM GAS /tmp/ccjvgGVC.s page 1092 35197 6721 29 .uleb128 0x29 35198 6722 F7 .byte 0xf7 35199 6723 30 .uleb128 0x30 35200 6724 F7 .byte 0xf7 35201 6725 00 .uleb128 0 35202 6726 08 .byte 0x8 35203 6727 A8 .byte 0xa8 35204 6728 1E .byte 0x1e 35205 6729 03 .byte 0x3 35206 672a 00000000 .4byte _ZL9_i2c_devs 35207 672e 22 .byte 0x22 35208 672f 9F .byte 0x9f 35209 6730 00000000 .4byte 0 35210 6734 00000000 .4byte 0 35211 .LVUS413: 35212 6738 01 .uleb128 .LVU2861 35213 6739 00 .uleb128 .LVU2869 35214 .LLST413: 35215 673a E4010000 .4byte .LVL637 35216 673e 0A020000 .4byte .LVL638 35217 6742 0200 .2byte 0x2 35218 6744 30 .byte 0x30 35219 6745 9F .byte 0x9f 35220 6746 00000000 .4byte 0 35221 674a 00000000 .4byte 0 35222 .LVUS414: 35223 674e 00 .uleb128 .LVU2860 35224 674f 00 .uleb128 .LVU2869 35225 .LLST414: 35226 6750 E4010000 .4byte .LVL637 35227 6754 0A020000 .4byte .LVL638 35228 6758 1300 .2byte 0x13 35229 675a F3 .byte 0xf3 35230 675b 03 .uleb128 0x3 35231 675c F5 .byte 0xf5 35232 675d 00 .uleb128 0 35233 675e 29 .uleb128 0x29 35234 675f F7 .byte 0xf7 35235 6760 30 .uleb128 0x30 35236 6761 F7 .byte 0xf7 35237 6762 00 .uleb128 0 35238 6763 08 .byte 0x8 35239 6764 A8 .byte 0xa8 35240 6765 1E .byte 0x1e 35241 6766 03 .byte 0x3 35242 6767 00000000 .4byte _ZL9_i2c_devs 35243 676b 22 .byte 0x22 35244 676c 9F .byte 0x9f 35245 676d 00000000 .4byte 0 35246 6771 00000000 .4byte 0 35247 .LVUS415: 35248 6775 03 .uleb128 .LVU2872 35249 6776 00 .uleb128 .LVU2883 35250 .LLST415: 35251 6777 0A020000 .4byte .LVL638 35252 677b 38020000 .4byte .LVL641 35253 677f 0200 .2byte 0x2 ARM GAS /tmp/ccjvgGVC.s page 1093 35254 6781 30 .byte 0x30 35255 6782 9F .byte 0x9f 35256 6783 00000000 .4byte 0 35257 6787 00000000 .4byte 0 35258 .LVUS416: 35259 678b 02 .uleb128 .LVU2871 35260 678c 00 .uleb128 .LVU2883 35261 .LLST416: 35262 678d 0A020000 .4byte .LVL638 35263 6791 38020000 .4byte .LVL641 35264 6795 1300 .2byte 0x13 35265 6797 F3 .byte 0xf3 35266 6798 03 .uleb128 0x3 35267 6799 F5 .byte 0xf5 35268 679a 00 .uleb128 0 35269 679b 29 .uleb128 0x29 35270 679c F7 .byte 0xf7 35271 679d 30 .uleb128 0x30 35272 679e F7 .byte 0xf7 35273 679f 00 .uleb128 0 35274 67a0 08 .byte 0x8 35275 67a1 A8 .byte 0xa8 35276 67a2 1E .byte 0x1e 35277 67a3 03 .byte 0x3 35278 67a4 00000000 .4byte _ZL9_i2c_devs 35279 67a8 22 .byte 0x22 35280 67a9 9F .byte 0x9f 35281 67aa 00000000 .4byte 0 35282 67ae 00000000 .4byte 0 35283 .LVUS417: 35284 67b2 03 .uleb128 .LVU2872 35285 67b3 00 .uleb128 .LVU2888 35286 .LLST417: 35287 67b4 0A020000 .4byte .LVL638 35288 67b8 40020000 .4byte .LVL642 35289 67bc 0200 .2byte 0x2 35290 67be 30 .byte 0x30 35291 67bf 9F .byte 0x9f 35292 67c0 00000000 .4byte 0 35293 67c4 00000000 .4byte 0 35294 .LVUS418: 35295 67c8 01 .uleb128 .LVU2877 35296 67c9 00 .uleb128 .LVU2883 35297 .LLST418: 35298 67ca 16020000 .4byte .LVL639 35299 67ce 38020000 .4byte .LVL641 35300 67d2 0200 .2byte 0x2 35301 67d4 30 .byte 0x30 35302 67d5 9F .byte 0x9f 35303 67d6 00000000 .4byte 0 35304 67da 00000000 .4byte 0 35305 .LVUS419: 35306 67de 00 .uleb128 .LVU2876 35307 67df 00 .uleb128 .LVU2883 35308 .LLST419: 35309 67e0 16020000 .4byte .LVL639 35310 67e4 38020000 .4byte .LVL641 ARM GAS /tmp/ccjvgGVC.s page 1094 35311 67e8 1300 .2byte 0x13 35312 67ea F3 .byte 0xf3 35313 67eb 03 .uleb128 0x3 35314 67ec F5 .byte 0xf5 35315 67ed 00 .uleb128 0 35316 67ee 29 .uleb128 0x29 35317 67ef F7 .byte 0xf7 35318 67f0 30 .uleb128 0x30 35319 67f1 F7 .byte 0xf7 35320 67f2 00 .uleb128 0 35321 67f3 08 .byte 0x8 35322 67f4 A8 .byte 0xa8 35323 67f5 1E .byte 0x1e 35324 67f6 03 .byte 0x3 35325 67f7 00000000 .4byte _ZL9_i2c_devs 35326 67fb 22 .byte 0x22 35327 67fc 9F .byte 0x9f 35328 67fd 00000000 .4byte 0 35329 6801 00000000 .4byte 0 35330 .LVUS420: 35331 6805 00 .uleb128 .LVU2880 35332 6806 00 .uleb128 .LVU2883 35333 .LLST420: 35334 6807 24020000 .4byte .LVL640 35335 680b 38020000 .4byte .LVL641 35336 680f 0600 .2byte 0x6 35337 6811 74 .byte 0x74 35338 6812 00 .sleb128 0 35339 6813 09 .byte 0x9 35340 6814 F0 .byte 0xf0 35341 6815 1A .byte 0x1a 35342 6816 9F .byte 0x9f 35343 6817 00000000 .4byte 0 35344 681b 00000000 .4byte 0 35345 .LLST421: 35346 681f 00000000 .4byte .LFB210 35347 6823 04000000 .4byte .LCFI87 35348 6827 0200 .2byte 0x2 35349 6829 7D .byte 0x7d 35350 682a 00 .sleb128 0 35351 682b 04000000 .4byte .LCFI87 35352 682f A8000000 .4byte .LFE210 35353 6833 0200 .2byte 0x2 35354 6835 7D .byte 0x7d 35355 6836 10 .sleb128 16 35356 6837 00000000 .4byte 0 35357 683b 00000000 .4byte 0 35358 .LVUS422: 35359 683f 00 .uleb128 0 35360 6840 00 .uleb128 .LVU2908 35361 6841 00 .uleb128 .LVU2908 35362 6842 00 .uleb128 .LVU2911 35363 6843 00 .uleb128 .LVU2911 35364 6844 00 .uleb128 .LVU2925 35365 6845 00 .uleb128 .LVU2925 35366 6846 00 .uleb128 0 35367 .LLST422: ARM GAS /tmp/ccjvgGVC.s page 1095 35368 6847 00000000 .4byte .LVL647 35369 684b 08000000 .4byte .LVL649 35370 684f 0100 .2byte 0x1 35371 6851 50 .byte 0x50 35372 6852 08000000 .4byte .LVL649 35373 6856 0E000000 .4byte .LVL650 35374 685a 0100 .2byte 0x1 35375 685c 55 .byte 0x55 35376 685d 0E000000 .4byte .LVL650 35377 6861 22000000 .4byte .LVL652 35378 6865 0100 .2byte 0x1 35379 6867 50 .byte 0x50 35380 6868 22000000 .4byte .LVL652 35381 686c A8000000 .4byte .LFE210 35382 6870 0100 .2byte 0x1 35383 6872 55 .byte 0x55 35384 6873 00000000 .4byte 0 35385 6877 00000000 .4byte 0 35386 .LVUS423: 35387 687b 01 .uleb128 .LVU2912 35388 687c 00 .uleb128 .LVU2921 35389 687d 00 .uleb128 .LVU2921 35390 687e 00 .uleb128 .LVU2949 35391 .LLST423: 35392 687f 0E000000 .4byte .LVL650 35393 6883 16000000 .4byte .LVL651 35394 6887 0C00 .2byte 0xc 35395 6889 70 .byte 0x70 35396 688a 00 .sleb128 0 35397 688b 08 .byte 0x8 35398 688c A8 .byte 0xa8 35399 688d 1E .byte 0x1e 35400 688e 03 .byte 0x3 35401 688f 00000000 .4byte _ZL9_i2c_devs 35402 6893 22 .byte 0x22 35403 6894 9F .byte 0x9f 35404 6895 16000000 .4byte .LVL651 35405 6899 47000000 .4byte .LVL654-1 35406 689d 0100 .2byte 0x1 35407 689f 53 .byte 0x53 35408 68a0 00000000 .4byte 0 35409 68a4 00000000 .4byte 0 35410 .LVUS424: 35411 68a8 05 .uleb128 .LVU2961 35412 68a9 00 .uleb128 .LVU2975 35413 .LLST424: 35414 68aa 58000000 .4byte .LVL656 35415 68ae 80000000 .4byte .LVL662 35416 68b2 0C00 .2byte 0xc 35417 68b4 75 .byte 0x75 35418 68b5 00 .sleb128 0 35419 68b6 08 .byte 0x8 35420 68b7 A8 .byte 0xa8 35421 68b8 1E .byte 0x1e 35422 68b9 03 .byte 0x3 35423 68ba 00000000 .4byte _ZL9_i2c_devs 35424 68be 22 .byte 0x22 ARM GAS /tmp/ccjvgGVC.s page 1096 35425 68bf 9F .byte 0x9f 35426 68c0 00000000 .4byte 0 35427 68c4 00000000 .4byte 0 35428 .LVUS425: 35429 68c8 02 .uleb128 .LVU2903 35430 68c9 00 .uleb128 .LVU2907 35431 68ca 00 .uleb128 .LVU2907 35432 68cb 00 .uleb128 .LVU2908 35433 68cc 00 .uleb128 .LVU2911 35434 68cd 01 .uleb128 .LVU2912 35435 .LLST425: 35436 68ce 00000000 .4byte .LVL647 35437 68d2 06000000 .4byte .LVL648 35438 68d6 0A00 .2byte 0xa 35439 68d8 F3 .byte 0xf3 35440 68d9 03 .uleb128 0x3 35441 68da F5 .byte 0xf5 35442 68db 00 .uleb128 0 35443 68dc 29 .uleb128 0x29 35444 68dd F7 .byte 0xf7 35445 68de 37 .uleb128 0x37 35446 68df F7 .byte 0xf7 35447 68e0 00 .uleb128 0 35448 68e1 9F .byte 0x9f 35449 68e2 06000000 .4byte .LVL648 35450 68e6 08000000 .4byte .LVL649 35451 68ea 0100 .2byte 0x1 35452 68ec 55 .byte 0x55 35453 68ed 0E000000 .4byte .LVL650 35454 68f1 0E000000 .4byte .LVL650 35455 68f5 0100 .2byte 0x1 35456 68f7 55 .byte 0x55 35457 68f8 00000000 .4byte 0 35458 68fc 00000000 .4byte 0 35459 .LVUS426: 35460 6900 04 .uleb128 .LVU2915 35461 6901 00 .uleb128 .LVU2921 35462 6902 00 .uleb128 .LVU2921 35463 6903 04 .uleb128 .LVU2946 35464 .LLST426: 35465 6904 0E000000 .4byte .LVL650 35466 6908 16000000 .4byte .LVL651 35467 690c 0C00 .2byte 0xc 35468 690e 70 .byte 0x70 35469 690f 00 .sleb128 0 35470 6910 08 .byte 0x8 35471 6911 A8 .byte 0xa8 35472 6912 1E .byte 0x1e 35473 6913 03 .byte 0x3 35474 6914 00000000 .4byte _ZL9_i2c_devs 35475 6918 22 .byte 0x22 35476 6919 9F .byte 0x9f 35477 691a 16000000 .4byte .LVL651 35478 691e 44000000 .4byte .LVL653 35479 6922 0100 .2byte 0x1 35480 6924 53 .byte 0x53 35481 6925 00000000 .4byte 0 ARM GAS /tmp/ccjvgGVC.s page 1097 35482 6929 00000000 .4byte 0 35483 .LVUS427: 35484 692d 06 .uleb128 .LVU2917 35485 692e 00 .uleb128 .LVU2921 35486 692f 00 .uleb128 .LVU2921 35487 6930 04 .uleb128 .LVU2946 35488 .LLST427: 35489 6931 0E000000 .4byte .LVL650 35490 6935 16000000 .4byte .LVL651 35491 6939 0C00 .2byte 0xc 35492 693b 70 .byte 0x70 35493 693c 00 .sleb128 0 35494 693d 08 .byte 0x8 35495 693e A8 .byte 0xa8 35496 693f 1E .byte 0x1e 35497 6940 03 .byte 0x3 35498 6941 00000000 .4byte _ZL9_i2c_devs 35499 6945 22 .byte 0x22 35500 6946 9F .byte 0x9f 35501 6947 16000000 .4byte .LVL651 35502 694b 44000000 .4byte .LVL653 35503 694f 0100 .2byte 0x1 35504 6951 53 .byte 0x53 35505 6952 00000000 .4byte 0 35506 6956 00000000 .4byte 0 35507 .LVUS428: 35508 695a 00 .uleb128 .LVU2951 35509 695b 00 .uleb128 .LVU2956 35510 695c 00 .uleb128 .LVU2975 35511 695d 00 .uleb128 0 35512 .LLST428: 35513 695e 4A000000 .4byte .LVL655 35514 6962 57000000 .4byte .LVL656-1 35515 6966 0100 .2byte 0x1 35516 6968 53 .byte 0x53 35517 6969 80000000 .4byte .LVL662 35518 696d A8000000 .4byte .LFE210 35519 6971 0100 .2byte 0x1 35520 6973 53 .byte 0x53 35521 6974 00000000 .4byte 0 35522 6978 00000000 .4byte 0 35523 .LVUS429: 35524 697c 02 .uleb128 .LVU2958 35525 697d 05 .uleb128 .LVU2961 35526 .LLST429: 35527 697e 58000000 .4byte .LVL656 35528 6982 58000000 .4byte .LVL656 35529 6986 0100 .2byte 0x1 35530 6988 55 .byte 0x55 35531 6989 00000000 .4byte 0 35532 698d 00000000 .4byte 0 35533 .LVUS430: 35534 6991 00 .uleb128 .LVU2967 35535 6992 00 .uleb128 .LVU2974 35536 .LLST430: 35537 6993 62000000 .4byte .LVL657 35538 6997 7E000000 .4byte .LVL661 ARM GAS /tmp/ccjvgGVC.s page 1098 35539 699b 0100 .2byte 0x1 35540 699d 54 .byte 0x54 35541 699e 00000000 .4byte 0 35542 69a2 00000000 .4byte 0 35543 .section .debug_aranges,"",%progbits 35544 0000 74010000 .4byte 0x174 35545 0004 0200 .2byte 0x2 35546 0006 00000000 .4byte .Ldebug_info0 35547 000a 04 .byte 0x4 35548 000b 00 .byte 0 35549 000c 0000 .2byte 0 35550 000e 0000 .2byte 0 35551 0010 00000000 .4byte .LFB1 35552 0014 1A000000 .4byte .LFE1-.LFB1 35553 0018 00000000 .4byte .LFB3 35554 001c 1A000000 .4byte .LFE3-.LFB3 35555 0020 00000000 .4byte .LFB5 35556 0024 8C010000 .4byte .LFE5-.LFB5 35557 0028 00000000 .4byte .LFB9 35558 002c F0000000 .4byte .LFE9-.LFB9 35559 0030 00000000 .4byte .LFB10 35560 0034 20000000 .4byte .LFE10-.LFB10 35561 0038 00000000 .4byte .LFB13 35562 003c 1C000000 .4byte .LFE13-.LFB13 35563 0040 00000000 .4byte .LFB16 35564 0044 1A000000 .4byte .LFE16-.LFB16 35565 0048 00000000 .4byte .LFB18 35566 004c E8010000 .4byte .LFE18-.LFB18 35567 0050 00000000 .4byte .LFB38 35568 0054 80010000 .4byte .LFE38-.LFB38 35569 0058 00000000 .4byte .LFB41 35570 005c 48000000 .4byte .LFE41-.LFB41 35571 0060 00000000 .4byte .LFB46 35572 0064 54020000 .4byte .LFE46-.LFB46 35573 0068 00000000 .4byte .LFB51 35574 006c 50030000 .4byte .LFE51-.LFB51 35575 0070 00000000 .4byte .LFB54 35576 0074 8C030000 .4byte .LFE54-.LFB54 35577 0078 00000000 .4byte .LFB57 35578 007c F4010000 .4byte .LFE57-.LFB57 35579 0080 00000000 .4byte .LFB60 35580 0084 B0010000 .4byte .LFE60-.LFB60 35581 0088 00000000 .4byte .LFB63 35582 008c 3C000000 .4byte .LFE63-.LFB63 35583 0090 00000000 .4byte .LFB65 35584 0094 38000000 .4byte .LFE65-.LFB65 35585 0098 00000000 .4byte .LFB72 35586 009c 44000000 .4byte .LFE72-.LFB72 35587 00a0 00000000 .4byte .LFB75 35588 00a4 50000000 .4byte .LFE75-.LFB75 35589 00a8 00000000 .4byte .LFB80 35590 00ac CC030000 .4byte .LFE80-.LFB80 35591 00b0 00000000 .4byte .LFB110 35592 00b4 BC000000 .4byte .LFE110-.LFB110 35593 00b8 00000000 .4byte .LFB114 35594 00bc 1A000000 .4byte .LFE114-.LFB114 35595 00c0 00000000 .4byte .LFB115 ARM GAS /tmp/ccjvgGVC.s page 1099 35596 00c4 6C010000 .4byte .LFE115-.LFB115 35597 00c8 00000000 .4byte .LFB123 35598 00cc 90000000 .4byte .LFE123-.LFB123 35599 00d0 00000000 .4byte .LFB126 35600 00d4 E4000000 .4byte .LFE126-.LFB126 35601 00d8 00000000 .4byte .LFB142 35602 00dc 30000000 .4byte .LFE142-.LFB142 35603 00e0 00000000 .4byte .LFB144 35604 00e4 48000000 .4byte .LFE144-.LFB144 35605 00e8 00000000 .4byte .LFB147 35606 00ec 42000000 .4byte .LFE147-.LFB147 35607 00f0 00000000 .4byte .LFB150 35608 00f4 82000000 .4byte .LFE150-.LFB150 35609 00f8 00000000 .4byte .LFB155 35610 00fc 30000000 .4byte .LFE155-.LFB155 35611 0100 00000000 .4byte .LFB158 35612 0104 D8000000 .4byte .LFE158-.LFB158 35613 0108 00000000 .4byte .LFB163 35614 010c C0000000 .4byte .LFE163-.LFB163 35615 0110 00000000 .4byte .LFB168 35616 0114 38000000 .4byte .LFE168-.LFB168 35617 0118 00000000 .4byte .LFB170 35618 011c 16000000 .4byte .LFE170-.LFB170 35619 0120 00000000 .4byte .LFB174 35620 0124 10000000 .4byte .LFE174-.LFB174 35621 0128 00000000 .4byte .LFB176 35622 012c 88000000 .4byte .LFE176-.LFB176 35623 0130 00000000 .4byte .LFB182 35624 0134 1C000000 .4byte .LFE182-.LFB182 35625 0138 00000000 .4byte .LFB184 35626 013c 08000000 .4byte .LFE184-.LFB184 35627 0140 00000000 .4byte .LFB186 35628 0144 4C000000 .4byte .LFE186-.LFB186 35629 0148 00000000 .4byte .LFB188 35630 014c 8E000000 .4byte .LFE188-.LFB188 35631 0150 00000000 .4byte .LFB193 35632 0154 16000000 .4byte .LFE193-.LFB193 35633 0158 00000000 .4byte .LFB195 35634 015c C8000000 .4byte .LFE195-.LFB195 35635 0160 00000000 .4byte .LFB196 35636 0164 B0020000 .4byte .LFE196-.LFB196 35637 0168 00000000 .4byte .LFB210 35638 016c A8000000 .4byte .LFE210-.LFB210 35639 0170 00000000 .4byte 0 35640 0174 00000000 .4byte 0 35641 .section .debug_ranges,"",%progbits 35642 .Ldebug_ranges0: 35643 0000 F4000000 .4byte .LBB4 35644 0004 FC000000 .4byte .LBE4 35645 0008 FE000000 .4byte .LBB7 35646 000c 1A010000 .4byte .LBE7 35647 0010 00000000 .4byte 0 35648 0014 00000000 .4byte 0 35649 0018 0A000000 .4byte .LBB28 35650 001c 10000000 .4byte .LBE28 35651 0020 14000000 .4byte .LBB31 35652 0024 18000000 .4byte .LBE31 ARM GAS /tmp/ccjvgGVC.s page 1100 35653 0028 00000000 .4byte 0 35654 002c 00000000 .4byte 0 35655 0030 00000000 .4byte .LBB64 35656 0034 00000000 .4byte .LBE64 35657 0038 02000000 .4byte .LBB102 35658 003c 48000000 .4byte .LBE102 35659 0040 4A000000 .4byte .LBB103 35660 0044 A0010000 .4byte .LBE103 35661 0048 A4010000 .4byte .LBB104 35662 004c D0010000 .4byte .LBE104 35663 0050 00000000 .4byte 0 35664 0054 00000000 .4byte 0 35665 0058 80000000 .4byte .LBB70 35666 005c 82000000 .4byte .LBE70 35667 0060 84000000 .4byte .LBB73 35668 0064 88000000 .4byte .LBE73 35669 0068 00000000 .4byte 0 35670 006c 00000000 .4byte 0 35671 0070 9E000000 .4byte .LBB76 35672 0074 A2000000 .4byte .LBE76 35673 0078 96010000 .4byte .LBB97 35674 007c A0010000 .4byte .LBE97 35675 0080 A4010000 .4byte .LBB98 35676 0084 A6010000 .4byte .LBE98 35677 0088 B6010000 .4byte .LBB99 35678 008c C6010000 .4byte .LBE99 35679 0090 00000000 .4byte 0 35680 0094 00000000 .4byte 0 35681 0098 9E000000 .4byte .LBB78 35682 009c A2000000 .4byte .LBE78 35683 00a0 B6010000 .4byte .LBB81 35684 00a4 C6010000 .4byte .LBE81 35685 00a8 00000000 .4byte 0 35686 00ac 00000000 .4byte 0 35687 00b0 B6000000 .4byte .LBB85 35688 00b4 B8000000 .4byte .LBE85 35689 00b8 BA000000 .4byte .LBB88 35690 00bc BE000000 .4byte .LBE88 35691 00c0 00000000 .4byte 0 35692 00c4 00000000 .4byte 0 35693 00c8 00000000 .4byte .LBB107 35694 00cc 00000000 .4byte .LBE107 35695 00d0 02000000 .4byte .LBB110 35696 00d4 E8000000 .4byte .LBE110 35697 00d8 EE000000 .4byte .LBB111 35698 00dc 72010000 .4byte .LBE111 35699 00e0 00000000 .4byte 0 35700 00e4 00000000 .4byte 0 35701 00e8 00000000 .4byte .LBB137 35702 00ec 00000000 .4byte .LBE137 35703 00f0 06000000 .4byte .LBB141 35704 00f4 08000000 .4byte .LBE141 35705 00f8 14000000 .4byte .LBB142 35706 00fc 22000000 .4byte .LBE142 35707 0100 00000000 .4byte 0 35708 0104 00000000 .4byte 0 35709 0108 28000000 .4byte .LBB143 ARM GAS /tmp/ccjvgGVC.s page 1101 35710 010c 28000000 .4byte .LBE143 35711 0110 30000000 .4byte .LBB173 35712 0114 34000000 .4byte .LBE173 35713 0118 38000000 .4byte .LBB175 35714 011c 3C000000 .4byte .LBE175 35715 0120 00000000 .4byte 0 35716 0124 00000000 .4byte 0 35717 0128 28000000 .4byte .LBB147 35718 012c 2C000000 .4byte .LBE147 35719 0130 34000000 .4byte .LBB174 35720 0134 38000000 .4byte .LBE174 35721 0138 3C000000 .4byte .LBB176 35722 013c 4C000000 .4byte .LBE176 35723 0140 5E000000 .4byte .LBB177 35724 0144 0C010000 .4byte .LBE177 35725 0148 10010000 .4byte .LBB178 35726 014c 12010000 .4byte .LBE178 35727 0150 16010000 .4byte .LBB179 35728 0154 1A010000 .4byte .LBE179 35729 0158 1E010000 .4byte .LBB180 35730 015c 72010000 .4byte .LBE180 35731 0160 76010000 .4byte .LBB181 35732 0164 34020000 .4byte .LBE181 35733 0168 00000000 .4byte 0 35734 016c 00000000 .4byte 0 35735 0170 3C000000 .4byte .LBB149 35736 0174 3C000000 .4byte .LBE149 35737 0178 40000000 .4byte .LBB154 35738 017c 44000000 .4byte .LBE154 35739 0180 00000000 .4byte 0 35740 0184 00000000 .4byte 0 35741 0188 BE000000 .4byte .LBB155 35742 018c 0C010000 .4byte .LBE155 35743 0190 10010000 .4byte .LBB161 35744 0194 12010000 .4byte .LBE161 35745 0198 16010000 .4byte .LBB162 35746 019c 1A010000 .4byte .LBE162 35747 01a0 1E010000 .4byte .LBB163 35748 01a4 36010000 .4byte .LBE163 35749 01a8 76010000 .4byte .LBB165 35750 01ac 9C010000 .4byte .LBE165 35751 01b0 00000000 .4byte 0 35752 01b4 00000000 .4byte 0 35753 01b8 00000000 .4byte .LBB201 35754 01bc 00000000 .4byte .LBE201 35755 01c0 06000000 .4byte .LBB205 35756 01c4 08000000 .4byte .LBE205 35757 01c8 14000000 .4byte .LBB206 35758 01cc 22000000 .4byte .LBE206 35759 01d0 00000000 .4byte 0 35760 01d4 00000000 .4byte 0 35761 01d8 28000000 .4byte .LBB207 35762 01dc 28000000 .4byte .LBE207 35763 01e0 2E000000 .4byte .LBB238 35764 01e4 32000000 .4byte .LBE238 35765 01e8 36000000 .4byte .LBB240 35766 01ec 3A000000 .4byte .LBE240 ARM GAS /tmp/ccjvgGVC.s page 1102 35767 01f0 00000000 .4byte 0 35768 01f4 00000000 .4byte 0 35769 01f8 2C000000 .4byte .LBB211 35770 01fc 2E000000 .4byte .LBE211 35771 0200 32000000 .4byte .LBB239 35772 0204 36000000 .4byte .LBE239 35773 0208 3A000000 .4byte .LBB241 35774 020c 00010000 .4byte .LBE241 35775 0210 16010000 .4byte .LBB242 35776 0214 1E010000 .4byte .LBE242 35777 0218 20010000 .4byte .LBB243 35778 021c 78010000 .4byte .LBE243 35779 0220 7C010000 .4byte .LBB244 35780 0224 44030000 .4byte .LBE244 35781 0228 00000000 .4byte 0 35782 022c 00000000 .4byte 0 35783 0230 3A000000 .4byte .LBB213 35784 0234 3A000000 .4byte .LBE213 35785 0238 3E000000 .4byte .LBB218 35786 023c 42000000 .4byte .LBE218 35787 0240 00000000 .4byte 0 35788 0244 00000000 .4byte 0 35789 0248 A8000000 .4byte .LBB219 35790 024c 00010000 .4byte .LBE219 35791 0250 16010000 .4byte .LBB225 35792 0254 1E010000 .4byte .LBE225 35793 0258 20010000 .4byte .LBB226 35794 025c 3A010000 .4byte .LBE226 35795 0260 7C010000 .4byte .LBB229 35796 0264 EE010000 .4byte .LBE229 35797 0268 00000000 .4byte 0 35798 026c 00000000 .4byte 0 35799 0270 42010000 .4byte .LBB227 35800 0274 44010000 .4byte .LBE227 35801 0278 4A010000 .4byte .LBB228 35802 027c 56010000 .4byte .LBE228 35803 0280 00000000 .4byte 0 35804 0284 00000000 .4byte 0 35805 0288 00000000 .4byte .LBB264 35806 028c 00000000 .4byte .LBE264 35807 0290 06000000 .4byte .LBB268 35808 0294 08000000 .4byte .LBE268 35809 0298 12000000 .4byte .LBB269 35810 029c 24000000 .4byte .LBE269 35811 02a0 00000000 .4byte 0 35812 02a4 00000000 .4byte 0 35813 02a8 2A000000 .4byte .LBB270 35814 02ac 2A000000 .4byte .LBE270 35815 02b0 30000000 .4byte .LBB297 35816 02b4 34000000 .4byte .LBE297 35817 02b8 38000000 .4byte .LBB299 35818 02bc 3C000000 .4byte .LBE299 35819 02c0 00000000 .4byte 0 35820 02c4 00000000 .4byte 0 35821 02c8 2E000000 .4byte .LBB274 35822 02cc 30000000 .4byte .LBE274 35823 02d0 34000000 .4byte .LBB298 ARM GAS /tmp/ccjvgGVC.s page 1103 35824 02d4 38000000 .4byte .LBE298 35825 02d8 3C000000 .4byte .LBB300 35826 02dc F6000000 .4byte .LBE300 35827 02e0 08010000 .4byte .LBB301 35828 02e4 30020000 .4byte .LBE301 35829 02e8 34020000 .4byte .LBB302 35830 02ec 80030000 .4byte .LBE302 35831 02f0 00000000 .4byte 0 35832 02f4 00000000 .4byte 0 35833 02f8 3C000000 .4byte .LBB276 35834 02fc 3C000000 .4byte .LBE276 35835 0300 40000000 .4byte .LBB281 35836 0304 44000000 .4byte .LBE281 35837 0308 00000000 .4byte 0 35838 030c 00000000 .4byte 0 35839 0310 C4000000 .4byte .LBB282 35840 0314 F6000000 .4byte .LBE282 35841 0318 08010000 .4byte .LBB287 35842 031c F8010000 .4byte .LBE287 35843 0320 00000000 .4byte 0 35844 0324 00000000 .4byte 0 35845 0328 24010000 .4byte .LBB284 35846 032c 32010000 .4byte .LBE284 35847 0330 38010000 .4byte .LBB285 35848 0334 3A010000 .4byte .LBE285 35849 0338 00000000 .4byte 0 35850 033c 00000000 .4byte 0 35851 0340 FC010000 .4byte .LBB288 35852 0344 00020000 .4byte .LBE288 35853 0348 02020000 .4byte .LBB289 35854 034c 0E020000 .4byte .LBE289 35855 0350 00000000 .4byte 0 35856 0354 00000000 .4byte 0 35857 0358 00000000 .4byte .LBB318 35858 035c 00000000 .4byte .LBE318 35859 0360 06000000 .4byte .LBB322 35860 0364 08000000 .4byte .LBE322 35861 0368 14000000 .4byte .LBB323 35862 036c 24000000 .4byte .LBE323 35863 0370 00000000 .4byte 0 35864 0374 00000000 .4byte 0 35865 0378 2A000000 .4byte .LBB324 35866 037c 2A000000 .4byte .LBE324 35867 0380 30000000 .4byte .LBB351 35868 0384 34000000 .4byte .LBE351 35869 0388 38000000 .4byte .LBB353 35870 038c 3C000000 .4byte .LBE353 35871 0390 00000000 .4byte 0 35872 0394 00000000 .4byte 0 35873 0398 2E000000 .4byte .LBB328 35874 039c 30000000 .4byte .LBE328 35875 03a0 34000000 .4byte .LBB352 35876 03a4 38000000 .4byte .LBE352 35877 03a8 3C000000 .4byte .LBB354 35878 03ac 4C000000 .4byte .LBE354 35879 03b0 5E000000 .4byte .LBB355 35880 03b4 EC000000 .4byte .LBE355 ARM GAS /tmp/ccjvgGVC.s page 1104 35881 03b8 EE000000 .4byte .LBB356 35882 03bc 6E010000 .4byte .LBE356 35883 03c0 72010000 .4byte .LBB357 35884 03c4 D8010000 .4byte .LBE357 35885 03c8 00000000 .4byte 0 35886 03cc 00000000 .4byte 0 35887 03d0 3C000000 .4byte .LBB330 35888 03d4 3C000000 .4byte .LBE330 35889 03d8 3E000000 .4byte .LBB335 35890 03dc 44000000 .4byte .LBE335 35891 03e0 00000000 .4byte 0 35892 03e4 00000000 .4byte 0 35893 03e8 C4000000 .4byte .LBB336 35894 03ec EC000000 .4byte .LBE336 35895 03f0 EE000000 .4byte .LBB343 35896 03f4 28010000 .4byte .LBE343 35897 03f8 32010000 .4byte .LBB344 35898 03fc 3E010000 .4byte .LBE344 35899 0400 72010000 .4byte .LBB345 35900 0404 88010000 .4byte .LBE345 35901 0408 00000000 .4byte 0 35902 040c 00000000 .4byte 0 35903 0410 06010000 .4byte .LBB338 35904 0414 12010000 .4byte .LBE338 35905 0418 18010000 .4byte .LBB339 35906 041c 1A010000 .4byte .LBE339 35907 0420 00000000 .4byte 0 35908 0424 00000000 .4byte 0 35909 0428 00000000 .4byte .LBB379 35910 042c 00000000 .4byte .LBE379 35911 0430 04000000 .4byte .LBB384 35912 0434 06000000 .4byte .LBE384 35913 0438 10000000 .4byte .LBB385 35914 043c 18000000 .4byte .LBE385 35915 0440 22000000 .4byte .LBB411 35916 0444 26000000 .4byte .LBE411 35917 0448 00000000 .4byte 0 35918 044c 00000000 .4byte 0 35919 0450 18000000 .4byte .LBB386 35920 0454 22000000 .4byte .LBE386 35921 0458 26000000 .4byte .LBB412 35922 045c 2A000000 .4byte .LBE412 35923 0460 2C000000 .4byte .LBB413 35924 0464 30000000 .4byte .LBE413 35925 0468 34000000 .4byte .LBB417 35926 046c 38000000 .4byte .LBE417 35927 0470 44000000 .4byte .LBB419 35928 0474 50000000 .4byte .LBE419 35929 0478 62000000 .4byte .LBB420 35930 047c E0000000 .4byte .LBE420 35931 0480 E2000000 .4byte .LBB421 35932 0484 50010000 .4byte .LBE421 35933 0488 52010000 .4byte .LBB422 35934 048c 9A010000 .4byte .LBE422 35935 0490 00000000 .4byte 0 35936 0494 00000000 .4byte 0 35937 0498 18000000 .4byte .LBB388 ARM GAS /tmp/ccjvgGVC.s page 1105 35938 049c 22000000 .4byte .LBE388 35939 04a0 44000000 .4byte .LBB393 35940 04a4 48000000 .4byte .LBE393 35941 04a8 00000000 .4byte 0 35942 04ac 00000000 .4byte 0 35943 04b0 E4000000 .4byte .LBB394 35944 04b4 E6000000 .4byte .LBE394 35945 04b8 52010000 .4byte .LBB403 35946 04bc 54010000 .4byte .LBE403 35947 04c0 00000000 .4byte 0 35948 04c4 00000000 .4byte 0 35949 04c8 34000000 .4byte .LBB414 35950 04cc 34000000 .4byte .LBE414 35951 04d0 3C000000 .4byte .LBB418 35952 04d4 44000000 .4byte .LBE418 35953 04d8 00000000 .4byte 0 35954 04dc 00000000 .4byte 0 35955 04e0 16000000 .4byte .LBB441 35956 04e4 2C000000 .4byte .LBE441 35957 04e8 2E000000 .4byte .LBB446 35958 04ec 3C000000 .4byte .LBE446 35959 04f0 00000000 .4byte 0 35960 04f4 00000000 .4byte 0 35961 04f8 16000000 .4byte .LBB442 35962 04fc 26000000 .4byte .LBE442 35963 0500 2E000000 .4byte .LBB445 35964 0504 3C000000 .4byte .LBE445 35965 0508 00000000 .4byte 0 35966 050c 00000000 .4byte 0 35967 0510 12000000 .4byte .LBB465 35968 0514 14000000 .4byte .LBE465 35969 0518 1E000000 .4byte .LBB479 35970 051c 26000000 .4byte .LBE479 35971 0520 00000000 .4byte 0 35972 0524 00000000 .4byte 0 35973 0528 1E000000 .4byte .LBB467 35974 052c 1E000000 .4byte .LBE467 35975 0530 1E000000 .4byte .LBB473 35976 0534 20000000 .4byte .LBE473 35977 0538 00000000 .4byte 0 35978 053c 00000000 .4byte 0 35979 0540 08000000 .4byte .LBB488 35980 0544 3E000000 .4byte .LBE488 35981 0548 46000000 .4byte .LBB493 35982 054c 50000000 .4byte .LBE493 35983 0550 00000000 .4byte 0 35984 0554 00000000 .4byte 0 35985 0558 30000000 .4byte .LBB544 35986 055c 34000000 .4byte .LBE544 35987 0560 36000000 .4byte .LBB585 35988 0564 30010000 .4byte .LBE585 35989 0568 56010000 .4byte .LBB592 35990 056c CC030000 .4byte .LBE592 35991 0570 00000000 .4byte 0 35992 0574 00000000 .4byte 0 35993 0578 68000000 .4byte .LBB553 35994 057c 86000000 .4byte .LBE553 ARM GAS /tmp/ccjvgGVC.s page 1106 35995 0580 88000000 .4byte .LBB556 35996 0584 8C000000 .4byte .LBE556 35997 0588 00000000 .4byte 0 35998 058c 00000000 .4byte 0 35999 0590 D6000000 .4byte .LBB561 36000 0594 28010000 .4byte .LBE561 36001 0598 56010000 .4byte .LBB564 36002 059c 8C010000 .4byte .LBE564 36003 05a0 00000000 .4byte 0 36004 05a4 00000000 .4byte 0 36005 05a8 8C010000 .4byte .LBB565 36006 05ac B0010000 .4byte .LBE565 36007 05b0 FE020000 .4byte .LBB581 36008 05b4 06030000 .4byte .LBE581 36009 05b8 00000000 .4byte 0 36010 05bc 00000000 .4byte 0 36011 05c0 E0010000 .4byte .LBB570 36012 05c4 E4020000 .4byte .LBE570 36013 05c8 3C030000 .4byte .LBB582 36014 05cc CC030000 .4byte .LBE582 36015 05d0 00000000 .4byte 0 36016 05d4 00000000 .4byte 0 36017 05d8 4A020000 .4byte .LBB574 36018 05dc 4C020000 .4byte .LBE574 36019 05e0 52030000 .4byte .LBB579 36020 05e4 58030000 .4byte .LBE579 36021 05e8 00000000 .4byte 0 36022 05ec 00000000 .4byte 0 36023 05f0 02000000 .4byte .LBB603 36024 05f4 04000000 .4byte .LBE603 36025 05f8 0A000000 .4byte .LBB608 36026 05fc 0C000000 .4byte .LBE608 36027 0600 00000000 .4byte 0 36028 0604 00000000 .4byte 0 36029 0608 10000000 .4byte .LBB630 36030 060c 12000000 .4byte .LBE630 36031 0610 16000000 .4byte .LBB647 36032 0614 20000000 .4byte .LBE647 36033 0618 28000000 .4byte .LBB648 36034 061c 14010000 .4byte .LBE648 36035 0620 16010000 .4byte .LBB654 36036 0624 20010000 .4byte .LBE654 36037 0628 00000000 .4byte 0 36038 062c 00000000 .4byte 0 36039 0630 78000000 .4byte .LBB632 36040 0634 7A000000 .4byte .LBE632 36041 0638 80000000 .4byte .LBB638 36042 063c 82000000 .4byte .LBE638 36043 0640 00000000 .4byte 0 36044 0644 00000000 .4byte 0 36045 0648 7A000000 .4byte .LBB635 36046 064c 7C000000 .4byte .LBE635 36047 0650 84000000 .4byte .LBB639 36048 0654 A0000000 .4byte .LBE639 36049 0658 00000000 .4byte 0 36050 065c 00000000 .4byte 0 36051 0660 0A010000 .4byte .LBB640 ARM GAS /tmp/ccjvgGVC.s page 1107 36052 0664 14010000 .4byte .LBE640 36053 0668 16010000 .4byte .LBB643 36054 066c 20010000 .4byte .LBE643 36055 0670 00000000 .4byte 0 36056 0674 00000000 .4byte 0 36057 0678 14010000 .4byte .LBB649 36058 067c 16010000 .4byte .LBE649 36059 0680 20010000 .4byte .LBB655 36060 0684 22010000 .4byte .LBE655 36061 0688 00000000 .4byte 0 36062 068c 00000000 .4byte 0 36063 0690 5A000000 .4byte .LBB691 36064 0694 5E000000 .4byte .LBE691 36065 0698 6C000000 .4byte .LBB708 36066 069c D4000000 .4byte .LBE708 36067 06a0 00000000 .4byte 0 36068 06a4 00000000 .4byte 0 36069 06a8 0A000000 .4byte .LBB711 36070 06ac 3C000000 .4byte .LBE711 36071 06b0 3E000000 .4byte .LBB715 36072 06b4 42000000 .4byte .LBE715 36073 06b8 44000000 .4byte .LBB716 36074 06bc 48000000 .4byte .LBE716 36075 06c0 00000000 .4byte 0 36076 06c4 00000000 .4byte 0 36077 06c8 0A000000 .4byte .LBB719 36078 06cc 36000000 .4byte .LBE719 36079 06d0 38000000 .4byte .LBB723 36080 06d4 3C000000 .4byte .LBE723 36081 06d8 3E000000 .4byte .LBB724 36082 06dc 42000000 .4byte .LBE724 36083 06e0 00000000 .4byte 0 36084 06e4 00000000 .4byte 0 36085 06e8 04000000 .4byte .LBB729 36086 06ec 0C000000 .4byte .LBE729 36087 06f0 0E000000 .4byte .LBB734 36088 06f4 80000000 .4byte .LBE734 36089 06f8 00000000 .4byte 0 36090 06fc 00000000 .4byte 0 36091 0700 06000000 .4byte .LBB737 36092 0704 28000000 .4byte .LBE737 36093 0708 2A000000 .4byte .LBB740 36094 070c 30000000 .4byte .LBE740 36095 0710 00000000 .4byte 0 36096 0714 00000000 .4byte 0 36097 0718 0A000000 .4byte .LBB745 36098 071c 12000000 .4byte .LBE745 36099 0720 18000000 .4byte .LBB753 36100 0724 96000000 .4byte .LBE753 36101 0728 98000000 .4byte .LBB754 36102 072c D8000000 .4byte .LBE754 36103 0730 00000000 .4byte 0 36104 0734 00000000 .4byte 0 36105 0738 44000000 .4byte .LBB747 36106 073c 90000000 .4byte .LBE747 36107 0740 98000000 .4byte .LBB750 36108 0744 D8000000 .4byte .LBE750 ARM GAS /tmp/ccjvgGVC.s page 1108 36109 0748 00000000 .4byte 0 36110 074c 00000000 .4byte 0 36111 0750 0C000000 .4byte .LBB759 36112 0754 A2000000 .4byte .LBE759 36113 0758 A4000000 .4byte .LBB770 36114 075c C0000000 .4byte .LBE770 36115 0760 00000000 .4byte 0 36116 0764 00000000 .4byte 0 36117 0768 58000000 .4byte .LBB761 36118 076c 5A000000 .4byte .LBE761 36119 0770 5C000000 .4byte .LBB766 36120 0774 60000000 .4byte .LBE766 36121 0778 64000000 .4byte .LBB767 36122 077c 9C000000 .4byte .LBE767 36123 0780 A4000000 .4byte .LBB768 36124 0784 C0000000 .4byte .LBE768 36125 0788 00000000 .4byte 0 36126 078c 00000000 .4byte 0 36127 0790 06000000 .4byte .LBB773 36128 0794 08000000 .4byte .LBE773 36129 0798 0A000000 .4byte .LBB776 36130 079c 16000000 .4byte .LBE776 36131 07a0 00000000 .4byte 0 36132 07a4 00000000 .4byte 0 36133 07a8 04000000 .4byte .LBB781 36134 07ac 06000000 .4byte .LBE781 36135 07b0 0A000000 .4byte .LBB793 36136 07b4 38000000 .4byte .LBE793 36137 07b8 3C000000 .4byte .LBB794 36138 07bc 5A000000 .4byte .LBE794 36139 07c0 5E000000 .4byte .LBB795 36140 07c4 7A000000 .4byte .LBE795 36141 07c8 7E000000 .4byte .LBB796 36142 07cc 80000000 .4byte .LBE796 36143 07d0 00000000 .4byte 0 36144 07d4 00000000 .4byte 0 36145 07d8 28000000 .4byte .LBB783 36146 07dc 2A000000 .4byte .LBE783 36147 07e0 32000000 .4byte .LBB787 36148 07e4 38000000 .4byte .LBE787 36149 07e8 3C000000 .4byte .LBB788 36150 07ec 40000000 .4byte .LBE788 36151 07f0 00000000 .4byte 0 36152 07f4 00000000 .4byte 0 36153 07f8 06000000 .4byte .LBB801 36154 07fc 7A000000 .4byte .LBE801 36155 0800 7C000000 .4byte .LBB808 36156 0804 8E000000 .4byte .LBE808 36157 0808 00000000 .4byte 0 36158 080c 00000000 .4byte 0 36159 0810 3C000000 .4byte .LBB803 36160 0814 40000000 .4byte .LBE803 36161 0818 42000000 .4byte .LBB806 36162 081c 68000000 .4byte .LBE806 36163 0820 00000000 .4byte 0 36164 0824 00000000 .4byte 0 36165 0828 00000000 .4byte .LBB831 ARM GAS /tmp/ccjvgGVC.s page 1109 36166 082c 02000000 .4byte .LBE831 36167 0830 0A000000 .4byte .LBB838 36168 0834 0C000000 .4byte .LBE838 36169 0838 14000000 .4byte .LBB839 36170 083c 16000000 .4byte .LBE839 36171 0840 1A000000 .4byte .LBB840 36172 0844 1C000000 .4byte .LBE840 36173 0848 1E000000 .4byte .LBB841 36174 084c 22000000 .4byte .LBE841 36175 0850 24000000 .4byte .LBB842 36176 0854 26000000 .4byte .LBE842 36177 0858 00000000 .4byte 0 36178 085c 00000000 .4byte 0 36179 0860 3C000000 .4byte .LBB843 36180 0864 3E000000 .4byte .LBE843 36181 0868 52000000 .4byte .LBB846 36182 086c 96000000 .4byte .LBE846 36183 0870 00000000 .4byte 0 36184 0874 00000000 .4byte 0 36185 0878 98000000 .4byte .LBB847 36186 087c A6000000 .4byte .LBE847 36187 0880 0C010000 .4byte .LBB860 36188 0884 26010000 .4byte .LBE860 36189 0888 00000000 .4byte 0 36190 088c 00000000 .4byte 0 36191 0890 A6000000 .4byte .LBB850 36192 0894 06010000 .4byte .LBE850 36193 0898 26010000 .4byte .LBB861 36194 089c D8010000 .4byte .LBE861 36195 08a0 40020000 .4byte .LBB870 36196 08a4 7E020000 .4byte .LBE870 36197 08a8 00000000 .4byte 0 36198 08ac 00000000 .4byte 0 36199 08b0 C6000000 .4byte .LBB852 36200 08b4 C8000000 .4byte .LBE852 36201 08b8 E0000000 .4byte .LBB857 36202 08bc F0000000 .4byte .LBE857 36203 08c0 00000000 .4byte 0 36204 08c4 00000000 .4byte 0 36205 08c8 00000000 .4byte .LBB885 36206 08cc 02000000 .4byte .LBE885 36207 08d0 06000000 .4byte .LBB889 36208 08d4 08000000 .4byte .LBE889 36209 08d8 0E000000 .4byte .LBB890 36210 08dc 0E000000 .4byte .LBE890 36211 08e0 00000000 .4byte 0 36212 08e4 00000000 .4byte 0 36213 08e8 0E000000 .4byte .LBB891 36214 08ec 20000000 .4byte .LBE891 36215 08f0 26000000 .4byte .LBB902 36216 08f4 2A000000 .4byte .LBE902 36217 08f8 2C000000 .4byte .LBB903 36218 08fc 2E000000 .4byte .LBE903 36219 0900 30000000 .4byte .LBB904 36220 0904 32000000 .4byte .LBE904 36221 0908 34000000 .4byte .LBB905 36222 090c 44000000 .4byte .LBE905 ARM GAS /tmp/ccjvgGVC.s page 1110 36223 0910 00000000 .4byte 0 36224 0914 00000000 .4byte 0 36225 0918 4A000000 .4byte .LBB906 36226 091c 58000000 .4byte .LBE906 36227 0920 80000000 .4byte .LBB914 36228 0924 A8000000 .4byte .LBE914 36229 0928 00000000 .4byte 0 36230 092c 00000000 .4byte 0 36231 0930 5E000000 .4byte .LBB910 36232 0934 60000000 .4byte .LBE910 36233 0938 62000000 .4byte .LBB913 36234 093c 7C000000 .4byte .LBE913 36235 0940 00000000 .4byte 0 36236 0944 00000000 .4byte 0 36237 0948 00000000 .4byte .LFB1 36238 094c 1A000000 .4byte .LFE1 36239 0950 00000000 .4byte .LFB3 36240 0954 1A000000 .4byte .LFE3 36241 0958 00000000 .4byte .LFB5 36242 095c 8C010000 .4byte .LFE5 36243 0960 00000000 .4byte .LFB9 36244 0964 F0000000 .4byte .LFE9 36245 0968 00000000 .4byte .LFB10 36246 096c 20000000 .4byte .LFE10 36247 0970 00000000 .4byte .LFB13 36248 0974 1C000000 .4byte .LFE13 36249 0978 00000000 .4byte .LFB16 36250 097c 1A000000 .4byte .LFE16 36251 0980 00000000 .4byte .LFB18 36252 0984 E8010000 .4byte .LFE18 36253 0988 00000000 .4byte .LFB38 36254 098c 80010000 .4byte .LFE38 36255 0990 00000000 .4byte .LFB41 36256 0994 48000000 .4byte .LFE41 36257 0998 00000000 .4byte .LFB46 36258 099c 54020000 .4byte .LFE46 36259 09a0 00000000 .4byte .LFB51 36260 09a4 50030000 .4byte .LFE51 36261 09a8 00000000 .4byte .LFB54 36262 09ac 8C030000 .4byte .LFE54 36263 09b0 00000000 .4byte .LFB57 36264 09b4 F4010000 .4byte .LFE57 36265 09b8 00000000 .4byte .LFB60 36266 09bc B0010000 .4byte .LFE60 36267 09c0 00000000 .4byte .LFB63 36268 09c4 3C000000 .4byte .LFE63 36269 09c8 00000000 .4byte .LFB65 36270 09cc 38000000 .4byte .LFE65 36271 09d0 00000000 .4byte .LFB72 36272 09d4 44000000 .4byte .LFE72 36273 09d8 00000000 .4byte .LFB75 36274 09dc 50000000 .4byte .LFE75 36275 09e0 00000000 .4byte .LFB80 36276 09e4 CC030000 .4byte .LFE80 36277 09e8 00000000 .4byte .LFB110 36278 09ec BC000000 .4byte .LFE110 36279 09f0 00000000 .4byte .LFB114 ARM GAS /tmp/ccjvgGVC.s page 1111 36280 09f4 1A000000 .4byte .LFE114 36281 09f8 00000000 .4byte .LFB115 36282 09fc 6C010000 .4byte .LFE115 36283 0a00 00000000 .4byte .LFB123 36284 0a04 90000000 .4byte .LFE123 36285 0a08 00000000 .4byte .LFB126 36286 0a0c E4000000 .4byte .LFE126 36287 0a10 00000000 .4byte .LFB142 36288 0a14 30000000 .4byte .LFE142 36289 0a18 00000000 .4byte .LFB144 36290 0a1c 48000000 .4byte .LFE144 36291 0a20 00000000 .4byte .LFB147 36292 0a24 42000000 .4byte .LFE147 36293 0a28 00000000 .4byte .LFB150 36294 0a2c 82000000 .4byte .LFE150 36295 0a30 00000000 .4byte .LFB155 36296 0a34 30000000 .4byte .LFE155 36297 0a38 00000000 .4byte .LFB158 36298 0a3c D8000000 .4byte .LFE158 36299 0a40 00000000 .4byte .LFB163 36300 0a44 C0000000 .4byte .LFE163 36301 0a48 00000000 .4byte .LFB168 36302 0a4c 38000000 .4byte .LFE168 36303 0a50 00000000 .4byte .LFB170 36304 0a54 16000000 .4byte .LFE170 36305 0a58 00000000 .4byte .LFB174 36306 0a5c 10000000 .4byte .LFE174 36307 0a60 00000000 .4byte .LFB176 36308 0a64 88000000 .4byte .LFE176 36309 0a68 00000000 .4byte .LFB182 36310 0a6c 1C000000 .4byte .LFE182 36311 0a70 00000000 .4byte .LFB184 36312 0a74 08000000 .4byte .LFE184 36313 0a78 00000000 .4byte .LFB186 36314 0a7c 4C000000 .4byte .LFE186 36315 0a80 00000000 .4byte .LFB188 36316 0a84 8E000000 .4byte .LFE188 36317 0a88 00000000 .4byte .LFB193 36318 0a8c 16000000 .4byte .LFE193 36319 0a90 00000000 .4byte .LFB195 36320 0a94 C8000000 .4byte .LFE195 36321 0a98 00000000 .4byte .LFB196 36322 0a9c B0020000 .4byte .LFE196 36323 0aa0 00000000 .4byte .LFB210 36324 0aa4 A8000000 .4byte .LFE210 36325 0aa8 00000000 .4byte 0 36326 0aac 00000000 .4byte 0 36327 .section .debug_line,"",%progbits 36328 .Ldebug_line0: 36329 0000 B2330000 .section .debug_str,"MS",%progbits,1 36329 03006603 36329 00000201 36329 FB0E0D00 36329 01010101 36330 .LASF31: 36331 0000 6D656D63 .ascii "memcpy\000" 36331 707900 ARM GAS /tmp/ccjvgGVC.s page 1112 36332 .LASF1: 36333 0007 756E7369 .ascii "unsigned int\000" 36333 676E6564 36333 20696E74 36333 00 36334 .LASF36: 36335 0014 48414C5F .ascii "HAL_PCD_DataOutStageCallback.constprop.0\000" 36335 5043445F 36335 44617461 36335 4F757453 36335 74616765 36336 .LASF35: 36337 003d 5F5F6275 .ascii "__builtin_memset\000" 36337 696C7469 36337 6E5F6D65 36337 6D736574 36337 00 36338 .LASF27: 36339 004e 55534244 .ascii "USBD_LL_StallEP.isra.0\000" 36339 5F4C4C5F 36339 5374616C 36339 6C45502E 36339 69737261 36340 .LASF5: 36341 0065 55534244 .ascii "USBD_GetString.part.0.constprop.0\000" 36341 5F476574 36341 53747269 36341 6E672E70 36341 6172742E 36342 .LASF6: 36343 0087 55534244 .ascii "USBD_LL_Start.constprop.0\000" 36343 5F4C4C5F 36343 53746172 36343 742E636F 36343 6E737470 36344 .LASF20: 36345 00a1 55534244 .ascii "USBD_LL_OpenEP.isra.0\000" 36345 5F4C4C5F 36345 4F70656E 36345 45502E69 36345 7372612E 36346 .LASF17: 36347 00b7 3C617274 .ascii "\000" 36347 69666963 36347 69616C3E 36347 00 36348 .LASF18: 36349 00c4 2F776F72 .ascii "/workspaces/edgetx/build/tx16s/arm-none-eabi/radio/" 36349 6B737061 36349 6365732F 36349 65646765 36349 74782F62 36350 00f7 73726300 .ascii "src\000" 36351 .LASF11: 36352 00fb 55534244 .ascii "USBD_RegisterClass.constprop.0.isra.0\000" 36352 5F526567 36352 69737465 ARM GAS /tmp/ccjvgGVC.s page 1113 36352 72436C61 36352 73732E63 36353 .LASF0: 36354 0121 6C6F6E67 .ascii "long long unsigned int\000" 36354 206C6F6E 36354 6720756E 36354 7369676E 36354 65642069 36355 .LASF4: 36356 0138 5F5A4C33 .ascii "_ZL34sdio_check_card_state_with_timeoutm.constprop." 36356 34736469 36356 6F5F6368 36356 65636B5F 36356 63617264 36357 016b 3000 .ascii "0\000" 36358 .LASF8: 36359 016d 464C4153 .ascii "FLASH_WaitForLastOperation.constprop.0\000" 36359 485F5761 36359 6974466F 36359 724C6173 36359 744F7065 36360 .LASF21: 36361 0194 53435349 .ascii "SCSI_SenseCode.isra.0\000" 36361 5F53656E 36361 7365436F 36361 64652E69 36361 7372612E 36362 .LASF16: 36363 01aa 474E5520 .ascii "GNU GIMPLE 14.2.1 20241119 -mfloat-abi=hard -mfpu=f" 36363 47494D50 36363 4C452031 36363 342E322E 36363 31203230 36364 01dd 7076342D .ascii "pv4-sp-d16 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d" 36364 73702D64 36364 3136202D 36364 6D746875 36364 6D62202D 36365 0210 3136202D .ascii "16 -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d" 36365 6D637075 36365 3D636F72 36365 7465782D 36365 6D34202D 36366 0243 3136202D .ascii "16 -march=armv7e-m+fp -g -gdwarf-2 -Os -Os -fno-ope" 36366 6D617263 36366 683D6172 36366 6D763765 36366 2D6D2B66 36367 0276 6E6D7020 .ascii "nmp -fno-openacc -fno-pie -fcf-protection=none -fom" 36367 2D666E6F 36367 2D6F7065 36367 6E616363 36367 202D666E 36368 02a9 69742D66 .ascii "it-frame-pointer -fno-exceptions -fdata-sections -f" 36368 72616D65 36368 2D706F69 36368 6E746572 ARM GAS /tmp/ccjvgGVC.s page 1114 36368 202D666E 36369 02dc 66756E63 .ascii "function-sections -fltrans\000" 36369 74696F6E 36369 2D736563 36369 74696F6E 36369 73202D66 36370 .LASF25: 36371 02f7 55534244 .ascii "USBD_ClrClassConfig.isra.0\000" 36371 5F436C72 36371 436C6173 36371 73436F6E 36371 6669672E 36372 .LASF2: 36373 0312 756E7369 .ascii "unsigned char\000" 36373 676E6564 36373 20636861 36373 7200 36374 .LASF29: 36375 0320 4C4C5F55 .ascii "LL_USART_DeInit.isra.0\000" 36375 53415254 36375 5F446549 36375 6E69742E 36375 69737261 36376 .LASF26: 36377 0337 5553425F .ascii "USB_EP0_OutStart.isra.0\000" 36377 4550305F 36377 4F757453 36377 74617274 36377 2E697372 36378 .LASF15: 36379 034f 55534244 .ascii "USBD_LL_FlushEP.isra.0\000" 36379 5F4C4C5F 36379 466C7573 36379 6845502E 36379 69737261 36380 .LASF7: 36381 0366 55534244 .ascii "USBD_LL_Init.part.0.constprop.0\000" 36381 5F4C4C5F 36381 496E6974 36381 2E706172 36381 742E302E 36382 .LASF12: 36383 0386 55534244 .ascii "USBD_LL_PrepareReceive.isra.0\000" 36383 5F4C4C5F 36383 50726570 36383 61726552 36383 65636569 36384 .LASF32: 36385 03a4 5F5F6275 .ascii "__builtin_strlen\000" 36385 696C7469 36385 6E5F7374 36385 726C656E 36385 00 36386 .LASF30: 36387 03b5 7374726C .ascii "strlen\000" 36387 656E00 36388 .LASF3: ARM GAS /tmp/ccjvgGVC.s page 1115 36389 03bc 73686F72 .ascii "short unsigned int\000" 36389 7420756E 36389 7369676E 36389 65642069 36389 6E7400 36390 .LASF33: 36391 03cf 5F5F6275 .ascii "__builtin_memcpy\000" 36391 696C7469 36391 6E5F6D65 36391 6D637079 36391 00 36392 .LASF24: 36393 03e0 55534244 .ascii "USBD_CtlSendData.isra.0\000" 36393 5F43746C 36393 53656E64 36393 44617461 36393 2E697372 36394 .LASF9: 36395 03f8 5344494F .ascii "SDIO_SendCommand.constprop.0.isra.0\000" 36395 5F53656E 36395 64436F6D 36395 6D616E64 36395 2E636F6E 36396 .LASF13: 36397 041c 55534244 .ascii "USBD_LL_Transmit.isra.0\000" 36397 5F4C4C5F 36397 5472616E 36397 736D6974 36397 2E697372 36398 .LASF34: 36399 0434 6D656D73 .ascii "memset\000" 36399 657400 36400 .LASF28: 36401 043b 55534244 .ascii "USBD_CtlError.isra.0\000" 36401 5F43746C 36401 4572726F 36401 722E6973 36401 72612E30 36402 .LASF23: 36403 0450 55534244 .ascii "USBD_CtlSendStatus.isra.0\000" 36403 5F43746C 36403 53656E64 36403 53746174 36403 75732E69 36404 .LASF10: 36405 046a 55534244 .ascii "USBD_DeInit.constprop.0.isra.0\000" 36405 5F446549 36405 6E69742E 36405 636F6E73 36405 7470726F 36406 .LASF19: 36407 0489 55534244 .ascii "USBD_LL_CloseEP.isra.0\000" 36407 5F4C4C5F 36407 436C6F73 36407 6545502E 36407 69737261 36408 .LASF14: ARM GAS /tmp/ccjvgGVC.s page 1116 36409 04a0 55534244 .ascii "USBD_LL_ClearStallEP.isra.0\000" 36409 5F4C4C5F 36409 436C6561 36409 72537461 36409 6C6C4550 36410 .LASF22: 36411 04bc 53435349 .ascii "SCSI_UpdateBotData.isra.0\000" 36411 5F557064 36411 61746542 36411 6F744461 36411 74612E69 36412 .hidden _Z22usbSerialSetBaudRateCbPvPFvmE 36413 .hidden _Z25usbSerialSetReceiveDataCbPvPFvPhmE 36414 .hidden _Z17usbSerialBaudRatePv 36415 .hidden _Z13usbSerialPutcPvh 36416 .hidden _ZL13usbSerialInitPvPK15etx_serial_init.lto_priv.0 36417 .hidden LL_APB1_GRP1_DisableClock.lto_priv.2.lto_priv.0 36418 .hidden LL_APB1_GRP1_EnableClock.lto_priv.2.lto_priv.0 36419 .hidden _Z11gpio_set_afmh 36420 .hidden LL_APB1_GRP1_ReleaseReset.lto_priv.1.lto_priv.0 36421 .hidden LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 36422 .hidden LL_APB2_GRP1_ReleaseReset.lto_priv.1.lto_priv.0 36423 .hidden LL_APB2_GRP1_ForceReset.lto_priv.1.lto_priv.0 36424 .hidden _ZL7scratch.lto_priv.0 36425 .hidden SD_DMAError.lto_priv.0 36426 .hidden SD_DMATransmitCplt.lto_priv.0 36427 .hidden HAL_DMA_Start_IT 36428 .hidden SDMMC_GetCmdResp1.lto_priv.0 36429 .hidden pFlash 36430 .hidden USB_FlushRxFifo 36431 .hidden USB_FlushTxFifo 36432 .hidden hpcd_USB_OTG 36433 .hidden USB_CoreReset.lto_priv.0 36434 .hidden HAL_Delay 36435 .hidden hUsbDevice 36436 .hidden USBD_Get_USB_Status 36437 .hidden USBD_StrDesc 36438 .hidden HAL_SD_GetCardState 36439 .hidden I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 36440 .hidden _ZL9_ms_ticks.lto_priv.0 36441 .hidden I2C_WaitOnBTFFlagUntilTimeout.lto_priv.0 36442 .hidden I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 36443 .hidden I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 36444 .hidden I2C_WaitOnFlagUntilTimeout.lto_priv.0 36445 .hidden currentSD.lto_priv.0 36446 .hidden _ZL9sdioTxDma.lto_priv.0 36447 .hidden SD_DMARxAbort.lto_priv.0 36448 .hidden _ZL10ReadStatus.lto_priv.0 36449 .hidden _ZL11WriteStatus.lto_priv.0 36450 .hidden _ZL4sdio.lto_priv.0 36451 .hidden SD_DMATxAbort.lto_priv.0 36452 .hidden SDMMC_CmdStopTransfer 36453 .ident "GCC: (Arm GNU Toolchain 14.2.Rel1 (Build arm-14.52)) 14.2.1 20241119" 36454 .cpu cortex-m4 36455 .arch armv7e-m 36456 .fpu fpv4-sp-d16 ARM GAS /tmp/ccjvgGVC.s page 1117 DEFINED SYMBOLS *ABS*:00000000 /tmp/ccjvgGVC.s:25 .text.USB_DevDisconnect.isra.0:00000000 $t /tmp/ccjvgGVC.s:33 .text.USB_DevDisconnect.isra.0:00000000 USB_DevDisconnect.isra.0 /tmp/ccjvgGVC.s:63 .text.USB_DevConnect.isra.0:00000000 $t /tmp/ccjvgGVC.s:68 .text.USB_DevConnect.isra.0:00000000 USB_DevConnect.isra.0 /tmp/ccjvgGVC.s:97 .text.USB_EPStartXfer.isra.0:00000000 $t /tmp/ccjvgGVC.s:102 .text.USB_EPStartXfer.isra.0:00000000 USB_EPStartXfer.isra.0 /tmp/ccjvgGVC.s:501 .text.USB_EPStartXfer.isra.0:00000180 $d /tmp/ccjvgGVC.s:508 .text.USB_EP0StartXfer.isra.0:00000000 $t /tmp/ccjvgGVC.s:513 .text.USB_EP0StartXfer.isra.0:00000000 USB_EP0StartXfer.isra.0 /tmp/ccjvgGVC.s:765 .text.USB_EP0StartXfer.isra.0:000000e8 $d /tmp/ccjvgGVC.s:771 .text._ZL16i2c_ensure_mutexP16stm32_i2c_device:00000000 $t /tmp/ccjvgGVC.s:776 .text._ZL16i2c_ensure_mutexP16stm32_i2c_device:00000000 _ZL16i2c_ensure_mutexP16stm32_i2c_device /tmp/ccjvgGVC.s:837 .text._ZN9MutexLockC2EP14mutex_handle_t.isra.0:00000000 $t /tmp/ccjvgGVC.s:842 .text._ZN9MutexLockC2EP14mutex_handle_t.isra.0:00000000 _ZN9MutexLockC2EP14mutex_handle_t.isra.0 /tmp/ccjvgGVC.s:908 .text._ZN9MutexLockD2Ev.isra.0:00000000 $t /tmp/ccjvgGVC.s:913 .text._ZN9MutexLockD2Ev.isra.0:00000000 _ZN9MutexLockD2Ev.isra.0 /tmp/ccjvgGVC.s:980 .text.SDIO_IRQHandler:00000000 $t /tmp/ccjvgGVC.s:986 .text.SDIO_IRQHandler:00000000 SDIO_IRQHandler /tmp/ccjvgGVC.s:1653 .text.SDIO_IRQHandler:000001d4 $d /tmp/ccjvgGVC.s:1662 .text.DMA2_Stream3_IRQHandler:00000000 $t /tmp/ccjvgGVC.s:1668 .text.DMA2_Stream3_IRQHandler:00000000 DMA2_Stream3_IRQHandler /tmp/ccjvgGVC.s:2125 .text.DMA2_Stream3_IRQHandler:00000178 $d /tmp/ccjvgGVC.s:2131 .text.startup._GLOBAL__sub_I__Z10sdio_ioctlhhPv:00000000 $t /tmp/ccjvgGVC.s:2136 .text.startup._GLOBAL__sub_I__Z10sdio_ioctlhhPv:00000000 _GLOBAL__sub_I__Z10sdio_ioctlhhPv /tmp/ccjvgGVC.s:2184 .text.startup._GLOBAL__sub_I__Z10sdio_ioctlhhPv:00000040 $d /tmp/ccjvgGVC.s:2190 .init_array:00000000 $d /tmp/ccjvgGVC.s:2193 .text._Z19stm32_i2c_master_txhtPhtm:00000000 $t /tmp/ccjvgGVC.s:2199 .text._Z19stm32_i2c_master_txhtPhtm:00000000 _Z19stm32_i2c_master_txhtPhtm /tmp/ccjvgGVC.s:2865 .text._Z19stm32_i2c_master_txhtPhtm:0000023c $d /tmp/ccjvgGVC.s:12022 .bss._ZL9_i2c_devs:00000000 _ZL9_i2c_devs /tmp/ccjvgGVC.s:2875 .text._Z19stm32_i2c_master_rxhtPhtm:00000000 $t /tmp/ccjvgGVC.s:2881 .text._Z19stm32_i2c_master_rxhtPhtm:00000000 _Z19stm32_i2c_master_rxhtPhtm /tmp/ccjvgGVC.s:3623 .text._Z19stm32_i2c_master_rxhtPhtm:00000274 $d /tmp/ccjvgGVC.s:3633 .text._Z19stm32_i2c_master_rxhtPhtm:0000028c $t /tmp/ccjvgGVC.s:3838 .text._Z19stm32_i2c_master_rxhtPhtm:0000034c $d /tmp/ccjvgGVC.s:3843 .text._Z14stm32_i2c_readhtttPhtm:00000000 $t /tmp/ccjvgGVC.s:3849 .text._Z14stm32_i2c_readhtttPhtm:00000000 _Z14stm32_i2c_readhtttPhtm /tmp/ccjvgGVC.s:4617 .text._Z14stm32_i2c_readhtttPhtm:000002b4 $d /tmp/ccjvgGVC.s:4626 .text._Z14stm32_i2c_readhtttPhtm:000002c8 $t /tmp/ccjvgGVC.s:4831 .text._Z14stm32_i2c_readhtttPhtm:00000388 $d /tmp/ccjvgGVC.s:4836 .text._Z15stm32_i2c_writehtttPhtm:00000000 $t /tmp/ccjvgGVC.s:4842 .text._Z15stm32_i2c_writehtttPhtm:00000000 _Z15stm32_i2c_writehtttPhtm /tmp/ccjvgGVC.s:5494 .text._Z15stm32_i2c_writehtttPhtm:000001e0 $d /tmp/ccjvgGVC.s:5503 .text._Z22stm32_i2c_is_dev_readyhtmm:00000000 $t /tmp/ccjvgGVC.s:5509 .text._Z22stm32_i2c_is_dev_readyhtmm:00000000 _Z22stm32_i2c_is_dev_readyhtmm /tmp/ccjvgGVC.s:6071 .text._Z22stm32_i2c_is_dev_readyhtmm:000001a4 $d /tmp/ccjvgGVC.s:6078 .text._ZL34sdio_check_card_state_with_timeoutm.constprop.0:00000000 $t /tmp/ccjvgGVC.s:6085 .text._ZL34sdio_check_card_state_with_timeoutm.constprop.0:00000000 _ZL34sdio_check_card_state_with_timeoutm.constprop.0 /tmp/ccjvgGVC.s:6179 .text._ZL34sdio_check_card_state_with_timeoutm.constprop.0:00000034 $d /tmp/ccjvgGVC.s:6188 .text._Z10sdio_ioctlhhPv:00000000 $t /tmp/ccjvgGVC.s:6195 .text._Z10sdio_ioctlhhPv:00000000 _Z10sdio_ioctlhhPv /tmp/ccjvgGVC.s:6217 .text._Z10sdio_ioctlhhPv:0000000a $d /tmp/ccjvgGVC.s:6221 .text._Z10sdio_ioctlhhPv:0000000e $t /tmp/ccjvgGVC.s:6360 .text._Z10sdio_ioctlhhPv:00000034 $d /tmp/ccjvgGVC.s:6365 .text.USBD_GetString.part.0.constprop.0:00000000 $t ARM GAS /tmp/ccjvgGVC.s page 1118 /tmp/ccjvgGVC.s:6372 .text.USBD_GetString.part.0.constprop.0:00000000 USBD_GetString.part.0.constprop.0 /tmp/ccjvgGVC.s:6479 .text.USBD_GetString.part.0.constprop.0:00000040 $d /tmp/ccjvgGVC.s:6484 .text.USBD_LL_Start.constprop.0:00000000 $t /tmp/ccjvgGVC.s:6491 .text.USBD_LL_Start.constprop.0:00000000 USBD_LL_Start.constprop.0 /tmp/ccjvgGVC.s:6601 .text.USBD_LL_Start.constprop.0:0000004c $d /tmp/ccjvgGVC.s:6608 .text.USBD_LL_Init.part.0.constprop.0:00000000 $t /tmp/ccjvgGVC.s:6615 .text.USBD_LL_Init.part.0.constprop.0:00000000 USBD_LL_Init.part.0.constprop.0 /tmp/ccjvgGVC.s:7054 .text.USBD_LL_Init.part.0.constprop.0:0000017c $d /tmp/ccjvgGVC.s:7067 .text.USBD_LL_Init.part.0.constprop.0:0000018c $t /tmp/ccjvgGVC.s:7610 .text.USBD_LL_Init.part.0.constprop.0:000003bc $d /tmp/ccjvgGVC.s:7622 .text.FLASH_WaitForLastOperation.constprop.0:00000000 $t /tmp/ccjvgGVC.s:7629 .text.FLASH_WaitForLastOperation.constprop.0:00000000 FLASH_WaitForLastOperation.constprop.0 /tmp/ccjvgGVC.s:7861 .text.FLASH_WaitForLastOperation.constprop.0:000000b0 $d /tmp/ccjvgGVC.s:7868 .text.SDIO_SendCommand.constprop.0.isra.0:00000000 $t /tmp/ccjvgGVC.s:7875 .text.SDIO_SendCommand.constprop.0.isra.0:00000000 SDIO_SendCommand.constprop.0.isra.0 /tmp/ccjvgGVC.s:7907 .text._ZL10_write_dmaPKhmj:00000000 $t /tmp/ccjvgGVC.s:7912 .text._ZL10_write_dmaPKhmj:00000000 _ZL10_write_dmaPKhmj /tmp/ccjvgGVC.s:8375 .text._ZL10_write_dmaPKhmj:00000150 $d /tmp/ccjvgGVC.s:8386 .text._ZL10sdio_writehPKhmj.lto_priv.0:00000000 $t /tmp/ccjvgGVC.s:8393 .text._ZL10sdio_writehPKhmj.lto_priv.0:00000000 _ZL10sdio_writehPKhmj.lto_priv.0 /tmp/ccjvgGVC.s:8545 .text._ZL10sdio_writehPKhmj.lto_priv.0:00000084 $d /tmp/ccjvgGVC.s:8552 .text.USBD_DeInit.constprop.0.isra.0:00000000 $t /tmp/ccjvgGVC.s:8559 .text.USBD_DeInit.constprop.0.isra.0:00000000 USBD_DeInit.constprop.0.isra.0 /tmp/ccjvgGVC.s:8832 .text.USBD_DeInit.constprop.0.isra.0:000000d8 $d /tmp/ccjvgGVC.s:8839 .text.USBD_RegisterClass.constprop.0.isra.0:00000000 $t /tmp/ccjvgGVC.s:8846 .text.USBD_RegisterClass.constprop.0.isra.0:00000000 USBD_RegisterClass.constprop.0.isra.0 /tmp/ccjvgGVC.s:8905 .text.USBD_RegisterClass.constprop.0.isra.0:0000002c $d /tmp/ccjvgGVC.s:8910 .text.USBD_LL_PrepareReceive.isra.0:00000000 $t /tmp/ccjvgGVC.s:8917 .text.USBD_LL_PrepareReceive.isra.0:00000000 USBD_LL_PrepareReceive.isra.0 /tmp/ccjvgGVC.s:9037 .text.USBD_LL_Transmit.isra.0:00000000 $t /tmp/ccjvgGVC.s:9044 .text.USBD_LL_Transmit.isra.0:00000000 USBD_LL_Transmit.isra.0 /tmp/ccjvgGVC.s:9165 .text.USBD_LL_ClearStallEP.isra.0:00000000 $t /tmp/ccjvgGVC.s:9172 .text.USBD_LL_ClearStallEP.isra.0:00000000 USBD_LL_ClearStallEP.isra.0 /tmp/ccjvgGVC.s:9328 .text.USBD_LL_FlushEP.isra.0:00000000 $t /tmp/ccjvgGVC.s:9335 .text.USBD_LL_FlushEP.isra.0:00000000 USBD_LL_FlushEP.isra.0 /tmp/ccjvgGVC.s:9409 .text.USBD_LL_CloseEP.isra.0:00000000 $t /tmp/ccjvgGVC.s:9416 .text.USBD_LL_CloseEP.isra.0:00000000 USBD_LL_CloseEP.isra.0 /tmp/ccjvgGVC.s:9648 .text.USBD_LL_CloseEP.isra.0:000000d0 $d /tmp/ccjvgGVC.s:9658 .text.USBD_LL_OpenEP.isra.0:00000000 $t /tmp/ccjvgGVC.s:9665 .text.USBD_LL_OpenEP.isra.0:00000000 USBD_LL_OpenEP.isra.0 /tmp/ccjvgGVC.s:9891 .text.SCSI_SenseCode.isra.0:00000000 $t /tmp/ccjvgGVC.s:9898 .text.SCSI_SenseCode.isra.0:00000000 SCSI_SenseCode.isra.0 /tmp/ccjvgGVC.s:9964 .text.SCSI_UpdateBotData.isra.0:00000000 $t /tmp/ccjvgGVC.s:9971 .text.SCSI_UpdateBotData.isra.0:00000000 SCSI_UpdateBotData.isra.0 /tmp/ccjvgGVC.s:10032 .text.USBD_CtlSendStatus.isra.0:00000000 $t /tmp/ccjvgGVC.s:10039 .text.USBD_CtlSendStatus.isra.0:00000000 USBD_CtlSendStatus.isra.0 /tmp/ccjvgGVC.s:10068 .text.HAL_PCD_DataOutStageCallback.constprop.0:00000000 $t /tmp/ccjvgGVC.s:10075 .text.HAL_PCD_DataOutStageCallback.constprop.0:00000000 HAL_PCD_DataOutStageCallback.constprop.0 /tmp/ccjvgGVC.s:10288 .text.HAL_PCD_DataOutStageCallback.constprop.0:00000084 $d /tmp/ccjvgGVC.s:10293 .text.USBD_CtlSendData.isra.0:00000000 $t /tmp/ccjvgGVC.s:10300 .text.USBD_CtlSendData.isra.0:00000000 USBD_CtlSendData.isra.0 /tmp/ccjvgGVC.s:10352 .text.USBD_ClrClassConfig.isra.0:00000000 $t /tmp/ccjvgGVC.s:10359 .text.USBD_ClrClassConfig.isra.0:00000000 USBD_ClrClassConfig.isra.0 /tmp/ccjvgGVC.s:10380 .text.USB_EP0_OutStart.isra.0:00000000 $t /tmp/ccjvgGVC.s:10387 .text.USB_EP0_OutStart.isra.0:00000000 USB_EP0_OutStart.isra.0 /tmp/ccjvgGVC.s:10471 .text.USB_EP0_OutStart.isra.0:00000048 $d /tmp/ccjvgGVC.s:10476 .text.USBD_LL_StallEP.isra.0:00000000 $t ARM GAS /tmp/ccjvgGVC.s page 1119 /tmp/ccjvgGVC.s:10483 .text.USBD_LL_StallEP.isra.0:00000000 USBD_LL_StallEP.isra.0 /tmp/ccjvgGVC.s:10658 .text.USBD_CtlError.isra.0:00000000 $t /tmp/ccjvgGVC.s:10665 .text.USBD_CtlError.isra.0:00000000 USBD_CtlError.isra.0 /tmp/ccjvgGVC.s:10709 .text.LL_USART_DeInit.isra.0:00000000 $t /tmp/ccjvgGVC.s:10716 .text.LL_USART_DeInit.isra.0:00000000 LL_USART_DeInit.isra.0 /tmp/ccjvgGVC.s:10906 .text.LL_USART_DeInit.isra.0:000000a8 $d /tmp/ccjvgGVC.s:10918 .text._Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t:00000000 $t /tmp/ccjvgGVC.s:10924 .text._Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t:00000000 _Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t /tmp/ccjvgGVC.s:11658 .text._Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t:00000284 $d /tmp/ccjvgGVC.s:11673 .text._Z16stm32_i2c_deinith:00000000 $t /tmp/ccjvgGVC.s:11679 .text._Z16stm32_i2c_deinith:00000000 _Z16stm32_i2c_deinith /tmp/ccjvgGVC.s:11956 .text._Z16stm32_i2c_deinith:00000098 $d /tmp/ccjvgGVC.s:11966 .bss.uwTick:00000000 $d /tmp/ccjvgGVC.s:11969 .bss.uwTick:00000000 uwTick /tmp/ccjvgGVC.s:11972 .rodata._ZL15usbSerialDriver:00000000 $d /tmp/ccjvgGVC.s:11975 .rodata._ZL15usbSerialDriver:00000000 _ZL15usbSerialDriver /tmp/ccjvgGVC.s:12009 .rodata.UsbSerialPort:00000000 UsbSerialPort /tmp/ccjvgGVC.s:12006 .rodata.UsbSerialPort:00000000 $d /tmp/ccjvgGVC.s:12019 .bss._ZL9_i2c_devs:00000000 $d UNDEFINED SYMBOLS _Z20scheduler_is_runningv _Z12mutex_createP14mutex_handle_t _Z10mutex_lockP14mutex_handle_t _Z12mutex_unlockP14mutex_handle_t SDMMC_CmdStopTransfer SD_DMATxAbort.lto_priv.0 _ZL4sdio.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 _ZL9_ms_ticks.lto_priv.0 I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 HAL_SD_GetCardState strlen USBD_StrDesc USBD_Get_USB_Status hUsbDevice HAL_Delay USB_CoreReset.lto_priv.0 hpcd_USB_OTG USB_FlushTxFifo USB_FlushRxFifo pFlash SDMMC_GetCmdResp1.lto_priv.0 HAL_DMA_Start_IT SD_DMATransmitCplt.lto_priv.0 SD_DMAError.lto_priv.0 memcpy _sram ARM GAS /tmp/ccjvgGVC.s page 1120 _heap_start _ZL7scratch.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.034a61b9 stm32_i2c_driver.cpp.5a928bb9 diskio_sdio.cpp.de088c1c stm32f4xx_hal_sd.c.fce97b96 stm32f4xx_ll_sdmmc.c.480b9fa5 stm32f4xx_hal_dma.c.aaf79847 stm32f4xx_hal_i2c.c.5babf799 stm32_hal.cpp.5fa2d4dd timers_driver.cpp.6123c072 usbd_ctlreq.c.170b801d usbd_conf.c.0873f3d7 stm32f4xx_hal_pcd.c.b9bf79ae stm32f4xx_hal_pcd_ex.c.acbfb54e stm32f4xx_hal.c.655a4cc6 stm32f4xx_hal_flash.c.42ea4ea3 usbd_core.c.5297c1c6 usbd_msc_scsi.c.1d296ac0 usbd_ioreq.c.dfbe71b7 stm32f4xx_ll_usart.c.f9e8ba61 stm32f4xx_hal_rcc.c.a76d2c75 stm32f4xx_hal_i2c_ex.c.fed97abf stm32_gpio.cpp.de966cb2 usbd_cdc.cpp.d80fdf96