commit fb2ca87ca2e5a42885e5cb667dca61e2c43adca5 Author: Kaiser <706598421@qq.com> Date: Mon Sep 29 10:42:07 2025 +0800 版本管理首次远端推送 diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..1048220 --- /dev/null +++ b/.clang-format @@ -0,0 +1,31 @@ +BasedOnStyle: LLVM + +# 强制花括号遵循 Allman 风格 +BreakBeforeBraces: Allman + +# 对齐连续的宏定义 +AlignConsecutiveMacros: AcrossEmptyLinesAndComments + +# 控制行宽,避免行太长 +ColumnLimit: 120 + +# 控制空格和标点符号风格 +SpaceBeforeParens: ControlStatements # 控制语句的括号前有空格 +SpaceBeforeAssignmentOperators: true # 赋值操作符前插入空格 + +# 缩进设置 +IndentWidth: 4 # 使用4个空格缩进 + +# 控制每行最大空行数(避免空行过多) +MaxEmptyLinesToKeep: 1 + +# 启用注释对齐,注释前保留一个空格 +AlignTrailingComments: true +SpacesBeforeTrailingComments: 1 + +# 对齐转义的换行符到左侧 +AlignEscapedNewlinesLeft: true + +# 允许将参数换行,但保持多个参数在同一行(打包参数) +AllowAllParametersOfDeclarationOnNextLine: true +BinPackParameters: true # 启用参数打包,减少换行次数 \ No newline at end of file diff --git a/.clangd b/.clangd new file mode 100644 index 0000000..50c62c4 --- /dev/null +++ b/.clangd @@ -0,0 +1,11 @@ +CompileFlags: + Add: + - '-ferror-limit=0' + - '-Wno-implicit-int' + CompilationDatabase: build/Debug +Diagnostics: + Suppress: + - unused-includes + - unknown_typename + - unknown_typename_suggest + - typename_requires_specqual diff --git a/Inc/FreeRTOSConfig.h b/Inc/FreeRTOSConfig.h new file mode 100644 index 0000000..684cf03 --- /dev/null +++ b/Inc/FreeRTOSConfig.h @@ -0,0 +1,170 @@ +/* USER CODE BEGIN Header */ +/* + * FreeRTOS Kernel V10.3.1 + * Portion Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Portion Copyright (C) 2019 StMicroelectronics, Inc. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ +/* USER CODE END Header */ + +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + +/*----------------------------------------------------------- + * Application specific definitions. + * + * These definitions should be adjusted for your particular hardware and + * application requirements. + * + * These parameters and more are described within the 'configuration' section of the + * FreeRTOS API documentation available on the FreeRTOS.org web site. + * + * See http://www.freertos.org/a00110.html + *----------------------------------------------------------*/ + +/* USER CODE BEGIN Includes */ +/* Section where include file can be added */ +/* USER CODE END Includes */ + +/* Ensure definitions are only used by the compiler, and not by the assembler. */ +#if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__) + #include + extern uint32_t SystemCoreClock; +#endif +#ifndef CMSIS_device_header +#define CMSIS_device_header "stm32h7xx.h" +#endif /* CMSIS_device_header */ + +#define configENABLE_FPU 0 +#define configENABLE_MPU 0 + +#define configUSE_PREEMPTION 1 +#define configSUPPORT_STATIC_ALLOCATION 1 +#define configSUPPORT_DYNAMIC_ALLOCATION 1 +#define configUSE_IDLE_HOOK 0 +#define configUSE_TICK_HOOK 0 +#define configCPU_CLOCK_HZ ( SystemCoreClock ) +#define configTICK_RATE_HZ ((TickType_t)1000) +#define configMAX_PRIORITIES ( 56 ) +#define configMINIMAL_STACK_SIZE ((uint16_t)256) +#define configTOTAL_HEAP_SIZE ((size_t)20480) +#define configMAX_TASK_NAME_LEN ( 16 ) +#define configUSE_TRACE_FACILITY 1 +#define configUSE_16_BIT_TICKS 0 +#define configUSE_MUTEXES 1 +#define configQUEUE_REGISTRY_SIZE 8 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configUSE_COUNTING_SEMAPHORES 1 +#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 +/* USER CODE BEGIN MESSAGE_BUFFER_LENGTH_TYPE */ +/* Defaults to size_t for backward compatibility, but can be changed + if lengths will always be less than the number of bytes in a size_t. */ +#define configMESSAGE_BUFFER_LENGTH_TYPE size_t +/* USER CODE END MESSAGE_BUFFER_LENGTH_TYPE */ + +/* Co-routine definitions. */ +#define configUSE_CO_ROUTINES 0 +#define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) + +/* Software timer definitions. */ +#define configUSE_TIMERS 1 +#define configTIMER_TASK_PRIORITY ( 2 ) +#define configTIMER_QUEUE_LENGTH 10 +#define configTIMER_TASK_STACK_DEPTH 256 + +/* CMSIS-RTOS V2 flags */ +#define configUSE_OS2_THREAD_SUSPEND_RESUME 1 +#define configUSE_OS2_THREAD_ENUMERATE 1 +#define configUSE_OS2_EVENTFLAGS_FROM_ISR 1 +#define configUSE_OS2_THREAD_FLAGS 1 +#define configUSE_OS2_TIMER 1 +#define configUSE_OS2_MUTEX 1 + +/* Set the following definitions to 1 to include the API function, or zero +to exclude the API function. */ +#define INCLUDE_vTaskPrioritySet 1 +#define INCLUDE_uxTaskPriorityGet 1 +#define INCLUDE_vTaskDelete 1 +#define INCLUDE_vTaskCleanUpResources 0 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_xTaskGetSchedulerState 1 +#define INCLUDE_xTimerPendFunctionCall 1 +#define INCLUDE_xQueueGetMutexHolder 1 +#define INCLUDE_uxTaskGetStackHighWaterMark 1 +#define INCLUDE_xTaskGetCurrentTaskHandle 1 +#define INCLUDE_eTaskGetState 1 + +/* + * The CMSIS-RTOS V2 FreeRTOS wrapper is dependent on the heap implementation used + * by the application thus the correct define need to be enabled below + */ +#define USE_FreeRTOS_HEAP_4 + +/* Cortex-M specific definitions. */ +#ifdef __NVIC_PRIO_BITS + /* __BVIC_PRIO_BITS will be specified when CMSIS is being used. */ + #define configPRIO_BITS __NVIC_PRIO_BITS +#else + #define configPRIO_BITS 4 +#endif + +/* The lowest interrupt priority that can be used in a call to a "set priority" +function. */ +#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 15 + +/* The highest interrupt priority that can be used by any interrupt service +routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT CALL +INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER +PRIORITY THAN THIS! (higher priorities are lower numeric values. */ +#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5 + +/* Interrupt priorities used by the kernel port layer itself. These are generic +to all Cortex-M ports, and do not rely on any particular library functions. */ +#define configKERNEL_INTERRUPT_PRIORITY ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) ) +/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!! +See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */ +#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) ) + +/* Normal assert() semantics without relying on the provision of an assert.h +header file. */ +/* USER CODE BEGIN 1 */ +#define configASSERT( x ) if ((x) == 0) {taskDISABLE_INTERRUPTS(); for( ;; );} +/* USER CODE END 1 */ + +/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS +standard names. */ +#define vPortSVCHandler SVC_Handler +#define xPortPendSVHandler PendSV_Handler + +/* IMPORTANT: After 10.3.1 update, Systick_Handler comes from NVIC (if SYS timebase = systick), otherwise from cmsis_os2.c */ + +#define USE_CUSTOM_SYSTICK_HANDLER_IMPLEMENTATION 0 + +/* USER CODE BEGIN Defines */ +/* Section where parameter definitions can be added (for instance, to override default ones in FreeRTOS.h) */ +/* USER CODE END Defines */ + +#endif /* FREERTOS_CONFIG_H */ diff --git a/Inc/main.h b/Inc/main.h new file mode 100644 index 0000000..d643f55 --- /dev/null +++ b/Inc/main.h @@ -0,0 +1,84 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.h + * @brief : Header for main.c file. + * This file contains the common defines of the application. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __MAIN_H +#define __MAIN_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + + +/* USER CODE END Includes */ + +/* Exported types ------------------------------------------------------------*/ +/* USER CODE BEGIN ET */ +struct uCommunication +{ + uint16_t Deep; + uint8_t Gain; + uint8_t ChannelNum; + uint8_t MeasurementPrecision; + float MeasurementResult; + _Bool MeasurementFlag; + _Bool SingelStrengthMeasurementFlag; + float BatteryVoltage; + float BatteryCurrent; +}; +extern struct uCommunication CommunicationData; +/* USER CODE END ET */ + +/* Exported constants --------------------------------------------------------*/ +/* USER CODE BEGIN EC */ + +/* USER CODE END EC */ + +/* Exported macro ------------------------------------------------------------*/ +/* USER CODE BEGIN EM */ + +/* USER CODE END EM */ + +void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); + +/* Exported functions prototypes ---------------------------------------------*/ +void Error_Handler(void); + +/* USER CODE BEGIN EFP */ + +/* USER CODE END EFP */ + +/* Private defines -----------------------------------------------------------*/ + +/* USER CODE BEGIN Private defines */ + +/* USER CODE END Private defines */ + +#ifdef __cplusplus +} +#endif + +#endif /* __MAIN_H */ diff --git a/Inc/stm32h7xx_hal_conf.h b/Inc/stm32h7xx_hal_conf.h new file mode 100644 index 0000000..aa97ca0 --- /dev/null +++ b/Inc/stm32h7xx_hal_conf.h @@ -0,0 +1,514 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32h7xx_hal_conf.h + * @author MCD Application Team + * @brief HAL configuration file. + ****************************************************************************** + * @attention + * + * Copyright (c) 2017 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef STM32H7xx_HAL_CONF_H +#define STM32H7xx_HAL_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED + + #define HAL_ADC_MODULE_ENABLED +/* #define HAL_FDCAN_MODULE_ENABLED */ +/* #define HAL_FMAC_MODULE_ENABLED */ +/* #define HAL_CEC_MODULE_ENABLED */ +/* #define HAL_COMP_MODULE_ENABLED */ +/* #define HAL_CORDIC_MODULE_ENABLED */ +/* #define HAL_CRC_MODULE_ENABLED */ +/* #define HAL_CRYP_MODULE_ENABLED */ +/* #define HAL_DAC_MODULE_ENABLED */ +/* #define HAL_DCMI_MODULE_ENABLED */ +/* #define HAL_DMA2D_MODULE_ENABLED */ +/* #define HAL_ETH_MODULE_ENABLED */ +/* #define HAL_ETH_LEGACY_MODULE_ENABLED */ +/* #define HAL_NAND_MODULE_ENABLED */ +/* #define HAL_NOR_MODULE_ENABLED */ +/* #define HAL_OTFDEC_MODULE_ENABLED */ +/* #define HAL_SRAM_MODULE_ENABLED */ +/* #define HAL_SDRAM_MODULE_ENABLED */ +/* #define HAL_HASH_MODULE_ENABLED */ +/* #define HAL_HRTIM_MODULE_ENABLED */ +/* #define HAL_HSEM_MODULE_ENABLED */ +/* #define HAL_GFXMMU_MODULE_ENABLED */ +/* #define HAL_JPEG_MODULE_ENABLED */ +/* #define HAL_OPAMP_MODULE_ENABLED */ +/* #define HAL_OSPI_MODULE_ENABLED */ +/* #define HAL_I2S_MODULE_ENABLED */ +/* #define HAL_SMBUS_MODULE_ENABLED */ +/* #define HAL_IWDG_MODULE_ENABLED */ +/* #define HAL_LPTIM_MODULE_ENABLED */ +/* #define HAL_LTDC_MODULE_ENABLED */ +/* #define HAL_QSPI_MODULE_ENABLED */ +/* #define HAL_RAMECC_MODULE_ENABLED */ +/* #define HAL_RNG_MODULE_ENABLED */ +/* #define HAL_RTC_MODULE_ENABLED */ +/* #define HAL_SAI_MODULE_ENABLED */ +/* #define HAL_SD_MODULE_ENABLED */ +/* #define HAL_MMC_MODULE_ENABLED */ +/* #define HAL_SPDIFRX_MODULE_ENABLED */ +/* #define HAL_SPI_MODULE_ENABLED */ +/* #define HAL_SWPMI_MODULE_ENABLED */ +#define HAL_TIM_MODULE_ENABLED +#define HAL_UART_MODULE_ENABLED +/* #define HAL_USART_MODULE_ENABLED */ +/* #define HAL_IRDA_MODULE_ENABLED */ +/* #define HAL_SMARTCARD_MODULE_ENABLED */ +/* #define HAL_WWDG_MODULE_ENABLED */ +#define HAL_PCD_MODULE_ENABLED +/* #define HAL_HCD_MODULE_ENABLED */ +/* #define HAL_DFSDM_MODULE_ENABLED */ +/* #define HAL_DSI_MODULE_ENABLED */ +/* #define HAL_JPEG_MODULE_ENABLED */ +/* #define HAL_MDIOS_MODULE_ENABLED */ +/* #define HAL_PSSI_MODULE_ENABLED */ +/* #define HAL_DTS_MODULE_ENABLED */ +#define HAL_GPIO_MODULE_ENABLED +#define HAL_DMA_MODULE_ENABLED +#define HAL_MDMA_MODULE_ENABLED +#define HAL_RCC_MODULE_ENABLED +#define HAL_FLASH_MODULE_ENABLED +#define HAL_EXTI_MODULE_ENABLED +#define HAL_PWR_MODULE_ENABLED +#define HAL_I2C_MODULE_ENABLED +#define HAL_CORTEX_MODULE_ENABLED +#define HAL_HSEM_MODULE_ENABLED + +/* ########################## Oscillator Values adaptation ####################*/ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) +#define HSE_VALUE (25000000UL) /*!< Value of the External oscillator in Hz : FPGA case fixed to 60MHZ */ +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) + #define HSE_STARTUP_TIMEOUT (100UL) /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal oscillator (CSI) default value. + * This value is the default CSI value after Reset. + */ +#if !defined (CSI_VALUE) + #define CSI_VALUE (4000000UL) /*!< Value of the Internal oscillator in Hz*/ +#endif /* CSI_VALUE */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) + #define HSI_VALUE (64000000UL) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +/** + * @brief External Low Speed oscillator (LSE) value. + * This value is used by the UART, RTC HAL module to compute the system frequency + */ +#if !defined (LSE_VALUE) + #define LSE_VALUE (32768UL) /*!< Value of the External oscillator in Hz*/ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) + #define LSE_STARTUP_TIMEOUT (5000UL) /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +#if !defined (LSI_VALUE) + #define LSI_VALUE (32000UL) /*!< LSI Typical Value in Hz*/ +#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz + The real value may vary depending on the variations + in voltage and temperature.*/ + +/** + * @brief External clock source for I2S peripheral + * This value is used by the I2S HAL module to compute the I2S clock source + * frequency, this source is inserted directly through I2S_CKIN pad. + */ +#if !defined (EXTERNAL_CLOCK_VALUE) + #define EXTERNAL_CLOCK_VALUE 12288000UL /*!< Value of the External clock in Hz*/ +#endif /* EXTERNAL_CLOCK_VALUE */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE (3300UL) /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY (15UL) /*!< tick interrupt priority */ +#define USE_RTOS 0 +#define USE_SD_TRANSCEIVER 0U /*!< use uSD Transceiver */ +#define USE_SPI_CRC 0U /*!< use CRC in SPI */ + +#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */ +#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */ +#define USE_HAL_COMP_REGISTER_CALLBACKS 0U /* COMP register callback disabled */ +#define USE_HAL_CORDIC_REGISTER_CALLBACKS 0U /* CORDIC register callback disabled */ +#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U /* CRYP register callback disabled */ +#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */ +#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U /* DCMI register callback disabled */ +#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U /* DFSDM register callback disabled */ +#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U /* DMA2D register callback disabled */ +#define USE_HAL_DSI_REGISTER_CALLBACKS 0U /* DSI register callback disabled */ +#define USE_HAL_DTS_REGISTER_CALLBACKS 0U /* DTS register callback disabled */ +#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */ +#define USE_HAL_FDCAN_REGISTER_CALLBACKS 0U /* FDCAN register callback disabled */ +#define USE_HAL_FMAC_REGISTER_CALLBACKS 0U /* FMAC register callback disabled */ +#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */ +#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */ +#define USE_HAL_SDRAM_REGISTER_CALLBACKS 0U /* SDRAM register callback disabled */ +#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */ +#define USE_HAL_HASH_REGISTER_CALLBACKS 0U /* HASH register callback disabled */ +#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */ +#define USE_HAL_GFXMMU_REGISTER_CALLBACKS 0U /* GFXMMU register callback disabled */ +#define USE_HAL_HRTIM_REGISTER_CALLBACKS 0U /* HRTIM register callback disabled */ +#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */ +#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */ +#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */ +#define USE_HAL_JPEG_REGISTER_CALLBACKS 0U /* JPEG register callback disabled */ +#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U /* LPTIM register callback disabled */ +#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U /* LTDC register callback disabled */ +#define USE_HAL_MDIOS_REGISTER_CALLBACKS 0U /* MDIO register callback disabled */ +#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */ +#define USE_HAL_OPAMP_REGISTER_CALLBACKS 0U /* MDIO register callback disabled */ +#define USE_HAL_OSPI_REGISTER_CALLBACKS 0U /* OSPI register callback disabled */ +#define USE_HAL_OTFDEC_REGISTER_CALLBACKS 0U /* OTFDEC register callback disabled */ +#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */ +#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U /* QSPI register callback disabled */ +#define USE_HAL_RNG_REGISTER_CALLBACKS 0U /* RNG register callback disabled */ +#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */ +#define USE_HAL_SAI_REGISTER_CALLBACKS 0U /* SAI register callback disabled */ +#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */ +#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */ +#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */ +#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */ +#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */ +#define USE_HAL_SWPMI_REGISTER_CALLBACKS 0U /* SWPMI register callback disabled */ +#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */ +#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */ +#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */ +#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */ + +/* ########################### Ethernet Configuration ######################### */ +#define ETH_TX_DESC_CNT 4U /* number of Ethernet Tx DMA descriptors */ +#define ETH_RX_DESC_CNT 4U /* number of Ethernet Rx DMA descriptors */ + +#define ETH_MAC_ADDR0 (0x02UL) +#define ETH_MAC_ADDR1 (0x00UL) +#define ETH_MAC_ADDR2 (0x00UL) +#define ETH_MAC_ADDR3 (0x00UL) +#define ETH_MAC_ADDR4 (0x00UL) +#define ETH_MAC_ADDR5 (0x00UL) + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1U */ + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED + #include "stm32h7xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED + #include "stm32h7xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED + #include "stm32h7xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_MDMA_MODULE_ENABLED + #include "stm32h7xx_hal_mdma.h" +#endif /* HAL_MDMA_MODULE_ENABLED */ + +#ifdef HAL_HASH_MODULE_ENABLED + #include "stm32h7xx_hal_hash.h" +#endif /* HAL_HASH_MODULE_ENABLED */ + +#ifdef HAL_DCMI_MODULE_ENABLED + #include "stm32h7xx_hal_dcmi.h" +#endif /* HAL_DCMI_MODULE_ENABLED */ + +#ifdef HAL_DMA2D_MODULE_ENABLED + #include "stm32h7xx_hal_dma2d.h" +#endif /* HAL_DMA2D_MODULE_ENABLED */ + +#ifdef HAL_DSI_MODULE_ENABLED + #include "stm32h7xx_hal_dsi.h" +#endif /* HAL_DSI_MODULE_ENABLED */ + +#ifdef HAL_DFSDM_MODULE_ENABLED + #include "stm32h7xx_hal_dfsdm.h" +#endif /* HAL_DFSDM_MODULE_ENABLED */ + +#ifdef HAL_DTS_MODULE_ENABLED + #include "stm32h7xx_hal_dts.h" +#endif /* HAL_DTS_MODULE_ENABLED */ + +#ifdef HAL_ETH_MODULE_ENABLED + #include "stm32h7xx_hal_eth.h" +#endif /* HAL_ETH_MODULE_ENABLED */ + +#ifdef HAL_ETH_LEGACY_MODULE_ENABLED + #include "stm32h7xx_hal_eth_legacy.h" +#endif /* HAL_ETH_LEGACY_MODULE_ENABLED */ + +#ifdef HAL_EXTI_MODULE_ENABLED + #include "stm32h7xx_hal_exti.h" +#endif /* HAL_EXTI_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED + #include "stm32h7xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED + #include "stm32h7xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_FDCAN_MODULE_ENABLED + #include "stm32h7xx_hal_fdcan.h" +#endif /* HAL_FDCAN_MODULE_ENABLED */ + +#ifdef HAL_CEC_MODULE_ENABLED + #include "stm32h7xx_hal_cec.h" +#endif /* HAL_CEC_MODULE_ENABLED */ + +#ifdef HAL_COMP_MODULE_ENABLED + #include "stm32h7xx_hal_comp.h" +#endif /* HAL_COMP_MODULE_ENABLED */ + +#ifdef HAL_CORDIC_MODULE_ENABLED + #include "stm32h7xx_hal_cordic.h" +#endif /* HAL_CORDIC_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED + #include "stm32h7xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_CRYP_MODULE_ENABLED + #include "stm32h7xx_hal_cryp.h" +#endif /* HAL_CRYP_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED + #include "stm32h7xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED + #include "stm32h7xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_GFXMMU_MODULE_ENABLED + #include "stm32h7xx_hal_gfxmmu.h" +#endif /* HAL_GFXMMU_MODULE_ENABLED */ + +#ifdef HAL_FMAC_MODULE_ENABLED + #include "stm32h7xx_hal_fmac.h" +#endif /* HAL_FMAC_MODULE_ENABLED */ + +#ifdef HAL_HRTIM_MODULE_ENABLED + #include "stm32h7xx_hal_hrtim.h" +#endif /* HAL_HRTIM_MODULE_ENABLED */ + +#ifdef HAL_HSEM_MODULE_ENABLED + #include "stm32h7xx_hal_hsem.h" +#endif /* HAL_HSEM_MODULE_ENABLED */ + +#ifdef HAL_SRAM_MODULE_ENABLED + #include "stm32h7xx_hal_sram.h" +#endif /* HAL_SRAM_MODULE_ENABLED */ + +#ifdef HAL_NOR_MODULE_ENABLED + #include "stm32h7xx_hal_nor.h" +#endif /* HAL_NOR_MODULE_ENABLED */ + +#ifdef HAL_NAND_MODULE_ENABLED + #include "stm32h7xx_hal_nand.h" +#endif /* HAL_NAND_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED + #include "stm32h7xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED + #include "stm32h7xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED + #include "stm32h7xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_JPEG_MODULE_ENABLED + #include "stm32h7xx_hal_jpeg.h" +#endif /* HAL_JPEG_MODULE_ENABLED */ + +#ifdef HAL_MDIOS_MODULE_ENABLED + #include "stm32h7xx_hal_mdios.h" +#endif /* HAL_MDIOS_MODULE_ENABLED */ + +#ifdef HAL_MMC_MODULE_ENABLED + #include "stm32h7xx_hal_mmc.h" +#endif /* HAL_MMC_MODULE_ENABLED */ + +#ifdef HAL_LPTIM_MODULE_ENABLED +#include "stm32h7xx_hal_lptim.h" +#endif /* HAL_LPTIM_MODULE_ENABLED */ + +#ifdef HAL_LTDC_MODULE_ENABLED +#include "stm32h7xx_hal_ltdc.h" +#endif /* HAL_LTDC_MODULE_ENABLED */ + +#ifdef HAL_OPAMP_MODULE_ENABLED +#include "stm32h7xx_hal_opamp.h" +#endif /* HAL_OPAMP_MODULE_ENABLED */ + +#ifdef HAL_OSPI_MODULE_ENABLED + #include "stm32h7xx_hal_ospi.h" +#endif /* HAL_OSPI_MODULE_ENABLED */ + +#ifdef HAL_OTFDEC_MODULE_ENABLED +#include "stm32h7xx_hal_otfdec.h" +#endif /* HAL_OTFDEC_MODULE_ENABLED */ + +#ifdef HAL_PSSI_MODULE_ENABLED + #include "stm32h7xx_hal_pssi.h" +#endif /* HAL_PSSI_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED + #include "stm32h7xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_QSPI_MODULE_ENABLED + #include "stm32h7xx_hal_qspi.h" +#endif /* HAL_QSPI_MODULE_ENABLED */ + +#ifdef HAL_RAMECC_MODULE_ENABLED + #include "stm32h7xx_hal_ramecc.h" +#endif /* HAL_RAMECC_MODULE_ENABLED */ + +#ifdef HAL_RNG_MODULE_ENABLED + #include "stm32h7xx_hal_rng.h" +#endif /* HAL_RNG_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED + #include "stm32h7xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_SAI_MODULE_ENABLED + #include "stm32h7xx_hal_sai.h" +#endif /* HAL_SAI_MODULE_ENABLED */ + +#ifdef HAL_SD_MODULE_ENABLED + #include "stm32h7xx_hal_sd.h" +#endif /* HAL_SD_MODULE_ENABLED */ + +#ifdef HAL_SDRAM_MODULE_ENABLED + #include "stm32h7xx_hal_sdram.h" +#endif /* HAL_SDRAM_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED + #include "stm32h7xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_SPDIFRX_MODULE_ENABLED + #include "stm32h7xx_hal_spdifrx.h" +#endif /* HAL_SPDIFRX_MODULE_ENABLED */ + +#ifdef HAL_SWPMI_MODULE_ENABLED + #include "stm32h7xx_hal_swpmi.h" +#endif /* HAL_SWPMI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED + #include "stm32h7xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED + #include "stm32h7xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED + #include "stm32h7xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_IRDA_MODULE_ENABLED + #include "stm32h7xx_hal_irda.h" +#endif /* HAL_IRDA_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED + #include "stm32h7xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_SMBUS_MODULE_ENABLED + #include "stm32h7xx_hal_smbus.h" +#endif /* HAL_SMBUS_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED + #include "stm32h7xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED + #include "stm32h7xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_HCD_MODULE_ENABLED + #include "stm32h7xx_hal_hcd.h" +#endif /* HAL_HCD_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t *file, uint32_t line); +#else + #define assert_param(expr) ((void)0U) +#endif /* USE_FULL_ASSERT */ + +#ifdef __cplusplus +} +#endif + +#endif /* STM32H7xx_HAL_CONF_H */ diff --git a/Inc/stm32h7xx_it.h b/Inc/stm32h7xx_it.h new file mode 100644 index 0000000..af6e755 --- /dev/null +++ b/Inc/stm32h7xx_it.h @@ -0,0 +1,69 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32h7xx_it.h + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32H7xx_IT_H +#define __STM32H7xx_IT_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Exported types ------------------------------------------------------------*/ +/* USER CODE BEGIN ET */ + +/* USER CODE END ET */ + +/* Exported constants --------------------------------------------------------*/ +/* USER CODE BEGIN EC */ + +/* USER CODE END EC */ + +/* Exported macro ------------------------------------------------------------*/ +/* USER CODE BEGIN EM */ + +/* USER CODE END EM */ + +/* Exported functions prototypes ---------------------------------------------*/ +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void DebugMon_Handler(void); +void DMA1_Stream5_IRQHandler(void); +void USART1_IRQHandler(void); +void TIM7_IRQHandler(void); +void OTG_FS_IRQHandler(void); +void DMAMUX2_OVR_IRQHandler(void); +void BDMA_Channel0_IRQHandler(void); +/* USER CODE BEGIN EFP */ + +/* USER CODE END EFP */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32H7xx_IT_H */ diff --git a/Inc/usb_device.h b/Inc/usb_device.h new file mode 100644 index 0000000..7bba362 --- /dev/null +++ b/Inc/usb_device.h @@ -0,0 +1,102 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : usb_device.h + * @version : v1.0_Cube + * @brief : Header for usb_device.c file. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_DEVICE__H__ +#define __USB_DEVICE__H__ + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx.h" +#include "stm32h7xx_hal.h" +#include "usbd_def.h" + +/* USER CODE BEGIN INCLUDE */ + +/* USER CODE END INCLUDE */ + +/** @addtogroup USBD_OTG_DRIVER + * @{ + */ + +/** @defgroup USBD_DEVICE USBD_DEVICE + * @brief Device file for Usb otg low level driver. + * @{ + */ + +/** @defgroup USBD_DEVICE_Exported_Variables USBD_DEVICE_Exported_Variables + * @brief Public variables. + * @{ + */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* + * -- Insert your variables declaration here -- + */ +/* USER CODE BEGIN VARIABLES */ + +/* USER CODE END VARIABLES */ +/** + * @} + */ + +/** @defgroup USBD_DEVICE_Exported_FunctionsPrototype USBD_DEVICE_Exported_FunctionsPrototype + * @brief Declaration of public functions for Usb device. + * @{ + */ + +/** USB Device initialization function. */ +void MX_USB_DEVICE_Init(void); + +/* + * -- Insert functions declaration here -- + */ +/* USER CODE BEGIN FD */ + +/* USER CODE END FD */ +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __USB_DEVICE__H__ */ diff --git a/Inc/usbd_cdc_if.h b/Inc/usbd_cdc_if.h new file mode 100644 index 0000000..f74a220 --- /dev/null +++ b/Inc/usbd_cdc_if.h @@ -0,0 +1,132 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : usbd_cdc_if.h + * @version : v1.0_Cube + * @brief : Header for usbd_cdc_if.c file. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ + +#ifndef __USBD_CDC_IF_H__ +#define __USBD_CDC_IF_H__ + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "usbd_cdc.h" + +/* USER CODE BEGIN INCLUDE */ + +/* USER CODE END INCLUDE */ + +/** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY + * @brief For Usb device. + * @{ + */ + +/** @defgroup USBD_CDC_IF USBD_CDC_IF + * @brief Usb VCP device module + * @{ + */ + +/** @defgroup USBD_CDC_IF_Exported_Defines USBD_CDC_IF_Exported_Defines + * @brief Defines. + * @{ + */ +/* Define size for the receive and transmit buffer over CDC */ +#define APP_RX_DATA_SIZE 2048 +#define APP_TX_DATA_SIZE 2048 +/* USER CODE BEGIN EXPORTED_DEFINES */ + +/* USER CODE END EXPORTED_DEFINES */ + +/** + * @} + */ + +/** @defgroup USBD_CDC_IF_Exported_Types USBD_CDC_IF_Exported_Types + * @brief Types. + * @{ + */ + +/* USER CODE BEGIN EXPORTED_TYPES */ + +/* USER CODE END EXPORTED_TYPES */ + +/** + * @} + */ + +/** @defgroup USBD_CDC_IF_Exported_Macros USBD_CDC_IF_Exported_Macros + * @brief Aliases. + * @{ + */ + +/* USER CODE BEGIN EXPORTED_MACRO */ + +/* USER CODE END EXPORTED_MACRO */ + +/** + * @} + */ + +/** @defgroup USBD_CDC_IF_Exported_Variables USBD_CDC_IF_Exported_Variables + * @brief Public variables. + * @{ + */ + +/** CDC Interface callback. */ +extern USBD_CDC_ItfTypeDef USBD_Interface_fops_FS; + +/* USER CODE BEGIN EXPORTED_VARIABLES */ + +/* USER CODE END EXPORTED_VARIABLES */ + +/** + * @} + */ + +/** @defgroup USBD_CDC_IF_Exported_FunctionsPrototype USBD_CDC_IF_Exported_FunctionsPrototype + * @brief Public functions declaration. + * @{ + */ + +uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len); + +/* USER CODE BEGIN EXPORTED_FUNCTIONS */ + +/* USER CODE END EXPORTED_FUNCTIONS */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __USBD_CDC_IF_H__ */ + diff --git a/Inc/usbd_conf.h b/Inc/usbd_conf.h new file mode 100644 index 0000000..00effc8 --- /dev/null +++ b/Inc/usbd_conf.h @@ -0,0 +1,173 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : usbd_conf.h + * @version : v1.0_Cube + * @brief : Header for usbd_conf.c file. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USBD_CONF__H__ +#define __USBD_CONF__H__ + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include +#include +#include +#include "main.h" +#include "stm32h7xx.h" +#include "stm32h7xx_hal.h" + +/* USER CODE BEGIN INCLUDE */ + +/* USER CODE END INCLUDE */ + +/** @addtogroup USBD_OTG_DRIVER + * @brief Driver for Usb device. + * @{ + */ + +/** @defgroup USBD_CONF USBD_CONF + * @brief Configuration file for Usb otg low level driver. + * @{ + */ + +/** @defgroup USBD_CONF_Exported_Variables USBD_CONF_Exported_Variables + * @brief Public variables. + * @{ + */ + +/** + * @} + */ + +/** @defgroup USBD_CONF_Exported_Defines USBD_CONF_Exported_Defines + * @brief Defines for configuration of the Usb device. + * @{ + */ + +/*---------- -----------*/ +#define USBD_MAX_NUM_INTERFACES 1U +/*---------- -----------*/ +#define USBD_MAX_NUM_CONFIGURATION 1U +/*---------- -----------*/ +#define USBD_MAX_STR_DESC_SIZ 512U +/*---------- -----------*/ +#define USBD_DEBUG_LEVEL 0U +/*---------- -----------*/ +#define USBD_LPM_ENABLED 1U +/*---------- -----------*/ +#define USBD_SELF_POWERED 1U + +/****************************************/ +/* #define for FS and HS identification */ +#define DEVICE_FS 0 +#define DEVICE_HS 1 + +/** + * @} + */ + +/** @defgroup USBD_CONF_Exported_Macros USBD_CONF_Exported_Macros + * @brief Aliases. + * @{ + */ +/* Memory management macros make sure to use static memory allocation */ +/** Alias for memory allocation. */ + +#define USBD_malloc (void *)USBD_static_malloc + +/** Alias for memory release. */ +#define USBD_free USBD_static_free + +/** Alias for memory set. */ +#define USBD_memset memset + +/** Alias for memory copy. */ +#define USBD_memcpy memcpy + +/** Alias for delay. */ +#define USBD_Delay HAL_Delay + +/* DEBUG macros */ + +#if (USBD_DEBUG_LEVEL > 0) +#define USBD_UsrLog(...) printf(__VA_ARGS__);\ + printf("\n"); +#else +#define USBD_UsrLog(...) +#endif /* (USBD_DEBUG_LEVEL > 0U) */ + +#if (USBD_DEBUG_LEVEL > 1) + +#define USBD_ErrLog(...) printf("ERROR: ");\ + printf(__VA_ARGS__);\ + printf("\n"); +#else +#define USBD_ErrLog(...) +#endif /* (USBD_DEBUG_LEVEL > 1U) */ + +#if (USBD_DEBUG_LEVEL > 2) +#define USBD_DbgLog(...) printf("DEBUG : ");\ + printf(__VA_ARGS__);\ + printf("\n"); +#else +#define USBD_DbgLog(...) +#endif /* (USBD_DEBUG_LEVEL > 2U) */ + +/** + * @} + */ + +/** @defgroup USBD_CONF_Exported_Types USBD_CONF_Exported_Types + * @brief Types. + * @{ + */ + +/** + * @} + */ + +/** @defgroup USBD_CONF_Exported_FunctionsPrototype USBD_CONF_Exported_FunctionsPrototype + * @brief Declaration of public functions for Usb device. + * @{ + */ + +/* Exported functions -------------------------------------------------------*/ +void *USBD_static_malloc(uint32_t size); +void USBD_static_free(void *p); + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __USBD_CONF__H__ */ + diff --git a/Inc/usbd_desc.h b/Inc/usbd_desc.h new file mode 100644 index 0000000..0146169 --- /dev/null +++ b/Inc/usbd_desc.h @@ -0,0 +1,143 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : usbd_desc.c + * @version : v1.0_Cube + * @brief : Header for usbd_conf.c file. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USBD_DESC__C__ +#define __USBD_DESC__C__ + +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "usbd_def.h" + +/* USER CODE BEGIN INCLUDE */ + +/* USER CODE END INCLUDE */ + +/** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY + * @{ + */ + +/** @defgroup USBD_DESC USBD_DESC + * @brief Usb device descriptors module. + * @{ + */ + +/** @defgroup USBD_DESC_Exported_Constants USBD_DESC_Exported_Constants + * @brief Constants. + * @{ + */ +#define DEVICE_ID1 (UID_BASE) +#define DEVICE_ID2 (UID_BASE + 0x4) +#define DEVICE_ID3 (UID_BASE + 0x8) + +#define USB_SIZ_STRING_SERIAL 0x1A + +/* USER CODE BEGIN EXPORTED_CONSTANTS */ + +/* USER CODE END EXPORTED_CONSTANTS */ + +/** + * @} + */ + +/** @defgroup USBD_DESC_Exported_Defines USBD_DESC_Exported_Defines + * @brief Defines. + * @{ + */ + +/* USER CODE BEGIN EXPORTED_DEFINES */ + +/* USER CODE END EXPORTED_DEFINES */ + +/** + * @} + */ + +/** @defgroup USBD_DESC_Exported_TypesDefinitions USBD_DESC_Exported_TypesDefinitions + * @brief Types. + * @{ + */ + +/* USER CODE BEGIN EXPORTED_TYPES */ + +/* USER CODE END EXPORTED_TYPES */ + +/** + * @} + */ + +/** @defgroup USBD_DESC_Exported_Macros USBD_DESC_Exported_Macros + * @brief Aliases. + * @{ + */ + +/* USER CODE BEGIN EXPORTED_MACRO */ + +/* USER CODE END EXPORTED_MACRO */ + +/** + * @} + */ + +/** @defgroup USBD_DESC_Exported_Variables USBD_DESC_Exported_Variables + * @brief Public variables. + * @{ + */ + +/** Descriptor for the Usb device. */ +extern USBD_DescriptorsTypeDef FS_Desc; + +/* USER CODE BEGIN EXPORTED_VARIABLES */ + +/* USER CODE END EXPORTED_VARIABLES */ + +/** + * @} + */ + +/** @defgroup USBD_DESC_Exported_FunctionsPrototype USBD_DESC_Exported_FunctionsPrototype + * @brief Public functions declaration. + * @{ + */ + +/* USER CODE BEGIN EXPORTED_FUNCTIONS */ + +/* USER CODE END EXPORTED_FUNCTIONS */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __USBD_DESC__C__ */ + diff --git a/MDK-ARM/RTE/_WTZS32-2/RTE_Components.h b/MDK-ARM/RTE/_WTZS32-2/RTE_Components.h new file mode 100644 index 0000000..fa4a6b0 --- /dev/null +++ b/MDK-ARM/RTE/_WTZS32-2/RTE_Components.h @@ -0,0 +1,14 @@ +/* + * UVISION generated file: DO NOT EDIT! + * Generated by: uVision version 5.42.0.0 + * + * Project: 'WTZS32-2' + * Target: 'WTZS32-2' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/MDK-ARM/RTE/_WTZS32V2/RTE_Components.h b/MDK-ARM/RTE/_WTZS32V2/RTE_Components.h new file mode 100644 index 0000000..9944f68 --- /dev/null +++ b/MDK-ARM/RTE/_WTZS32V2/RTE_Components.h @@ -0,0 +1,20 @@ +/* + * UVISION generated file: DO NOT EDIT! + * Generated by: uVision version 5.40.0.0 + * + * Project: 'WTZS32V2' + * Target: 'WTZS32V2' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32h7xx.h" + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/MDK-ARM/WTZS32-2.uvprojx b/MDK-ARM/WTZS32-2.uvprojx new file mode 100644 index 0000000..2bd9b6c --- /dev/null +++ b/MDK-ARM/WTZS32-2.uvprojx @@ -0,0 +1,2895 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + + WTZS32-2 + 0x4 + ARM-ADS + 5060960::V5.06 update 7 (build 960)::.\ARM_Compiler_5.06u7 + 5060960::V5.06 update 7 (build 960)::.\ARM_Compiler_5.06u7 + 0 + + + STM32H750IBTx + STMicroelectronics + Keil.STM32H7xx_DFP.4.1.0 + https://www.keil.com/pack/ + IRAM(0x20000000-0x2001FFFF) IRAM2(0x24000000-0x2407FFFF) IROM(0x8000000-0x801FFFF) CLOCK(12000000) FPU3(DFPU) CPUTYPE("Cortex-M7") ELITTLE + + + + + + + + + + + + + + + $$Device:STM32H750IBTx$CMSIS\SVD\STM32H750.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + WTZS32-2\ + WTZS32-2 + 1 + 0 + 1 + 1 + 1 + + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 1 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 0 + + + SARMCM3.DLL + -REMAP -MPU + DCM.DLL + -pCM7 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM7 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4101 + + 1 + STLink\ST-LINKIII-KEIL_SWO.dll + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M7" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 3 + 0 + 0 + 0 + 1 + 0 + 8 + 0 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 1 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 0 + 0x24000000 + 0x80000 + + + + + + 1 + 2 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 1 + 1 + 0 + 3 + 3 + 1 + 1 + 0 + 0 + 0 + + + USE_HAL_DRIVER,STM32H750xx,USE_PWR_LDO_SUPPLY + + ../Inc;C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Inc;C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Inc/Legacy;C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/include;C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2;C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Inc;C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc;C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/CMSIS/Device/ST/STM32H7xx/Include;C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/CMSIS/Include + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + + + + + ../Inc;C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/CMSIS/Include + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08000000 + 0x20000000 + + + + + + + + + + + + + Application/MDK-ARM + + + startup_stm32h750xx.s + 2 + startup_stm32h750xx.s + + + + + Application/User + + + Communicaion.c + 1 + ..\Src\Communicaion.c + + + main.c + 1 + ../Src/main.c + + + freertos.c + 1 + ../Src/freertos.c + + + usb_device.c + 1 + ../Src/usb_device.c + + + usbd_conf.c + 1 + ../Src/usbd_conf.c + + + usbd_desc.c + 1 + ../Src/usbd_desc.c + + + usbd_cdc_if.c + 1 + ../Src/usbd_cdc_if.c + + + stm32h7xx_it.c + 1 + ../Src/stm32h7xx_it.c + + + stm32h7xx_hal_msp.c + 1 + ../Src/stm32h7xx_hal_msp.c + + + stm32h7xx_hal_timebase_tim.c + 1 + ../Src/stm32h7xx_hal_timebase_tim.c + + + + + Drivers/CMSIS + + + system_stm32h7xx.c + 1 + ../Src/system_stm32h7xx.c + + + + + Drivers/STM32H7xx_HAL_Driver + + + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 4 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + + + + + + + + + + + + stm32h7xx_hal_tim.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_tim_ex.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_pcd.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_pcd_ex.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_ll_usb.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_rcc.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_rcc_ex.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_flash.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_flash_ex.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_gpio.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_hsem.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_dma.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_dma_ex.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_mdma.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_pwr.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_pwr_ex.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_cortex.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_i2c.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_i2c_ex.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_exti.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_adc.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_adc_ex.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_uart.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32h7xx_hal_uart_ex.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + Middlewares/FreeRTOS + + + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 4 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + + + + + + + + + + + + croutine.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/croutine.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + event_groups.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + list.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/list.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + queue.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/queue.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stream_buffer.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + tasks.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/tasks.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + timers.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/timers.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + cmsis_os2.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + heap_4.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + port.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + Middlewares/USB_Device_Library + + + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 4 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + + + + + + + + + + + + usbd_core.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + usbd_ctlreq.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + usbd_ioreq.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + usbd_cdc.c + 1 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + ::CMSIS + + + + + + + + + + + + + + + + + + + + + + WTZS32-2 + 1 + + + + +
diff --git a/MDK-ARM/WTZS32-2/WTZS32-2.axf b/MDK-ARM/WTZS32-2/WTZS32-2.axf new file mode 100644 index 0000000..e05bdd9 Binary files /dev/null and b/MDK-ARM/WTZS32-2/WTZS32-2.axf differ diff --git a/MDK-ARM/WTZS32-2/WTZS32-2.hex b/MDK-ARM/WTZS32-2/WTZS32-2.hex new file mode 100644 index 0000000..6109622 --- /dev/null +++ b/MDK-ARM/WTZS32-2/WTZS32-2.hex @@ -0,0 +1,3729 @@ +:020000040800F2 +:10000000B057012439040008EF8A0008EF7F000888 +:10001000ED8A0008A10B000861B50008000000008F +:10002000000000000000000000000000790300084C +:10003000851D000800000000D50300085993000842 +:100040005304000853040008530400085304000834 +:100050005304000853040008530400085304000824 +:100060005304000853040008530400085304000814 +:100070005304000853040008530400085304000804 +:10008000DD18000853040008530400085304000856 +:1000900053040008530400085304000853040008E4 +:1000A00053040008530400085304000853040008D4 +:1000B00053040008530400085304000853040008C4 +:1000C00053040008530400085304000853040008B4 +:1000D00053040008A9A200085304000853040008B0 +:1000E00053040008530400080000000053040008F3 +:1000F0005304000853040008530400085304000884 +:100100005304000853040008530400085304000873 +:10011000530400085304000853040008F99400082D +:100120005304000853040008530400085304000853 +:100130005304000853040008530400085304000843 +:1001400000000000000000000000000000000000AF +:100150005304000853040008530400085304000823 +:100160005304000853040008530400085304000813 +:100170005304000853040008530400085304000803 +:1001800053040008530400085304000853040008F3 +:1001900053040008530400085304000853040008E3 +:1001A00053040008530400085304000853040008D3 +:1001B00053040008530400085304000853040008C3 +:1001C00053040008530400085304000853040008B3 +:1001D00053040008F18A000853040008530400087F +:1001E0005304000853040008530400085304000893 +:1001F0005304000853040008530400085304000883 +:100200005304000853040008530400085304000872 +:100210005304000853040008530400085304000862 +:1002200053040008530400085304000800000000B1 +:1002300053040008530400080000000053040008A1 +:10024000E9180008950B000853040008530400083F +:100250005304000853040008530400085304000822 +:100260005304000853040008530400085304000812 +:100270005304000853040008530400080000000061 +:100280005304000853040008530400080000000051 +:10029000000000005304000800F002F800F05CF8D1 +:1002A0000AA090E8000C82448344AAF10107DA45D1 +:1002B00001D100F051F8AFF2090EBAE80F0013F0C7 +:1002C000010F18BFFB1A43F00103184714E50000A3 +:1002D00034E500000A444FF0000C10F8013B13F025 +:1002E000070408BF10F8014B1D1108BF10F8015B8F +:1002F000641E05D010F8016B641E01F8016BF9D182 +:1003000013F0080F1EBF10F8014BAD1C0C1B09D1D8 +:100310006D1E58BF01F801CBFAD505E014F8016B4A +:1003200001F8016B6D1EF9D59142D6D370470000DC +:100330000023002400250026103A28BF78C1FBD8EE +:10034000520728BF30C148BF0B6070471FB50DF082 +:1003500079FE1FBD10B510BD00F0E4F91146FFF79E +:10036000F5FF0BF055FE00F002FA03B4FFF7F2FFC1 +:1003700003BC00F005FA00002C4B19680868B0E8CF +:10038000F04F80F30988BFF36F8F4FF0000080F3C8 +:10039000118870470000000008480068006880F37A +:1003A00008884FF0000080F3148862B661B6BFF38E +:1003B0004F8FBFF36F8F00DF00BF00BF08ED00E07D +:1003C000DFF80C00016841F470010160704700BF64 +:1003D00088ED00E0EFF30980BFF36F8F134B1A68CD +:1003E0001EF0100F08BF20ED108A20E9F04F1060BA +:1003F00009B44FF0500080F31188BFF34F8FBFF363 +:100400006F8F0CF0CBFE4FF0000080F3118809BC19 +:1004100019680868B0E8F04F1EF0100F08BFB0EC84 +:10042000108A80F30988BFF36F8F7047F8000024AB +:10043000EFF30580704700000948804709480047EE +:10044000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE784 +:10045000FEE7FEE704480549054A064B70470000E1 +:100460001D94000899020008B0510124B0570124DE +:10047000B0530124B053012453EA020C00F0698008 +:100480002DE9F04B4FF00006002B1FBFB3FA83F5A8 +:1004900003FA05F424FA05F65E4012BF1643B2FAD9 +:1004A00082F502FA05F4C5F120051EBF22FA05FC0B +:1004B00044EA0C04203556EA044C4FEA144418BFB1 +:1004C000641C4FF000084FF00009904271EB030CE0 +:1004D00039D3002919BFB1FA81F701FA07F6B0FA4A +:1004E00080F700FA07F6C7F120071EBF20FA07FCC5 +:1004F00046EA0C062037B6FBF4FCA7EB0507103FD5 +:1005000007F01F0BCBF120060CFA0BFB2CFA06F6BA +:1005100044BFB3460026202FA4BF5E464FF0000B19 +:100520005BEA060C08BF4FF0010B19EB0B09ABFBA4 +:10053000027C48EB0608C01B06FB02CC0BFB03CC7D +:1005400071EB0C01C1E70B46024641464846BDE847 +:10055000F08B13B54FF000004FF00001AFF30080B7 +:10056000BDE81C407047032A40F2308010F0030CB5 +:1005700000F0158011F8013BBCF1020F624498BFF6 +:1005800011F801CB00F8013B38BF11F8013BA2F193 +:10059000040298BF00F801CB38BF00F8013B11F00E +:1005A000030300F02580083AC0F0088051F8043BAE +:1005B000083A51F804CBA0E80810F5E7121D5CBF1B +:1005C00051F8043B40F8043BAFF30080D20724BF4E +:1005D00011F8013B11F801CB48BF11F8012B24BFE2 +:1005E00000F8013B00F801CB48BF00F8012B704731 +:1005F00010B5203AC0F00B80B1E81850203AA0E8BE +:100600001850B1E81850A0E81850BFF4F5AF5FEAF1 +:10061000027C24BFB1E81850A0E8185044BF18C9A4 +:1006200018C0BDE810405FEA827C24BF51F8043B4B +:1006300040F8043B08BF7047D20728BF31F8023B9F +:1006400048BF11F8012B28BF20F8023B48BF00F833 +:10065000012B704702F0FF0343EA032242EA024201 +:1006600000F002B84FF000020429C0F0128010F030 +:10067000030C00F01B80CCF1040CBCF1020F18BF7E +:1006800000F8012BA8BF20F8022BA1EB0C0100F011 +:100690000DB85FEAC17C24BF00F8012B00F8012BE4 +:1006A00048BF00F8012B70474FF0000200B5134619 +:1006B00094469646203922BFA0E80C50A0E80C5082 +:1006C000B1F12001BFF4F7AF090728BFA0E80C5033 +:1006D00048BF0CC05DF804EB890028BF40F8042B2C +:1006E00008BF704748BF20F8022B11F0804F18BF99 +:1006F00000F8012B704770477047704710B500F045 +:1007000009F8006810BD10B5044600F003F8046055 +:1007100010BD0000004870474C510124004870474C +:100720004C5101247546FFF7F9FFAE4605006946B6 +:10073000534620F00700854618B020B5FFF78AFE23 +:10074000BDE820404FF000064FF000074FF00008D2 +:100750004FF0000B21F00701AC46ACE8C009ACE853 +:10076000C009ACE8C009ACE8C0098D46704710B5B7 +:100770000446AFF300802046BDE81040FFF7F5BD0A +:1007800001491820ABBEFEE72600020070470000BA +:1007900070B5054641492868884202D0404A9042D7 +:1007A00005D1D1F8080310F4403F05D118E03D48C9 +:1007B000006810F4403F13D005F0DAFF0446686883 +:1007C000B0F5803F06D0B0F5003F03D0B0F5403F14 +:1007D00029D103E0000CB4FBF0F424E0A40822E0EB +:1007E00000214FF4002004F05BFE0446686881039A +:1007F000890B18D181140C2915D2DFE801F01406F9 +:1008000006060606060B0D0F1113800C4000B4FB04 +:10081000F0F408E0240906E0640904E0A40902E019 +:10082000E40900E0240A03F095FE41F20301884246 +:100830000ED81D48844205D92868816841F480712A +:10084000816070BD2868816821F48071816070BD0D +:1008500060081649884205D82868816821F44071EB +:10086000816070BD1249884207D82868816821F4E8 +:10087000407141F48071816070BD0E49884207D893 +:100880002868816821F4407141F40071816070BD75 +:100890002868816841F44071816070BD0020024089 +:1008A0000021024008630258002D3101105E5F00F4 +:1008B00020BCBE0040787D012DE9F04104460E4683 +:1008C0000025206807F09CFB0746206807F090FB96 +:1008D000074365D02068C16889011CD5617D012965 +:1008E00019D1217D012916D101262E490DE08D4215 +:1008F0000AD3606D40F010006065A06D40F001000B +:10090000A0650120BDE8F0816D1C0268D24352064B +:10091000EDD440210160244D022E0DD0206807F057 +:100920006FFB48B120688168C1F3400121B981683B +:10093000294041F010018160012E0DD0206807F0A0 +:1009400057FB48B120688168C1F3400121B9816833 +:10095000294041F020018160022E08D0032E04D0EE +:10096000042503F0FDFD064616E00C25F9E70825F1 +:10097000F7E703F0F5FD801B05280DD92068806896 +:10098000284209D0606D40F010006065A06D40F015 +:100990000100A0650120B5E7206880682842E8D101 +:1009A0000020AFE700DC0C00C0FFFF7F10B5846BB8 +:1009B000616D11F0500F06D0616DC90630D520462B +:1009C00001F052FE10BD606D40F40070606520685B +:1009D0000168090712D507F017FBE8B12068C06865 +:1009E000800419D4606D20F480706065606DC0046F +:1009F00012D4606D40F0010060650DE0C0688007B2 +:100A00000AD1606D20F480706065606DC00403D40D +:100A1000606D40F001006065204601F09DFC10BD56 +:100A2000E16CC96CBDE81040084710B5806B416DA2 +:100A300041F040014165816D41F00401816501F0A3 +:100A400013FE10BD10B5806B01F056FD10BD000007 +:100A500070B5044620688168C1F3400507F0CCFA00 +:100A600078B375BB2068816801F00D01012909D0B8 +:100A7000606D40F010006065A06D40F00100A06561 +:100A8000012070BD8168124A1140891C8160216873 +:100A90000320086003F064FD054613E003F060FDE9 +:100AA000401B02280ED920688068C0070AD0606DFC +:100AB00040F010006065A06D40F00100A0650120CD +:100AC00070BD03E020688068C007E7D10020F7E729 +:100AD000C0FFFF7F70B50446206807F08DFA50BB59 +:100AE00020688168264A114209D0606D40F01000EC +:100AF0006065A06D40F00100A065012070BD8168B7 +:100B00001F4E7F3E3140491C816003F029FD0546A0 +:100B10001C4920681C4B884201D0984201D11B4AD5 +:100B200000E01B4A926802F01F02984200D0014682 +:100B300081421DD0E2B120E007F05EFA20B92068C2 +:100B400081683140491C816003F00AFD401B022886 +:100B50000ED920680068C043C00709D0606D40F01E +:100B600010006065A06D40F00100A065012070BD1F +:100B700020680168C943C907DED1002070BD0000AC +:100B80003F0000800020024000210240002302407C +:100B900000630258014802F0ABBB0000B0EA002439 +:100BA000FEE7000010B5B2B03D4CB0F5966F4AD0EC +:100BB00008DC96281CD0B0F5167F27D0B0F5487F0A +:100BC00007D132E0A0F5A060DC384BD0B0F5FA7F59 +:100BD00056D0C422334901A8FFF70AFD6220607194 +:100BE0002F48C42201A91830FFF7BDFC32B010BD58 +:100BF000C4222D4901A8FFF7FBFC2948C42201A902 +:100C00001830FFF7B0FC24206071EFE7C4222649BA +:100C1000C43101A8FFF7ECFC3C2060712048C422DD +:100C200001A91830FFF79FFCE0E7C4221F4901A883 +:100C3000FFF7DEFC402060711948C42201A918307A +:100C4000FFF791FCD2E7C4221849C43101A8FFF78D +:100C5000CFFC442060711248C42201A91830FFF76C +:100C600082FCC3E7C422124901A8FFF7C1FC4E2051 +:100C700060710B48C42201A91830FFF774FCB5E776 +:100C8000C4220849C43901A8FFF7B2FC582060719A +:100C90000348C42201A91830FFF765FCA6E700004D +:100CA0000800002420E6000888E1000810E300089E +:100CB00098E4000870B54FF48051454C4D108E10EB +:100CC000082805D2DFE800F0041424344454647486 +:100CD0000022204603F036FC00222946204603F07D +:100CE00031FC31462046BDE87040002203F02ABCAA +:100CF0000122204603F026FC00222946204603F06C +:100D000021FC31462046BDE87040002203F01ABCA9 +:100D10000022204603F016FC01222946204603F05B +:100D200011FC31462046BDE87040002203F00ABCA9 +:100D30000122204603F006FC01222946204603F04A +:100D400001FC31462046BDE87040002203F0FABBAA +:100D50000022204603F0F6FB00222946204603F03D +:100D6000F1FB31462046BDE87040012203F0EABBAA +:100D70000122204603F0E6FB00222946204603F02C +:100D8000E1FB31462046BDE87040012203F0DABBAA +:100D90000022204603F0D6FB01222946204603F01C +:100DA000D1FB31462046BDE87040012203F0CABBAA +:100DB0000122204603F0C6FB01222946204603F00B +:100DC000C1FB31462046BDE87040012203F0BABBAA +:100DD0000018025870B58EB0044600250A950B9590 +:100DE0000C950D950795089509951C216846FFF708 +:100DF0005BFC30484FF08041016064B12E49052C06 +:100E00000FD242F210726243B1FBF2F1491E41600F +:100E10006321C1600EE02748002106F0FFFC0EB000 +:100E200070BD4FF47A726243B1FBF2F1491E41602A +:100E30000921C16085600561802686611D4806F034 +:100E40009BF908B100F09FFF4FF480500A901948B9 +:100E50000AA906F033FA08B100F095FF154806F02C +:100E60001FFC08B100F08FFF20200790099607A90A +:100E7000104806F031F908B100F085FF052C02D2C8 +:100E80003220019001E00520019060200090029541 +:100E9000049500220748694606F067FB08B100F098 +:100EA00072FF044806F038FB0248002106F022FCDD +:100EB000B5E7000074030024001C4E0E054A1178AB +:100EC0000844C0B27921B0FBF1F301FB13001070AC +:100ED00070470000000000242DE9F04F9FB0E74864 +:100EE0004FF0FF3100680BF0FFF8DFF894B33221C8 +:100EF000E3481830FFF7D8FBE148183000F0DAF982 +:100F0000E049486000287DD0DD48183081780C2900 +:100F10001BD2DFE801F01A061B212A2E323984A9E0 +:100F2000F3F2D94C00228021204603F00BFB322043 +:100F30000BF09CF801222046802103F003FB0020E7 +:100F40008BF8040001208BF80C008EE100208BF858 +:100F500004008BF80C0088E18179407941EA002097 +:100F6000ABF80000FFF71EFE7FE140798BF802002E +:100F70007BE140798BF8030077E101208BF80D00CD +:100F800000208BF8040070E19BF804006428DCD199 +:100F9000BB484025BD4B0122072100954A3000F097 +:100FA00013FFC4B2BA4F012238461602314603F08D +:100FB000C9FAB3494FF0FF38B64843464A31224692 +:100FC00006F0B8FFB34806F037FD2128FAD03220EA +:100FD0000BF04CF8AD4BFF22A94807214033009598 +:100FE0004A3000F0F1FEC2B2A549AA4843464A3150 +:100FF00006F0A0FFA74806F01FFD2128FAD0002226 +:10100000314600E036E1384603F09CFA64200BF0EC +:101010002DF8A14980229F4806F082FC25E101209D +:1010200000909748FF2208214A300BF1040300F09A +:10103000CBFEC4B2964E012230461502294603F07B +:1010400081FA8F494FF0FF33924822464A3106F029 +:1010500071FF904806F0F0FC2128FAD000222946C2 +:10106000304603F06FFA00E19BF8040064288AD14F +:101070009BF8038000210020884A32F810302BB101 +:10108000491CC9B2401CC0B26228F6D308FB01F06B +:101090004FEA80094FF0010A00258BE0A9EB05001B +:1010A000782800D97820C7B20026AC0878480122F9 +:1010B000110203F047FA734880780AF0D7FF002244 +:1010C00057E0B4FBF8F008FB1040C0B2B4FBF8F1F5 +:1010D000C9B29FED730A8DED000A08280FD200EB0C +:1010E000001303EB40106F4B03EB401000EB81004B +:1010F00090ED000A8DED000A33E092E06CE01028DC +:101100000ED2083800EB001303EB4010664B03EBE4 +:10111000401000EB810090ED000A8DED000A20E008 +:1011200018280ED2103800EB001303EB40105F4B71 +:1011300003EB401000EB810090ED000A8DED000AFA +:101140000FE020280DD2183800EB001303EB4010FD +:10115000574B03EB401000EB810090ED000A8DED42 +:10116000000A01A8009930440160361D641C521C1D +:10117000D2B2B2EB970FA4D33D444D4501D3FF2229 +:1011800000E052463E48092100974A3001AB00F08A +:101190001BFEC2B23A493F484FF0FF334A3106F0D6 +:1011A000C9FE3C4806F048FC2128FAD00AF1010AA1 +:1011B0000AF0FF0A4D45FFF471AF354800224FF4A5 +:1011C000807103F0BFF964200AF050FF3249802299 +:1011D000304806F0A5FB48E0294B0420012200908E +:1011E00010330A2103F13A0000F0EEFDC4B2284E9C +:1011F000012230461502294603F0A4F920494FF098 +:10120000FF33244822464A3106F094FE214806F076 +:1012100013FC2128FAD000222946304603F092F927 +:1012200023E0174B04200122009014330B2103F11B +:10123000360000F0C9FDC4B2154E01223046150239 +:10124000294603F07FF90E494FF0FF33114822463B +:101250004A3106F06FFE0F4806F0EEFB2128FAD067 +:1012600000222946304603F06DF906484068002800 +:101270007FF43DAE1FB0BDE8F08F000014000024E5 +:10128000F8010024000000240020025830EA002465 +:10129000000002580C0400249025002420000024A3 +:1012A000000000001026002410570024108800249D +:1012B00010B900242DE9F04107462D4E42E00020F0 +:1012C000BDE8F081307800F06BF8AA2806D13078BC +:1012D000401CC0B200F064F8552803D00120FFF78D +:1012E000EDFD2FE03078C01CC0B200F059F8044684 +:1012F00000F040F8A04201D20020E1E700250023E1 +:10130000A4F1020808E030781844C0B200F048F8B0 +:10131000284485B25B1CDBB24345F4DB30782044C3 +:10132000401EC0B200F03CF8034630782044801ED6 +:10133000C0B200F035F843EA0020A84207D00120EF +:10134000FFF7BCFD00F016F80428BBD2B7E7002376 +:1013500007E030781844C0B200F022F8F8545B1C63 +:10136000DBB2A342F5D32046FFF7A8FD2046A7E74E +:1013700000000024054841780078081A7930792166 +:1013800090FBF1F201FB1200C0B270470000002494 +:1013900000B5FFF7EFFFC0F17900C0B200BD00005B +:1013A0007921B0FBF1F201FB12000149085C7047A2 +:1013B0007C0100242DE9F04180460C46FFF7E8FF50 +:1013C000A04202D20020BDE8F081104E1048717892 +:1013D0000A19792A08D2084422464146FFF7C3F881 +:1013E0007078204470700FE0C1F17902D5B20844E2 +:1013F0002A464146FFF7B7F8621B054808EB05018E +:101400001746FFF7B0F87770E0B2DCE70000002481 +:101410007C0100242DED048B84B09FEDFE8AFE4DEF +:101420004FF0FF3128690AF05FFEFC48007B00287E +:101430007ED0FA48002404714FF4005007F06CFD90 +:10144000F748002106F056F9F54800214C3006F027 +:10145000E5F9F348B03801F04DFBF1484FF4205264 +:10146000F049B03801F0C0FA0020FFF723FC05F185 +:1014700018000088FFF7AEFC4FF47A700AF0F6FD12 +:10148000022007F0A1FDAC70EC700021E4484C3064 +:1014900006F030F95BE1E14D2A7B002A7DD000EEB9 +:1014A000100AB8EE401B9FEDE02B82EE010B01EE1F +:1014B000104AB8EE411B20EE010BBCEEC00B10EE43 +:1014C000100A28710A200AF0D1FD0026D348017BBA +:1014D00000297CD00025D148007B002878D05A2CE8 +:1014E00004D34FF4FA600AF0C1FD02E0C8200AF00C +:1014F000BDFDC94F4FF0000887F8008001207870CB +:101500001E200AF0B3FD38780028F9D0C448002125 +:101510004C3006F083F9C248B03801F0EBFAC0480D +:101520004FF42052BF49B03801F05EFA022D00E0BE +:10153000BDE109D2E81CC0B207F046FDB848002161 +:101540004C3006F0D7F824E0072E08D1612C06D2E3 +:10155000B148611C183030F81100FFF73BFC701CDB +:10156000C0B2FFF7A7FB022007F02EFD87F802802C +:1015700087F803805A2C07D34FF4006007F0CCFCA7 +:1015800040F2DC500AF072FDA54800214C3006F014 +:10159000B1F80020DFF898A200E0DDE0DFF894B2B7 +:1015A0004FF4805200EB8001C91C3AF821102BF84F +:1015B0001010401C9042F5DB9E484FF480510AF019 +:1015C000E7FCB7EEC09AAF1C00EE107A01E0BCE079 +:1015D000B6E0B8EE401BB2EE040B09F0EDFF89EE69 +:1015E000001B06EB061000EB4618934805EB0511AF +:1015F00001EB451900EB481000EBC90000EB84003B +:10160000B7EEC10B80ED000AB5EEC00AF1EE10FA9C +:1016100001D280ED008A00204FF4805100EB80025F +:10162000D21C5AF82220120C2BF81020401C8842A1 +:10163000F4DB80484FF480510AF0AAFCB7EEC09A60 +:1016400000EE107AB8EE401BB2EE040B09F0B4FFC6 +:1016500089EE001B794800EB481000EBC90000EB55 +:101660008400B7EEC10B80ED000AB5EEC00AF1EEC2 +:1016700010FA01D280ED008A00204FF4805100EB77 +:101680008002121D3AF822202BF81020401C8842BC +:10169000F5DB68484FF480510AF07AFCB7EEC09A47 +:1016A00000EE107AB8EE401BB2EE040B09F084FF96 +:1016B00089EE001B624800EB481000EBC90000EB0C +:1016C0008400B7EEC10B80ED000AB5EEC00AF1EE62 +:1016D00010FA01D280ED008A00204FF4805100EB17 +:1016E0008002121D5AF82220120C2BF81020401CE8 +:1016F0008842F4DB4F480AF04BFCB7EEC09A00EE8C +:10170000107AB8EE401BB2EE040B09F055FF89EEDB +:10171000001B4C4800EB481000EBC90000EB8400B4 +:10172000B7EEC10B80ED000AB5EEC00AF1EE10FA7B +:1017300001D280ED008A6D1CEDB2032DFFF4CBAE1B +:10174000761CF6B2082EFFF4C1AE641CE4B2324936 +:1017500048798442FFF49FAE002485E00025DFF83D +:10176000D880DFF8D890DFF8D8A0DFF8D8B005EB44 +:10177000051000EB451608EB461000EB840797EDCB +:10178000000A8DED000A97ED620A8DED010A97EDD2 +:10179000C40A8DED020A0321684600F0F7FA87EDCE +:1017A000000A09EB461000EB840797ED000A8DED67 +:1017B000000A97ED620A8DED010A97EDC40A8DEDDE +:1017C000020A0321684600F0E1FA87ED000A0AEBFD +:1017D000461000EB840797ED000A8DED000A97EDA7 +:1017E000620A8DED010A97EDC40A8DED020A03210C +:1017F000684600F0CBFA87ED000A0BEB461000EBD1 +:10180000840696ED000A8DED000A96ED620A8DEDD4 +:10181000010A19E00000000008000024F80100247B +:10182000740300240010003800000000000059403C +:1018300000000524900500241026002410570024E1 +:101840001088002410B9002496EDC40A8DED020A18 +:101850000321684600F09AFA86ED000A6D1CEDB28D +:10186000082D84D3641CE4B2184840798442FFF404 +:1018700075AF1748002105F0D1FF1548FC3801F07D +:1018800039F9144C00228021204602F05BFE40F220 +:10189000DC500AF0EBFB01222046802102F052FED0 +:1018A0000D48017B69B164210171002101730A4C6B +:1018B000607B00283FF4B3AD06F0AEFB0020607300 +:1018C000ADE5002101710173F1E70000080000247B +:1018D000C003002400200258F8010024014801F050 +:1018E00007BD0000A0040024014801F0B9B90000C0 +:1018F000B0EA002410B52C4A016891423AD02A4A35 +:101900001832914236D0284A3032914232D0264A9B +:10191000483291422ED0244A603291422AD0224A43 +:101920007832914226D0204A9032914222D01E4AEB +:10193000A83291421ED01D4A91421BD01B4A183238 +:10194000914217D0194A3032914213D0174A483287 +:1019500091420FD0154A603291420BD0134A78322F +:10196000914207D0114A9032914203D00F4AA832D7 +:10197000914214D1CAB2103A1823B2FBF3F20C4CC4 +:1019800002F00703E35CC365032A04D96FF309017E +:10199000091D816506E06FF30901816502E021F010 +:1019A000FF018165806D10BD1000024010040240EF +:1019B000F4E6000810B501680123224CCAB2A14226 +:1019C0001BD0204C1434A14217D01E4C2834A14205 +:1019D00013D01C4C3C34A1420FD01A4C5034A142BD +:1019E0000BD0184C6434A14207D0164C7834A14275 +:1019F00003D0144C8C34A1420FD1083A1421B2FB0D +:101A0000F1F1114A02EB810202660F4A803242660E +:101A100001F01F018B40836610BD103A1824B2FB01 +:101A2000F4F20A4C2144A82900D80832084901EBF5 +:101A30008201016606498031416602F01F018B4038 +:101A4000836610BD0854025800580258F0FBFDBFD1 +:101A5000000802400279521E072A31D8194B01684A +:101A600099421BD0174B1433994217D0154B28338A +:101A7000994213D0134B3C3399420FD0114B503342 +:101A800099420BD00F4B6433994207D00D4B7833FA +:101A9000994203D00B4B8C33994207D10A4901EB91 +:101AA0008201C16608494031016706E0074901EB40 +:101AB0008201C166054940310167012191404167BA +:101AC00070470000085402580059025800090240AB +:101AD000014610B500208B694FF0C0748A6A002B54 +:101AE0000ED0B3F5005F1AD062B3012A2AD0022AC1 +:101AF00028D0032A03D1C96AC90100D5012010BD2D +:101B00001AB1012A06D0022AF9D1C96AC901F6D54B +:101B1000012010BDC96AA142FBD1012010BD52B104 +:101B2000012A0AD0022A06D0032AF7D1C96AA142A3 +:101B3000F4D1012010BD012010BDC96AC901FBD537 +:101B4000012010BD012010BD2DE9F04F856D8A4E9A +:101B5000894FDFF824C2A836DFF81C82DFF818921C +:101B60000CF1180CDFF810A208F13008DFF808B209 +:101B700009F1480904680AF1600A0BF1780BBC42CC +:101B80006DD064456BD0444569D04C4567D0544511 +:101B900065D05C4563D0DFF8E0E10EF1900E74454E +:101BA0005DD0B4425BD0DFF8D4E1744557D0DFF8A4 +:101BB000CCE10EF1180E744551D0DFF8C0E10EF102 +:101BC000300E74454BD0DFF8B4E10EF1480E744589 +:101BD00045D0DFF8A8E10EF1600E74453FD0DFF884 +:101BE0009CE10EF1780E744539D0DFF890E10EF1EA +:101BF000900E744533D0DFF884E10EF1A80E7445E1 +:101C00002DD0DFF87CE1744529D0DFF874E10EF1C6 +:101C1000140E744523D0DFF868E10EF1280E7445E8 +:101C20001DD0DFF85CE10EF13C0E744517D0DFF8F3 +:101C300050E10EF1500E744511D0DFF844E10EF181 +:101C4000640E74450BD0DFF838E10EF1780E744560 +:101C500005D0DFF82CE10EF18C0E744509D1D0E9E6 +:101C600019E4CEF80440C46E1CB1D0E91CE4CEF8EF +:101C700004400468BC422ED064452CD044452AD090 +:101C80004C4528D0544526D05C4524D03A4F903757 +:101C9000BC4220D0B4421ED0384EB4421BD0374E86 +:101CA0001836B44217D0354E3036B44213D0334EC6 +:101CB0004836B4420FD0314E6036B4420BD02F4E6E +:101CC0007836B44207D02D4E9036B44203D02B4E16 +:101CD000A836B4421BD190F85C4004F01F063F24A4 +:101CE000B440AC600468256825F48025256004684C +:101CF00063608368402B05D0036899600068C26008 +:101D0000BDE8F08F03689A600068C160F8E71C4E78 +:101D1000B4421BD01A4E1436B44217D0184E28368F +:101D2000B44213D0164E3C36B4420FD0144E503647 +:101D3000B4420BD0124E6436B44207D0104E7836FF +:101D4000B44203D00E4E8C36B442D9D190F85C40E8 +:101D500004F01F060124B4406C600468636083686B +:101D6000402B04D0036899600068C260C8E703682C +:101D70009A600068C160C3E710000240100402408E +:101D800008540258704772B6FEE7000090ED000A52 +:101D900001220CE000EB8203D3ED000AF4EEC00A4E +:101DA000F1EE10FA01DDB0EE600A521C92B28A42E6 +:101DB000F0D310EE101A034A914201DA90ED020AB4 +:101DC00070470000CDCC4C3D2DE9F04704468846D5 +:101DD00091461E46089F002580212046FEF742FCC2 +:101DE000AA2020705520607084F802800020E070E6 +:101DF00084F8049007200021625C2A4495B2491CB3 +:101E0000C9B20529F8D3002109E06318725C5A7140 +:101E1000725C2A4495B2401CC0B2491CC9B2B94296 +:101E2000F3D3E07029180B0A221802F8023D517012 +:101E3000BDE8F087F8B504460E4617460025009524 +:101E400094F85000012810D0012084F8500020465A +:101E5000FEF7FEFD0346180009D0606D40F010004B +:101E6000606584F850501846F8BD0220F8BD606DDA +:101E700020F4885040F002006065206806F480314C +:101E800007F0804211438268114E3240114341F005 +:101E9000004181600F4920680FE0009A521C0092B7 +:101EA000009A8A4209D3606D20F0020040F01000D1 +:101EB000606584F850500120F8BD8268D20F002A76 +:101EC000EBD1606D20F0020040F001006065C8E7D2 +:101ED000C0FFFE3F00F8C3252DE9FC5F04460D4618 +:101EE0004FF0000800200190DFF8D8B3DFF8D8A346 +:101EF000F64EF74F94F85000012813D04FF0010927 +:101F000084F85090206806F07BF868B1606D40F06E +:101F1000200060654FF00108002084F85000404622 +:101F2000BDE8FC9F0220FBE7286800280DDB216844 +:101F3000CA69030329D090FAA0F0B0FA80F000F04B +:101F40001F0009FA00F00243CA61A98820682A68C4 +:101F500001F4407300EB9310036B01F01F014FF08D +:101F60001F0CC2F384620CFA01FC8A4023EA0C03C2 +:101F700013430363206806F043F80090206806F0DE +:101F800037F80099014303D094E0C0F38460D6E7AA +:101F90002168AA68286800F0007301EBD3514B69EF +:101FA0004FF0070CC0F304500CFA00FC824023EA07 +:101FB0000C0313434B61C7480068B9EB107F07D18E +:101FC00021686869C968C1F382014900884010E04E +:101FD0002168C868C00606D46869C968C1F382016F +:101FE0004900884005E06869C96801F010014908A6 +:101FF0008840296904292DD023682A6803EB8101D0 +:102000000B6E02F0F842024303F0004313430B66E9 +:10201000697E20682A69012916D0002100EB820020 +:10202000026E22F000420A430266297E20682A6975 +:1020300001290CD00021036902F01F0223F4F043B0 +:1020400091400B43036135E04FF00041E6E74FF468 +:102050000061F0E72068016E2A7801F0F841B1EBE9 +:10206000826F03D1016E21F0004101662068416E4C +:102070002A7801F0F841B1EB826F03D1416E21F073 +:10208000004141662068816E2A7801F0F841B1EB89 +:10209000826F03D1816E21F0004181662068C16E9C +:1020A0002A7801F0F841B1EB826F03D1C16E21F0C3 +:1020B0000041C166206805F09FFF00287FF42CAF27 +:1020C00020682A7B296850F8C03FC1F3130C23EA2B +:1020D0000C0302F0180C804A22FA0CF20A40134357 +:1020E0000360E868584570D12168DFF8F0B1DFF887 +:1020F000F0C15145DFF8ECE17B4A7C4B37D12868D1 +:10210000584501D1012269E0A0F1066BBBF1040B37 +:102110000FD0A0F1496CBCF1080C0CD0A0F1865C8A +:10212000BCF1100C09D0DFF8C8C1604507D1714A75 +:1021300054E0624652E0724650E06F4A4EE0DFF8EB +:10214000BCC160454AD0904201D11A4646E098424F +:1021500001D16B4A42E06B4A904201D16A4A3DE0AC +:102160006A4A904201D16A4A38E0002236E0B14220 +:1021700033D12868584501D101222FE0A0F1066B28 +:10218000BBF1040B0FD0A0F1496CBCF1080C0CD0D2 +:10219000A0F1865CBCF1100C09D0DFF854C1604599 +:1021A00007D1544A1AE0624618E0724616E0524AD5 +:1021B00014E0DFF848C1604510D0904201D11A46C2 +:1021C0000CE0984202D14E4A08E015E04F4A904296 +:1021D00001D14F4A02E0002200E00022CB69100347 +:1021E00018D092FAA2F0B0FA80F000F01F0009FABD +:1021F00000F943EA0903CB612A68002ABFF68CAED6 +:102200002068444BDFF810C1504501D0B04204D1E2 +:10221000194603E0C2F38460E7E76146896801F08C +:10222000E071504501D0B0420AD1DAF80850C5F348 +:102230000005D6F80890C9F3000945EA090502E04F +:10224000BD68C5F3000535B1606D40F020006065E4 +:102250004FF0010860E6314DAA421FD10D021DD496 +:10226000B842F7D1504502D0B04200D0634641F4A5 +:102270000000996821F0E0710143996028482949DC +:102280000068B0FBF1F0401C4000019002E00198B2 +:10229000401E019001980028F9D13DE6224DAA4246 +:1022A00044D1CD0142D4B842D4D1504502D0B0423D +:1022B00000D0634641F08070996821F0E0710143DD +:1022C000996029E60000FF470020024000210240FB +:1022D000006002580010005CFFFF0F000200300495 +:1022E000400020198000501D0008302E0010603280 +:1022F0002000F0140002B025000180210004002A13 +:102300000020903600002143000052470000844B1B +:102310000000B84F0023024000630258000084CB45 +:10232000E4000024400D0300000052C7094DAA42FA +:1023300090D14A028ED4B8428CD1504502D0B042DE +:1023400000D0634641F48000996821F0E0710143B8 +:102350009960E1E50000B8CF2DE9F05F5E49022207 +:102360005E4F5E4CDFF874B1AC3FC96C603C5C4EB4 +:10237000A7F104085B4D0968594501D9326011E0A5 +:10238000A14201D93A600DE0564BB833994202D9C7 +:10239000C8F8002006E0534B5833994201D9EA604F +:1023A00000E0AA604FF00009DFF83CA19AF80110A4 +:1023B00000296ED000684D4988427FD19AF8030009 +:1023C00004287DD29AF80210814277D9484801F05A +:1023D00063FB08B1FFF7D7FC9AF803004FF42053D2 +:1023E000444900EB800001EB003241484FF03821B6 +:1023F00001F050FD3E483A4BDFF8E0C0394A1B1F60 +:10240000DFF8E0E0ACF1B80C0068B8320EF1580E1D +:10241000584503D9196801F0200117E0A04205D9F9 +:102420002E49B439096801F020010FE0904204D927 +:10243000DCF8001001F0200108E0704503D969685C +:1024400001F0200102E0296801F020010029DFD01D +:102450001021584501D931600DE0A04201D9396001 +:1024600009E0904202D9C8F8001004E0704501D993 +:10247000E96000E0A9602021584501D9316010E0F1 +:10248000A04201D939600CE0904205D9C8F800108B +:1024900007E01EE012E013E0704501D9E96000E0BA +:1024A000A9609AF80300401CC0B28AF8030004280F +:1024B00004D101208AF800008AF80190BDE8F09F5D +:1024C00004208AF8030001208AF800008AF80190AD +:1024D000F4E78AF80390F1E7C4020024B80402404C +:1024E0000454025800000240080000240060025812 +:1024F00018050024002805242DE9F05F5149042225 +:10250000514F514C524DAC3FC96C603CDFF838A183 +:10251000B83D4E4EA7F10408DFF834B109685145C3 +:1025200001D932600FE0A14201D93A600BE0594570 +:1025300002D9C8F8002006E0454B603B994201D91A +:10254000EA6000E0AA60DFF80C9199F8011091B3FD +:102550000068414988426CD199F8020004286AD287 +:102560003E4801F099FA08B1FFF70DFC99F8020016 +:102570004FF420533A4900EB800001EB0032394917 +:10258000364801F087FC3548304A2F4BDFF8C0E071 +:10259000121F0068B43BA3F1040CAEF1600E50456D +:1025A00003D9116801F0100116E0A04204D919689E +:1025B00001F0100110E041E0584504D9DCF80010AA +:1025C00001F0100108E0704503D9696801F01001BD +:1025D00002E0296801F010010029E0D010215045E7 +:1025E00001D931600DE0A04201D9396009E05845B8 +:1025F00002D9C8F8001004E0704501D9E96000E094 +:10260000A9602021504501D931600DE0A04201D9D7 +:10261000396009E0584502D9C8F8001004E0704557 +:1026200001D9E96000E0A96099F80200401C89F82E +:102630000200BDE8F09F89F80220FAE7002089F83F +:102640000200F6E7C4020024B80402400454025811 +:10265000B800024008000024006002581805002459 +:10266000000005240010003870470000F8B504464B +:10267000002500260096002C02D0606D10B107E006 +:102680000120F8BD204600F007F9A66584F85060E7 +:1026900020688168C1F3407119B18168734A1140A3 +:1026A000816020688168C1F3007199B98168704ABE +:1026B000114041F0805181606E486F490068B0FB65 +:1026C000F1F0401C009002E00098401E009000983D +:1026D0000028F9D120688168C1F3007141B9616DAA +:1026E00041F010016165A16D41F00101A165012575 +:1026F00005F086FC616DC90600D430B1606D40F014 +:102700001000606501252846F8BD606D20F48070DA +:1027100040F002006065206805F06EFC00BB574A7F +:102720002068574B904201D0984207D19168C1F37D +:1027300000019E68C6F30006314303E051498968F1 +:10274000C1F3000161B9904201D0984201D14E48D5 +:1027500000E04E486168826822F47C120A4382607D +:1027600001F0F8FE41F20301884202D9A068102866 +:102770000CD0A168206B227F0843617D490341EAA8 +:1027800002410843217F01290CD00FE0617D227FA7 +:10279000206B490340F0100041EA0241084340F039 +:1027A0000C00EFE7218C491E40EA4140616A29B1E3 +:1027B000A26A01F47871014342EA01002168CA6803 +:1027C000334B1A400243CA60206805F019FC0646E4 +:1027D000206805F00DFC06431DD1217DE06A40EA2A +:1027E00081312068C26844F203039A430A43C260FD +:1027F00094F8380001281DD02068016921F00101FA +:10280000016120680169626B21F07041114301612F +:102810002046FDF7BDFFE06801281DD02068016B50 +:1028200021F00F010163606D20F0020040F0010013 +:10283000606568E7A28F0123D4E91010521E01439E +:10284000A06C03EB02421043014320680269114B64 +:102850001A4011430161D4E72068016BA26921F09D +:102860000F01521E11430163DDE70000C0FFFF5F4F +:10287000C0FFFF7FE4000024400D03000020024061 +:102880000021024000600258002302400063025809 +:1028900003C0F0FF1EF800FC70B5BCB00646142162 +:1028A00036A8FDF701FFC02102A8FDF7FDFE47494C +:1028B000306888427ED100204FF40021CDE902101B +:1028C00005200490902005900A2006900220079091 +:1028D00008908020099000250A950B952B9502A859 +:1028E00003F0D6F808B1FFF74EFA3948016841F015 +:1028F00080710160016801F080710191016841F00F +:1029000020010160016801F020010191016841F09E +:1029100004010160016801F004010191016841F0C6 +:1029200080010160006800F080000190082036906E +:1029300003243794389536A9264801F0F1FC3694E3 +:102940003794389536A9244801F0EAFC3C203690AB +:102950003794389536A9214801F0E2FC4FF08060A9 +:10296000014604F067FB4FF00060014604F062FB93 +:102970001C4C1B48206011206060A560E5604FF48E +:1029800080602061400060618000A0614011E061D2 +:102990002562204601F080F808B1FFF7F4F90E2017 +:1029A000329033958DF8D05001208DF8D1003590BC +:1029B00032A900E007E00B4800F0DCF808B1FFF7AF +:1029C000E2F9F464A6633CB070BD000000600258F8 +:1029D000E04402580014025800080258001C025833 +:1029E00008540258B0EA00242DE9F047044689460D +:1029F0009246384FDFF8E0802068B84201D0404569 +:102A000001D1364900E03649896801F01F0505F01B +:102A1000F7FA10B10220BDE8F08794F850000128C1 +:102A20000BD0012084F85000002645B1052D06D0BA +:102A3000092D04D084F85060EDE70220EBE7204632 +:102A4000FEF748F810B184F85060E4E7606D40F696 +:102A50000161884340F4807060652068404500D083 +:102A60000746874200D01DB9606D20F48010606574 +:102A7000606DC00404D5A06D20F00600A06500E0E4 +:102A8000A665E16C1748C863E16C17480864E16CFF +:102A90001648C8641C202168086084F850602068CB +:102AA000416841F010014160E16A2068C26822F08B +:102AB00003020A43C26021685346E06C4A46403133 +:102AC00001F0B8FA21688A68094B1A40121D8A6021 +:102AD000A1E7000000200240002102400023024044 +:102AE00000630258AD090008450A00082B0A0008D7 +:102AF000C0FFFF7F70B5044694F85000012809D04C +:102B0000012084F8500003212046FDF7D5FE05463C +:102B100015B129E0022070BD2068C16821F00301D1 +:102B2000C160E06C90F83510022907D100F0CAF8B6 +:102B300005461DB1606D40F0400060652068416849 +:102B400021F01001416025B12046FDF781FF2DB134 +:102B50000AE02046FDF77CFF0546F8E7606D20F4AB +:102B6000885040F001006065002084F8500028463D +:102B700070BD000030B5002200230C7A012C3ED13C +:102B8000354B02689A4238D0334B18339A4234D0CE +:102B9000314B30339A4230D02F4B48339A422CD0AD +:102BA0002D4B60339A4228D02B4B78339A4224D055 +:102BB000294B90339A4220D0274BA8339A421CD0FD +:102BC000264B9A4219D0254B18339A4215D0234BE5 +:102BD00030339A4211D0214B48339A420DD01F4BCB +:102BE00060339A4209D01D4B78339A4205D01B4B73 +:102BF00090339A4201D0194BA8330A684B6890F879 +:102C00003540012C04D04FF400614165012030BDF6 +:102C100090F83440012C1CD0012400F8344FC46AD1 +:102C2000256825F48135256014068A89521E44EAF8 +:102C3000C2421A430B7A497A42EA034242EA4122EB +:102C4000C16A0B68DBB21A430A60002101700020E0 +:102C500030BD022030BD00001000024010040240D0 +:102C600010B50446606E0068A16E08420FD0206E59 +:102C7000016821F480710160D4E919104860606D29 +:102C800040F400706065E16C09B120468847E06E51 +:102C9000002816D0216F0968626F114211D00168B7 +:102CA00021F480710160D4E91C104860606D40F42B +:102CB00080606065E16C002903D02046BDE81040CB +:102CC000084710BD2DE9F84F044601F049FC00907B +:102CD0005CB194F83500022809D08020606500209E +:102CE00084F834000120BDE8F88F0120FBE7D14EC5 +:102CF000D04FD0491836DFF83C833037DFF83493B3 +:102D0000DFF830A308F14808DFF828B309F16009BB +:102D100020680AF1780A0BF1900B88422ED0B0425D +:102D20002CD0B8422AD0404528D0484526D050451E +:102D300024D0584522D0BF4AA83290421ED0BE4A65 +:102D400090421BD0BC4A1832904217D0BA4A303257 +:102D5000904213D0B84A483290420FD0B64A6032FF +:102D600090420BD0B44A7832904207D0B24A9032A7 +:102D7000904203D0B04AA83290420AD1026822F0B1 +:102D80001E0202602068426922F0800242612568CA +:102D900004E0026822F00E02026025682068884282 +:102DA0004DD0B0424BD0B84249D0404547D04845BD +:102DB00045D0504543D0584541D09E4AA832904214 +:102DC0003DD09D4A90423AD09B4A1832904236D02C +:102DD000994A3032904232D0974A483290422ED0AF +:102DE000954A603290422AD0934A7832904226D057 +:102DF000914A9032904222D08F4AA83290421ED0FF +:102E00008E4A90421BD08D4A1432904217D08B4A82 +:102E10002832904213D0894A3C3290420FD0874AE0 +:102E2000503290420BD0854A6432904207D0834A98 +:102E30007832904203D0814A8C32904204D1206E85 +:102E4000026822F4807202607A49206888422ED09B +:102E5000B0422CD0B8422AD0404528D0484526D090 +:102E6000504524D0584522D07249A83188421ED0FE +:102E7000714988421BD070491831884217D06E4979 +:102E80003031884213D06C49483188420FD06A49AA +:102E9000603188420BD068497831884207D0664952 +:102EA0009031884203D06449A831884204D1016836 +:102EB00021F00101016013E0016821F001010160CE +:102EC0000EE001F04DFB0099401A052808D920209A +:102ED000343420620320607000202070012002E75B +:102EE0002868C007EDD1534A0121206890422ED0B6 +:102EF000B0422CD0B8422AD0404528D0484526D0F0 +:102F0000504524D0584522D04A4BA83398421ED071 +:102F1000494B98421BD0484B1833984217D0464B28 +:102F20003033984213D0444B483398420FD0424B31 +:102F3000603398420BD0404B7833984207D03E4BD9 +:102F40009033984203D03C4BA833984208D1A06DEF +:102F500094F85C3003F01F053F23AB40836007E02B +:102F6000A06D94F85C3003F01F0301FA03F3436093 +:102F7000206890424DD0B0424BD0B84249D0404535 +:102F800047D0484545D0504543D0584541D0294ABF +:102F9000A83290423DD0284A90423AD0264A183270 +:102FA000904236D0244A3032904232D0224A4832BF +:102FB00090422ED0204A603290422AD01E4A783267 +:102FC000904226D01C4A9032904222D01A4AA8320F +:102FD00090421ED0194A90421BD0184A1432904297 +:102FE00017D0164A2832904213D0144A3C329042ED +:102FF0000FD0124A503290420BD0104A64329042A5 +:1030000007D00E4A7832904203D00C4A8C3290425C +:103010000BD1D4E919205060E06E30B1026822F47F +:1030200080720260D4E91C2050603434617000204A +:10303000207058E610000240100402400854025864 +:103040002DE9F05F002808D090F83510022906D04D +:10305000802141650120BDE8F09F0120FBE7A14AE6 +:10306000A04BA04C18329F4D30339E4E4834DFF8B1 +:1030700074B26035DFF870C27836DFF86C82DFF842 +:1030800068920CF1300CDFF860A208F1600801686A +:1030900009F17809944F0AF1900A594531D09142CB +:1030A0002FD099422DD0A1422BD0A94229D0B14294 +:1030B00027D0DFF830E20EF1900E714521D0DFF815 +:1030C00024E20EF1A80E71451BD0DFF81CE2AEF130 +:1030D000180E714515D0B94213D0DFF80CE20EF18D +:1030E000180E71450DD061450BD0DFF8FCE10EF1F3 +:1030F000480E714505D0414503D0494501D05145A1 +:1031000037D14FF0040E80F835E0594527D0914271 +:1031100025D0994223D0A14221D0A9421FD0B1424B +:103120001DD070489030814219D06E48A83081423D +:1031300015D06D481838814211D0B9420FD06A4875 +:10314000183081420BD0614509D067484830814230 +:1031500005D0414503D0494501D0514504D1086807 +:1031600020F001000860BAE0086820F00100086063 +:10317000B5E0D1F800E02EF00E0EC1F800E00168D5 +:10318000DE46594531D091422FD099422DD0A142EF +:103190002BD0A94229D0B14227D0DFF848B10BF19A +:1031A000900B594521D0DFF83CB10BF1A80B5945E4 +:1031B0001BD0DFF834B1ABF1180B594515D0B9422B +:1031C00013D0DFF824B10BF1180B59450DD0614530 +:1031D0000BD0DFF814B10BF1480B594505D0414530 +:1031E00003D0494501D0514506D1D1F800B02BF0AC +:1031F000010BC1F800B005E0D1F800B02BF0010BD5 +:10320000C1F800B001684FF0010B714546D0914202 +:1032100044D0994242D0A14240D0A9423ED0B142CE +:103220003CD0304A9032914238D02E4AA832914256 +:1032300034D02D4A183A914230D0B9422ED02A4A81 +:10324000183291422AD0614528D0274A483291420B +:1032500024D0414522D0494520D051451ED0234A93 +:1032600091421BD0214A1432914217D01F4A283272 +:10327000914213D01D4A3C3291420FD01B4A50322A +:1032800091420BD0194A6432914207D0174A7832E2 +:10329000914203D0154A8C32914218D1016E0A68CE +:1032A00022F480720A60816D90F85C2002F01F02A7 +:1032B0000BFA02F24A60D0E919215160C16E31B1B6 +:1032C0000A6822F480720A60D0E91C21516080F8FB +:1032D00035B0002180F83410016D01B1884700201D +:1032E000B9E60000100002402804024008540258C9 +:1032F0002DE9FF5F0446002001904FF41651FD4870 +:103300000068B0FBF1F00090A56D2E682968FA4FB7 +:10331000DFF8E4B3DFF8E083DFF8DC930BF1180BA0 +:10332000DFF8D4A308F13008206809F148090AF150 +:10333000600AB8423BD05A46904238D0404536D019 +:10334000484534D0504532D0EB4A783290422ED0A6 +:10335000E94A903290422AD0E74AA832904226D0D9 +:10336000E64A904223D0E54A183290421FD0E34B00 +:10337000303398421BD0E14B4833984217D0DFF8E6 +:103380007CC30CF1600C604511D0DFF870C30CF108 +:10339000780C60450BD0DFF864C30CF1900C6045ED +:1033A00005D0DFF858E30EF1A80E70457ED194F8F1 +:1033B0005C10082301F01F0103FA01F232424BD0E6 +:1033C000B84232D0584530D040452ED048452CD058 +:1033D00050452AD0C8497831884226D0C649903114 +:1033E000884222D0C449A83188421ED0C3498842AD +:1033F0001BD0C2491831884217D0C04930318842A9 +:1034000013D0BE49483188420FD0BC496031884250 +:103410000BD0BA497831884207D0B84990318842F8 +:1034200003D0B649A831884203D1016801F00401F4 +:1034300002E0016801F0080171B1016821F00401A6 +:10344000016094F85C0000F01F0003FA00F2AA602B +:10345000606D40F00100606594F85C00012100F0AF +:103460001F008140314240D02068B84234D05845D6 +:1034700032D0404530D048452ED050452CD09E4AC1 +:103480007832904228D09C4A9032904224D09A4A76 +:10349000A832904220D0994A90421DD0974A1832C3 +:1034A000904219D0954A3032904200E0D2E113D0D8 +:1034B000924A483290420FD0904A603290420BD0EC +:1034C0008E4A7832904207D08C4A9032904203D094 +:1034D0008A4AA83290427DD1406910F0800F04D012 +:1034E000A960606D40F00200606594F85C00042102 +:1034F00000F01F00814031423ED02068B84232D0F7 +:10350000584530D040452ED048452CD050452AD083 +:10351000794A7832904226D0774A9032904222D02F +:10352000754AA83290421ED0744A90421BD0734A0A +:103530001832904217D0714A3032904213D06F4AFD +:10354000483290420FD06D4A603290420BD06B4AA5 +:103550007832904207D0694A9032904203D0674A4D +:10356000A83290424ED1006810F0020F04D0A9603A +:10357000606D40F00400606594F85C00102100F07C +:103580001F008140314260D02068B84234D0584595 +:1035900032D0404530D048452ED050452CD0564AE8 +:1035A0007832904228D0544A9032904224D0524AE5 +:1035B000A832904220D0514A90421DD04F4A183232 +:1035C000904219D04D4A3032904215D04B4A483281 +:1035D000904200E014E00FD0484A603290420BD095 +:1035E000464A7832904207D0444A9032904203D003 +:1035F000424AA832904207D1006800F0080006E075 +:10360000006872E70068B7E7006800F0040058B18E +:10361000A9602068016849030CD50068000304D440 +:10362000216C09B1204688470FE0A16C69B12046A2 +:1036300088470AE00168C90503D4016821F0080140 +:103640000160216C09B12046884794F85C00202174 +:1036500000F01F00814031427BD02068B84232D058 +:10366000584530D040452ED048452CD050452AD022 +:10367000214A7832904226D01F4A9032904222D07E +:103680001D4AA83290421ED01C4A90421BD01B4AB1 +:103690001832904217D0194A3032904213D0174A4C +:1036A000483290420FD0154A603290420BD0134AF4 +:1036B0007832904207D0114A9032904203D00F4A9C +:1036C000A832904203D1006800F0100002E00068C8 +:1036D00000F00200E8B3A96094F83500042812D085 +:1036E0002068016849033DD50068000335D4616C4A +:1036F00079B305E0E4000024100002401004024009 +:10370000204688473FE02068016821F016010160EB +:103710002068416921F080014161206C08B9A06CEA +:1037200020B12068016821F00801016094F85C0074 +:1037300000F01F013F208840A860012084F8350078 +:10374000002084F83400216D002974D004B0204694 +:1037500000E018E0BDE8F05F0847E16B99B1204652 +:10376000884710E00168C90509D4016821F01001FB +:103770000160012084F83500002084F83400E16BFA +:1037800009B120468847606D002854D0606DC0079D +:1037900058D0042084F835002068B84231D058450C +:1037A0002FD040452DD048452BD0504529D0B74982 +:1037B000884226D0B5491831884222D0B3493031E9 +:1037C00088421ED0B24988421BD0B1491831884284 +:1037D00017D0AF493031884213D0AD4948318842C3 +:1037E0000FD0AB49603188420BD0A949783188426B +:1037F00007D0A7499031884203D0A549A831884213 +:1038000004D1016821F00101016003E0016821F0A9 +:103810000101016021680198009A401C01909042CA +:1038200002D80868C007F6D10868C00704D0032092 +:1038300084F8350003E087E0012084F8350000209B +:1038400084F83400E16C00297ED004B02046BDE845 +:10385000F05F08478F4EB0421BD08E4E1436B042F8 +:1038600017D08C4E2836B04213D08A4E3C36B04228 +:103870000FD0884E5036B0420BD0864E6436B042E0 +:1038800007D0844E7836B04203D0824E8C36B04298 +:103890005AD106684FF0040E94F85CB00BF01F0B81 +:1038A0000EFA0BFE1EEA010FCDF80CE05ED05FEAC7 +:1038B000467E5BD503986860300411D5F00307D4C9 +:1038C000A16C002940D004B02046BDE8F05F084755 +:1038D000216C002938D004B02046BDE8F05F0847CD +:1038E000B0063BD42068B8422DD068496039884280 +:1038F00029D0404527D0484525D0504523D063499D +:10390000884220D06149183188421CD05F4930314B +:10391000884218D05E49884215D0904213D05C4945 +:10392000303188420FD098420DD0594960318842D9 +:1039300009D057497831884205D0604503D05449B1 +:10394000A831884206D100E07CE0016821F008013E +:10395000016003E0016821F004010160216C00298D +:1039600070D004B02046BDE8F05F08474FF0020E6B +:103970000EFA0BFE1EEA010FCDF808E063D05FEAF5 +:10398000867E60D502986860300411D5F00307D4B4 +:10399000616C002978D004B02046BDE8F05F08478C +:1039A000E16B002970D004B02046BDE8F05F084705 +:1039B000B0063FD42068B8422DD0344960398842DF +:1039C00029D0404527D0484525D0504523D02F4900 +:1039D000884220D02D49183188421CD02B493031E3 +:1039E000884218D02A49884215D0904213D02849DD +:1039F000303188420FD098420DD02549603188423D +:103A000009D023497831884205D0604503D0204948 +:103A1000A831884204D1016821F01401016003E05B +:103A2000016821F00A010160012084F835000020BE +:103A300084F83400E16B002926D004B02046BDE8AC +:103A4000F05F084720E0082202FA0BF20A421BD07E +:103A5000310719D5016821F00E01016094F85C006E +:103A600000F01F01012000FA01F16960606584F82F +:103A70003500002084F83400E16C002904D004B043 +:103A80002046BDE8F05F0847BDE8FF9F8800024080 +:103A900010040240085402582DE9F05F044600F07B +:103AA0005FFD0646002C7DD0F44F0222DFF8CC8368 +:103AB0000025DFF8C893DFF8C4A308F13008DFF869 +:103AC000BCB309F1480920680AF1600A0BF1780BD0 +:103AD000B84232D0E949183188422ED040452CD026 +:103AE00048452AD0504528D0584526D0E349903142 +:103AF000884222D0E149A83188421ED0E04988425C +:103B00001BD0DF491831884217D0DD493031884257 +:103B100013D0DB49483188420FD0D94960318842FF +:103B20000BD0D7497831884207D0D54990318842A7 +:103B300003D0D349A83188427ED184F8352084F857 +:103B40003450B84234D0CD491831884230D0404545 +:103B50002ED048452CD050452AD0584528D0C749AA +:103B60009031884224D0C549A831884220D0C44928 +:103B700088421DD0C2491831884219D0C04930311D +:103B8000884215D0BE494831884211D0BC496031C5 +:103B900088420DD0BA497831884209D0B84990316D +:103BA000884200E009E003D0B549A831884207D136 +:103BB000016821F00101016013E00120BDE8F09FE0 +:103BC000016821F0010101600BE000F0C9FC801BDD +:103BD000052806D920206065032084F835000120DF +:103BE000ECE720680068C007EFD122681168A5489B +:103BF0000140D4E902031843D4E90436334318439F +:103C0000A3691843E3691843236A18430843616AA8 +:103C1000042903D1D4E90B13194308439A490968CD +:103C20006FF30F01B1F1005F11D36168A1F12903B6 +:103C3000052B0AD9163B00E02EE0032B05D9083BE3 +:103C4000012B02D94F39032901D840F480101060AC +:103C50002068406920F00701606A40EA01060428F4 +:103C60000DD1A06A0643E06A48B12046FDF730FF57 +:103C700028B140206065012084F835009EE7206867 +:103C800046612046FDF736FE94F85C1001F01F02F5 +:103C90003F219140816066E07C4988421BD07B4B8C +:103CA0001433984217D0794B2833984213D0774B6E +:103CB0003C3398420FD0754B503398420BD0734B26 +:103CC0006433984207D0714B7833984203D06F4BDE +:103CD0008C3398427ED1884211D06C49143188428D +:103CE0000DD06A492831884209D068493C31884260 +:103CF00005D066495031884201D06449643184F866 +:103D0000352084F83450026861490A40A16840298E +:103D10007ED080297DD00021E36841EAD301236968 +:103D200041EAD301636941EAD301A36941EAD301BE +:103D3000E36941EAD301236A41EA131111430160A7 +:103D400052492068494208441421B0FBF1F0800038 +:103D5000E0652046FDF7CEFD94F85C1001F01F02EF +:103D60000121914041602068B84256D04349183142 +:103D7000884252D0404550D048454ED050454CD056 +:103D800058454AD03D499031884246D03B49A831F8 +:103D9000884242D03A4988423FD039491831884256 +:103DA0003BD037493031884237D035494831884295 +:103DB00033D03349603188422FD03149783188423D +:103DC0002BD02F499031884227D02D49A8318842E5 +:103DD00023D000E02DE02D4988421ED02B4914311C +:103DE00088421AD029492831884216D027493C31C7 +:103DF000884212D02549503188420ED0234964317F +:103E000088420AD021497831884206D01F4901E012 +:103E10000AE00BE08C31884229D12046FDF7CAFD2B +:103E2000A06880280CD00CE0102175E74FF4804189 +:103E300072E740206065032084F835000120BDE66C +:103E40006560216E20790860D4E9191048606068C7 +:103E5000401E072808D82046FDF7FCFDE06E0560EF +:103E6000D4E91C10486002E0E56625676567656572 +:103E7000012084F835000020A0E600001000024078 +:103E8000100402403F8010FE0010005C08540258ED +:103E90000F00FEFF2DE9F05F04460025002C14D032 +:103EA00094F83400012812D0012084F8340094F8EA +:103EB00035600020012E0CD04FF40061616584F85C +:103EC000340001252846BDE8F09F0120FBE70220D1 +:103ED000F9E7022684F835606065544F534EDFF8E9 +:103EE0004C811837DFF84491DFF840A108F1300821 +:103EF000DFF838B109F1480920680AF1600A0BF1CE +:103F0000780BB04243D0B84241D040453FD04845FD +:103F10003DD050453BD0584539D0DFF810C10CF1A9 +:103F2000900C604533D0DFF804C10CF1A80C60455B +:103F30002DD0DFF8FCC0604529D0DFF8F4C00CF1CB +:103F4000180C604523D0DFF8E8C00CF1300C604558 +:103F50001DD0DFF8DCC00CF1480C604517D0DFF84D +:103F6000D0C00CF1600C604511D0DFF8C4C00CF17A +:103F7000780C60450BD0DFF8B8C00CF1900C6045B0 +:103F800005D0DFF8ACC00CF1A80C604506D1D0F824 +:103F900000C02CF0010CC0F800C005E0D0F800C053 +:103FA0002CF0010CC0F800C02046FDF7CDFD2068C4 +:103FB000B04230D0B8422ED040452CD048452AD00F +:103FC000504528D0584526D018499031884222D0F3 +:103FD0001649A83188421ED0154988421BD0144981 +:103FE0001831884217D012493031884213D0104915 +:103FF000483188420FD00E49603188420BD00C49BD +:104000007831884207D00A499031884203D0084964 +:10401000A831884204D1016841F00101016051E7F3 +:10402000016841F0010101604CE70000100002400E +:10403000100402402DE9F84F044600200090002CA7 +:1040400015D094F83400012813D0012084F83400EE +:1040500094F835500020012D0DD04FF400616165BA +:1040600084F83400012000900098BDE8F88F01200A +:10407000FBE70220F9E7022584F835506065A54D7D +:10408000A44EA44F1835DFF88CC23036DFF8848296 +:104090004837DFF88092DFF87CA208F16008DFF88B +:1040A00074B209F1780920680AF1900A0BF1A80BA3 +:1040B00060453BD0A84239D0B04237D0B84235D065 +:1040C000404533D0484531D050452FD058452DD0AC +:1040D000DFF844C2604529D0DFF83CC20CF1180C6F +:1040E000604523D0DFF830C20CF1300C60451DD0A4 +:1040F000DFF824C20CF1480C604517D0DFF818C275 +:104100000CF1600C604511D0DFF80CC20CF1780C9A +:1041100060450BD0DFF800C20CF1900C604505D073 +:10412000DFF8F4C10CF1A80C604506D1D0F800C04E +:104130002CF0010CC0F800C005E0D0F800C02CF055 +:10414000010CC0F800C02046FDF7FEFC7149206854 +:1041500088422CD0A8422AD0B04228D0B84226D0DB +:10416000404524D0484522D0504520D058451ED047 +:10417000694A90421BD0684A1832904217D0664A6A +:104180003032904213D0644A483290420FD0624A93 +:10419000603290420BD0604A7832904207D05E4A3B +:1041A0009032904203D05C4AA83290420DD102680E +:1041B00022F01E0242F016020260206C90B12068CC +:1041C000026842F0080202600CE0026822F00E026F +:1041D00042F00A020260206C20B12068026842F0BE +:1041E00004020260206888424BD0A84249D0B04205 +:1041F00047D0B84245D0404543D0484541D05045CE +:104200003FD058453DD0444A90423AD0424A1832B5 +:10421000904236D0404A3032904232D03E4A483204 +:1042200090422ED03C4A603290422AD03A4A7832AC +:10423000904226D0384A9032904222D0364AA83254 +:1042400090421ED0354A90421BD0344A14329042DC +:1042500017D0324A2832904213D0304A3C32904232 +:104260000FD02E4A503290420BD02C4A64329042EA +:1042700007D02A4A7832904203D0284A8C329042A2 +:104280000DD1206E0268D20303D5026842F4807219 +:104290000260E06E18B1026842F480720260206829 +:1042A00088422CD0A8422AD0B04228D0B84226D08A +:1042B000404524D0484522D0504520D058451ED0F6 +:1042C000154988421BD014491831884217D0124929 +:1042D0003031884213D01049483188420FD00E49FE +:1042E000603188420BD00C497831884207D00A49A6 +:1042F0009031884203D00849A831884204D101682E +:1043000041F001010160AFE6016841F00101016087 +:10431000AAE60000100002401004024008540258AF +:104320002DE9F84F00227B4D03264FF001080F279F +:104330004FF0B04CE6E008FA02F31C409A46002C1D +:104340007ED00B7903F00303012B01D0022B1BD18C +:10435000D0F80890530006FA03FB29EA0B09D1F8BC +:104360000CB00BFA03FB4BEA090BC0F808B043682A +:1043700023EA0A0391F80490C9F3001909FA02F933 +:1043800049EA0309C0F804900B79DB439B070ED080 +:10439000D0F80C90530006FA03FA29EA0A09D1F87A +:1043A00008A00AFA03FA4AEA090AC0F80CA00B7935 +:1043B00003F00303022B14D1D30800EB8303D3F8DB +:1043C00020A04FEA42794FEAD96907FA09FB2AEAA5 +:1043D0000B0AD1F810B00BFA09FB4BEA0A0BC3F831 +:1043E00020B0D0F80090530006FA03FA29EA0A092F +:1043F00091F804A00AF0030A0AFA03FA4AEA090A41 +:10440000C0F800A04B6813F4403F7AD0424BD3F879 +:10441000009049F00209C3F800901B6803F0020302 +:10442000009322F0030909F1B049D9F808B49307C1 +:104430004FEA137A07FA0AF32BEA030B374B00E033 +:104440005FE0984201D100232DE0354B984201D125 +:10445000012328E0334B984201D1022323E0324B61 +:10446000984201D103231EE0304B984201D104232E +:1044700019E02F4B984201D1052314E02D4B9842AF +:1044800001D106230FE02C4B984201D107230AE00B +:104490002A4B984201D1082305E0294B984201D1CB +:1044A000092300E00A2303FA0AF343EA0B03C9F8DD +:1044B0000834DCF80030A343D1F804905FEAC9293E +:1044C00000D52343CCF80030DCF80430A343D1F806 +:1044D00004905FEA892900D52343CCF804306B6847 +:1044E000A343D1F804905FEA893900D523436B6078 +:1044F0002B68A343D1F804905FEAC93900D5234360 +:104500002B60521C0C6834FA02F37FF414AFBDE840 +:10451000F88F000080000058F44402580000025850 +:104520000004025800080258000C025800100258FB +:104530000014025800180258001C025800200258AB +:1045400000240258002A01D081617047090481616A +:104550007047000001480068000C70470010005CC4 +:104560000148806870470000EC0000240248816820 +:104570000278114481607047EC00002410B50320DC +:1045800000F0B2F802F03AF90F490A68C2F30323C7 +:104590000E4AD35C03F01F03D840096801F00F01F5 +:1045A000515C0B4A01F01F0120FA01F11160094929 +:1045B00008600F2000F010F808B1012010BD00F0D5 +:1045C00053F8002010BD000018440258E4E600082B +:1045D000E8000024E400002410B58AB00446102C42 +:1045E0002FD200222146372000F05EF8372000F05D +:1045F0004DF8184804601848016841F02001016036 +:10460000006800F02000009001A902A802F080F8E4 +:104610000798C0B102F0CEF840001049B0FBF1F1AC +:10462000491E10480E4A026040F2E732C260416003 +:1046300000210161816002F09FFD38B101200AB0C4 +:1046400010BD0120FBE702F0B5F8E6E7054802F0EF +:10465000EBFDF4E7F0000024E844025840420F006C +:10466000001400402CF2002482B00748016841F099 +:1046700002010160006800F00200019000220F2199 +:10468000901E02B000F010B8F4440258002809DB74 +:10469000012100F01F0291404009800000F1E0205C +:1046A000C0F8001170470000F0B40D460D4B1B68B8 +:1046B000C3F30223C3F10704042C00D90424191DF9 +:1046C000072901D2002300E0DB1E012606FA04F1CF +:1046D000491E294099409E40761E16403143F0BC49 +:1046E00006F057BF0CED00E000F00701054A106826 +:1046F0004FF6FF03184040EA0120034908431060C9 +:10470000704700000CED00E00000FA057047D0F89B +:10471000E00406F054B801EBC10200EB8202D0F8CD +:10472000E004126A05F078BF01EBC10200EB8202DF +:10473000D0F8E004D2F8602205F0DCBFD0F8E00445 +:1047400006F03FB80A0601F00F0101EBC10100EBD2 +:10475000810101D5143101E001F51571006806F001 +:104760008FBD70B5044601F00F002279904201D947 +:10477000012070BD0B064FF0010201F00F014FF058 +:10478000000501EBC10104EB810102D514314A702F +:1047900002E001F515714D708D70087094F8940465 +:1047A000012808D084F89424206806F0E7FB84F8F8 +:1047B0009454002070BD022070BD2DE9F0410446E4 +:1047C0004FF0010601F00F004FF000050F0600EB5F +:1047D000C00104EB810102D514314E7002E001F5F5 +:1047E00015714D700870C2F30A028A600B714A7825 +:1047F00002B14883022B00D14D7194F89404012832 +:1048000009D084F89464206806F03EFB284684F8BA +:104810009454BDE8F0810220FBE710B501F00F04CD +:1048200004EBC40100EB810101F51571CA600B6155 +:1048300000234B614B700C708379012B00D1CA614E +:104840008279006806F0F2FB002010BD70B50446C6 +:104850000D4605F00F002179884201D9012070BD75 +:1048600029064FF000064FF0010206D500EBC0010B +:1048700004EB810114314A7006E005EBC50104EB3D +:10488000810101F515714E708A70087094F89404D6 +:10489000012807D084F89424206806F09BFB2807A1 +:1048A00002D007E0022070BDA17904F29C4220688A +:1048B00006F03AFB84F89464002070BD10B501F056 +:1048C0000F0404EBC40100EB81011431CA600B61D9 +:1048D00000234B6101234B700C708379012B00D1B5 +:1048E000CA618279006806F0A1FB002010BD2DE9A5 +:1048F000F84F04462568284606F046FD00287ED17C +:10490000206806F06DFD002879D0D5F80808C0F3BE +:104910000D20C4F8D404206806F062FD800704D599 +:104920002068416901F002014161206806F058FDEC +:10493000C10604F29C40009035D52068816921F0C1 +:10494000100181612F6A07F00F0000EBC00004EB3B +:10495000800606F51576C7F34340022802D00628E4 +:1049600012D01BE047F6F070074217D0C7F30A12C7 +:10497000F1681746284606F037FDF0683844F060C5 +:1049800070693844706109E000990822284606F0F1 +:104990002BFD7069C7F30A110844706120688169B2 +:1049A00041F010018161206806F01AFD00034FF00C +:1049B000080B4FF000094FF001085ED50026206873 +:1049C00006F0EDFC824655E05FEACA704FD02068E1 +:1049D000F1B206F0FDFC0746F80707D005EB4610DC +:1049E000C0F8088B3146204604F0ACF8380709D5EA +:1049F00005EB4610C0F808BB3146204600E015E242 +:104A000004F07CF8F80604D505EB46111020C1F837 +:104A1000080BB8071CD56869000605D5D5F8040849 +:104A200040F48061C5F8041806EBC60004EB800072 +:104A300000F51570C178012905D180F80390204652 +:104A4000F1B200F0F9F905EB46110220C1F8080BAC +:104A5000B80604D505EB46102021C0F8081BB804A1 +:104A600005D505EB46104FF40051C0F8081B761C25 +:104A70004FEA5A0ABAF1000FA6D1206806F0B0FC3E +:104A800040036CD5206806F083FC8246002663E074 +:104A90005FEACA705DD02068F1B206F087FC074675 +:104AA000F80723D006F00F0108FA01F0D5F8341802 +:104AB0008143C5F8341805EB4610C0F80889A07981 +:104AC00001280FD106EBC60004EB8000D0E90721D6 +:104AD0001144016236B9606A20B920680121009A48 +:104AE00006F022FA2046F1B2FFF715FE380703D58B +:104AF00005EB4610C0F808B9F80604D505EB4611D9 +:104B00001020C1F80809780604D505EB46104021AD +:104B1000C0F80819B80716D53146284606F002FC39 +:104B200006EBC60004EB80001430C178012905D1E2 +:104B300080F803902046F1B200F07AF905EB4611B7 +:104B40000220C1F80809380603D53146204604F092 +:104B50006BF8761C4FEA5A0ABAF1000F98D1206818 +:104B600006F03EFC002811DAD5F8040820F0010117 +:104B7000C5F8041894F8CC04012839D0204600F078 +:104B800076F92068416901F000414161206806F032 +:104B900027FC00050BD5D5F80808C00702D0204631 +:104BA00000F088F92068416901F4006141612068E2 +:104BB00006F016FC00010AD52068416901F0006189 +:104BC000416194F8CC04D0B1204600F073F920681C +:104BD00006F006FCC0046ED5D5F8040820F00101EB +:104BE000C5F804182068102106F09CFB00212DE078 +:104BF00084F8CC9400212046FFF788FDC1E784F8B3 +:104C0000CC842068406DC0F38300C4F8D004012137 +:104C10002046FFF77BFDDAE705EB41104FF67F32C8 +:104C200000F510608260036823F400130360C0F88D +:104C30000822D0F8002222F40012C0F80022D0F896 +:104C4000002242F00062C0F80022491C207988420C +:104C5000E2D8D5F81C0840F00111C5F81C18E07B1B +:104C600060B1D5F8840840F00B01C5F88418D5F878 +:104C7000440840F00B01C5F844180CE0D5F81408BE +:104C800042F22B010843C5F81408D5F8100840F08B +:104C90000B01C5F81018D5F8000820F4FE61C5F81E +:104CA0000018A1792068009A06F03EF92068416951 +:104CB00001F480514161206806F092FB800415D513 +:104CC000206806F023F9206806F04EFBE07101F041 +:104CD0004FFDE2790146206806F0B4FB204600F063 +:104CE000AFF82068416901F400514161206806F085 +:104CF00077FB000707D5204600F0BDF82068416922 +:104D000001F008014161206806F06AFB000615D534 +:104D1000A86920F08001A96101260CE006EBC6001D +:104D200004EB800090F85702012803D12046F1B22D +:104D3000FFF708FD761C2079B042EFD8206806F016 +:104D40004FFBC0021FD5012615E005EB4610D0F839 +:104D5000001906EBC60004EB8000027E012A09D18F +:104D6000002907DA80F81780F0B240F08001204671 +:104D7000FFF7E8FC761C2079B042E6D8206841694C +:104D800001F480114161206806F02AFB800230D5D1 +:104D9000012026E005EB4011D1F8001B00EBC0021A +:104DA00004EB820292F85832012B19D1002917DA4C +:104DB00094F8D434C1F3004103F001038B420FD1C6 +:104DC00082F85782A96941F08002AA6169690906DF +:104DD00006D4D5F8040840F40070C5F8040803E0D0 +:104DE000401C21798142D5D82068416901F4001125 +:104DF0004161206806F0F4FA400007D52046FFF72D +:104E000086FC2068416901F080414161206806F01C +:104E1000E7FA40070AD520684568680702D52046AA +:104E2000FFF78CFC2068416829434160BDE8F88F9A +:104E3000D0F8E00405F0E4BCD0F8E00405F0F5BCDF +:104E400070B504460125E07900280ED0022801D073 +:104E5000FCF799FFD4F8E004294605F057FDD4F893 +:104E6000E004BDE8704005F00ABD0025F2E7D0F887 +:104E7000E00405F034BDD0F8E00405F03ABD10B50B +:104E8000044694F8940401280AD0012084F894047C +:104E90006174206806F0C7FA002084F8940410BDFD +:104EA000022010BDD0F8E02400F29C41104605F02D +:104EB00039BD000010B50446D4F8E00405F06BFDE0 +:104EC0002068D0F8001E41F00101C0F8001EE07A11 +:104ED000002804D00248016841F00601016010BDBD +:104EE00010ED00E070B514490A68D243520708D5A6 +:104EF000096801F00701814201D0012070BD002046 +:104F000070BD0A6822F0070202430A60FFF728FB1F +:104F10000446094D4FF47A76083D06E0FFF720FB82 +:104F2000001BB04201D9012070BD2868C043800435 +:104F3000F4D4002070BD00000C48025810B501F0F8 +:104F400017FC05490968054AC1F30211515C01F0DB +:104F50001F01C84010BD000020440258E4E60008CC +:104F600010B569490A6802F003020968C1F3051126 +:104F7000654B1B1D1B6803F00103634C0C34246854 +:104F8000C4F3CC0414FB03F300EE103AB8EE400A6D +:104F9000002971D09FED5D1A9FED5D2A5A4BF7EE07 +:104FA000000A0833F2B3012A7DD0022A7AD001EE3A +:104FB000901A1968F8EE611AC2EE212AC1F30801AD +:104FC00001EE901AF8EE611A40EE011A31EEA00AD5 +:104FD00022EE800A1968C1F3462101EE101AB8EEDC +:104FE000411A31EE201AC0EE011ABCEEE11A80ED32 +:104FF000001A1968C1F3064101EE101AB8EE411A01 +:1050000031EE201AC0EE011ABCEEE11A80ED011A51 +:105010001968C1F3066101EE101AB8EE411A71EE7B +:10502000200A00E006E080EE201ABCEEC10A80ED06 +:10503000020A10BD344A283A1468A4061ED5126824 +:10504000C2F3C104334AE24001EE902AF8EE612A2D +:1050500001EE901A1968F8EE611A82EEA12AC1F3E6 +:10506000080101EE901AF8EE611A40EE011A31EED5 +:10507000A00A22EE000AADE741E014E001EE901A2A +:105080001968F8EE611AC2EE212AC1F3080101EE97 +:10509000901AF8EE611A40EE011A31EEA00A22EEE3 +:1050A000800A97E715E001EE901ADFED1B2A1968D8 +:1050B000F8EE611A82EEA12AC1F3080101EE901AFE +:1050C000F8EE611A40EE011A31EEA00A22EE000A53 +:1050D00080E701EE901ADFED112A1968F8EE611AE7 +:1050E00082EEA12AC1F3080101EE901AF8EE611ACE +:1050F00040EE011A31EEA00A22EE000A6AE7002112 +:1051000001604160816010BD2844025800000039F0 +:105110000024744C0090D0030024744A20BCBE4B81 +:1051200010B569490A6802F003020968C1F3053144 +:10513000654B1B1D1B68C3F30013634C14342468B8 +:10514000C4F3CC0414FB03F300EE103AB8EE400AAB +:10515000002971D09FED5D1A5B4BF7EE000A10330A +:10516000F2B39FED5B2A012A7FD0022A7CD001EEA8 +:10517000901A1968F8EE611AC2EE212AC1F30801EB +:1051800001EE901AF8EE611A40EE011A31EEA00A13 +:1051900022EE800A1968C1F3462101EE101AB8EE1A +:1051A000411A31EE201AC0EE011ABCEEE11A80ED70 +:1051B000001A1968C1F3064101EE101AB8EE411A3F +:1051C00031EE201AC0EE011ABCEEE11A80ED011A90 +:1051D0001968C1F3066101EE101AB8EE411A00E039 +:1051E00008E071EE200A80EE201ABCEEC10A80EDC4 +:1051F000020A10BD344A283A1468A4061ED5126863 +:10520000C2F3C104334AE24001EE902AF8EE612A6B +:1052100001EE901A1968F8EE611A82EEA12AC1F324 +:10522000080101EE901AF8EE611A40EE011A31EE13 +:10523000A00A22EE000AADE741E016E001EE901A66 +:10524000DFED252A1968F8EE611A82EEA12AC1F372 +:10525000080101EE901AF8EE611A40EE011A31EEE3 +:10526000A00A22EE000A95E713E001EE901A1968F1 +:10527000F8EE611AC2EE212AC1F3080101EE901A7C +:10528000F8EE611A40EE011A31EEA00A22EE800A11 +:1052900080E701EE901ADFED112A1968F8EE611A25 +:1052A00082EEA12AC1F3080101EE901AF8EE611A0C +:1052B00040EE011A31EEA00A22EE000A6AE7002150 +:1052C00001604160816010BD28440258000000392F +:1052D0000024744A0090D0030024744C20BCBE4BC0 +:1052E00010B569490A6802F003020968C1F3055163 +:1052F000654B1B1D1B68C3F30023634C1C342468DF +:10530000C4F3CC0414FB03F300EE103AB8EE400AE9 +:10531000002971D09FED5D1A5B4BF7EE000A183340 +:10532000F2B39FED5B2A012A7FD0022A7CD001EEE6 +:10533000901A1968F8EE611AC2EE212AC1F3080129 +:1053400001EE901AF8EE611A40EE011A31EEA00A51 +:1053500022EE800A1968C1F3462101EE101AB8EE58 +:10536000411A31EE201AC0EE011ABCEEE11A80EDAE +:10537000001A1968C1F3064101EE101AB8EE411A7D +:1053800031EE201AC0EE011ABCEEE11A80ED011ACE +:105390001968C1F3066101EE101AB8EE411A00E077 +:1053A00008E071EE200A80EE201ABCEEC10A80ED02 +:1053B000020A10BD344A283A1468A4061ED51268A1 +:1053C000C2F3C104334AE24001EE902AF8EE612AAA +:1053D00001EE901A1968F8EE611A82EEA12AC1F363 +:1053E000080101EE901AF8EE611A40EE011A31EE52 +:1053F000A00A22EE000AADE741E016E001EE901AA5 +:10540000DFED252A1968F8EE611A82EEA12AC1F3B0 +:10541000080101EE901AF8EE611A40EE011A31EE21 +:10542000A00A22EE000A95E713E001EE901A19682F +:10543000F8EE611AC2EE212AC1F3080101EE901ABA +:10544000F8EE611A40EE011A31EEA00A22EE800A4F +:1054500080E701EE901ADFED112A1968F8EE611A63 +:1054600082EEA12AC1F3080101EE901AF8EE611A4A +:1054700040EE011A31EEA00A22EE000A6AE700218E +:1054800001604160816010BD28440258000000396D +:105490000024744A0090D0030024744C20BCBE4BFE +:1054A0002DE9F04F89B0FD4CFB4A80F48079DFF89C +:1054B000E8834FF080572511F94BDFF8E8A3503A05 +:1054C00059EA0109A8F104064FF0005C36D080F4D7 +:1054D000007959EA01097FD0DFF8BC9380F4806B32 +:1054E0005BEA010B09F108096FD080F4006B5BEAFD +:1054F000010B6BD080F4805B5BEA010B67D080F41A +:10550000005B5BEA010B4FF4803A4FF4003E6ED033 +:1055100080F4002B5BEA010B6AD080F4803B5BEAED +:10552000010B75D080F480460E4372D080F40040A9 +:1055300008436FD0002009B0BDE8F08FD8F8000014 +:1055400000F00700052845D2DFE800F0030D174200 +:1055500021001068800104D506A8FFF701FD079817 +:10556000E9E70020E7E71068000104D503A8FFF78A +:10557000D7FD0398DFE70020DDE71068800004D541 +:105580006846FFF7ADFE0098D5E70020D3E7306806 +:1055900000F040501168490700D530B11168C905C5 +:1055A0000AD5B84208D12846C5E71068C0F3C10043 +:1055B00024FA00F0BFE70FE01168890303D56045C6 +:1055C00001D11846B7E70020B5E759E0AAE0FBE0B3 +:1055D0005046B0E70020AEE7D8F8000000F4E070D5 +:1055E000802824D005DC58B1402807D115E03DE1E2 +:1055F0008AE1C02842D0B0F5807F22D000209AE70F +:105600001068800107D506A8FFF7AAFC079892E763 +:10561000B6E1D1E115E200208DE71068000104D564 +:1056200003A8FFF77DFD039885E7002083E7106856 +:10563000800004D56846FFF753FE00987BE7002002 +:1056400079E7306800F040501168490700D530B163 +:105650001168C90509D5B84207D128466BE710681B +:10566000C0F3C10024FA00F065E71168890303D58F +:10567000604501D118465EE700205CE750465AE7D6 +:10568000D9F8000000F46000B0F5800F21D004DCF0 +:1056900058B1B0F5001F06D111E0B0F5C00F3FD0F2 +:1056A000B0F5000F1FD0002045E71068800104D539 +:1056B00006A8FFF755FC07983DE700203BE7106878 +:1056C000000104D503A8FFF72BFD039833E7002062 +:1056D00031E71068800004D56846FFF701FE0098A6 +:1056E00029E7002027E7306800F04050116849079B +:1056F00000D530B11168C90509D5B84207D128468F +:1057000019E71068C0F3C10024FA00F013E711682C +:10571000890303D5604501D118460CE700200AE74C +:10572000504608E7D9F8000000F0E060B0F1007FD3 +:1057300021D004DC58B1B0F1807F06D111E0B0F186 +:10574000407F3FD0B0F1806F1FD00020F3E610689B +:10575000800104D506A8FFF703FC0798EBE60020BC +:10576000E9E61068000104D503A8FFF7D9FC039807 +:10577000E1E60020DFE61068800004D56846FFF708 +:10578000AFFD0098D7E60020D5E6306800F0405025 +:105790001168490700D530B11168C90509D5B8426B +:1057A00007D12846C7E61068C0F3C10024FA00F00C +:1057B000C1E61168890303D5604501D11846BAE6F0 +:1057C0000020B8E65046B6E6D8F8000000F4E04005 +:1057D000B0F5005F21D004DC58B1B0F5805F06D190 +:1057E00011E0B0F5405F3FD0B0F5804F1FD00020F2 +:1057F000A1E61068800104D506A8FFF7B1FB079861 +:1058000099E6002097E61068000104D503A8FFF789 +:1058100087FC03988FE600208DE61068800004D591 +:105820006846FFF75DFD009885E6002083E6306856 +:1058300000F040501168490700D530B11168C90522 +:1058400009D5B84207D1284675E61068C0F3C100F3 +:1058500024FA00F06FE61168890303D5604501D191 +:10586000184668E6002066E6504664E6D8F8000070 +:1058700000F4E020B0F5403F2DD015DCE0B15045FC +:105880001DD0704516D11068800022D56846FFF7FC +:1058900027FD01984FE60000504402580090D003C5 +:1058A00040787D010080BB00B0F5802F1ED0B0F5A0 +:1058B000A02F22D000203EE600F07CFF3BE61068DF +:1058C000000104D503A8FFF72BFC049833E6002061 +:1058D00031E600202FE61068400705D51068C0F3B8 +:1058E000C10024FA00F026E6002024E61068C00576 +:1058F00001D528461FE600201DE61068800301D56B +:10590000184618E6002016E6D9F8000000F44030EA +:1059100088B1504519D0704530D1306800F0405002 +:105920001168490700D5D0B11168C9051DD5B84225 +:105930001BD12846FFE51068000104D503A8FFF736 +:10594000EFFB0398F7E50020F5E51068800004D52B +:105950006846FFF7C5FC0298EDE50020EBE510680E +:10596000C0F3C10024FA00F0E5E51168890303D50E +:10597000604501D11846DEE50020DCE50020DAE5CF +:10598000306800F4803048B1504513D110680001F0 +:105990000ED503A8FFF7C4FB0598CCE5106880017D +:1059A00004D506A8FFF7DCFA0798C4E50020C2E595 +:1059B0000020C0E50020BEE5D9F8000000F0E0407E +:1059C000B0F1405F24D00CDC98B1B84214D06045EF +:1059D0000DD11068800019D56846FFF781FC019849 +:1059E000A9E5B0F1804F1ED0B0F1A04F22D0002029 +:1059F000A1E5FFF7A3FA9EE51068000104D503A80E +:105A0000FFF78EFB049896E5002094E5002092E5D0 +:105A10001068400705D51068C0F3C10024FA00F0F3 +:105A200089E5002087E51068C00501D5284682E594 +:105A3000002080E51068800301D518467BE5002032 +:105A400079E5D8F8000000F0405058B1B84210D0C5 +:105A500060451AD11068000115D503A8FFF760FB57 +:105A6000049868E51068800301D5184663E50020B6 +:105A700061E51068800104D506A8FFF771FA079860 +:105A800059E5002057E5002055E5002053E50000CA +:105A90002DE9FC5F044600250026F94F2068DFF859 +:105AA000E483C043010104F10800019004F12800DF +:105AB00000900DD4A06EB8B1B0F5801F19D0B0F52C +:105AC000001F1CD0B0F5401F00D00125EDB12E46BF +:105AD0002088C043C00535D4A06D05282FD2DFE84B +:105AE00000F01D22282F2F00386840F40030386065 +:105AF000ECE70198022103F0E5F80546E6E7009897 +:105B0000022103F071F90546E0E7D8F80000A16E24 +:105B100020F440100843C8F80000D9E7386840F482 +:105B2000003038600CE00198002103F0CBF8054606 +:105B300006E00098002103F057F9054600E0012532 +:105B400065B12E462088C043800518D4E06D8028BA +:105B500031D00CDC20B340280ED126E0D8F800006C +:105B6000A16D20F007000843C8F80000EAE7C0284C +:105B700003D0B0F5807F00D0012515B32E462088D4 +:105B8000DFF80493C04340052DD4D4F8A800B0F545 +:105B9000800F43D01EDCA8B3B0F5001F20D137E042 +:105BA000386840F400303860E7E70198002103F0DE +:105BB00089F80546E1E70098002103F015F905464C +:105BC000DBE7D8F80000E16D20F4E0700843C8F886 +:105BD0000000D4E7B0F5C00F03D0B0F5000F00D03F +:105BE00001250DB32E462088C04300052FD4D4F8DC +:105BF000AC00B0F1007F54D020DCE8B3B0F1807F7E +:105C000022D148E0FFE7386840F400303860E8E728 +:105C10000198002103F056F80546E2E700980021BC +:105C200003F0E2F80546DCE7D9F80000D4F8A81044 +:105C300020F460000843C9F80000D4E7B0F1407FC9 +:105C400003D0B0F1806F00D0012585B32E462068C7 +:105C5000C04380010AD4E06C30B1102832D0202833 +:105C600036D0302800D001258DB32E462088C04381 +:105C7000C00446D4206E00E008E0B0F5005F5CD0C0 +:105C800036DCA0B3B0F5805F38D150E0386840F41E +:105C900000303860D9E70198002103F013F8054679 +:105CA000D3E70098002103F09FF80546CDE7FFE712 +:105CB000D9F80000D4F8AC1020F0E0600843C9F82F +:105CC0000000C4E7386840F400303860CCE705E0F5 +:105CD0000198022102F0F6FF0546C5E76948001F5A +:105CE0000168E26C21F0300111430160BEE719E068 +:105CF000B0F5405F03D0B0F5804F00D0012515B35B +:105D00002E462088C04380042FD4606EB0F5403FFB +:105D100029D021DC38B3B0F5803F38D0B0F5003F52 +:105D200020D13AE0386840F400303860E7E7019865 +:105D3000002102F0C7FF0546E1E70098002103F0CB +:105D400053F80546DBE7D8F80000216E20F4E04068 +:105D50000843C8F80000D4E7B0F5802F03D0B0F5B1 +:105D6000A02F00D00125F5B12E462088C043400465 +:105D70002BD4D4F8B000B0F1405F24D01CDC10B3B9 +:105D8000B0F1805F4ED0B0F1005F1BD151E00198BF +:105D9000012102F097FF0546E5E70098012103F095 +:105DA00023F80546DFE7D8F80000616E20F4E02014 +:105DB0000843C8F80000D8E7B0F1804F03D0B0F135 +:105DC000A04F00D001259DB32E462088C04300047B +:105DD0000AD4206F30B1B0F1805F3CD0B0F1005FE9 +:105DE0003ED00125ADB32E462068C043C0010AD481 +:105DF000A06C30B101284DD0022850D0032800D02B +:105E000001253DB32E462068DFF880B0C043400234 +:105E100061D41F48016841F480710160FEF7A0FB66 +:105E2000824652E00198012102F04CFF0546CAE784 +:105E300005E00098012102F0D7FF0546C3E7D9F835 +:105E40000000D4F8B01020F0E0400843C9F800008A +:105E5000BBE70BE029E0386840F400303860C1E768 +:105E60000198012102F02EFF0546BBE7D8F800009B +:105E7000216F20F040500843C8F80000B4E700004C +:105E80002C440258504402585844025810440258B6 +:105E900000480258386840F400303860B1E7019893 +:105EA000022102F00FFF0546ABE7FE480168A26C35 +:105EB00021F0030111430160A5E7FEF751FBA0EBC0 +:105EC0000A00642801D9032503E0F7480068C005EB +:105ED000F3D53DB12E462078DFF8D0A3C043C007EC +:105EE00055D065E0F1481C300068B4F8B41000F4F7 +:105EF000407001F4407188420DD0EC481C300168BC +:105F000021F44071026842F480320260026822F497 +:105F1000803202600160D4F8B400B0F5807F12D105 +:105F2000FEF71EFB824609E0FEF71AFBA0EB0A0112 +:105F300041F28830814201D9032504E0DB481C305E +:105F400000688007F0D50DB12E46C4E7D4F8B40040 +:105F5000C0F3012103290FD0DBF8000020F47C50AE +:105F6000CBF80000D1481C300168B4F8B420C2F36B +:105F70000B0211430160AEE7DBF80010CC4A21F4BC +:105F80007C51104041EA1010CBF80000EAE7E06FC6 +:105F900018280BD005DC48B1082815D0102804D1EA +:105FA00018E0202802D0282800D00125C5B12E46AF +:105FB0002078C04380072BD4A06F062825D2DFE8C5 +:105FC00000F025181E2525250198012102F07AFEF2 +:105FD0000546EBE70098012102F006FF0546E5E7DC +:105FE000DAF80000E16F20F038000843CAF800003A +:105FF000DEE70198012102F065FE054606E0009803 +:10600000012102F0F1FE054600E001256DB12E46AA +:106010002078C043400720D4D4F89400062819D231 +:10602000DFE800F0190C12191919DAF80000A16F55 +:1060300020F007000843CAF80000E9E701980121B1 +:1060400002F040FE054606E00098012102F0CCFE79 +:10605000054600E0012595B12E462078C043800614 +:1060600020D4D4F89000B0F1405F19D011DCB8B161 +:10607000B0F1805F28D0B0F1005F10D12AE0D9F8EC +:106080000000D4F8941020F007000843C9F800007D +:10609000E3E7B0F1804F03D0B0F1A04F00D001256D +:1060A000F5B12E462078C04340062CD4D4F89C008D +:1060B000B0F5406F25D01DDC18B3B0F5806F34D03B +:1060C000B0F5006F1CD136E00198002102F0FAFD16 +:1060D0000546E5E70098022102F086FE0546DFE767 +:1060E000DAF80000D4F8901020F0E0400843CAF835 +:1060F0000000D7E7B0F5805F03D0B0F5A05F00D017 +:106100000125F5B12E462078C04300062CD4D4F8E2 +:10611000A000B0F5C04F25D01DDC18B3B0F5005F6E +:106120002CD0B0F5804F1CD12EE00198002102F058 +:10613000C9FD0546E5E70098022102F055FE054637 +:10614000DFE7D9F80000D4F89C1020F4E0500843B1 +:10615000C9F80000D7E7B0F5004F03D0B0F5204FE5 +:1061600000D00125B5B12E462078C04300072AD4BF +:10617000D4F88400B0F5805F16D01BE001980021B0 +:1061800002F0A0FD0546EDE70098022102F02CFE8A +:106190000546E7E7D9F80000D4F8A01020F46040E5 +:1061A0000843C9F80000DFE70098022102F01CFE56 +:1061B00000B10126DAF80000D4F8841020F4405031 +:1061C0000843CAF800002078C043C00613D4D4F8AE +:1061D0009800B0F5807F05D10098022102F004FEFE +:1061E00000B10126D9F80000D4F8981020F44070CE +:1061F0000843C9F800002068C04300030BD4D4F85A +:10620000A400E8B3B0F5803F7DD0B0F5003F00D0EA +:106210000125B5B32E462068C04340030DD4D4F801 +:106220008800B0F5801F70D0B0F5001F6ED0B0F5BB +:10623000401F00D00125EDB32E462068C043C003A7 +:1062400007D4206DB8B3B0F5803F7CD001259DB355 +:106250002E462068C043800005D40098022102F039 +:10626000C3FD00B101262068C043800311D4D4F8D7 +:10627000800060B1B0F5807F66D0B0F5007F01E0AE +:1062800070E07BE003D0B0F5407F00D00125DDB3A6 +:106290002E462068C043C00213D4D8F8000020F076 +:1062A00000400AE04C440258004802585444025846 +:1062B000FFFCFF0F77E080E08AE0616F0843C8F8D9 +:1062C00000002068C043C00008D4DBF80000D4F808 +:1062D000B81020F480400843CBF800002068C04389 +:1062E000800207D4D8F80000E16E20F080700843E7 +:1062F000C8F800002068C043400011D4DBF800005B +:1063000020F4004003E033E06FE041E045E0CBF8EB +:106310000000DBF80000D4F8BC100843CBF8000004 +:106320002068C04306D45A480168626D21F040518C +:10633000114301602068C04300020BD4DAF800006A +:1063400020F4400001E03DE04AE0D4F88C1008431E +:10635000CAF8000020790025C04300F0010028435E +:106360004DD052E00198002102F0ACFC054650E708 +:106370000098022102F038FD05464AE7D9F80000EE +:10638000D4F8A41020F440300843C9F8000042E7D4 +:10639000386840F4003038604DE70098012102F081 +:1063A00023FD054647E7DAF80000D4F8881020F40A +:1063B00040100843CAF800003FE7386840F4003056 +:1063C000386044E70198022102F07CFC05463EE774 +:1063D0002F480168226D21F480311143016038E7B4 +:1063E000386840F40030386051E7DAF80000D4F83B +:1063F000801020F440700843CAF8000049E7019873 +:10640000002102F05FFC00B106462079C04300F095 +:106410000200284305D10198012102F053FC00B18C +:1064200006462079C04300F00400284305D10198B6 +:10643000022102F047FC00B106462079C04300F07B +:106440000800284305D10098002102F0CDFC00B1DE +:1064500006462079C04300F01000284305D100987B +:10646000012102F0C1FC00B106462079C04300F0D2 +:106470002000054305D10098022102F0B5FC00B1CF +:10648000064616B10120BDE8FC9F0020FBE7000096 +:106490004C4402582DE9F05F04460D46002C17D0FD +:1064A000DFF84C82D8F8000000F00F00A84211D2AB +:1064B000D8F8000020F00F002843C8F80000D8F8F2 +:1064C000000000F00F00A84204D00120BDE8F09FBA +:1064D0000120FBE72078874E40070AD52069316804 +:1064E00001F07001884204D9316821F07001014344 +:1064F00031602078804F00070AD56069396801F063 +:106500007001884204D9396821F070010143396073 +:106510002078C0060AD5A069396801F4E061884294 +:1065200004D9396821F4E061014339602078DFF84B +:10653000CC9180060DD5E069D9F8001001F070010A +:10654000884206D9D9F8001021F070010143C9F83A +:106550000010207880070AD5E068316801F00F014B +:10656000884204D9316821F00F010143316020785D +:10657000C00743D03068A16820F4706008433060E1 +:106580005C4960681839022808D003280BD001281C +:106590000ED00968490710D4012097E709688903DC +:1065A0000BD4012092E70968890106D401208DE708 +:1065B0000968C90501D4012088E7DFF838A1AAF1EC +:1065C000080ADAF8001021F007010143CAF80010A8 +:1065D000FDF7C6FF834609E0FDF7C2FFA0EB0B0104 +:1065E00041F28830814201D903206FE7DAF80000D8 +:1065F000616800F03800B0EBC10FEDD12078800762 +:106600000AD5E068316801F00F01884204D2316890 +:1066100021F00F0101433160D8F8000000F00F00B5 +:10662000A8420ED9D8F8000020F00F002843C8F87F +:106630000000D8F8000000F00F00A84201D00120AF +:1066400044E7207840070AD52069316801F07001DD +:10665000884204D2316821F0700101433160207812 +:1066600000070AD56069396801F07001884204D2D8 +:10667000396821F07001014339602078C0060AD5DD +:10668000A069396801F4E061884204D2396821F4D4 +:10669000E06101433960207880060DD5E069D9F8C2 +:1066A000001001F07001884206D2D9F8001021F0E4 +:1066B00070010143C9F8001000F0A0F83168C1F37F +:1066C00003220F498A5C02F01F02D040326802F0B8 +:1066D0000F02895C0B4A01F01F0120FA01F11160E1 +:1066E0000949086009480068BDE8F05FFDF774BF1C +:1066F00000200052184402581C44025820440258FA +:10670000E4E60008E8000024E4000024F00000248F +:106710003F220260144A126802F007024260124AE5 +:106720000832136803F470638360136803F00F0387 +:10673000C360126802F0700202610B4A0C321368E7 +:1067400003F070034361126802F4E0628261064A5A +:106750001032126802F07002C2610448006800F052 +:106760000F000860704700001044025800200052DB +:1067700000B500F043F80B490A68C2F303230A4A44 +:10678000D35C03F01F03D840096801F00F01515C8E +:10679000064A01F01F0120FA01F11160044A10605D +:1067A000084600BD18440258E4E60008E80000244A +:1067B000E400002400B5FFF7DBFF05490968054A3E +:1067C000C1F30211515C01F01F01C84000BD00007F +:1067D0001C440258E4E6000800B5FFF7C9FF05496C +:1067E0000968054AC1F30221515C01F01F01C8404C +:1067F00000BD00001C440258E4E6000830B56448BF +:106800000068654C10F03801624808D00211082970 +:106810000DD010290DD018290DD0104630BD21689B +:106820008906FBD52168C1F3C101C84030BD1046BF +:1068300030BD5A4830BD564918310A6802F003028B +:106840000968C1F30511524B1C331B6803F00103A7 +:106850004F4D24352D68C5F3CC0515FB03F300EE31 +:10686000103AB8EE400A002977D0DFED4D0A484BC8 +:10687000B7EE001A20333AB39FED4A2A012A58D0C6 +:10688000022A6CD001EE901A1868F8EE611AC2EE76 +:10689000212AC0F3080001EE900AF8EE611A40EEDA +:1068A000201A31EE810A22EE800A1868C0F34620D1 +:1068B000401C00EE900AF8EE600A80EE201ABCEE52 +:1068C000C10A10EE100A30BD226892061BD522685C +:1068D000C2F3C102D04001EE900A1868F8EE612AB6 +:1068E00001EE901AF8EE611A82EEA12AC0F30800B8 +:1068F00001EE900AF8EE611A40EE201A31EE810A9C +:1069000022EE000AD1E701EE901ADFED272A18687F +:10691000F8EE611A82EEA12AC0F3080001EE900A97 +:10692000F8EE611A40EE201A31EE810A22EE000ADA +:10693000BBE701EE901A1868F8EE611AC2EE212A40 +:10694000C0F3080001EE900AF8EE611A40EE201A3A +:1069500031EE810A22EE800AA7E716E0FFE701EE9A +:10696000901ADFED122A1868F8EE611A82EEA12A59 +:10697000C0F3080001EE900AF8EE611A40EE201A0A +:1069800031EE810A22EE000A8FE7002030BD0000C0 +:10699000104402580090D0030044025840787D0112 +:1069A000000000390024744A0024744C20BCBE4B03 +:1069B0002DE9F05F0446002C10D02078DFF8F88332 +:1069C000FE4EFF4DC0075DD0D8F8000000F0380043 +:1069D000316810281FD0182803D006E00120BDE838 +:1069E000F09F01F00300022815D06068B0F5803FE9 +:1069F00018D0E0B1B0F5A02F22D0286820F4803064 +:106A00002860286820F480202860606860B3FDF763 +:106A1000A7FD074624E02868800333D5606810BBD3 +:106A20000120DCE7286840F480302860EDE7286822 +:106A300020F480302860286820F480202860E4E773 +:106A4000286840F480202860286840F4803028605E +:106A5000DBE7FDF785FDC01B642801D90320BEE7F5 +:106A600028688003F5D50DE0FDF77AFD074606E0BE +:106A7000FDF776FDC01B642801D90320AFE7286825 +:106A80008003F5D4207841F2030ACE4F80073DD52C +:106A9000D8F8000000F03800316870B1182801D132 +:106AA00088070AD0E06890B3296821F019010143F2 +:106AB0002960FDF755FD814641E02868400701D572 +:106AC000E06848B12868E16820F0190008432860B0 +:106AD000FDF746FD814609E0012080E7FDF740FD16 +:106AE000A0EB0900022801D9032078E728684007B5 +:106AF000F4D5FDF72FFD504511D82069402807D067 +:106B0000396821F47C3141EA003038604AE036E0EF +:106B1000386820F47C3040F40030386042E0386857 +:106B2000217C20F0FE4040EA016038603AE0FDF749 +:106B300017FDA0EB0900022801D903204FE72868C0 +:106B40004007F4D5FDF706FD504510D820694028D0 +:106B500006D0396821F47C3141EA0030386021E008 +:106B6000386820F47C3040F4003038601AE038682F +:106B7000217C20F0FE4040EA0160386012E0286885 +:106B800020F001002860FDF7EBFC814607E0FDF7EF +:106B9000E7FCA0EB0900022801D903201FE72868C1 +:106BA0004007F4D42078C0062FD5D8F8000000F0B4 +:106BB00038003168DFF800B20828ABF1040B0FD0C1 +:106BC000182803D101F00300012809D0E06978B347 +:106BD000286840F080002860FDF7C2FC814630E064 +:106BE0002868C00504D5E069802801D00120F6E6B8 +:106BF000FDF7B0FC504510D8206A202806D039682F +:106C000021F0F84141EA806038604FE0386820F0B8 +:106C1000F84040F08040386048E0DBF8000094F82D +:106C2000201020F07C5040EA0160CBF800003DE0ED +:106C30002AE0FDF795FCA0EB0900022801D903200A +:106C4000CDE62868C005F4D5FDF784FC504510D882 +:106C5000206A202806D0396821F0F84141EA806096 +:106C6000386023E0386820F0F84040F08040386019 +:106C70001CE0DBF8000094F8201020F07C5040EA83 +:106C80000160CBF8000011E0286820F08000286047 +:106C9000FDF766FC074606E0FDF762FCC01B022814 +:106CA00001D903209BE62868C005F5D420780007A9 +:106CB00030D5DFF80891606909F14C09A8B1D9F81D +:106CC000000040F00100C9F80000FDF749FC07464C +:106CD00006E0FDF745FCC01B022801D903207EE633 +:106CE000D9F800008007F4D514E0D9F8000020F0AE +:106CF0000100C9F80000FDF733FC074606E0FDF788 +:106D00002FFCC01B022801D9032068E6D9F8000037 +:106D10008007F4D42078800626D5A06990B1286831 +:106D200040F480502860FDF71BFC074606E0FDF7A5 +:106D300017FCC01B022801D9032050E628688004F4 +:106D4000F5D511E0286820F480502860FDF708FC94 +:106D5000074606E0FDF704FCC01B022801D903200A +:106D60003DE628688004F5D42078400768D5164FA2 +:106D7000386840F480703860FDF7F2FB814607E028 +:106D8000FDF7EEFBA0EB0900642801D9032026E6FD +:106D90003868C005F4D5094FA068483701281DD0D0 +:106DA00008B3052828D0386820F00100386038681A +:106DB00020F00400386009E01044025828440258CA +:106DC000004402580444025800480258A06841F2A6 +:106DD000883A30B3FDF7C4FB81461EE0386840F0C6 +:106DE00001003860E7E7386820F001003860386853 +:106DF00020F004003860DEE7386840F004003860B6 +:106E0000386840F001003860D5E7FDF7A9FBA0EB3A +:106E10000900504501D90320E1E538688007F4D521 +:106E20000EE0FDF79DFB814607E0FDF799FBA0EB27 +:106E30000900504501D90320D1E538688007F4D412 +:106E4000616AE1B3D8F800004FF6F87BDFF8E0A103 +:106E5000C0F3C20003280AF10409AAF104087DD096 +:106E6000022907D0286820F080702860FDF778FBA1 +:106E700004468BE0286820F080702860FDF770FBE6 +:106E8000074606E0FDF76CFBC01B022801D9032072 +:106E9000A5E528688001F5D4306840F2F3318843D5 +:106EA000E16A40EA0110A16A08433060208E4FF683 +:106EB000FF72616B401E491EC0F3080000E0B5E0A0 +:106EC00002EA41210843218F4FF4FE02491E02EAE3 +:106ED0000141084394F83C10491E120202EA016184 +:106EE0000843CAF80000D8F8000020F00100C8F8F4 +:106EF0000000D9F80000A16C20EA0B0040EAC100B4 +:106F0000C9F80000D8F80000216C20F00C000843FC +:106F1000C8F80000D8F80000616C20F002000843B7 +:106F2000C8F80000D8F8000040F48030C8F800002D +:106F3000D8F8000040F40030C8F80000D8F800008D +:106F400040F48020C8F80000D8F8000040F00100AC +:106F5000C8F80000286840F0807000E01AE028605F +:106F6000FDF7FEFA044606E0FDF7FAFA001B0228D8 +:106F700001D9032033E528688001F5D556E0FDF7F7 +:106F8000EFFA001B022801D9032028E528688001B8 +:106F9000F5D44BE03268DAF80000012921D0A36A69 +:106FA00002F0030199421CD1E16AC2F30512914239 +:106FB00017D1216BC0F30802491E8A4211D1616BBF +:106FC000C0F34622491E91420BD1A16BC0F3064289 +:106FD000491E914205D1E16BC0F30660491E814212 +:106FE00001D00120FBE4D9F80000C0F3CC00A16C73 +:106FF00081421BD0D8F8000020F00100C8F8000042 +:10700000FDF7AEFA0546FDF7ABFAA842FBD0D9F87A +:107010000000A16C20EA0B0040EAC100C9F80000A2 +:10702000D8F8000040F00100C8F800000020D6E4C5 +:1070300030440258024A136883430B43136070477D +:1070400004040058704770477047000030B590F84E +:107050003C20012A3AD0012280F83C20CA68002452 +:107060008B6822F440721A434B6822F480621A4300 +:107070000B6822F400621A430B6922F480521A430F +:107080004B6922F400521A438B6A22F480421A435D +:107090000B8B22F4702242EA03420D4D0368AB428F +:1070A00002D00C4DAB420CD18D8C22F4700242EA1E +:1070B0000552CD6922F080722A43096A22F00072DB +:1070C0000A435A6480F83C40002030BD022030BDA5 +:1070D0000000014000040140F0B590F83C20012A76 +:1070E0003AD0012680F83C60022280F83D200368F7 +:1070F0005A689C68194FDFF868C0BB4201D06345ED +:1071000003D122F470054A682A4322F070020D6808 +:1071100015435D600268BA4213D0B2F1804F10D0BF +:10712000104B9A420DD0104B9A420AD00F4B9A4204 +:1071300007D0624505D00E4B9A4202D00D4B9A42C1 +:1071400004D124F080038968194391603C30467073 +:10715000002101700020F0BD0220F0BD00000140C0 +:10716000000401400004004000080040000C004002 +:10717000001800400040014010B50446002C03D028 +:1071800094F83D0010B107E0012010BD002084F804 +:107190003C00204600F018F8022084F83D002068EA +:1071A000211D02F0AFF901203D34E0726070A07043 +:1071B000E07020716071A071E07120726072A07245 +:1071C0002070002010BD000008B5006813498842F7 +:1071D00009D11348016841F001010160006800F025 +:1071E0000100009008BD0E490839B0F1804F0BD066 +:1071F0000C4A9042F6D1086840F004000860086824 +:1072000000F00400009008BD086840F0010008602C +:10721000086800F00100009008BD00000000014077 +:10722000F04402580008004090F83D10012901D0B8 +:1072300001207047022180F83D100168CA6842F0C1 +:107240000102CA6000681549884214D0B0F1804F2D +:1072500011D0134988420ED0124988420BD01249EE +:10726000884208D01149884205D01149884202D08D +:10727000104988420CD181680F4A114006290BD071 +:10728000B1F5803F08D0016841F00101016003E0E1 +:10729000016841F0010101600020704700000140D9 +:1072A0000004004000080040000C004000040140C1 +:1072B00000180040004001400700010070B504467E +:1072C000002594F83C00012815D0012684F83C6084 +:1072D000022084F83D0020688268394B1A4022F46D +:1072E0007F4282600868702802462ED010DC10F0C1 +:1072F0000F0F03D022E04FF0020070BD4FEA2010C4 +:1073000007281BD2DFE800F0575757574D39430085 +:10731000B0F1101F4FD009DCB0F5805F0FD0B0F591 +:10732000005F1ED0B0F5801F08D144E0A0F58010AA +:10733000203840D010283ED020283CD001253C34B5 +:10734000667000202070284670BDCB682068D1E9A7 +:10735000012102F048F92068816841F077018160DD +:10736000EDE7CB682068D1E9012102F03CF9206803 +:10737000816841F480418160E1E7CA68496820681A +:1073800002F0D4FA2068502102F038F9D7E7CA6831 +:107390004968206802F0DBFA2068602102F02EF9CB +:1073A000CDE7CA684968206802F0C0FA2068402129 +:1073B00002F024F9C3E72068114602F01FF9BEE786 +:1073C00088FFCEFF70472DE9F04104462068C6686B +:1073D00005694FF00007A90714D5B10712D5F91EAA +:1073E00001610120207720688069800703D0204652 +:1073F000FFF7E8FF05E0204600F0B6F8204600F071 +:1074000077F92777680717D5700715D521686FF0CA +:1074100004000861022020772068806910F4407F12 +:1074200003D02046FFF7CEFF05E0204600F09CF891 +:10743000204600F05DF92777280716D5300714D5C8 +:1074400021686FF008000861042020772068C06977 +:10745000800703D02046FFF7B5FF05E0204600F087 +:1074600083F8204600F044F92777E80617D5F006A0 +:1074700015D521686FF0100008610820207720687A +:10748000C06910F4407F03D02046FFF79BFF05E062 +:10749000204600F069F8204600F02AF92777E8072F +:1074A00008D0F00706D021686FF00100086120467F +:1074B00000F00CFA280601D4A80408D5300606D539 +:1074C00021686FF4025008612046FFF7BCFDE80513 +:1074D00008D5300606D521686FF480700861204613 +:1074E000FFF7B0FD680608D5700606D521686FF075 +:1074F00040000861204600F0F3F9A8060AD5B0065E +:1075000008D521686FF0200008612046BDE8F041F1 +:10751000FFF79ABDBDE8F08110B586B0044614218E +:1075200001A8F9F7C1F82068B0F1804F16D10C48D6 +:10753000016841F001010160006800F00100009065 +:107540004FF400400190122002900020039004901C +:107550000120059001A90348FCF7E2FE06B010BD2A +:10756000E044025800000258704770B504460D46CA +:10757000002694F83C0001280BD0012084F83C0040 +:107580000C2A4FD007DC82B1042A22D0082A06D167 +:1075900034E0022070BD102A59D0142A6BD0012685 +:1075A000002084F83C00304670BD2068294602F077 +:1075B0002FF82068816941F00801816120688169A4 +:1075C00021F004018161206881692A691143816188 +:1075D000E6E72068294602F06BF82068816941F4EB +:1075E000006181612068816921F480618161206886 +:1075F00081692A6941EA02218161D1E7206829462F +:1076000002F0A0F82068C16941F00801C16120685A +:10761000C16921F00401C1612068C1692A6911436F +:10762000C161BDE72068294602F0D6F82068C1692B +:1076300041F40061C1612068C16921F48061C161C8 +:107640002068C1692A6941EA0221C161A8E720686E +:10765000294602F0FBF82068416D41F008014165C0 +:107660002068416D21F0040141652068416D2A695F +:107670001143416594E72068294602F01FF920680C +:10768000416D41F4006141652068416D21F48061E4 +:1076900041652068416D2A6941EA022141657FE721 +:1076A00010B50446002C03D094F83D0010B107E05B +:1076B000012010BD002084F83C00204600F017F89F +:1076C000022084F83D002068211D01F01BFF0120ED +:1076D0003D34E0726070A070E07020716071A07144 +:1076E000E07120726072A0722070002010BD70479F +:1076F0007047000030B5044600290DD004290ED093 +:1077000008290FD00C2910D0102911D094F843006B +:10771000012810D0012030BD94F83E00F8E794F81D +:107720003F00F5E794F84000F2E794F84100EFE7F6 +:1077300094F84200ECE70220E9B3042947D0082975 +:1077400048D00C2949D010294AD084F8430001229E +:10775000206801F03BFF27492068274A274B8842D1 +:1077600009D0904207D0984205D0254DA84202D0BA +:10777000244DA84203D1456C45F40045456420687A +:10778000884212D0B0F1804F0FD01F4988420CD0F0 +:107790001E49884209D01E49884206D0904204D032 +:1077A0001C49884201D098421DD181681A4A114073 +:1077B00006291CD000E007E0B1F5803F17D0016832 +:1077C00041F00101016012E084F83E00BFE784F857 +:1077D0003F00BCE784F84000B9E784F84100B6E711 +:1077E00084F84200B3E7016841F001010160002024 +:1077F00030BD000000000140000401400040014095 +:1078000000440140004801400004004000080040DE +:10781000000C0040001800400700010030B504468D +:107820000D4600222946206801F0D0FE41F21112D7 +:1078300021492068931088420BD02049884208D003 +:107840001F49884205D01F49884202D01E498842FC +:1078500009D1016A114206D1016A194203D1416C72 +:1078600021F4004141642068016A114206D1016A95 +:10787000194203D1016821F00101016001205DB1CD +:10788000042D0CD0082D0DD00C2D0ED0102D0FD0A6 +:1078900084F84300002030BD84F83E00FAE784F805 +:1078A0003F00F7E784F84000F4E784F84100F1E78F +:1078B00084F84200EEE700000000014000040140AF +:1078C0000040014000440140004801400068034975 +:1078D000884201D1FCF74ABE704700000014004006 +:1078E000704790F88410012918D0012180F8841085 +:1078F0002421C0F8881001680A680B6823F001038E +:107900000B6022F0005100224266036819602021BA +:10791000C0F8881080F8842000207047022070474B +:1079200010B50446D4F88C00202801D0022010BDE8 +:1079300051B14AB10120E06600202067204602F0E4 +:1079400015FC014611B105E0012010BDE06E0128D3 +:1079500002D00121084610BD226810201062206864 +:1079600050E8002F42F0100240E80023002BF6D12F +:10797000F0E7000010B50648F9F71CFD042805D310 +:107980000448C068BDE8104004F03ABC10BD0000D7 +:107990009025002408000024704770B5044694F830 +:1079A000840001281DD0012084F884002420C4F81C +:1079B000880020680568026822F0010202602068E1 +:1079C000826822F060620A438260204601F0D2FFA2 +:1079D000206805602020C4F88800002084F8840016 +:1079E00070BD022070BD70B5044694F88400012873 +:1079F0001DD0012084F884002420C4F88800206869 +:107A00000568026822F0010202602068826822F0A4 +:107A100060420A438260204601F0ACFF20680560A6 +:107A20002020C4F88800002084F8840070BD022063 +:107A300070BD704770477047014651F8880F49681C +:107A4000084370472DE9F04104462368D869196856 +:107A50009A6840F60F0500EA0507002F0ED185064B +:107A60000CD501F0200502F08056354306D0616F39 +:107A700000297DD02046BDE8F041084700260225B8 +:107A8000002F76D0D54FDFF858C3174001EA0C0C11 +:107A900057EA0C0C6DD05FEAC07C0CD05FEAC15C89 +:107AA00009D54FF0010CC3F820C0D4F8903043F052 +:107AB0000103C4F89030830709D5D30707D02368A2 +:107AC0001D62D4F8903043F00403C4F890304307AB +:107AD0000AD5D30708D0256804232B62D4F8903048 +:107AE00043F00203C4F8903003070CD501F02003E3 +:107AF0003B4308D0256808232B62D4F8903043F02C +:107B00000803C4F8903003050BD54B0109D525684F +:107B10004FF400632B62D4F8903043F02003C4F894 +:107B20009030D4F89030002B3CD0800609D501F07D +:107B3000200002F08051084303D0616F09B1204654 +:107B40008847D4F8900021688968490602D410F06B +:107B5000280F2DD0204602F06DF82068806840067E +:107B600022D52068083050E8001F21F0400101E0D4 +:107B700018E023E040E80012002AF2D1D4F8800097 +:107B800068B198490165D4F88000FBF759FA0028DC +:107B900008D0D4F88000016DBDE8F04108472046C8 +:107BA000FFF749FFBDE8F0812046FFF744FFF9E702 +:107BB0002046FFF740FFC4F89060F3E7E76E012F1F +:107BC0007ED1C7067CD5CF067AD5102018622068F2 +:107BD00080684FF02003400673D5D4F88020824996 +:107BE000106888423AD080491831884236D07E49A0 +:107BF0003031884232D07C49483188422ED07A498F +:107C0000603188422AD078497831884226D0764936 +:107C10009031884222D07449A83188421ED07349DD +:107C200088421BD071491831884217D06F493031D2 +:107C3000884213D06D49483188420FD06B4960317A +:107C400088420BD069497831884207D06749903122 +:107C5000884203D06549A831884201D1406800E0DC +:107C6000406880B24FF4807760B3B4F85C10814212 +:107C700040D9A4F85E00D069B84230D0206850E8FE +:107C8000001F21F4807140E80012002AF6D120681C +:107C9000083050E8001F21F0010140E80012002ADE +:107CA000F5D12068083050E8001F21F0400140E87D +:107CB0000012002AF5D1C4F88C30E666206802E094 +:107CC00056E023E016E050E8001F21F0100140E8E4 +:107CD0000012002AF2D1D4F88000FAF7F3FF2567EA +:107CE000B4F85C00B4F85E10401A81B22046FFF789 +:107CF00041FE57E7B4F85C108142FAD1D069B8422E +:107D0000F7D125672046FFF735FE4BE734F85C0FC7 +:107D10006188401A81B260885C3C0028E9D0002963 +:107D2000E7D0206850E8002F22F4907240E8002746 +:107D3000002FF6D1294FFF432068083050E8002F6C +:107D40003A4040E8002CBCF1000FF5D1C4F88C306B +:107D5000E6666667206850E8002F22F0100240E8CF +:107D60000023002BF6D125672046FFF703FE19E715 +:107D7000C50209D5550207D54FF480101862204678 +:107D8000BDE8F041FFF756BE03060CD501F08003B5 +:107D900002F40002134306D0A16F0029A9D02046A7 +:107DA000BDE8F0410847420606D54A0604D52046FC +:107DB000BDE8F04101F068BF020206D54A0004D5D3 +:107DC0002046BDE8F041FFF734BEC00191D500293F +:107DD0008FDA2046BDE8F041FFF7DEBD010000105C +:107DE000200100042F9B00081000024010040240F4 +:107DF00010B50446002C03D0D4F8880010B107E079 +:107E0000012010BD002084F88400204600F028F8EE +:107E10002420C4F888002068016821F00101016075 +:107E2000A06A10B1204601F0C9FD204601F056FFBE +:107E3000012813D02068416821F4904141602068F6 +:107E4000816821F02A0181602068016841F0010108 +:107E500001602046BDE8104001F014BE012010BDB5 +:107E600070B5B8B00646142132A8F8F71DFCC02141 +:107E700002A8F8F719FC2949306888424BD1012142 +:107E80000020CDE902100025219502A8FDF700FE93 +:107E900008B1F9F778FF2248016841F0100101604C +:107EA000006800F0100001901D481038016841F092 +:107EB00001010160006800F0010001904FF4C06012 +:107EC000329002203390349535950720369032A9B0 +:107ED0001448FCF725FA154C1348206029206060EF +:107EE000A560E5604FF4806020616561A561E56192 +:107EF000256265622046FBF7CFFD08B1F9F743FF25 +:107F0000C6F88040A663002205212520FCF7CCFBA3 +:107F10002520FCF7BBFB38B070BD0000001001400D +:107F2000F04402580000025888000240A0040024D7 +:107F3000704770472DE9F84304460E4615461F4624 +:107F4000D4F88800202802D00220BDE8F8838EB142 +:107F500085B100201834A06721202067FCF700FBC2 +:107F60008146A587E58754F8100C183CB0F5805F72 +:107F700002D003E00120E8E7206920B13546002661 +:107F80004FF0200817E00025FAE700224B46802139 +:107F90002046009702F03CF918B1C4F8888003200D +:107FA000D3E7C5B1216815F8010B8862B4F8560013 +:107FB000401EA4F85600B4F856000028E5D100226F +:107FC0004B4640212046009702F022F950B1C4F8F8 +:107FD00088800320B9E7216836F8020BC0F3080057 +:107FE0008862E3E7C4F888800020AEE77047FEE7C8 +:107FF0008068C0F3C00070478068C0F3000070471D +:108000008068C0F380007047C06810F4406F01D0F2 +:1080100000207047012070472DE9F05F2DED028BA5 +:108020004FF00008DFF8049489F804804FF40054FE +:10803000204600F071FFFE480021FFF75BFBFD4882 +:1080400000228021FCF77EFAFB4D002221112846F8 +:10805000FCF778FA002221462846FCF773FA002242 +:1080600028466100FCF76EFA0024F44DF44F4FF4FB +:10807000205AF44E4FF4806BA00089F80400EC48BD +:10808000B038FAF737FDEA4852462946B038FAF7D1 +:10809000ABFCE0B2F8F70EFEC5F800800021E44822 +:1080A0004C30FFF727FB4FF4FA7003F0DFFFE04896 +:1080B00000214C30FFF7B2FB002000EB8001891C4F +:1080C00035F8211027F81010401C80B25845F4D321 +:1080D000DB48594603F05CFF06EB840080ED000AA4 +:1080E000002000EB8001891C55F82110090C27F8AD +:1080F0001010401C80B25845F3D3D148594603F0C4 +:1081000047FF04F1080006EB800080ED000A002024 +:1081100000EB800155F82110090C27F81010401CC5 +:1081200080B25845F4D3C648594603F031FF04F1F4 +:10813000100006EB800080ED000A002000EB8001BB +:1081400035F8211027F81010401C80B25845F5D39F +:10815000BB484FF4806103F01BFFBA4904F11800DB +:1081600001EB800080ED000A641CA4B2082C83D3CC +:10817000B14E00224FF400713046FCF7E3F9AD48F0 +:1081800001228021FCF7DEF9012230465103FCF781 +:10819000D9F9012230469103FCF7D4F900249FED70 +:1081A000AA8AA84E4FF00109203EA0491E2000EBEC +:1081B000840008719E48B038FAF79CFC9F4D4FF43C +:1081C00020529B482946B038FAF70EFCE0B2F8F787 +:1081D00071FDC5F80080002195484C30FFF78AFA00 +:1081E0000025DFF854B24FF4804A00225146584629 +:1081F000FCF7A8F9052003F039FF01225146584643 +:10820000FCF7A0F9052003F031FF6D1CADB2322D53 +:10821000EBD3874800214C30FFF700FB0020874D4F +:108220004FF4806B00EB8001891C35F8211027F892 +:108230001010401C80B25845F4D38148594603F0D1 +:10824000A7FE804901EB8400D0ED000AF4EEC00ADD +:10825000F1EE10FA02D230EE600A01E0B0EE480A08 +:1082600080ED000A10EE100ADFF8E0A1504502DDB3 +:1082700006F8049001E006F80480002000EB80017D +:1082800055F82110090C27F81010401C80B25845F1 +:10829000F4D36B484FF4806103F07AFE694904F12E +:1082A000100001EB8000D0ED000AF4EEC00AF1EE00 +:1082B00010FA02D230EE600A01E0B0EE480A80ED1A +:1082C000000A10EE100A6149884203DD301980F877 +:1082D000109002E0301980F81080641CA4B2082CC1 +:1082E000FFF463AF544C012251022046FCF72AF9F7 +:1082F000504801228021FCF725F9002220464FF446 +:108300000051FCF71FF9012220469103FCF71AF9EE +:10831000002446493C2000EB840008714448B038F2 +:10832000FAF7E8FB42484FF420522946B038FAF7F2 +:108330005BFBE0B2F8F7BEFCC5F8008000213C48CA +:108340004C30FFF7D7F94FF0000ADFF8E8B0012210 +:1083500080215846FCF7F6F8052003F087FE00223E +:1083600058468021FCF7EEF8052003F07FFE0AF165 +:10837000010A1FFA8AFABAF1320FE8D32C48002119 +:108380004C30FFF74BFA00204FF4806100EB800285 +:10839000921C55F82220120C27F81020401C80B2A5 +:1083A0008842F3D326484FF4806103F0F1FDDFF8F3 +:1083B00094B004F108000BEB8000D0ED000AF4EE5D +:1083C000C00AF1EE10FA02D230EE600A01E0B0EE1F +:1083D000480A80ED000A10EE100ADFF870A0504540 +:1083E00003DD301980F8089002E0301980F8088029 +:1083F00000204FF4806100EB800235F8222027F83E +:108400001020401C80B28842F5D30D4803F0C0FD17 +:1084100004F118000BEB8000D0ED000AF4EEC00A66 +:10842000F1EE10FA14D230EE600A13E0F8010024E5 +:1084300074030024000C0258001802580010003881 +:108440009005002430EA0024000000000000C8422B +:10845000B0EE480A80ED000A10EE100A504503DD28 +:10846000301980F8189002E0301980F81880641CE8 +:10847000A4B2082CFFF44DAF1A480021FFF7CEF943 +:10848000194880F804900022184C80212046FCF7FF +:1084900059F84FF47A7003F0E9FD0122204680215B +:1084A000FCF750F8124800228021FCF74BF8114CE1 +:1084B00000224FF400712046FCF744F800222046C9 +:1084C0004FF40051FCF73EF8002220464FF4804163 +:1084D000FCF738F8084864210171BDEC028BBDE857 +:1084E000F09F0000740300240800002400200258BC +:1084F000000C025800180258F801002430B587B06B +:108500001C216846F8F7D0F850484F4901604FF4F5 +:1085100000214160002484600125C56008210161BB +:10852000047544750A21816104774FF4B06141629A +:10853000A90281620321C16229030163446380F8B7 +:108540003840C563FAF792F808B1F9F71CFC0095BA +:1085500006200190029440F2FF70039004200490E2 +:1085600005948DF8194069463848F9F7B5FC08B10B +:10857000F9F709FC364800900C2001906946334811 +:10858000F9F7AAFC08B1F9F7FEFB32480090122077 +:10859000019069462D48F9F79FFC08B1F9F7F3FB04 +:1085A0001820019029486946F9F796FC08B1F9F7B7 +:1085B000EAFB294800904FF48070019069462348F7 +:1085C000F9F78AFC08B1F9F7DEFB244800904FF474 +:1085D0008370019069461D48F9F77EFC08B1F9F7F0 +:1085E000D2FB1F4800904FF48670019069461748EF +:1085F000F9F772FC08B1F9F7C6FB1A4800904FF47E +:108600008970019069461148F9F766FC08B1F9F7DD +:10861000BAFB154800904FF48C70019069460B48E6 +:10862000F9F75AFC08B1F9F7AEFB104800904FF487 +:108630000070019069460548F9F74EFC002801D00A +:10864000F9F7A1FB07B030BD00600258C402002456 +:10865000020030042000F0140004002A0008302E2C +:10866000002090360040C03A0080F03E00002143D8 +:1086700008B50D48016841F400110160006800F47C +:1086800000100090002205218020FCF70DF88020CA +:10869000FBF7FCFF002205218120FCF705F8BDE86F +:1086A00008408120FBF7F2BFE044025808B51A48A1 +:1086B000016841F002010160016801F002010091CE +:1086C000016841F001010160006800F001000090C4 +:1086D00013481249016000214160802282609200AB +:1086E000C2605200026141618161C1610162042284 +:1086F000426203228262C1620163FBF7CDF908B1D5 +:10870000F9F741FB002205211020FBF7CDFFBDE862 +:1087100008401020FBF7BABFD844025810040240AA +:10872000180500242DE9F04F87B0142102A8F7F7AF +:10873000BBFF4B48016841F020010160016801F076 +:1087400020010191016841F080010160016801F0A0 +:1087500080010191016841F004010160016801F0AC +:1087600004010191016841F001010160016801F01B +:1087700001010191016841F008010160016801F007 +:1087800008010191016841F040010160016801F0B8 +:1087900040010191016841F480710160006800F4BA +:1087A000807001900122DFF8BC801402404621460F +:1087B000FBF7C8FEDFF8B090E600002231464846DD +:1087C000FBF7C0FEDFF8A4A00022BF215046FBF754 +:1087D000B9FEDFF89CB04FF4FC47002239465846FA +:1087E000FBF7B0FE234801228021FBF7ABFE029489 +:1087F0000125039500240494059402A94046FBF743 +:108800008FFD0296112603960494059402A948460A +:10881000FBF786FD3B20029003960494059402A981 +:108820005046FBF77DFD8420029003950494059447 +:1088300002A95046FBF774FD029703950494059432 +:1088400002A95846FBF76CFD802002900395049422 +:10885000059402A90748FBF763FD07B0BDE8F08F58 +:10886000E04402580000025800080258000C025868 +:10887000001802580020025830B599B00024159411 +:108880001694179418941294139414941C210BA802 +:10889000F7F70AFF2C216846F7F706FF2B482A490D +:1088A0000160EF21416084606321C1600461446123 +:1088B00080258561FEF760FC08B1F9F764FA4FF492 +:1088C00080501590214815A9FEF7F8FC08B1F9F77A +:1088D0005AFA1E48FEF7E4FE08B1F9F754FA2020D0 +:1088E00012901394149512A91848FEF7F5FB08B1DD +:1088F000F9F749FA60200B9005200C900D940E9426 +:108900000F9410941194002210480BA9FEF72DFE2D +:1089100008B1F9F738FA009401940294039404948E +:108920004FF40050059006940794000308900994B2 +:108930000A9469460548FEF789FB002801D0F9F73B +:1089400022FA19B030BD00000000014028030024C5 +:1089500030B58FB000240B940C940D940E940894B1 +:1089600009940A941C2101A8F7F79EFE1E484FF0B7 +:1089700080410160EF21416084606321C160046136 +:1089800080258561FEF7F8FB08B1F9F7FCF94FF493 +:1089900080500B9014480BA9FEF790FC08B1F9F732 +:1089A000F2F91148FEF77CFE08B1F9F7ECF9202046 +:1089B00008900A9508A90C48FEF78EFB08B1F9F754 +:1089C000E2F9602001900294039405940022064885 +:1089D00001A9FEF7CAFD08B1F9F7D5F90248FEF77B +:1089E0009BFD0FB030BD00007403002430B58FB084 +:1089F00000240B940C940D940E94089409940A94FA +:108A00001C2101A8F7F750FE1E481D490160EF2107 +:108A1000416084606321C160046180258561FEF747 +:108A2000ABFB08B1F9F7AFF94FF480500B90154844 +:108A30000BA9FEF743FC08B1F9F7A5F91148FEF7B9 +:108A40002FFE08B1F9F79FF9202008900A9508A990 +:108A50000C48FEF741FB08B1F9F795F96020019049 +:108A600005200290039405940022064801A9FEF710 +:108A70007CFD002801D0F9F786F90FB030BD000069 +:108A800000080040C003002410B5174815490160D4 +:108A90004FF4E131416000218160C16001610C222D +:108AA00042618161C161016241628162FFF7A0F9A7 +:108AB00008B1F9F768F90C480021FEF794FF08B1F6 +:108AC000F9F761F908480021FEF767FF08B1F9F7E7 +:108AD0005AF90548FEF705FF002801D0F9F753F9C8 +:108AE00010BD0000001001400C040024FEE7FEE76A +:108AF0000148FBF7FCBE000048ED002470B50446B9 +:108B00002068056C00EB4110D0F8081B0C4EB542F4 +:108B100005D9090403D54FF40041C0F8081B2046CD +:108B2000FCF7C0F9B54208D9A079012805D1206821 +:108B3000012104F29C4202F0F7F9002070BD000010 +:108B40000A30544F2DE9F04105460C462E68306C32 +:108B500006EB4411D1F8083B4FF4004795F8068026 +:108B600005F29C424FF0200CB8F1010F08D0DFF85D +:108B7000B080404545D118043AD5C1F8087B4CE097 +:108B8000284E5FEA037806D5B04246D9180444D58A +:108B9000C1F8087B41E05FEA836802D5C1F808CBE1 +:108BA0003BE013F0280F38D1B04204D9180402D5A5 +:108BB000C1F8087B31E004EBC40005EB800000F550 +:108BC0001570D1F8101B036AC1F31201591A4161E3 +:108BD00024B903693BB1C2681144C1602846E1B2BF +:108BE000FBF7A2FD19E02868012102F09DF9F5E7E5 +:108BF000980601D5C1F808CB2846E1B2FBF794FDF1 +:108C00000BE034B9D5F8640218B90021304602F0FF +:108C10008BF92846E1B2FBF787FD0020BDE8F08123 +:108C20000A31544F0A30544F2DE9F84F80460E4612 +:108C3000D8F8007006EBC60008EB80041434D4E9C1 +:108C40000410884202D90120BDE8F88F081AA168F3 +:108C5000814200D20846C01C4FEA900A07EB461931 +:108C600016E0151AA268AA4200D21546E81C4FEA7F +:108C7000900A98F806000090ABB2E1683846F2B26C +:108C800002F05AFCE0682844E060606928446061B2 +:108C9000D9F8180980B2504505D3D4E90420904290 +:108CA00001D2002ADDD1D4E90401884208D801208C +:108CB00006F00F018840D7F834188143C7F83418FC +:108CC0000020C1E72DE9F047044688460027DFF879 +:108CD0001491D9F80000C043800709D0414D283DC8 +:108CE000286820F080602860FBF73AFC064609E01F +:108CF0000120BDE8F087FBF733FC801B022801D977 +:108D00000320F6E728680001F5D4D9F800002168AF +:108D100020F47C3040EA0130C9F80000A0884FF60A +:108D2000FF72A168401E491EC0F3080002EA4121FB +:108D30000843A1894FF4FE02491E02EA014108439B +:108D4000217C1202491E02EA0161084325491031C3 +:108D500008602448001D0168626921F0C0011143C8 +:108D600001600168A26921F02001114301600168DE +:108D700021F0100101601B4914310A684FF6F873A5 +:108D80009A43E36942EAC3020A60016841F01001B4 +:108D90000160B8F1000F0ED0B8F1010F10D00168DA +:108DA00041F400110160286840F080602860FBF702 +:108DB000D7FB044610E0016841F400210160F2E7AE +:108DC000016841F480110160EDE7FBF7C9FB001B6E +:108DD000022801D903208CE728680001F5D5384620 +:108DE00087E70000284402582DE9F04704468846EA +:108DF0000027DFF81491D9F80000C043800709D09C +:108E0000414D283D286820F080502860FBF7A8FBE2 +:108E1000064609E00120BDE8F087FBF7A1FB801BB7 +:108E2000022801D90320F6E728688000F5D4D9F894 +:108E30000000218820F07C7040EA0150C9F8000051 +:108E4000A0884FF6FF72A168401E491EC0F30800BB +:108E500002EA41210843A1894FF4FE02491E02EAB9 +:108E600001410843217C1202491E02EA01610843C4 +:108E70002549183108602448001D0168626921F401 +:108E80004061114301600168A26921F4007111433E +:108E90000160016821F4807101601B491C310A687E +:108EA0004FF6F8739A43E36942EAC3020A60016825 +:108EB00041F480710160B8F1000F0ED0B8F1010FDC +:108EC00010D0016841F080710160286840F0805046 +:108ED0002860FBF745FB044610E0016841F480017F +:108EE0000160F2E7016841F400010160EDE7FBF782 +:108EF00037FB001B022801D903208CE7286880007B +:108F0000F5D5384687E700002844025801784078B4 +:108F100041EA00207047000030B58FB005460024BC +:108F20000B940C940D940E94089409940A941C21AB +:108F300001A8F7F7B9FB2249204A0A6064222148B8 +:108F4000B0FBF5F0B0FBF2F0401E48608C6063208F +:108F5000C8600C6180258D610846FEF70DF908B1E7 +:108F6000F8F711FF4FF480500B9015480BA9FEF74E +:108F7000A5F908B1F8F707FF1148FEF791FB08B112 +:108F8000F8F701FF202008900A9508A90C48FEF781 +:108F9000A3F808B1F8F7F7FE6020019005200290D1 +:108FA000039405940022064801A9FEF7DEFA002882 +:108FB00001D0F8F7E8FE0FB030BD00000008004017 +:108FC000C0030024001C4E0E70B50546642003F05B +:108FD0004DF8694C062D04D2DFE805F0032241600C +:108FE0007F9E002220462021FBF7ACFA002220467B +:108FF0001021FBF7A7FA002220460821FBF7A2FA6E +:10900000002220460421FBF79DFA0022204602217F +:10901000FBF798FA002220460121FBF793FA99E02A +:10902000012220462021FBF78DFA00222046102144 +:10903000FBF788FA002220460821FBF783FA00227A +:1090400020460421FBF77EFA002220460221FBF78E +:1090500079FA002220460121FBF774FA7AE0012216 +:1090600020462021FBF76EFA002220461021FBF754 +:1090700069FA012220460821FBF764FA0022204603 +:109080000421FBF75FFA002220460221FBF75AFA7F +:10909000002220460121FBF755FA5BE00122204621 +:1090A0002021FBF74FFA002220461021FBF74AFA55 +:1090B000012220460821FBF745FA00222046042120 +:1090C000FBF740FA012220460221FBF73BFA00227F +:1090D00020460121FBF736FA3CE001222046202100 +:1090E000FBF730FA002220461021FBF72BFA002272 +:1090F00020460821FBF726FA012220460421FBF72F +:1091000021FA012220460221FBF71CFA0022204608 +:109110000121FBF717FA1DE0012220462021FBF771 +:1091200011FA002220461021FBF70CFA00222046FB +:109130000821FBF707FA012220460421FBF702FA77 +:10914000002220460221FBF7FDF9012220461146AC +:10915000FBF7F8F90122094DD40228462146FBF716 +:10916000F1F9642002F082FF21462846BDE87040F4 +:109170000022FBF7E7B90000000C02580008025873 +:109180006748962101800821C1700022654880212E +:10919000FBF7D8F9644C00224FF400712046FBF72E +:1091A000D1F9002220464FF40051FBF7CBF9002201 +:1091B00020464FF48041FBF7C5F95C480021FEF7DB +:1091C0002DFB0020FFF700FF59480088F7F702FE4B +:1091D00056480021FEF722FB41F2883002F046FF9C +:1091E000524840F2FF7400212246B038F8F722FEC0 +:1091F0004E4822464FF00111B038F8F71BFE4B489D +:109200004FF420524B49B038F9F7EEFB4748802223 +:1092100049499830FEF784FB44489830006801685B +:1092200041F01001016045484549006888423AD044 +:1092300043491831884236D041493031884232D0D2 +:109240003F49483188422ED03D49603188422AD07A +:109250003B497831884226D039499031884222D022 +:109260003749A83188421ED0364988421BD035493B +:109270001831884217D033493031884213D03149F0 +:10928000483188420FD02F49603188420BD02D4998 +:109290007831884207D02B499031884203D0294940 +:1092A000A831884204D1016821F00801016003E07F +:1092B000016821F00401016000220120114602F042 +:1092C00045FF1B4C183C206100220120114602F092 +:1092D0003DFFE06000211C4A1C4802F0BDFF1C4815 +:1092E00000224FF48071FBF72DF91A4D00228021E6 +:1092F0002846FBF727F94FF4FA7002F0B7FE012277 +:1093000028468021FBF71EF94FF49675F7F7E4FD28 +:10931000206902F075FF284602F0A8FEF6E700007B +:10932000F8010024000C02580018025874030024AD +:10933000200000240010003890250024A004002400 +:10934000100002401004024064E1000815140008F7 +:10935000000002580020025810B54FF0E0200069CC +:1093600004F068FC012803D0BDE8104003F0C4BF3E +:1093700010BD000030B59DB04C210AA8F7F794F954 +:10938000202102A8F7F790F90220FBF7ABFD00249B +:109390002048016841F44041016001681E490A68A3 +:1093A00042F001020A60096801F0010101910168BF +:1093B0008904FCD501200A9000040B900220139030 +:1093C000149005211591C021169117900F21189125 +:1093D000199008251A951B941C940AA8FDF7E8FA21 +:1093E00008B1F8F7D0FC3F200290032003900494CA +:1093F00005954020069007900101089109900421ED +:1094000002A8FDF747F8002801D0F8F7BCFC1DB012 +:1094100030BD0000184802582C04005810B52C48E4 +:10942000016841F4700101602A4A106800F00F00E1 +:10943000072804D2106820F00F00C01D10602649D4 +:10944000086840F001000860234B002010331860CA +:109450000B68224C23400B60136803F00F03072BAB +:1094600004D9136823F00F03DB1D13601A4A183266 +:109470001060121D1060121D1060174B184A28331F +:109480001A601B1D174A1A601B1D174A1A601B1D04 +:1094900018601B1D1A601B1D18601B1D1A601A1D09 +:1094A00010600A6822F480220A600B49603108606B +:1094B0000E4800686FF30F00B0F1005F02D20C4954 +:1094C0000120086043F2D2000A49086010BD000084 +:1094D00088ED00E000200052004402587FEDF6EADB +:1094E000000202020000FF01800201010010005C86 +:1094F00008810051004000520148FDF764BF0000A0 +:109500002CF200242DE9F04F02684FF0804A274DDD +:10951000274E284FA842DFF8A0C0284B09D050455D +:1095200007D0B04205D0B84203D0604501D0984280 +:1095300003D122F070044A682243DFF88480DFF808 +:109540008490A842DFF880B00FD050450DD0B042D3 +:109550000BD0B84209D0604507D0984205D04045AD +:1095600003D0484501D0584503D122F44074CA685D +:1095700022434C6922F0800222438C68C4620C684A +:109580008462A84207D0984205D0404503D04845A0 +:1095900001D0584501D109690163016841F0040116 +:1095A0000160012141610260BDE8F08F00000140CF +:1095B0000004004000080040000C0040000401408E +:1095C00000400140004401400048014010B5012323 +:1095D00001F01F018B40046A9C430462036A8A40C5 +:1095E0001343036210BD10B5846824F47F4442EA3B +:1095F00003220A432243826010BD00008268034BAD +:109600001A400A4342F00701816070478FFFCFFF85 +:109610002DE9F043046A026A22F001020262426804 +:1096200083691D4D2B4023F003030D681D4324F077 +:1096300002048B682343194E194FDFF868C0B0420B +:10964000DFF86480DFF8649007D0B84205D0604549 +:1096500003D0404501D0484505D123F00804CB682C +:10966000234323F00403B04207D0B84205D060453D +:1096700003D0404501D0484507D122F4807222F43E +:1096800000724C6914438A692243426085614968CB +:1096900041630362BDE8F0838FFFFEFF00000140DD +:1096A00000040140004001400044014000480140E6 +:1096B000F0B5056A026A22F010020262426883690C +:1096C0001A4C234023F440730C6843EA042425F029 +:1096D00020038D6843EA0513154D164EA84201D0AC +:1096E000B04206D123F08003CF6843EA071323F08A +:1096F0004003A8420AD0B04208D00F4DA84205D07E +:109700000E4DA84202D00E4DA84209D122F480622B +:1097100022F400624D6942EA85028D6942EA8502BF +:1097200042608461496881630362F0BDFF8FFFFE80 +:10973000000001400004014000400140004401409D +:1097400000480140F0B5056A026A22F480720262A4 +:109750004268C3691A4C234023F003030C681C437E +:1097600025F400738D6843EA0523164D164EA84272 +:1097700001D0B04206D123F40063CF6843EA072347 +:1097800023F48063A8420AD0B04208D00F4DA8420B +:1097900005D00F4DA84202D00E4DA84209D122F4A7 +:1097A000805222F400524D6942EA05128D6942EA64 +:1097B00005124260C4614968C1630362F0BD0000E4 +:1097C0008FFFFEFF00000140000401400040014007 +:1097D000004401400048014030B5046A026A22F4A6 +:1097E000805202624268C369124D2B4023F44073D9 +:1097F0000D6843EA052324F400548D6844EA0534D7 +:109800000D4DA8420BD00D4DA84208D00C4DA842DA +:1098100005D00C4DA84202D00B4DA84204D122F431 +:1098200080424D6942EA85124260C3614968016421 +:10983000046230BDFF8FFFFE0000014000040140C4 +:1098400000400140004401400048014030B5056A35 +:10985000026A22F4803202624268436D114C234056 +:109860000C681C4325F400330D8943EA05430E4D73 +:10987000A8420BD00D4DA84208D00D4DA84205D0EE +:109880000C4DA84202D00C4DA84204D122F48032E3 +:109890004D6942EA05224260446549688165036278 +:1098A00030BD00008FFFFEFF0000014000040140BA +:1098B00000400140004401400048014030B5056AC5 +:1098C000026A22F4801202624268436D114C234006 +:1098D0000C6843EA042425F400130D8943EA055378 +:1098E0000D4DA8420BD00D4DA84208D00C4DA842FA +:1098F00005D00C4DA84202D00B4DA84204D122F451 +:1099000080224D6942EA8522426044654968C1650A +:10991000036230BDFF8FFFFE0000014000040140E4 +:1099200000400140004401400048014010B5036A76 +:10993000046A24F001040462846924F0F00444EA17 +:10994000021423F00A020A438461026210BD10B5BA +:10995000036A046A24F010040462846924F47044E5 +:1099600044EA023223F0A00343EA0111826101625A +:1099700010BD000030B5416E002917D00268916813 +:10998000C1F342619268520F0B4B9C5C250103F1BD +:109990000804A25CB5FBF2F2A0F86A205A5C615C94 +:1099A0001201B2FBF1F1A0F8681030BD012168305E +:1099B0004180018030BD000014E7000890F82810B5 +:1099C000090706D501684A68836B22F400421A43EE +:1099D0004A6090F82810C90706D001684A68C36A2F +:1099E00022F400321A434A6090F82810890706D5FD +:1099F00001684A68036B22F480321A434A6090F887 +:109A00002810490706D501684A68436B22F4802272 +:109A10001A434A6090F82810C90606D501688A687A +:109A2000C36B22F480521A438A6090F8281089068A +:109A300006D501688A68036C22F400521A438A60D2 +:109A400090F82810490611D501684A68436C22F441 +:109A500080121A434A60416CB1F5801F06D101683B +:109A60004A68836C22F4C0021A434A6090F82810B6 +:109A7000090606D501684A68C06C22F40022024338 +:109A80004A6070472DE9F84304460025C4F8905019 +:109A9000FAF766FD8046206800686FF07E474FF059 +:109AA0002006000716D500224346310420460097C1 +:109AB00000F0AEFB70B1206850E8001F21F080017B +:109AC00040E80012002AF6D1843466602570032035 +:109AD000BDE8F88320680068400720D5002243468F +:109AE0004FF480012046009700F092FBB8B1206847 +:109AF00050E8001F21F4907140E80012002AF6D1CE +:109B00002068083050E8001F21F0010140E80012F1 +:109B1000002AF5D18434A66025700320D8E76C3480 +:109B2000E66126622560656025760020D0E710B5E5 +:109B3000806B0021A0F85E10FDF77DFF10BD70B5B1 +:109B4000846BD4F88800D4F88C50216889684FF071 +:109B50000006090606D5212804D1A4F8566020463F +:109B600000F0A4F820688068400606D5222D04D1B4 +:109B7000A4F85E60204600F05DF8D4F8900040F054 +:109B80001000C4F890002046FDF755FF70BD014657 +:109B900010B5886B0023C969B1F5807F2DD0A0F87E +:109BA0005E30016851E8002F22F4807241E8002401 +:109BB000002CF6D10168083151E8002F22F0010293 +:109BC00041E80024002CF5D10168083151E8002F4C +:109BD00022F0400241E80024002CF5D12021C0F8F9 +:109BE0008C10C16E012908D1016851E8002F22F0C4 +:109BF000100241E80024002CF6D10367C16E012950 +:109C000002D0FEF795F910BDB0F85C10FDF7B2FE7A +:109C100010BD10B5806B01210167C16E012902D012 +:109C2000FEF787F910BDB0F85C104908FDF7A2FEF9 +:109C300010BD000010B5016851E8002F22F49072A9 +:109C400041E80023002BF6D10E4B0168083151E8A2 +:109C5000002F1A4041E80024002CF6D1C16E0129E2 +:109C600008D1016851E8002F22F0100241E80023DA +:109C7000002BF6D12021C0F88C100021C16641676D +:109C800010BD0000FEFFFFEF10B5016851E8002F86 +:109C900022F0400241E80023002BF6D12021C0F839 +:109CA000881000218167FEF7A1F910BD016851E815 +:109CB000002F22F0C00241E80023002BF6D10168FA +:109CC000083151E8002F22F4000241E80023002B64 +:109CD000F5D12021C0F88810704700002DE9F0432D +:109CE00087B004460025DFF8F88320682269A16860 +:109CF000E369114362691A4311430268F94B1A4040 +:109D00000A43026020684168E26821F4405111432F +:109D10004160A0692168414501D0226A10438A68E8 +:109D2000F14B1A4002438A602068C16A626A21F0DE +:109D30000F011143C162ED492268ED488A421DD1ED +:109D4000006800F03800182812D005DC50B108284F +:109D50000AD0102804D109E020280BD028280BD0E5 +:109D60008021EBE00121E9E00421E7E00821E5E0C2 +:109D70001021E3E02021E1E04021DFE0DD498A42DB +:109D800017D1006800F00700062810D2DFE800F0C5 +:109D9000030507090B0D0021D0E00421CEE00821C6 +:109DA000CCE01021CAE02021C8E04021C6E080219B +:109DB000C4E0D1498A4217D1006800F007000628A4 +:109DC00010D2DFE800F0030507090B0D0021B5E014 +:109DD0000421B3E00821B1E01021AFE02021ADE083 +:109DE0004021ABE08021A9E0C4498A4217D1006834 +:109DF00000F00700062810D2DFE800F0030507098D +:109E00000B0D00219AE0042198E0082196E0102132 +:109E100094E0202192E0402190E080218EE0B8493A +:109E20008A4217D1006800F00700062810D2DFE848 +:109E300000F0030507090B0D00217FE004217DE000 +:109E400008217BE0102179E0202177E0402175E0B6 +:109E5000802173E0AB498A421DD1006800F03800D0 +:109E6000182812D005DC50B108280AD0102804D1D7 +:109E700009E020280BD028280BD080215EE00121AA +:109E80005CE004215AE0082158E0102156E020212E +:109E900054E0402152E09C498A4217D1006800F00A +:109EA0000700062810D2DFE800F0030507090B0DB4 +:109EB000002143E0042141E008213FE010213DE082 +:109EC00020213BE0402139E0802137E08F498A4260 +:109ED00017D1006800F00700062810D2DFE800F074 +:109EE000030507090B0D002128E0042126E00821C5 +:109EF00024E0102122E0202120E040211EE08021EA +:109F00001CE0424519D17A48001D006800F00700A6 +:109F1000062810D2DFE800F0030507090B0D022127 +:109F20000CE004210AE0082108E0102106E02021CD +:109F300004E0402102E0802100E0802174486C4B65 +:109F40000027744E4FF40049543B42454FEA201C11 +:109F500053D110292AD006DC02291AD004291BD09B +:109F6000082904D11DE0202928D0402928D000202C +:109F70000125E8B3616A36F81120B0FBF2F166689A +:109F800006EB46038B4202D8B1EB063F1AD90125F6 +:109F9000E2E0FAF7D3FFECE704A8FBF7C1F8059875 +:109FA000E7E701A8FBF79CF90298E2E71968890640 +:109FB000DFD51968C1F3C101C840DAE76046D8E7C8 +:109FC0004846D6E700231946F6F756FA0902020278 +:109FD00041EA106170081018324679410023F6F703 +:109FE0004BFA4D4AA0F54071914204D8216800E037 +:109FF0004AE0C860B0E00125AEE0E2694FF6EF78D4 +:10A000004A4548D1082932D005DC29B3012926D098 +:10A01000042906D126E010292ED0202935D0402948 +:10A0200035D00020012578B3616A36F81110B0FBF5 +:10A03000F1F04100606801EB5001B1FBF0F0A0F1DC +:10A040001001414525D84FF6F0710140C0F34200A0 +:10A0500001432068C1607FE0FCF7ACFBE3E7FCF75D +:10A06000BBFBE0E704A8FBF75BF80598DBE701A87A +:10A07000FBF736F90298D6E719688906D3D519682F +:10A08000C1F3C101C840CEE748E06046CBE748468F +:10A09000C9E7012560E008294CD005DCF9B10129A8 +:10A0A00040D0042906D140E0102948D020294ED0C4 +:10A0B00040294ED00020012580B3616A36F8111086 +:10A0C000B0FBF1F1606801EB5001B1FBF0F0A0F1E1 +:10A0D000100141453FD8216880B2C8603CE01EE0D5 +:10A0E000000C0058F369FFCFFFF4FF11001001408E +:10A0F000544402580044004000480040004C0040D6 +:10A10000005000400014014000780040007C0040F6 +:10A110000090D003FCE60008FFFC0F001CE0FCF7F9 +:10A1200049FBC9E7FCF758FBC6E704A8FAF7F8FFB4 +:10A130000598C1E701A8FBF7D3F80298BCE71968B6 +:10A140008906B9D51968C1F3C101C840B4E76046B2 +:10A15000B2E74846B0E701250120683460802080DE +:10A16000E760276107B02846BDE8F08370B5044674 +:10A1700044F8581FA2800021A16322206063A06AD6 +:10A18000583C00281DD01F4BC363241D1E48E36F9D +:10A190001864E36F1D48D864E06F0165134654F8F6 +:10A1A000041CE56F606D2431241F02462846F9F730 +:10A1B00041FF30B110208C346060202020600120ED +:10A1C00070BD206940B1206850E8001F41F48071E3 +:10A1D00040E80012002AF6D12068083050E8001F3D +:10A1E00041F0010140E80012002AF5D12068083052 +:10A1F00050E8001F41F0400140E80012002AF5D16C +:10A20000002070BD8F9B0008139C00083F9B000836 +:10A210002DE9F04704460D4617469846089E4FF034 +:10A22000000935E0701C33D0FAF79AF9A0EB08006A +:10A23000B04219D8C6B120680168490728D5802DD9 +:10A2400026D0402D24D0C169C94309070ED4206807 +:10A25000082505622046FFF7EDFCC4F8905084F80D +:10A2600084900120BDE8F0870320FBE7C069C0436C +:10A2700000050DD421684FF4006008622046FFF706 +:10A28000D9FC2020C4F8900084F884900320E9E7EA +:10A290002068C06935EA000004D00020B842C1D06F +:10A2A0000020DFE70120F9E710B50548FDF7CAFBFC +:10A2B000BDE81040034980220148FDF731BB000092 +:10A2C0000C0400249025002410B50024D0F8B822F6 +:10A2D0005268904700B10324204610BD90F89C229C +:10A2E000012A05D0022A03D0032A01D000F01DB8AC +:10A2F0004988012904D10021C0F8A41200F039B81E +:10A300007047002070470020704710B513460A467A +:10A31000002100F0ABFA002010BD10B513460A462C +:10A32000002100F045FB002010BD10B5044680213F +:10A33000204600F027FB2046BDE81040002100F039 +:10A3400021BB10B50521C0F8941200231A46194606 +:10A3500000F08CFA002010BD10B50223C0F8943232 +:10A360008261C26113460A46002100F021FB0020F1 +:10A3700010BD10B50421C0F8941200231A461946E6 +:10A3800000F016FB002010BD0A46D188012902D03A +:10A390001146FFF7CABF90F89C12012906D0022986 +:10A3A00004D0032909D01146FFF7BFBF0021816007 +:10A3B000012200F10801FFF7CFBF0122011DFFF7C5 +:10A3C000CBBF2DE9F84304460F460020009000263D +:10A3D00000257988080A062870D006DC01282FD0CD +:10A3E000022835D0032804D148E0072867D00F2879 +:10A3F00017D039462046FFF798FF0125002D0ED1D2 +:10A40000FA88002A71D0BDF8000000286ED0824280 +:10A4100000D90246009231462046FFF79DFFBDE875 +:10A42000F883D4F8B402C26922B1207C694690470F +:10A430000646E3E739462046FFF777FF0125DDE7CB +:10A44000D4F8B412207C0A68694690470646D5E7DE +:10A45000207C4FF0020840B1D4F8B802C16A6846C7 +:10A460008847064686F80180C8E7D4F8B802816AB2 +:10A4700068468847064686F80180BFE7C8B20628C6 +:10A4800062D2DFE800F0031223344352D4F8B4025E +:10A49000426822B1207C694690470646AEE73946BD +:10A4A0002046FFF742FF0125A8E7D4F8B4028268EE +:10A4B00032B1207C6946904706469FE74AE058E063 +:10A4C00039462046FFF731FF012597E7D4F8B4025B +:10A4D000C26822B1207C6946904706468EE739461D +:10A4E0002046FFF722FF012588E758E052E0D4F824 +:10A4F000B402026922B1207C6946904706467DE796 +:10A5000039462046FFF711FF012577E7D4F8B4025A +:10A51000426922B1207C6946904706466EE739467B +:10A520002046FFF702FF012568E7D4F8B4028269EC +:10A5300022B1207C6946904706465FE739462046AF +:10A54000FFF7F3FE012559E739462046FFF7EDFEF8 +:10A55000012553E7207C28B139462046FFF7E5FE68 +:10A5600001254BE7D4F8B802416B68468847064698 +:10A5700044E7207C28B139462046FFF7D6FE012566 +:10A580003CE7D4F8B802016B6846884706460721C5 +:10A59000717033E739462046FFF7C7FE3FE7204694 +:10A5A000FFF7E7FE3BE70A4690F89C12012906D028 +:10A5B000022904D0032902D01146FFF7B6BED18884 +:10A5C000022902D01146FFF7B0BE0121C160D0F8C8 +:10A5D000A41209B10321C160022200F10C01FFF7AE +:10A5E000BBBE01460020002906D0012905D0022962 +:10A5F00005D0032905D003207047032070470120B0 +:10A6000070470320704710B5D0F8C802FAF7A9F8D0 +:10A61000BDE81040FFF7E5BF70B504460B4616468F +:10A62000002B08D043F080012046FFF76AFEFF2888 +:10A630005ED078B35CE004F11400D4F894120025E5 +:10A6400002293CD1D0E902218A420CD9521A8260F7 +:10A6500031462046FFF761FE002320461A46194680 +:10A6600000F004F92BE0914215D14068884212D3E2 +:10A67000D4F8981288420ED2002220461146FFF7E5 +:10A680004CFEC4F8985200231A461946204600F0A2 +:10A69000EDF814E01CE094F89C02032808D1D4F8EB +:10A6A000B802C16821B1C4F8D452C16820468847B5 +:10A6B0008021204600F066F92046FFF742FE94F81C +:10A6C000A002A8B1204600F095F984F8A0520FE04E +:10A6D00094F89C1203290BD1D4F8B8124A693AB104 +:10A6E000C4F8D40220464A6919469047002800D190 +:10A6F000002070BD70B504460B4615460022002BA5 +:10A7000008D003F07F012046FFF7FBFDFF2854D05F +:10A7100078B352E004F5AA70D4F8941203294CD10E +:10A72000D0E902218A420AD9521A8260C068824264 +:10A7300000D3024629462046FFF7E7FD3DE094F8A6 +:10A74000AA0210F01F0006D0012806D002280AD065 +:10A75000002078B11BE00020FBE794F8AE12204601 +:10A76000FFF7D1FDF5E794F8AE122046FFF7C9FDDB +:10A77000EFE710E094F89C12032908D1D4F8B8123E +:10A780000A6922B1C4F8D4022046096988472046E4 +:10A79000FFF7EFFD11E094F89C1203290AD1D4F8D9 +:10A7A000B8128D6935B1C4F8D40220468A691946B9 +:10A7B000904702460AB1104670BD002070BD0020CF +:10A7C000704710B50024012180F89C12D0F8B822FF +:10A7D000002A04D052680179904700B10324204632 +:10A7E00010BD0A06D0F8C80201F07F0101EBC101DB +:10A7F00000EB810001D5807D704790F856027047CC +:10A8000010B5D0F8D42200EB8202D2F8B822002A88 +:10A8100004D090F89C32032B02D004E0032010BD3A +:10A82000126A02B19047002010BD10B5D0F8D422B2 +:10A8300000EB8202D2F8B822002A04D090F89C32B1 +:10A84000032B02D004E0032010BD526A02B19047EE +:10A85000002010BD10B514461A46D0F8C802234691 +:10A86000F9F7ABFFBDE81040FFF7BBBE10B5D0F85D +:10A87000C802F9F7D2FFBDE81040FFF7B2BE2DE9DC +:10A88000F04104460025012684F89C620020C4F8AB +:10A8900094026060C4F8A40284F8A002D4F8B8025C +:10A8A000002806D0426822B100212046904700B11E +:10A8B00003252046002240231146FFF7CBFFA4F8D2 +:10A8C00064614027C4F86071402300222046802143 +:10A8D000FFF7C0FFA68427622846BDE8F08190F804 +:10A8E0009C12042903D190F89D1280F89C1200203C +:10A8F000704710B590F89C12032905D1D0F8B81212 +:10A9000011B1C96901B18847002010BD0174002050 +:10A91000704710B5D0F8C802FAF7B1FABDE8104098 +:10A92000FFF75FBE70B5044604F2AA20054600F0AA +:10A9300048F80120C4F89402B4F8B002C4F89802B0 +:10A9400094F8AA2212F01F000AD001280ED0022883 +:10A9500012D02046BDE8704002F0800100F012B82D +:10A9600029462046BDE8704000F0FCB82946204644 +:10A97000BDE8704000F041BA29462046BDE870406D +:10A9800000F02BB910B5D0F8C802F9F75FFFBDE8A9 +:10A990001040FFF726BE90F89C12042903D090F8CF +:10A9A0009C1280F89D12042180F89C1200207047B0 +:10A9B00010B5D0F8C802F9F781FFBDE81040FFF7E5 +:10A9C00010BE70B504460846017821704178801C9D +:10A9D000617005462846FEF799FA60802846851C76 +:10A9E0002846FEF793FAA0802846801CFEF78EFAD0 +:10A9F000E08070BD0020704770B50446888800284C +:10AA000021D1C888F8B9488880281CD200F07F0579 +:10AA100094F89C0203280DD084F89E5229462046C3 +:10AA2000FFF777FF2046FFF7A4FC45B1022084F82A +:10AA30009C0270BD2046BDE87040FFF776BC012047 +:10AA400084F89C0270BD2046BDE87040FFF76DBCE5 +:10AA500003460020D3F8B822002A02D01268184614 +:10AA6000104770472DE9F04104460F460025334E4C +:10AA7000B9783170012906D939462046FFF755FCCF +:10AA80000320BDE8F08194F89C024FF002080228F0 +:10AA90000CD0032824D039462046FFF746FC3178F5 +:10AAA0002046FFF711FC03252846EAE7A1B16160C3 +:10AAB0002046FFF7CDFF0546280006D03946204640 +:10AAC000FFF733FC84F89C82EEE72046FFF751FC49 +:10AAD000032084F89C02E7E72046FFF74AFCE3E7FF +:10AAE000C9B16068884224D0C1B22046FFF7ECFBB0 +:10AAF000317861602046FFF7ABFF0546280014D08F +:10AB000039462046FFF711FC21792046FFF7DCFB90 +:10AB100084F89C82C8E784F89C8261602046FFF735 +:10AB2000D3FB2046FFF725FCBEE72046FFF721FCBC +:10AB3000BAE72046FFF71DFCB6E7000078010024C5 +:10AB40004A88012A03D0022A06D0FFF7EEBB012172 +:10AB5000C0F8A412FFF70DBC8988090A80F8A0127A +:10AB6000FFF707BC10B500240A7812F0600211D07C +:10AB7000202A05D0402A03D0FFF7D7FB204610BD7E +:10AB8000D0F8D42200EB8202D2F8B8229268904723 +:10AB90000446F3E74A780A2A1CD2DFE802F01218CA +:10ABA0001B151B08051B0F0BFFF70BFCE6E7FFF758 +:10ABB00023FFE3E7FFF756FF0446DFE7FFF7E4FB79 +:10ABC000DCE7FFF7F0FCD9E7FFF7BAFFD6E7FFF7BE +:10ABD00085FBD3E7FFF7A9FBD0E72DE9F041054658 +:10ABE0000E4600273479307810F060001ED02028FF +:10ABF00008D0402806D031462846FFF796FB384655 +:10AC0000BDE8F08121462846FFF77BFBFF28F6D000 +:10AC10000028F4D1C5F8D402D5F8B8028268002A19 +:10AC2000EDD03146284690470746E8E7707800287F +:10AC300070D0012831D0032804D031462846FFF7D0 +:10AC400074FBDCE795F89C02022806D0032815D097 +:10AC500031462846FFF769FBD1E754B1802C08D074 +:10AC600021462846FFF78EFE80212846FFF78AFE00 +:10AC7000C5E731462846FFF758FBC0E7708840B962 +:10AC80003CB1802C05D0F08818B921462846FFF742 +:10AC900079FE2846FFF76DFBB1E795F89C02022884 +:10ACA00006D0032815D031462846FFF73EFBA6E71D +:10ACB00054B1802C08D021462846FFF763FE80213E +:10ACC0002846FFF75FFE9AE731462846FFF72DFB3F +:10ACD00095E77088002892D1600603D02146284667 +:10ACE000FFF791FC2846FFF744FB21462846FFF773 +:10ACF00008FBFF2883D0002881D1C5F8D402D5F8FD +:10AD0000B8028268002A90D031462846904707460C +:10AD100075E7FFE795F89C024FF00008022806D07F +:10AD2000032825D031462846FFF7FFFA67E734B1FC +:10AD3000802C04D031462846FFF7F7FA5FE720065B +:10AD400007D504F07F0000EB800005EB8001143193 +:10AD500007E004F07F0000EB800005EB800101F5C7 +:10AD6000AA71C1F8008002222846FFF7F5FA46E7EB +:10AD700020060CD504F00F0000EB800005EB8000EE +:10AD8000808C68B931462846FFF7CFFA37E704F0E0 +:10AD90000F0000EB800005EB8000B0F8640148B1C3 +:10ADA00020060CD504F07F0000EB800005EB800648 +:10ADB00014360CE031462846FFF7B7FA1FE704F0D7 +:10ADC0007F0000EB800005EB800606F5AA764CB10B +:10ADD000802C07D021462846FFF703FD28B101202B +:10ADE000306004E0C6F8008001E0C6F8008002226E +:10ADF00031462846FFF7B0FA01E770B505460E4622 +:10AE00000024307810F0600009D0202807D04028B6 +:10AE100005D031462846FFF788FA204670BD95F8E0 +:10AE20009C02012808D0022806D0032804D031460D +:10AE30002846FFF77AFAF0E7B088C1B201291ED898 +:10AE4000C1B22846FFF75FFAFF2800D048B10324BB +:10AE5000F0880028E1D1002CDFD12846FFF789FADD +:10AE6000DBE7D5F8B8128A683AB1C5F8D4022846AB +:10AE70008A68314690470446EAE70324E8E731460A +:10AE80002846FFF752FAC8E770B50A7801234E78D2 +:10AE900002F00F041C4DA340012E19D0D0F81C481D +:10AEA00044EA0343C0F81C3800EB4210D0F8002BF2 +:10AEB00012040BD4D0F8002B0B890979C3F30A03D1 +:10AEC0001A4345EA81410A43C0F8002B002070BDB7 +:10AED000D0F81C489BB21C43C0F81C4800EB421041 +:10AEE000D0F800391B04F1D4D0F800390C89097965 +:10AEF000C4F30A048904234341EA82510B432B43E0 +:10AF0000C0F80039E2E7000000800010D0F8001916 +:10AF10006FF30A01C0F80019D0F8041841F48071E9 +:10AF2000C0F804180020704710B5036C124CA342FF +:10AF300005D9D0F8003B002B01DA002010BD00F548 +:10AF4000316000230360036843F400230360036857 +:10AF500043F018030360036843F0C0430360A0F5A7 +:10AF60003160012906D100F530604261016841F08D +:10AF700080210160002010BD0A30544F0B784A78C0 +:10AF8000012A00EB43100BD0D0F8002B22F4001262 +:10AF9000C0F8002B0979032914D0022912D017E038 +:10AFA000D0F8002922F40012C0F8002909790329F9 +:10AFB00001D002290CD1D0F8001941F08051C0F81D +:10AFC000001905E0D0F8001B41F08051C0F8001BCB +:10AFD000002070470A784B780978012B00EB41106C +:10AFE00012D0D0F8001B002906DB2AB1D0F8001BD4 +:10AFF00021F08041C0F8001BD0F8001B41F4001183 +:10B00000C0F8001B00207047D0F80019002906DBAB +:10B010002AB1D0F8001921F08041C0F80019D0F809 +:10B02000001941F40011C0F80019EBE7F8B50C78ED +:10B030006FF060460B784F78904D012F00EB431373 +:10B0400029D0D3F8107B6FF31207C3F8107BD3F825 +:10B05000107B2F40C3F8107B002C7DD00D69002D94 +:10B060007BD08C6825446D1EB5FBF4F5ADB26C4306 +:10B070000C62D3F8104B06EAC5452C43C3F8104BBD +:10B08000D3F8104B0D6AC5F312052C43C3F8104BCF +:10B09000012A6FD0D6E00F69EFB1D3F810796FF3C2 +:10B0A0001207C3F81079D3F810792F40C3F810793C +:10B0B000FCB10F698D682F447F1EB7FBF5F5ADB26B +:10B0C000D3F8107906EAC5463743C3F810790E79EC +:10B0D000012E1AD028E003F511631E682E401E6071 +:10B0E0001D6845F400251D601D686FF312051D6085 +:10B0F00022E00E698D68AE4200D90D61D0F810597A +:10B1000045F40026C0F810690EE0D3F8106926F067 +:10B11000C046C3F81069D3F810694FF0C04707EA7A +:10B1200045752E43C3F81069D3F810590E69C6F35C +:10B1300012063543C3F81059012A1CD000EB441302 +:10B14000D3F8004944F00444C3F800490C79012CB9 +:10B1500038D00A69002A01E04DE060E009D0D0F85B +:10B160003428097801F00F03012199400A43C0F8FF +:10B17000342881E062E0CA691AB100EB4413C3F8D5 +:10B1800014290979012914D1D0F80818C90508D45F +:10B1900000EB4411D1F8002942F00052C1F8002917 +:10B1A00007E000EB4411D1F8002942F08052C1F8C9 +:10B1B000002900EB4410D0F8001941F00441C0F818 +:10B1C000001959E0D0F80848E40506D4D3F800493E +:10B1D00044F00054C3F8004905E0D3F8004944F0B6 +:10B1E0008054C3F8004900920A8A93B20A78C96869 +:10B1F00000F0A2F940E00C690CB18C680C618C681D +:10B200000C62D0F8105BC4F312042543C0F8105B45 +:10B21000D0F8104B44F40024C0F8104B38E7D3F8B2 +:10B22000104B8D68C5F312052C43C3F8104BD3F8AF +:10B23000104B44F40024C3F8104B29E7CA680AB144 +:10B24000C3F8142B0979012910D1D0F80808C005DA +:10B2500006D4D3F8000B40F00050C3F8000B05E013 +:10B26000D3F8000B40F08050C3F8000BD3F8000B6C +:10B2700040F00440C3F8000B0020F8BDFFFF07E0DA +:10B2800038B5002200920B784D7800EB431442F25F +:10B290001073012D1AD0D4F8005B002D40DAD4F8D9 +:10B2A000005B45F00065C4F8005B0C7800EB4414CB +:10B2B000D4F8005B45F08045C4F8005B009C641C3A +:10B2C0000094009C9C4224D9012229E0D4F8005922 +:10B2D000002D25DAD4F8005945F00065C4F800596E +:10B2E0000C7800EB4414D4F8005945F08045C4F8BC +:10B2F0000059009C641C0094009C9C4201D90122CE +:10B300000EE00C7800EB4414D4F80049002CF0DB7C +:10B3100006E00C7800EB4414D4F8004B002CCDDB95 +:10B32000104638BD18B5002400944FF07063009AA1 +:10B33000521C0092009A9A4201D9032018BD02695A +:10B34000002AF4DA0094202242EA81110161009976 +:10B35000491C00910099994201D9032018BD016947 +:10B360008906F4D4002018BDD0F8080800F00600C3 +:10B37000002805D0022805D0062803D00F207047EA +:10B380000020704702207047406900F001007047BC +:10B39000D0F81818D0F81C08084080B27047D0F8D0 +:10B3A0001818D0F81C080840000C704710B5D0F8E9 +:10B3B0001038D0F8342801F00F04E24002F0010206 +:10B3C00043EAC21200EB4110D0F80809104010BD4A +:10B3D00000EB4111D1F8081BD0F814080840704761 +:10B3E000416980690840704730B5034608469408B3 +:10B3F00002F00301002203F5805303E01D6840F8CA +:10B40000045B521CA242F9D300290BD000221C6815 +:10B41000D50024FA05F300F8013B521C491E89B2FD +:10B420000029F5D130BD00F50060026822F4FE620B +:10B43000026002684FF4FE6303EA01110A430260EE +:10B4400000207047022A0ED082B30921C26822F47C +:10B450007052C260C2684FF4705303EA81210A43FC +:10B46000C26000207047224A224B0A449A4201D20D +:10B470000F21EBE7204A214B0A449A4201D20E21C8 +:10B48000E4E71F4A1F4B0A449A4201D20D21DDE72F +:10B490001D4A1E4B0A449A4201D20C21D6E71C4A8F +:10B4A0001C4B0A449A4202D20B21CFE71DE01A4AF4 +:10B4B0001A4B0A449A4201D20A21C7E7184A194B8B +:10B4C0000A449A4201D20921C0E7174A174B0A449D +:10B4D0009A4201D20821B9E7154A1144154A91420E +:10B4E00001D20721B2E70621B0E70921AEE700004B +:10B4F000405327FF00350C00401E1BFF40420F0049 +:10B5000000DC0BFF804F1200808CF9FE20D6130068 +:10B5100060B6E5FE60E3160000D3CEFE40771B0068 +:10B52000C05BB3FEC091210000CA91FE20753800B7 +:10B53000E05459FEE09C410010B5029C002C0DD156 +:10B54000DB1C9C08002300EB023000F5805003E078 +:10B5500051F8042B02605B1CA342F9D3002010BDFC +:10B56000FEE703B401984100009850EAC12018BFDB +:10B5700004204A0D18BF40F0010040F2FF72B2EB08 +:10B58000515F08BF40F00200012808BF052002B04B +:10B5900070470907090E002804DB00F1E02080F85D +:10B5A0000014704700F00F0000F1E02080F8141D37 +:10B5B00070470000000000002DE9F04D2DED040B58 +:10B5C0002DED0A8B9AB0DDE92550279CDDF890A07F +:10B5D00025F0004624F00048BAF1000F14BF012105 +:10B5E000002101EB4502F84953184A1093422AD32F +:10B5F000002814BF0123002303EB44030B44F34949 +:10B600008B4220D358EA00019FEDF19B72D0DFF806 +:10B61000C8B35D4503D1BAF1000F05D184E0BAF19A +:10B62000000F08BF002100D0012101EB450111F5F9 +:10B63000001F08D8002814BF0121002101EB44019C +:10B6400011F5001F0BD99DED261B9DED240B1AB0A3 +:10B65000BDEC0A8B04B0BDE8F04D00F071BC0027D2 +:10B66000002DBCBFDD49884521DADD498845A8BFEA +:10B6700002271CDAC3451ADCDA4901EB28511429E8 +:10B6800008DDC1F1340220FA02F101FA02F282422D +:10B690000DD108E058B9C1F1140228FA02F101FAFB +:10B6A00002F2424503D101F00101C1F1020756EA5D +:10B6B0000A0120D1002C1EDA002D18BF022F01D064 +:10B6C000012F0AD00220F5F71EF81AB0BDEC0A8B44 +:10B6D00004B0BDE8F04D00F023BC0220F5F713F8EC +:10B6E00000F01EFCB1EE400B1AB0BDEC0A8B04B0AA +:10B6F000BDE8F08D18E09FEDBCAB9FEDBD8B002841 +:10B700007DD1B64880451CD105F1804010F58010F0 +:10B7100008BFBAF1000F07D0B34508DC002CA8BF62 +:10B720009DED260BE0DA07E0B0EE490BDCE7002CDC +:10B73000B8BF9DED260BD5DBAF48784490ED000BEC +:10B74000D2E7D84548D1002C43DA2EB186423AD10F +:10B75000BAF1000F3DD126E0BAF1000F13D002205C +:10B76000F4F7D1FF00F0FCFB8DED020B9DED240BF7 +:10B770008DED000B10EE900A039961F31E0003900B +:10B780009DED020BB0E78DED02AB9DED240B1AEEA3 +:10B79000901A10EE900A8DED000B61F31E000390DD +:10B7A0009DED020BA0E78DED028B9DED240B18EEB5 +:10B7B000901A10EE900A8DED000B61F31E000390BD +:10B7C0009DED020B90E704DA9DED241B89EE010B41 +:10B7D0008AE79DED240B87E786421ADAB4F1804FA1 +:10B7E00004BF9DED240B20EE000B3FF47DAFA4F1D0 +:10B7F0000050B0F1FF500CD1002D0ADB00E008E052 +:10B800009DED240B51EC100B01F026FA41EC100BCE +:10B810006AE79DED240B51EC100B00F0EDFBBAF143 +:10B82000000FCDE90E0140D19FED750B46B3A6F197 +:10B83000E040B0F17F600ED05E4536D1002D00DAD9 +:10B8400097B3022F0CBF01204FF0FF3000EE100A1B +:10B85000B8EEC00B48E7002D01DD002C0DDA002DFD +:10B8600001DD002C1DDB002D14DA002C12DB012F72 +:10B8700008BF9FED650B3FF437AFB0EE4A0B33E7DF +:10B88000022F18BF002D0CD0012F0AD1002DFFF67A +:10B890002BAF06E0002DB8BF002C06DA012F3FF4D5 +:10B8A00023AFB0EE480B1FE719E0012000EBE57075 +:10B8B00050EA070113D0791EB0EE498B084308BF48 +:10B8C0009FED538B5448002580457ADD53495448F9 +:10B8D000884514DDB0420DDB002C19DB2CE0012083 +:10B8E000F4F711FF1AB0BDEC0A8B04B0BDE8F04DBF +:10B8F00000F02ABBB34502DC002C09DC1CE08642C8 +:10B9000002DA002C18DA03E05E4528DD002C13DD96 +:10B910000220F4F7F8FE00F023FB8DED020B28EE79 +:10B920000A0B8DED000B10EE900A039961F31E00D7 +:10B9300003909DED020BD7E60220F4F7E4FE00F041 +:10B940001BFB10EE901A18EE900A8DED020B8DED98 +:10B95000008B61F31E0003909DED020BC4E69DED8C +:10B960000E0B9FED313B30EE490B8DED040B20EEBD +:10B97000002B9DED041B9FED2E0B01EE430B9DED67 +:10B98000043B9FED2D1B03EE401B9DED040B9FED33 +:10B990002E3B22EE012B9FED2A1B20EE011B20EEF9 +:10B9A000030B9FED2B3B02EE430B31EE002B8DED95 +:10B9B000022B02959DED022B32EE411B30EE411B16 +:10B9C00021E149E000000000FFFF1F00FFFF0F0022 +:10B9D000000000000000F03F0000F03F0000F07F9A +:10B9E0000000404301FCFFFF000000000000F07F6A +:10B9F00000000000000000007230000000000000A5 +:10BA00000000000000000080000000000000F0FFC7 +:10BA1000000000000000F0BF0000E0410000F04323 +:10BA2000FFFFEF3F00000000000000000000D03FDB +:10BA3000555555555555D53F000000000000E03FD5 +:10BA4000000000604715F73F44DF5DF80BAE543E41 +:10BA5000FE822B654715F73F0020B6F5801F0BDAF5 +:10BA60009DED0E0B9FEDEC1B6FF0340020EE010BF3 +:10BA700010EE906A8DED0E0BE94A00EB2650C6F3EE +:10BA80001301A0F2FF3741F07F6040F04050914237 +:10BA9000D8BF002408DDE34A8A42C8BF012403DC82 +:10BAA0000024A0F580107F1CDF49794401EBC4011C +:10BAB0000F9091ED001B9DED0E2B9DED0E0BDB49C4 +:10BAC00031EE023B30EE410B89EE032B20EE02AB50 +:10BAD0008DED02AB7944029591ED003B4FF00051A2 +:10BAE00041EA600000EB84408DED043B00F500204E +:10BAF00005909DED043B9DED044B2AEE0ACB33EE01 +:10BB0000411B9DED0E3BCA48062133EE411B9DEDC6 +:10BB1000023B03EE440B03EE410B20EE02BBB0EE02 +:10BB20004C0B784400F0C4F92CEE0C1B20EE010BFA +:10BB30009DED021B31EE0A1B0BEE010B9DED021B6E +:10BB400021EE011B9FEDBC2B31EE023B33EE003B9F +:10BB50008DED043B04959DED043B33EE422B32EE1C +:10BB6000411B30EE412B9DED020B9DED041B20EEA1 +:10BB7000011B9DED040B2BEE000B02EE0A0B31EEC8 +:10BB8000002B8DED022B02959DED022B32EE411B19 +:10BB900030EE410B9DED021B9FEDA92B21EE021B08 +:10BBA0009DED022B9FEDA83B22EE032B9FEDA83BC2 +:10BBB000A94800EE032B784400EBC40090ED000B85 +:10BBC000A64832EE000B02EE107AB8EEC22B8DEDD5 +:10BBD000042B31EE003B784400EBC4009DED044B98 +:10BBE00090ED002B33EE023B33EE043B8DED023B38 +:10BBF00002959DED023B33EE443B33EE422B32EE99 +:10BC0000411B30EE411B9DED260B954A8DED000B3F +:10BC100000959DED260B9DED002B30EE420B9DED2A +:10BC2000022B20EE020B9DED262B02EE010B9DED6B +:10BC3000001B9DED022B21EE021B8DED021B30EE51 +:10BC4000011B11EE900A11EE101A8DED001B9042AF +:10BC500024DB821A11430ED19FED831B9DED002B37 +:10BC60009DED023B30EE011B32EE432BB4EEC21BC6 +:10BC7000F1EE10FA26DD0220F4F745FD00F070F930 +:10BC800010EE901A18EE900A8DED020B8DED008BE0 +:10BC900061F31E0003909DED020B25E5744B20F02F +:10BCA00000429A420ED3734A024411437FF444AED9 +:10BCB0009DED022B31EE421BB4EEC01BF1EE10FAEB +:10BCC000BFF63AAE20F000416B4A6C4B002402EB09 +:10BCD00021529942D8BF9DED021B27DD511C4FF424 +:10BCE000801222FA01F10144654BC1F30A527B44F0 +:10BCF000A2F2FF3293ED001B624B8DED041BD3408B +:10BD000021EA0303C1F3130141F48011C2F11402CB +:10BD100021FA02F405930028B8BF64429DED021B8E +:10BD20009DED042B31EE421B8DED021B30EE011B0D +:10BD30008DED041B04959DED041B9FED532B9DED94 +:10BD4000023B21EE021B9DED042B32EE432B30EE25 +:10BD5000420B9FED4F2B20EE020B9DED042B9FED30 +:10BD60004E3B4F48052102EE030B31EE002B8DEDCB +:10BD7000002B32EE411B30EE41AB9DED000B20EE6F +:10BD8000000B8DED040B784400F092F89DED001B44 +:10BD90009DED042B02EE401B8DED021B9DED000B73 +:10BDA00020EE010B9FED402B31EE422B80EE021B6B +:10BDB0009DED002BB0EE4A0B02EE0A0B31EE400B6C +:10BDC0009DED001B30EE410B39EE400B10EE900A5A +:10BDD0008DED000B00EB045001150029C8BF019048 +:10BDE00013DC224651EC100B02F063F9FFF7B9FBAC +:10BDF000042808BF00F0C0F822469DED000B51EC6E +:10BE0000100B02F056F9CDE900019DED000B28EE74 +:10BE1000000B69E400000000000000000000404347 +:10BE20008E9803007AB60B007A2C0000D82C000004 +:10BE3000322C00000000000000000000000008405C +:10BE4000000000E009C7EE3FF5015B14E02F3EBEA5 +:10BE5000FD033ADC09C7EE3F8E2B00005E2B00008D +:10BE60000000904000000000FE822B654715973CC3 +:10BE700000CC904000346F3F01FCFFFF0000E03F2A +:10BE8000BE2A0000FFFF0F0000000000432EE63F27 +:10BE9000EF39FAFE422EE63F396CA80C615C20BEF9 +:10BEA000FE2900000000000000000000000000402B +:10BEB000491E00EBC102B0EE401B92ED000B31F0C9 +:10BEC00006020DD0491E00EBC102B0EE403B92EDE0 +:10BED000002B31F00602B0EE420B03EE010BF1D164 +:10BEE000022914D004290AD0062918BF704790ED02 +:10BEF0000A2B00EE012B90ED080B02EE010B90EDEA +:10BF0000062B00EE012B90ED040B02EE010B90EDE1 +:10BF1000022B00EE012B90ED000B02EE010B70479F +:10BF20009FED031B9FED042B81EE020B7047000079 +:10BF3000000000000000F03F0000000000000000D2 +:10BF400030EE010B704700009FED031B81EE010BEB +:10BF5000704700000000000000000000000000002A +:10BF60009FED030B20EE000B704700000000000067 +:10BF700000000000000000709FED030B20EE000B9E +:10BF800070470000000000000000000000000010EA +:10BF90009FED110B002208E030F8123001EE103A4C +:10BFA000B8EE411B31EE000B521C8A42F4DB01EE6D +:10BFB000101AB8EEC12B80EE021B9FED092B81EE0B +:10BFC000020B9FED091B20EE010B9FED091B20EEDC +:10BFD000010BB7EEC00B704700000000000000002E +:10BFE00000000000E0FFEF400000000000C8A94092 +:10BFF00039B4C876BE9F064082B0CDE9000121F079 +:10C00000004001909DED000B02B051EC100B704709 +:10C01000F8F7B4FAFDF7AEF9FCF784FBFCF728FB60 +:10C02000FCF744FBFCF76AFAFCF72EFDFCF790FCEA +:10C03000FCF722FCFCF7DAFC012208481102F8F7B1 +:10C0400081FA00F021F8064A0021064800F004F9C0 +:10C050000549886000F02CF8FEE700000000025857 +:10C0600040E10008819100080800002410B5EFF3BA +:10C070000581002902D06FF0050403E0002408B117 +:10C0800000F084FF204610BDEFF30580002802D0A9 +:10C090006FF0050070470548016811B14FF0FF309F +:10C0A0007047012101600020704700004801002412 +:10C0B00010B5EFF30580002802D06FF0050010BD29 +:10C0C00007480168012902D04FF0FF3010BD054A32 +:10C0D000002111700221016001F010F8002010BD54 +:10C0E000480100241FED00E0F8B50D460024221F92 +:10C0F000561C002805D0EFF30581C1B11DB11446CF +:10C100001FE014461DE0002100916A4601F0E8FBA3 +:10C11000012801D0344614E0009890B10A494FF04C +:10C1200080500860BFF34F8FBFF36F8F09E029463F +:10C1300001F024FC012804D015B16FF0010400E0E7 +:10C1400034462046F8BD000004ED00E0F8B50E4688 +:10C1500014464FF00005EFF3058100294DD1B8B327 +:10C1600086424AD84A1E5CB1A36823B1E1685029CF +:10C1700001D3012205E023B9E16811B9002200E0F2 +:10C180000022511C39D0012809D0012A2BD0314678 +:10C1900001F0C8F80546DDB15CB321682AE0012A48 +:10C1A00017D003220021012001F0FBF80546002DE5 +:10C1B000F1D0002EEFD0002328461A46194601F090 +:10C1C0008FF90128E7D0284600F08EFE0025E2E72F +:10C1D00013E0032000900022A3680120114601F023 +:10C1E00002F90546E3E7A268314601F0B9F80546D1 +:10C1F000D1E70021284600F065FE2846F8BD000082 +:10C2000038B50024E51E00280BD0EFF30581B1B14D +:10C2100000210091694601F075FA012804D02C46EE +:10C2200015E06FF0030412E0009880B109494FF067 +:10C2300080500860BFF34F8FBFF36F8F07E000237C +:10C240001A46194601F04CF9012800D02C46204628 +:10C2500038BD000004ED00E02DE9FF470B464FF02C +:10C260000008CDF80C80EFF30581A1BB98B34FF423 +:10C27000807618240025691E72B3176807B13D4601 +:10C28000976907B13C46671E382F02D21779FF071E +:10C2900003D0002004B0BDE8F087576907B1BE089D +:10C2A000D2F808C0BCF1000F0CD0D2F80C90B9F154 +:10C2B0005C0F07D3D2F81090B9F1000F02D00FB184 +:10C2C00001210BE0BCF1000F08D1D76837B917691D +:10C2D00027B9002102E01BE0FFE70021012901D07E +:10C2E00059B115E09168126902912946CDE90042E1 +:10C2F000324601F071FC03900AE003A9B2B2CDE925 +:10C300000041294601F036FC012801D0CDF80C800F +:10C310000398BFE72DE9F04104460F46134EF56838 +:10C320003068001D00F0CDFC601C07D137B13168CA +:10C33000BDE8F0410E48091D00F014BD2C443068E2 +:10C340004460AC4206D23168B06B091DBDE8F041D3 +:10C3500000F0F0BC3168706B091D00F0EBFCB06AB6 +:10C36000844200D2B462BDE8F0810000F8000024ED +:10C3700068F7002470B5044600F000FD1C4DA86865 +:10C38000401CA860286810B1686938B10CE02C60C6 +:10C39000A868012808D100F0A3F905E02868E16A3F +:10C3A000C06A884200D82C60686A401C6862606479 +:10C3B000E06A2969884200D9286100EB80000D49B4 +:10C3C00001EB8000211D00F0CDFC00F0F7FC686956 +:10C3D00000280CD02868E16AC06A884207D2064962 +:10C3E0004FF080500860BFF34F8FBFF36F8F70BD69 +:10C3F000F8000024B8F2002404ED00E038B500F0A5 +:10C40000BDFC104C2068C8B90F4800F085FC0E48F0 +:10C41000143000F081FC0C48E060143020610A4BBD +:10C42000002010210090F03B0A2003F1500200F0A0 +:10C43000DAFF206010B105A100F044FDBDE83840EE +:10C4400000F0BCBC340100246CF80024546D72511F +:10C450000000000070B50C4D0C4E11E000F08EFC99 +:10C46000F068C468201D00F02CFCA868401EA8607D +:10C470006868401E686000F0A1FC204600F053F898 +:10C4800068680028EAD170BDF800002454F7002441 +:10C490000B4630B4026C002A0CD0C1681144C16054 +:10C4A0008468A14201D30168C160C168184630BCEC +:10C4B000F4F759B830BC70472DE9F04104461746EF +:10C4C0000026A56B226C002A10D0C7B1E068F4F7F3 +:10C4D0004AF8E168206C091AE1602268914202D2B0 +:10C4E000A168081AE060022F16D017E02068A8B9EA +:10C4F000A06801F019FC06460020A0600EE060680C +:10C50000F4F731F8216C606808446060A1688842E3 +:10C5100004D32068606001E005B16D1E6D1CA56349 +:10C520003046BDE8F08110B5044694F85900002863 +:10C530000BD0012811D0022814D0502080F311888C +:10C54000BFF34F8FBFF36F8FFEE7206B00F04CFC03 +:10C550002046BDE8104000F047BC2046BDE8104032 +:10C5600000F042BC10BD416A002904D0006B006895 +:10C57000C0F1380070470020704700000749CA68C2 +:10C580001168002904D00021016019B10020704712 +:10C590000121F9E7D06800687047000034010024E9 +:10C5A0004FF4A0410F48420706D0C01D20F00700FD +:10C5B0000C49411AC1F5A0410B4A10600023536099 +:10C5C0000144083921F00701183A11604B600B60F3 +:10C5D0000B1A436001604068906050604FF000406B +:10C5E000506170474C01012464010024074E4FF054 +:10C5F0008054074DFFF72EFF30680128FAD92C60D0 +:10C60000BFF34F8FBFF36F8FF4E70000B8F2002441 +:10C6100004ED00E070B51D46049C002909D022609D +:10C62000E06321640121204600F014FF84F84C509F +:10C6300070BD2460F4E72DE9F05F82460E46174690 +:10C640009B46DDE90A590C9CB900A522206BF4F742 +:10C6500001F8206B7F1E00EB870020F007077807AA +:10C6600007D0502080F31188BFF34F8FBFF36F8F37 +:10C67000FEE74FF0000866B100202218315C82F816 +:10C680003410315C11B1401C1028F6D384F843807B +:10C6900001E084F83480382D00D33725E562E56465 +:10C6A000C4F85080201D00F042FB04F1180000F097 +:10C6B0003EFB2461C5F13800A0616462C4F8548077 +:10C6C00084F858805A465146384600F0B3FA206044 +:10C6D000B9F1000F01D0C9F80040BDE8F09F00009B +:10C6E00070B50024114D04EB840005EB800000F0D0 +:10C6F00013FB641C382CF6D30D4800F00DFB0C48DE +:10C70000143000F009FB0A48283000F005FB084807 +:10C710003C3000F001FB0648503000F0FDFA0548BF +:10C72000034941631431816370BD0000B8F20024F5 +:10C7300018F70024F800002430B5134900E0114632 +:10C740000A688242FBD34B685C18844203D140687C +:10C750001844486008460D6844682318AB420DD160 +:10C76000094B183B1B689A4206D05268224442602B +:10C770000A681268026002E0036000E00260814221 +:10C7800000D0086030BD00006401002470B50024B2 +:10C790004160006191420C4D0AD8D11A82699142E0 +:10C7A00001D301240EE0011D286900F0C3FA09E05D +:10C7B0009A4203D2994201D3012403E0011DE868A3 +:10C7C00000F0B8FA204670BD3401002410B50446CC +:10C7D00000F0D4FAA06B20B1002400F0EFFA20465C +:10C7E00010BD0124F9E710B5044600F0C7FAA06BAC +:10C7F000E16B884201D1012400E0002400F0DEFA60 +:10C80000204610BDF8B505460E461748C068C068FA +:10C81000C468201D00F055FA94F82800410718D587 +:10C82000A0692B46324641192046FFF7AFFFA0B161 +:10C8300000202A46034601460090204601F0C4FB32 +:10C8400058B9502080F31188BFF34F8FBFF36F8F1B +:10C85000FEE720F0010084F82800216A01B020469C +:10C86000BDE8F040084700003401002430B587B02F +:10C870003C4D6EE00398002803DADDE904200699B8 +:10C8800090470398002864DB059C606910B1201D67 +:10C8900000F017FA02A800F0AFF8024603980A2841 +:10C8A00057D2DFE800F00505052D334A05052D3385 +:10C8B00094F8280040F0010084F828000498A16949 +:10C8C000034601442046FFF761FF68B3216A204612 +:10C8D000884794F8280040073BD500200090049832 +:10C8E0000023A16942181946204601F06DFBD8B912 +:10C8F000502080F31188BFF34F8FBFF36F8FFEE797 +:10C9000014F8280F20F00100207022E094F828008D +:10C9100040F0010084F828000498A06128B1811833 +:10C9200013462046FFF732FF13E0502080F31188B2 +:10C93000BFF34F8FBFF36F8FFEE794F82800810796 +:10C9400003D4204600F050FA03E020F0010084F800 +:10C9500028002868002203A900F024FF002889D1BC +:10C9600007B030BD34010024F8B506460D4600F08E +:10C970000DFC684600F040F80446009810B101F044 +:10C980008BFAF8BD45B9A64206D801F085FA2146D2 +:10C990003046FFF737FFF8BD0C481DB10169096843 +:10C9A00091B100250068311B2A4600F0CBFA01F056 +:10C9B00073FA0028EFD106494FF080500860BFF3AA +:10C9C0004F8FBFF36F8FF8BD0125EBE734010024D3 +:10C9D00004ED00E00748416B0968002905D0416B70 +:10C9E000C968C9684968816270474FF0FF31816248 +:10C9F00070470000F800002470B5054601F028F9E2 +:10CA00000446074EB068844204D200F00BF80120BF +:10CA1000286001E000202860B460204670BD00005E +:10CA200034010024F8B51A4E20E0C0680568C468D7 +:10CA3000201D00F046F9216A2046884794F8280016 +:10CA4000400713D5A0692844A84206D96060246134 +:10CA5000211DF06800F06EF908E000202A46034628 +:10CA600001460090204601F0AFFA40B1F06801683D +:10CA70000029DAD1F0683169F1603061F8BD5020E9 +:10CA800080F31188BFF34F8FBFF36F8FFEE7000075 +:10CA90003401002409484068401C07D0502080F32E +:10CAA0001188BFF34F8FBFF36F8FFEE7502080F3E5 +:10CAB0001188BFF34F8FBFF36F8FFEE76C01002427 +:10CAC00008B56846FFF75AFD0099FFF74DFFFFF7DD +:10CAD000CDFEF6E72DE9F041044600F04FF994F958 +:10CAE000455004F1240609E0606A48B1304601F07F +:10CAF00097F908B100F07AFA6D1E6DB2002DF3DCE3 +:10CB00004FF0FF3684F8456000F058F900F036F930 +:10CB100094F9445004F1100709E0206948B13846FF +:10CB200001F07EF908B100F061FA6D1E6DB2002DC2 +:10CB3000F3DC84F84460BDE8F04100F03FB9000048 +:10CB40002DE9F0410546002600F020FB324F386801 +:10CB500008B9FFF725FD786905424DD18DB108353B +:10CB600068070ED005F00700C0F10800054468070B +:10CB700007D0502080F31188BFF34F8FBFF36F8F22 +:10CB8000FEE7CDB37868854236D823491831084688 +:10CB9000046801E0214604466068A84202D2206889 +:10CBA0000028F7D13868844226D00E6808362068FD +:10CBB00008606068411B10290ED96019420707D030 +:10CBC000502080F31188BFF34F8FBFF36F8FFEE7C4 +:10CBD00041606560FFF7B0FD61687868401A786071 +:10CBE000BA68904200D2B860786901436160002061 +:10CBF0002060F868401CF86001F04EF9700707D01B +:10CC0000502080F31188BFF34F8FBFF36F8FFEE783 +:10CC10003046BDE8F08100004C010024044908685A +:10CC2000002803D00868026D521C0265086870472E +:10CC3000F800002424384FF08073036221F00101D2 +:10CC4000C1610449816142606FF0020140F820191E +:10CC50007047000095CA000800B541EC100B2DED9F +:10CC6000028B83B0B1EEC08B18EE100A18EE901A4A +:10CC70008DED008B002818BF0120084320F00040F4 +:10CC8000C0F17F6000F1E040C00F14D010EE101A28 +:10CC900010EE900A8DED000B002918BF012108430A +:10CCA00020F00040C0F17F6000F1E040C00F04BF01 +:10CCB0000120F3F728FD51EC180B03B0BDEC028BFB +:10CCC00000BD0169D0E901329A60D0E901235A60C0 +:10CCD0004A68824201D182684A6000220261086883 +:10CCE000401E086008687047044B036003F15C0055 +:10CCF00008604FF4807010607047000094F80024C2 +:10CD0000044B036003F15C0008604FF48070106016 +:10CD100070470000F0FC002400F1080141604FF072 +:10CD2000FF328260C1600161002101607047002113 +:10CD30000161704730B50C68621C02D000F1080236 +:10CD400002E0026904E01A4653681D68A542FAD958 +:10CD500053684B6099608A60516008610168491CA2 +:10CD6000016030BD42684A6093688B609368596087 +:10CD7000916008610168491C01607047502080F390 +:10CD80001188BFF34F8FBFF36F8F0A494868401C6B +:10CD9000486001280CD10848006810F0FF0F07D048 +:10CDA000502080F31188BFF34F8FBFF36F8FFEE7E2 +:10CDB000704700006C01002404ED00E00949486858 +:10CDC000002806D0401E4860002801D180F3118859 +:10CDD0007047502080F31188BFF34F8FBFF36F8FE0 +:10CDE000FEE700006C01002470B500282AD0083846 +:10CDF0000446154D60686969084207D1502080F3E8 +:10CE00001188BFF34F8FBFF36F8FFEE722683AB1EF +:10CE1000502080F31188BFF34F8FBFF36F8FFEE771 +:10CE20008843606000F0B2F960686968084468602F +:10CE30002046FFF781FC2869401C2861BDE870404E +:10CE400001F02AB870BD00004C0100244FF0E02032 +:10CE50000021016181614FF47A7204490968B1FBD4 +:10CE6000F2F1491E4161072101617047E40000248D +:10CE700010B5F3F7DDFA114910280ED300F1E020C8 +:10CE800090F8F0030A78904207D2502080F311887E +:10CE9000BFF34F8FBFF36F8FFEE7094800688968C3 +:10CEA00000F4E060884207D9502080F31188BFF376 +:10CEB0004F8FBFF36F8FFEE710BD00006C010024A1 +:10CEC0000CED00E010B50022064B53F832401CB1C7 +:10CED000521C082AF9D310BD43F8321003EBC201EB +:10CEE000486010BD78F2002410B50446002C0BD029 +:10CEF000204600F013F894F8460000280CD1204694 +:10CF0000BDE81040FFF770BF502080F31188BFF3D9 +:10CF10004F8FBFF36F8FFEE710BD00000021084A5E +:10CF200002EBC1035B68834206D1002042F8310066 +:10CF300002EBC10148607047491C0829F0D37047D3 +:10CF400078F2002470B504460D461646FFF716FF2A +:10CF500094F944304FF000005B1C01D184F8440088 +:10CF600094F94510491C01D184F84500FFF726FFCC +:10CF7000A06B28B904F124003246294600F056F887 +:10CF80002046BDE87040FFF7A5BD0000024610B581 +:10CF90000020002A12D00F48006B38B1502080F3D7 +:10CFA0001188BFF34F8FBFF36F8FFEE700F0EEF8ED +:10CFB00000211046FFF7AEF900F06EFF002807D100 +:10CFC00005494FF080500860BFF34F8FBFF36F8F5C +:10CFD00010BD0000F800002404ED00E002490A6AD8 +:10CFE0000260C96841607047F800002401490120CF +:10CFF000C8617047F800002410B50C4600280AD01C +:10D00000094909681831FFF795FE2046BDE8104030 +:10D010000121FFF77FB9502080F31188BFF34F8FB4 +:10D02000BFF36F8FFEE70000F800002470B50D46D7 +:10D03000144600280DD00B4909681831FFF792FEFD +:10D040000CB14FF0FF3521462846BDE87040FFF790 +:10D0500061B9502080F31188BFF34F8FBFF36F8FFA +:10D06000FEE70000F800002470B50B4604460028D7 +:10D070003ED0226DA2B1E16C994200D21946E06A1D +:10D08000884235D0012A33D11A4D2A6894420FD1F3 +:10D09000502080F31188BFF34F8FBFF36F8FFEE7EF +:10D0A000502080F31188BFF34F8FBFF36F8FFEE7DF +:10D0B000E162A269002A02DBC1F13801A1610E4ED2 +:10D0C00000EB8000616906EB8000814210D1201DD9 +:10D0D000FFF7F7FDE06A2969884200D9286100EB73 +:10D0E0008000211D06EB8000BDE87040FFF73ABECE +:10D0F00070BD0000F8000024B8F2002430B587B0FD +:10D1000000250695059504AA05A906A8FFF7ECFDDC +:10D11000DDE90510049A002302901A48CDE9005178 +:10D1200016A100F059FD184CE06208B1012000E0A2 +:10D130000020012801D100F013FF012809D0401C74 +:10D1400019D1502080F31188BFF34F8FBFF36F8F39 +:10D15000FEE7502080F31188BFF34F8FBFF36F8F2E +:10D160004FF0FF30A06201206061E56007B0BDE8CC +:10D17000304000F047B807B030BD000049444C458E +:10D1800000000000EDC50008F80000240248016B13 +:10D19000491C016370470000F800002410B5174BCC +:10D1A000186B002802D00120D86110BD0020D86182 +:10D1B0001869134901E0C0B1401E00EB800251F82C +:10D1C0002220002AF7D000EB800201EB82014A689E +:10D1D00052684A6001F10804A24201D152684A60D3 +:10D1E0004968C9681960186110BD502080F3118822 +:10D1F000BFF34F8FBFF36F8FFEE70000F8000024EE +:10D20000B8F200241CB537480168374A914207D16B +:10D21000502080F31188BFF34F8FBFF36F8FFEE76D +:10D2200000683149491E884207D1502080F3118897 +:10D23000BFF34F8FBFF36F8FFEE72C490878019043 +:10D24000FF200870087800909DF800009DF80020ED +:10D2500000F0F000904207D0502080F31188BFF317 +:10D260004F8FBFF36F8FFEE79DF80000204C00F05A +:10D27000500020700720A06006E0A068401EA0605B +:10D280009DF80000400000909DF800000006F4D4D6 +:10D29000A068032807D0502080F31188BFF34F8F78 +:10D2A000BFF36F8FFEE74FF44070A06001980870E5 +:10D2B0000C482030016841F470010160016841F0C0 +:10D2C00070410160FFF7C2FD00206060F3F778F85D +:10D2D0000848016841F040410160F3F75DF8002023 +:10D2E0001CBD000000ED00E071C20F4100E400E051 +:10D2F0006C01002434EF00E010B5502080F3118859 +:10D30000BFF34F8FBFF36F8F00F0A8FC18B1044933 +:10D310004FF080500860002080F3118810BD00009D +:10D3200004ED00E010B50C46002809D084420FD966 +:10D33000502080F31188BFF34F8FBFF36F8FFEE74C +:10D34000502080F31188BFF34F8FBFF36F8FFEE73C +:10D350000222002100F025F8002800D0846310BDCF +:10D3600038B50C46002809D084420FD9502080F3EC +:10D370001188BFF34F8FBFF36F8FFEE7502080F30C +:10D380001188BFF34F8FBFF36F8FFEE70221134663 +:10D3900000220091114600F026F8002800D0846396 +:10D3A00038BDF8B505460E461746002D13D005FBCF +:10D3B00006F05030FFF7C4FB044654B12246503209 +:10D3C000002084F846003B46314628460094FFF78B +:10D3D00021F92046F8BD502080F31188BFF34F8F0C +:10D3E000BFF36F8FFEE738B5049D002804D05BB112 +:10D3F00002B189B1C2B120E0502080F31188BFF39F +:10D400004F8FBFF36F8FFEE7502080F31188BFF37B +:10D410004F8FBFF36F8FFEE7502080F31188BFF36B +:10D420004F8FBFF36F8FFEE739B1502080F3118823 +:10D43000BFF34F8FBFF36F8FFEE7502400941C465D +:10D44000012384F846302B460094FFF7E3F820468A +:10D4500038BD000070B504460D46002C25D0FFF7FE +:10D460008DFCD4E90F20216802FB0011A16000218E +:10D47000A16321686160E06B216C401E226800FBA3 +:10D480000121E1604FF0FF3084F8440084F845004A +:10D4900004F110008DB1FFF73FFC04F12400FFF709 +:10D4A0003BFCFFF78BFC012070BD502080F31188FE +:10D4B000BFF34F8FBFF36F8FFEE721690029F0D0D4 +:10D4C00000F0AEFC0028ECD004494FF0805008601A +:10D4D000BFF34F8FBFF36F8FE3E7000004ED00E071 +:10D4E0002DE9FF4782B004468A461E460025002CDF +:10D4F00003D0BAF1000F08D011E0502080F311885A +:10D50000BFF34F8FBFF36F8FFEE7206C38B1502011 +:10D5100080F31188BFF34F8FBFF36F8FFEE7022EAA +:10D520000AD1E06B012807D0502080F31188BFF3A7 +:10D530004F8FBFF36F8FFEE700F07CFB48B9049874 +:10D5400038B1502080F31188BFF34F8FBFF36F8F36 +:10D55000FEE7DFF8EC804FF080574FF00009FFF74F +:10D560000DFCA06BE16B884205D3022E03D004981A +:10D5700008B325B327E0324651462046FEF79CFF0C +:10D58000616A59B104F1240000F04AFC68B1C8F89E +:10D590000070BFF34F8FBFF36F8F06E028B1C8F85C +:10D5A0000070BFF34F8FBFF36F8FFFF707FC0120B1 +:10D5B00006B0BDE8F087FFF701FC0020F8E76846F9 +:10D5C000FFF70CFD0125FFF7F9FBFFF7DFFDFFF784 +:10D5D000D5FB94F94400401C01D184F8449094F99F +:10D5E0004500401C01D184F84590FFF7E7FB04A9F2 +:10D5F000684600F081FA30B12046FFF76BFA00F080 +:10D600004BFC0020D4E72046FFF7EDF890B10499D9 +:10D6100004F11000FFF7F0FC2046FFF75BFA00F082 +:10D620003BFC00289BD1C8F80070BFF34F8FBFF3BD +:10D630006F8F94E72046FFF74DFA00F02DFC8EE740 +:10D6400004ED00E02DE9F0470446894690461F4668 +:10D65000002C03D0B9F1000F08D011E0502080F366 +:10D660001188BFF34F8FBFF36F8FFEE7206C38B187 +:10D67000502080F31188BFF34F8FBFF36F8FFEE709 +:10D68000022F0AD1E06B012807D0502080F31188C7 +:10D69000BFF34F8FBFF36F8FFEE7FFF7E9FB50201B +:10D6A000EFF3118680F31188BFF34F8FBFF36F8FB5 +:10D6B000A06BE16B884206D3022F04D0002086F3D2 +:10D6C0001188BDE8F08794F94550A06B3A46494669 +:10D6D0002046FEF7F1FE681C04D06D1C84F845500E +:10D6E0000120ECE7606A0028FAD004F1240000F081 +:10D6F00097FB0028F4D0B8F1000FF1D00120C8F852 +:10D700000000EDE770B504460E46002C09D0206CF1 +:10D7100078B1502080F31188BFF34F8FBFF36F8F24 +:10D72000FEE7502080F31188BFF34F8FBFF36F8F58 +:10D73000FEE7206848B9A06838B1502080F311880E +:10D74000BFF34F8FBFF36F8FFEE7FFF791FB5020C2 +:10D75000EFF3118580F31188BFF34F8FBFF36F8F05 +:10D76000A26BE06B904218D994F94500521CA26359 +:10D77000411C04D0401C84F8450001200EE0606A82 +:10D780000028FAD004F1240000F04AFB0028F4D06D +:10D79000002EF2D001203060EFE7002085F31188E1 +:10D7A00070BD00002DE9F74783B004468A46002685 +:10D7B000002C03D0BAF1000F08D011E0502080F304 +:10D7C0001188BFF34F8FBFF36F8FFEE7206C38B126 +:10D7D000502080F31188BFF34F8FBFF36F8FFEE7A8 +:10D7E00000F028FA48B9059838B1502080F3118824 +:10D7F000BFF34F8FBFF36F8FFEE7DFF8E090002796 +:10D800004FF08058FFF7BAFAA56BC5B151462046D4 +:10D81000FEF73EFE6D1EA563206950B104F11000B5 +:10D8200000F0FEFA28B1C9F80080BFF34F8FBFF3B4 +:10D830006F8FFFF7C3FA012006B0BDE8F0870598A7 +:10D8400008B126B107E0FFF7B9FA0020F4E701A814 +:10D85000FFF7C4FB0126FFF7B1FAFFF797FCFFF7CC +:10D860008DFA94F94400401C01D184F8447094F975 +:10D870004500401C01D184F84570FFF79FFA05A9C7 +:10D8800001A800F039F958B12046FFF723F900F05C +:10D8900003FB2046FEF79AFF0028B3D00020CBE719 +:10D8A0002046FEF793FF90B1059904F12400FFF79D +:10D8B000A3FB2046FFF70EF900F0EEFA0028A1D1F5 +:10D8C000C9F80080BFF34F8FBFF36F8F9AE72046F0 +:10D8D000FFF700F900F0E0FA94E7000004ED00E043 +:10D8E0002DE9F047044689469046002C03D0B9F153 +:10D8F000000F08D011E0502080F31188BFF34F8F44 +:10D90000BFF36F8FFEE7206C38B1502080F3118891 +:10D91000BFF34F8FBFF36F8FFEE7FFF7A9FA5020D9 +:10D92000EFF3118780F31188BFF34F8FBFF36F8F31 +:10D93000A66BF6B194F9445049462046FEF7A8FD7F +:10D94000761EA663681C04D06D1C84F84450012028 +:10D9500010E020690028FAD004F1100000F060FA0D +:10D960000028F4D0B8F1000FF1D00120C8F8000071 +:10D97000EDE7002087F31188BDE8F0872DE9F34338 +:10D9800083B004460025A946002C09D0206C78B14C +:10D99000502080F31188BFF34F8FBFF36F8FFEE7E6 +:10D9A000502080F31188BFF34F8FBFF36F8FFEE7D6 +:10D9B00000F040F948B9049838B1502080F311883C +:10D9C000BFF34F8FBFF36F8FFEE7DFF8288100268C +:10D9D0004FF08057FFF7D2F9A06BC8B1401EA0638B +:10D9E000206810B9FFF71AF9A060206950B104F15E +:10D9F000100000F015FA28B1C8F80070BFF34F8F7F +:10DA0000BFF36F8FFFF7DAF9012005B0BDE8F083AF +:10DA1000049808B17DB112E0B9F1000F07D0502091 +:10DA200080F31188BFF34F8FBFF36F8FFEE7FFF7CF +:10DA3000C5F90020E9E701A8FFF7D0FA0125FFF7B3 +:10DA4000BDF9FFF7A3FBFFF799F994F94400401CD7 +:10DA500001D184F8446094F94500401C01D184F858 +:10DA60004560FFF7ABF904A901A800F045F8C8B17B +:10DA70002046FFF72FF800F00FFA2046FEF7A6FE2B +:10DA80000028A7D0B9F1000F0AD0FFF777F9204698 +:10DA9000FEF769FD0146A068FFF7E6FAFFF78EF989 +:10DAA0000020B2E72046FEF791FEE8B1206838B9C1 +:10DAB000FFF764F9A06800F075F98146FFF77EF979 +:10DAC000049904F12400FFF797FA2046FFF702F8C3 +:10DAD00000F0E2F900287FF47DAFC8F80070BFF3D2 +:10DAE0004F8FBFF36F8F75E72046FEF7F3FF00F00F +:10DAF000D3F96FE704ED00E02DE9F04105460C464F +:10DB0000002D11D0C4B1FFF739F9194EF0686B68D8 +:10DB1000C11A2268571C17D02F68366AB74215D031 +:10DB2000834213D801241DE0502080F31188BFF3F5 +:10DB30004F8FBFF36F8FFEE7502080F31188BFF344 +:10DB40004F8FBFF36F8FFEE700240BE08A4206D9A8 +:10DB5000501A20602846FFF741FA002402E0002016 +:10DB600020600124FFF72AF92046BDE8F08100007B +:10DB7000F80000242DE9FF5F81468A4616469B4641 +:10DB8000DDE90E78B000FEF7DBFF054628000AD07D +:10DB90005C20FEF7D5FF04460CB1256304E028465F +:10DBA000FFF722F900E000249CB1002084F859001E +:10DBB000CDE900785B463246CDE902405146484601 +:10DBC000FEF739FD2046FEF7D5FB012004B0BDE885 +:10DBD000F09F4FF0FF30F9E7F0B585B00746DDE97B +:10DBE0000A600C9C002815D0E4B15C2503952063E5 +:10DBF000022084F85900002004ADCDE90240CDE9AF +:10DC000000653846FEF717FD2046FEF7B3FB049883 +:10DC100005B0F0BD502080F31188BFF34F8FBFF3E4 +:10DC20006F8FFEE7502080F31188BFF34F8FBFF353 +:10DC30006F8FFEE705484169002903D0006B18B1DA +:10DC4000002070470120704702207047F800002430 +:10DC50000148C06870470000F80000242DE9F04139 +:10DC600000262F4F386B002805D0B869401CB861DA +:10DC70003046BDE8F081FD686D1CFD609DB9786B94 +:10DC8000006838B1502080F31188BFF34F8FBFF385 +:10DC90006F8FFEE7786BB96B7963B863386A401CA5 +:10DCA0003862FEF797FEB86ADFF8788085420DD3B8 +:10DCB000786B006838B1786BC068C468606885426A +:10DCC00012D2B86202E04FF0FF30B8623868C06A22 +:10DCD00000EB800058F82000012800D90126F869DF +:10DCE0000028C5D00126C3E7201DFEF7EAFFA06A81 +:10DCF00018B104F11800FEF7E4FFE06A39698842C0 +:10DD000000D9386100EB8000211D08EB8000FFF78F +:10DD100029F8E06A3968C96A8842C9D30126C7E789 +:10DD2000F8000024B8F2002470B504460020002C4E +:10DD30002BD01A4D29688C4207D0502080F31188CF +:10DD4000BFF34F8FBFF36F8FFEE7216DF1B1491E17 +:10DD50002165E36CE26A9A4217D0002915D1201D93 +:10DD6000FEF7AFFFE06CE062C0F13800A061E06A4E +:10DD70002969884200D9286100EB8000084901EB3D +:10DD80008000211DFEF7EEFF012070BD502080F3C2 +:10DD90001188BFF34F8FBFF36F8FFEE7F8000024A9 +:10DDA000B8F2002470B504460020002C2CD01A4D87 +:10DDB000E16A2A68D26A914227D2A069002804DB6E +:10DDC0002868C06AC0F13800A061E06A134E61693A +:10DDD00000EB800006EB8000814211D1201DFEF790 +:10DDE00070FF2868C06AE0622969884200D928610A +:10DDF00000EB8000211D06EB8000FEF7B3FF02E080 +:10DE00002868C06AE062012070BDE16C2A68D26AAD +:10DE10009142F9D2012070BDF8000024B8F200242C +:10DE200070B5C068C468002C14D004F11800064610 +:10DE3000FEF747FF154D2A6BA2B115483146FEF794 +:10DE400091FFE06A2968C96A88421CD90120012132 +:10DE5000E96170BD502080F31188BFF34F8FBFF38D +:10DE60006F8FFEE7201DFEF72CFFE06A29698842CC +:10DE700000D9286100EB8000064901EB8000211DDC +:10DE8000FEF770FFDDE7002070BD0000F800002401 +:10DE900040F70024B8F200242DE9F04100240027C7 +:10DEA0002B4D286B002807D0FEF768FF286B401E1B +:10DEB0002863286B40B146E0502080F31188BFF3FF +:10DEC0004F8FBFF36F8FFEE7A868E0B3DFF8848061 +:10DED00001261CE0D8F80C00C46804F11800FEF715 +:10DEE000F0FE201DFEF7EDFEE06A2969884200D9A8 +:10DEF000286100EB8000184901EB8000211DFEF72E +:10DF000031FFE06A2968C96A884200D3EE61D8F817 +:10DF100000000028DED10CB1FEF75CFDAC6944B115 +:10DF2000FFF79CFE00B1EE61641E002CF8D10020CA +:10DF3000A861E86938B10127084938070860BFF3CC +:10DF40004F8FBFF36F8FFEF739FF3846BDE8F08182 +:10DF5000F800002440F70024B8F2002404ED00E0AB +:10DF600030B587B00024FEF749FA134D2868B0B1E8 +:10DF700000200690059004AA05A906A8FEF7C0FE99 +:10DF8000DDE905100222029000230E48CDE90021B0 +:10DF9000049A0AA1FFF720FE686000B1012414B1C1 +:10DFA00007B0204630BD502080F31188BFF34F8F5B +:10DFB000BFF36F8FFEE7000034010024546D722020 +:10DFC00053766300C1CA00082DE9FF4106469C460E +:10DFD0000A9F0020002E15D0154D2C68002C0ED065 +:10DFE00000910192029606291BDAFFF723FE022810 +:10DFF00010D0002328681A466946FFF771FA04B06A +:10E00000BDE8F081502080F31188BFF34F8FBFF33C +:10E010006F8FFEE7286800233A466946FFF760FAEB +:10E02000EDE70023624669462046FFF70BFBE6E773 +:10E030003401002402494FF0000000F008B800BF8E +:10E040000000F87F4FF04070E1EE100A70470CF0CE +:10E050000F03092B08BF082000F059800A2B0BD0B2 +:10E06000082B18BF704708BF1CF0400F0AD04FF0B4 +:10E0700000004FF0000170471CF0400F18BF4FF038 +:10E08000004070471CF0100F08D020F0704300F0E3 +:10E090007F4242EAD3014FEA4370704700F060408C +:10E0A00021F07F4242EA000201F07F4040EA7270B4 +:10E0B00070474FF0FF0C4CF4E06C1CEA11531CBF8E +:10E0C0009CEA030C9445C2BFDA4201EB025170474F +:10E0D000002B0DD0BCF1000F0FD0002A01F0004141 +:10E0E000A4BF41F0E04141F07F614FF00000704774 +:10E0F00001F000414FF00000704750EA01334FF04B +:10E100009B0C18BF4CF0806C7FF494AF70471CF4EC +:10E11000801F11D01CF4E02F03D06FEACC314900EE +:10E1200070474FF04050EFF3008222F0704242EA15 +:10E13000000282F3008870474FF000007047000033 +:10E14000D4E700080000000000000000000000000C +:10E150000000000000100000180000000000000097 +:10E1600000000000B8E70008000000000000000008 +:10E170000000000000000000001000001800000077 +:10E18000000000000000000088139411A00FAC0DE7 +:10E19000B80BC4099808D00708074006780514058D +:10E1A000B0044C04E803B603840352032003EE02D8 +:10E1B000BC028A0258022602F401CC0190015E01E1 +:10E1C00040012C010401E600D200BE00B400AA0008 +:10E1D000000000000000000000000000000000003F +:10E1E000000000000000000000000000000000002F +:10E1F000000000000000000000000000000000001F +:10E20000000000000000000000000000000000000E +:10E2100000000000000000000000000000000000FE +:10E2200000000000000000000000000000000000EE +:10E2300000000000000000000000000000000000DE +:10E240000000000000000000000000008813A00F84 +:10E25000B80BC409D007DC051405B0044C04E8036E +:10E2600084032003BC020802CC0190015E012C0152 +:10E270000401E600D200BE00AA00A0008C008200CB +:10E2800078006E0069005A00550050004D004B00A8 +:10E29000480047004600450044004300420041005A +:10E2A00040003F003E003D003C003B003A0039008A +:10E2B0003800370036002D002C002B002A002900E2 +:10E2C00028002700000000000000000000000000FF +:10E2D000000000000000000000000000000000003E +:10E2E000000000000000000000000000000000002E +:10E2F000000000000000000000000000000000001E +:10E30000000000000000000000000000000000000D +:10E310008813A00FB80BC409D007DC051405B0049E +:10E320004C04E80384032003BC020802CC019001E2 +:10E330005E012C010401E600D200BE00AA00A0008C +:10E340008C00820078006E0069005A005500500071 +:10E350004D004B0048004700460045004400430084 +:10E360004200410040003F003E003D003C003B00B9 +:10E370003A0039003800370036002D002C002B0001 +:10E380002A00290028002700260025002400230059 +:10E39000000000000000000000000000000000007D +:10E3A000000000000000000000000000000000006D +:10E3B000000000000000000000000000000000005D +:10E3C000000000000000000000000000000000004D +:10E3D000000000008813A00FB80BC409D007DC05AB +:10E3E0001405B0044C04E80384032003BC020802B3 +:10E3F000CC0190015E012C010401E600D200BE00B8 +:10E40000AA00A0008C00820078006E0069005A000B +:10E41000550050004D004B004800470046004500A5 +:10E42000440043004200410040003F003E003D00E8 +:10E430003C003B003A0039003800370036002D0020 +:10E440002C002B002A002900280027002600250088 +:10E45000240023002200210020001F0000000000F3 +:10E4600000000000000000000000000000000000AC +:10E47000000000000000000000000000000000009C +:10E48000000000000000000000000000000000008C +:10E4900000000000000000008813A00FB80BC409A2 +:10E4A000D007DC051405B0044C04E8038403200302 +:10E4B000BC020802CC0190015E012C010401E600BF +:10E4C000D200BE00AA00A0008C00820078006E007E +:10E4D00069005A00550050004D004B0048004700AD +:10E4E00046004500440043004200410040003F0018 +:10E4F0003E003D003C003B003A0039003800370048 +:10E5000036002D002C002B002A00290028002700AF +:10E5100026002500240023002200210020001F00E7 +:10E520001E001D001C001B001A0019001800170017 +:10E5300016001500000000000000000000000000B0 +:10E5400000000000000000000000000000000000CB +:10E550000000000000000000000000008813A00F71 +:10E56000B80BC409D007DC051405B0044C04E8035B +:10E5700084032003BC020802CC0190015E012C013F +:10E580000401E600D200BE00AA00A0008C008200B8 +:10E5900078006E0069005A00550050004D004B0095 +:10E5A0004800470046004500440043004200410047 +:10E5B00040003F003E003D003C003B003A00390077 +:10E5C0003800370036002D002C002B002A002900CF +:10E5D0002800270026002500240023002200210017 +:10E5E00020001F001E001D001C001B001A00190047 +:10E5F0001800170016001500140013001200110077 +:10E6000010000F000E000D000C000B0000000000B9 +:10E6100000000000000000000000000000000000FA +:10E620008813A00FB80BC409D007DC051405B0048B +:10E630004C04E80384032003BC020802CC019001CF +:10E640005E012C010401E600D200BE00AA00A00079 +:10E650008C00820078006E0069005A00550050005E +:10E660004D004B0048004700460045004400430071 +:10E670004200410040003F003E003D003C003B00A6 +:10E680003A0039003800370036002D002C002B00EE +:10E690002A00290028002700260025002400230046 +:10E6A0002200210020001F001E001D001C001B0076 +:10E6B0001A001900180017001600150014001300A6 +:10E6C0001200110010000F000E000D000C000B00D6 +:10E6D0000A00090008000700060005000400030006 +:10E6E0000200010000000000010203040102030413 +:10E6F00006070809000610160006101601000200A1 +:10E700000400060008000A000C0010002000400071 +:10E710008000000101010103070100000804020458 +:10E720000801010100000000000000000000F03FAF +:10E73000000000000000F83F0000000000000000A2 +:10E740000000004003B8E23F0000000000000000AD +:10E7500006D0CF43EBFD4C3E033333333333E33F3B +:10E76000FFAB6FDBB66DDB3F4D268F515555D53F67 +:10E7700001411DA96074D13F65DBC9934A86CD3F35 +:10E78000EF4E454A287ECA3F3E5555555555C53F23 +:10E7900093BDBE166CC166BF2CDE25AF6A56113F15 +:10E7A000F16BD2C541BDBBBED0A4BE726937663E17 +:10E7B0000000000000000000436F6D6D756E69631E +:10E7C0006174696F6E526573706F6E655461736BBF +:10E7D0000000000064656661756C745461736B00C1 +:10E7E00000E80008000000247C010000D4020008BA +:10E7F000DCE800087C0100243456010030030008E6 +:10E8000021520A420102126210288813A00FB80B8D +:10E81000C409D007DC051405B0044C04E8038403E4 +:10E820002003BC020802CC0190015E012C0104010E +:10E83000E612D212BE12AA12A0128C128212781202 +:10E840006E1269125A12551250124D124B12481282 +:10E85000471246124512441243124212411240120C +:10E860003F123E123D123C123B123A12391238123C +:10E87000371236122D122C122B122A12291228129C +:10E8800027122612251224122312221221122012DC +:10E890001F121E121D121C121B121A12191218120C +:10E8A000171216121512141213121212111210123C +:10E8B0000F120E120D120C1A0BCE120912081207AB +:10E8C00012061205120412032A02DA14389C1C2CB8 +:0CE8D00090D003E4027F101AAA0181001E +:040000050800029954 +:00000001FF diff --git a/MDK-ARM/WTZS32-2/WTZS32-2.map b/MDK-ARM/WTZS32-2/WTZS32-2.map new file mode 100644 index 0000000..d85f406 --- /dev/null +++ b/MDK-ARM/WTZS32-2/WTZS32-2.map @@ -0,0 +1,5270 @@ +Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601] + +============================================================================== + +Section Cross References + + startup_stm32h750xx.o(STACK) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_stm32h750xx.o(HEAP) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_stm32h750xx.o(RESET) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_stm32h750xx.o(RESET) refers to startup_stm32h750xx.o(STACK) for __initial_sp + startup_stm32h750xx.o(RESET) refers to startup_stm32h750xx.o(.text) for Reset_Handler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.NMI_Handler) for NMI_Handler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.HardFault_Handler) for HardFault_Handler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.MemManage_Handler) for MemManage_Handler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.BusFault_Handler) for BusFault_Handler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.UsageFault_Handler) for UsageFault_Handler + startup_stm32h750xx.o(RESET) refers to port.o(.emb_text) for SVC_Handler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.DebugMon_Handler) for DebugMon_Handler + startup_stm32h750xx.o(RESET) refers to cmsis_os2.o(i.SysTick_Handler) for SysTick_Handler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.DMA1_Stream5_IRQHandler) for DMA1_Stream5_IRQHandler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.USART1_IRQHandler) for USART1_IRQHandler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.TIM7_IRQHandler) for TIM7_IRQHandler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.OTG_FS_IRQHandler) for OTG_FS_IRQHandler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.DMAMUX2_OVR_IRQHandler) for DMAMUX2_OVR_IRQHandler + startup_stm32h750xx.o(RESET) refers to stm32h7xx_it.o(i.BDMA_Channel0_IRQHandler) for BDMA_Channel0_IRQHandler + startup_stm32h750xx.o(.text) refers (Special) to heapauxi.o(.text) for __use_two_region_memory + startup_stm32h750xx.o(.text) refers to system_stm32h7xx.o(i.SystemInit) for SystemInit + startup_stm32h750xx.o(.text) refers to __main.o(!!!main) for __main + startup_stm32h750xx.o(.text) refers to startup_stm32h750xx.o(HEAP) for Heap_Mem + startup_stm32h750xx.o(.text) refers to startup_stm32h750xx.o(STACK) for Stack_Mem + communicaion.o(i.Command_AddReadIndex) refers to communicaion.o(.data) for .data + communicaion.o(i.Command_Deal) refers to cmsis_os2.o(i.osSemaphoreAcquire) for osSemaphoreAcquire + communicaion.o(i.Command_Deal) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + communicaion.o(i.Command_Deal) refers to communicaion.o(i.Command_GetCommand) for Command_GetCommand + communicaion.o(i.Command_Deal) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin + communicaion.o(i.Command_Deal) refers to cmsis_os2.o(i.osDelay) for osDelay + communicaion.o(i.Command_Deal) refers to main.o(i.CLKHZSET) for CLKHZSET + communicaion.o(i.Command_Deal) refers to communicaion.o(i.FramePack) for FramePack + communicaion.o(i.Command_Deal) refers to stm32h7xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit + communicaion.o(i.Command_Deal) refers to stm32h7xx_hal_uart.o(i.HAL_UART_GetState) for HAL_UART_GetState + communicaion.o(i.Command_Deal) refers to stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_ReceiveToIdle_DMA) for HAL_UARTEx_ReceiveToIdle_DMA + communicaion.o(i.Command_Deal) refers to main.o(.data) for Command_Semaphore + communicaion.o(i.Command_Deal) refers to communicaion.o(.bss) for .bss + communicaion.o(i.Command_Deal) refers to communicaion.o(.data) for .data + communicaion.o(i.Command_Deal) refers to main.o(.bss) for LineCheckF + communicaion.o(i.Command_GetCommand) refers to communicaion.o(i.Command_Read) for Command_Read + communicaion.o(i.Command_GetCommand) refers to communicaion.o(i.Command_AddReadIndex) for Command_AddReadIndex + communicaion.o(i.Command_GetCommand) refers to communicaion.o(i.Command_GetLength) for Command_GetLength + communicaion.o(i.Command_GetCommand) refers to communicaion.o(.data) for .data + communicaion.o(i.Command_GetLength) refers to communicaion.o(.data) for .data + communicaion.o(i.Command_GetRemain) refers to communicaion.o(i.Command_GetLength) for Command_GetLength + communicaion.o(i.Command_Read) refers to communicaion.o(.bss) for .bss + communicaion.o(i.Command_Write) refers to communicaion.o(i.Command_GetRemain) for Command_GetRemain + communicaion.o(i.Command_Write) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy + communicaion.o(i.Command_Write) refers to communicaion.o(.data) for .data + communicaion.o(i.Command_Write) refers to communicaion.o(.bss) for .bss + communicaion.o(i.FramePack) refers to rt_memclr.o(.text) for __aeabi_memclr + main.o(i.CLKHZSET) refers to rt_memcpy_w.o(.text) for __aeabi_memcpy4 + main.o(i.CLKHZSET) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy + main.o(i.CLKHZSET) refers to main.o(.data) for .data + main.o(i.CLKHZSET) refers to main.o(.constdata) for .constdata + main.o(i.ChannelSelect) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin + main.o(i.CheckMaxV) refers to main.o(.data) for .data + main.o(i.Clk_Set) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + main.o(i.Clk_Set) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop) for HAL_TIM_PWM_Stop + main.o(i.Clk_Set) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Init) for HAL_TIM_Base_Init + main.o(i.Clk_Set) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.Clk_Set) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) for HAL_TIM_ConfigClockSource + main.o(i.Clk_Set) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Init) for HAL_TIM_PWM_Init + main.o(i.Clk_Set) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization) for HAL_TIMEx_MasterConfigSynchronization + main.o(i.Clk_Set) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) for HAL_TIM_PWM_ConfigChannel + main.o(i.Clk_Set) refers to stm32h7xx_hal_msp.o(i.HAL_TIM_MspPostInit) for HAL_TIM_MspPostInit + main.o(i.Clk_Set) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start) for HAL_TIM_PWM_Start + main.o(i.Clk_Set) refers to main.o(.bss) for .bss + main.o(i.CommunicationResponse) refers to cmsis_os2.o(i.osSemaphoreAcquire) for osSemaphoreAcquire + main.o(i.CommunicationResponse) refers to main.o(i.SampleRate_Set) for SampleRate_Set + main.o(i.CommunicationResponse) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start) for HAL_TIM_PWM_Start + main.o(i.CommunicationResponse) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop) for HAL_TIM_PWM_Stop + main.o(i.CommunicationResponse) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_Stop_DMA) for HAL_ADC_Stop_DMA + main.o(i.CommunicationResponse) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) for HAL_ADC_Start_DMA + main.o(i.CommunicationResponse) refers to main.o(i.ChannelSelect) for ChannelSelect + main.o(i.CommunicationResponse) refers to main.o(i.Clk_Set) for Clk_Set + main.o(i.CommunicationResponse) refers to cmsis_os2.o(i.osDelay) for osDelay + main.o(i.CommunicationResponse) refers to main.o(i.SlopeSet) for SlopeSet + main.o(i.CommunicationResponse) refers to main.o(i.calculateAverage) for calculateAverage + main.o(i.CommunicationResponse) refers to pow.o(i.__hardfp_pow) for __hardfp_pow + main.o(i.CommunicationResponse) refers to main.o(i.FindMaxValue) for FindMaxValue + main.o(i.CommunicationResponse) refers to main.o(.data) for .data + main.o(i.CommunicationResponse) refers to communicaion.o(.bss) for CommunicationData + main.o(i.CommunicationResponse) refers to main.o(.bss) for .bss + main.o(i.CommunicationResponse) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin + main.o(i.CommunicationResponse) refers to main.o(i.LineCheck) for LineCheck + main.o(i.HAL_ADC_ConvCpltCallback) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Init) for HAL_DMA_Init + main.o(i.HAL_ADC_ConvCpltCallback) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.HAL_ADC_ConvCpltCallback) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start) for HAL_DMA_Start + main.o(i.HAL_ADC_ConvCpltCallback) refers to main.o(.bss) for .bss + main.o(i.HAL_ADC_ConvCpltCallback) refers to main.o(.data) for .data + main.o(i.HAL_ADC_ConvHalfCpltCallback) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Init) for HAL_DMA_Init + main.o(i.HAL_ADC_ConvHalfCpltCallback) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.HAL_ADC_ConvHalfCpltCallback) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start) for HAL_DMA_Start + main.o(i.HAL_ADC_ConvHalfCpltCallback) refers to main.o(.bss) for .bss + main.o(i.HAL_ADC_ConvHalfCpltCallback) refers to main.o(.data) for .data + main.o(i.HAL_TIM_PeriodElapsedCallback) refers to stm32h7xx_hal.o(i.HAL_IncTick) for HAL_IncTick + main.o(i.HAL_UARTEx_RxEventCallback) refers to communicaion.o(i.Command_Write) for Command_Write + main.o(i.HAL_UARTEx_RxEventCallback) refers to cmsis_os2.o(i.osSemaphoreRelease) for osSemaphoreRelease + main.o(i.HAL_UARTEx_RxEventCallback) refers to main.o(.bss) for .bss + main.o(i.HAL_UARTEx_RxEventCallback) refers to main.o(.data) for .data + main.o(i.LOWPower) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + main.o(i.LOWPower) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ConfigSupply) for HAL_PWREx_ConfigSupply + main.o(i.LOWPower) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_OscConfig) for HAL_RCC_OscConfig + main.o(i.LOWPower) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.LOWPower) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_ClockConfig) for HAL_RCC_ClockConfig + main.o(i.LOWPower) refers to main.o(i.MX_USART1_UART_Init) for MX_USART1_UART_Init + main.o(i.LineCheck) refers to main.o(i.SampleRate_Set) for SampleRate_Set + main.o(i.LineCheck) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start) for HAL_TIM_PWM_Start + main.o(i.LineCheck) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin + main.o(i.LineCheck) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_Stop_DMA) for HAL_ADC_Stop_DMA + main.o(i.LineCheck) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) for HAL_ADC_Start_DMA + main.o(i.LineCheck) refers to main.o(i.ChannelSelect) for ChannelSelect + main.o(i.LineCheck) refers to cmsis_os2.o(i.osDelay) for osDelay + main.o(i.LineCheck) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop) for HAL_TIM_PWM_Stop + main.o(i.LineCheck) refers to main.o(i.calculateAverage) for calculateAverage + main.o(i.LineCheck) refers to communicaion.o(.bss) for CommunicationData + main.o(i.LineCheck) refers to main.o(.bss) for .bss + main.o(i.LineCheck) refers to main.o(.data) for .data + main.o(i.MX_ADC3_Init) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + main.o(i.MX_ADC3_Init) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_Init) for HAL_ADC_Init + main.o(i.MX_ADC3_Init) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.MX_ADC3_Init) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_ConfigChannel) for HAL_ADC_ConfigChannel + main.o(i.MX_ADC3_Init) refers to main.o(.bss) for .bss + main.o(i.MX_BDMA_Init) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority + main.o(i.MX_BDMA_Init) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) for HAL_NVIC_EnableIRQ + main.o(i.MX_DMA_Init) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Init) for HAL_DMA_Init + main.o(i.MX_DMA_Init) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.MX_DMA_Init) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority + main.o(i.MX_DMA_Init) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) for HAL_NVIC_EnableIRQ + main.o(i.MX_DMA_Init) refers to main.o(.bss) for .bss + main.o(i.MX_GPIO_Init) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + main.o(i.MX_GPIO_Init) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin + main.o(i.MX_GPIO_Init) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init + main.o(i.MX_TIM1_Init) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + main.o(i.MX_TIM1_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Init) for HAL_TIM_Base_Init + main.o(i.MX_TIM1_Init) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.MX_TIM1_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) for HAL_TIM_ConfigClockSource + main.o(i.MX_TIM1_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Init) for HAL_TIM_PWM_Init + main.o(i.MX_TIM1_Init) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization) for HAL_TIMEx_MasterConfigSynchronization + main.o(i.MX_TIM1_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) for HAL_TIM_PWM_ConfigChannel + main.o(i.MX_TIM1_Init) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigBreakDeadTime) for HAL_TIMEx_ConfigBreakDeadTime + main.o(i.MX_TIM1_Init) refers to main.o(.bss) for .bss + main.o(i.MX_TIM2_Init) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + main.o(i.MX_TIM2_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Init) for HAL_TIM_Base_Init + main.o(i.MX_TIM2_Init) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.MX_TIM2_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) for HAL_TIM_ConfigClockSource + main.o(i.MX_TIM2_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Init) for HAL_TIM_PWM_Init + main.o(i.MX_TIM2_Init) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization) for HAL_TIMEx_MasterConfigSynchronization + main.o(i.MX_TIM2_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) for HAL_TIM_PWM_ConfigChannel + main.o(i.MX_TIM2_Init) refers to stm32h7xx_hal_msp.o(i.HAL_TIM_MspPostInit) for HAL_TIM_MspPostInit + main.o(i.MX_TIM2_Init) refers to main.o(.bss) for .bss + main.o(i.MX_TIM4_Init) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + main.o(i.MX_TIM4_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Init) for HAL_TIM_Base_Init + main.o(i.MX_TIM4_Init) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.MX_TIM4_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) for HAL_TIM_ConfigClockSource + main.o(i.MX_TIM4_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Init) for HAL_TIM_PWM_Init + main.o(i.MX_TIM4_Init) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization) for HAL_TIMEx_MasterConfigSynchronization + main.o(i.MX_TIM4_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) for HAL_TIM_PWM_ConfigChannel + main.o(i.MX_TIM4_Init) refers to main.o(.bss) for .bss + main.o(i.MX_USART1_UART_Init) refers to stm32h7xx_hal_uart.o(i.HAL_UART_Init) for HAL_UART_Init + main.o(i.MX_USART1_UART_Init) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.MX_USART1_UART_Init) refers to stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_SetTxFifoThreshold) for HAL_UARTEx_SetTxFifoThreshold + main.o(i.MX_USART1_UART_Init) refers to stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_SetRxFifoThreshold) for HAL_UARTEx_SetRxFifoThreshold + main.o(i.MX_USART1_UART_Init) refers to stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_DisableFifoMode) for HAL_UARTEx_DisableFifoMode + main.o(i.MX_USART1_UART_Init) refers to main.o(.bss) for .bss + main.o(i.SampleRate_Set) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + main.o(i.SampleRate_Set) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Init) for HAL_TIM_Base_Init + main.o(i.SampleRate_Set) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.SampleRate_Set) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) for HAL_TIM_ConfigClockSource + main.o(i.SampleRate_Set) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Init) for HAL_TIM_PWM_Init + main.o(i.SampleRate_Set) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization) for HAL_TIMEx_MasterConfigSynchronization + main.o(i.SampleRate_Set) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) for HAL_TIM_PWM_ConfigChannel + main.o(i.SampleRate_Set) refers to main.o(.bss) for .bss + main.o(i.SlopeSet) refers to cmsis_os2.o(i.osDelay) for osDelay + main.o(i.SlopeSet) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin + main.o(i.StartDefaultTask) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin + main.o(i.StartDefaultTask) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop) for HAL_TIM_PWM_Stop + main.o(i.StartDefaultTask) refers to main.o(i.SlopeSet) for SlopeSet + main.o(i.StartDefaultTask) refers to main.o(i.Clk_Set) for Clk_Set + main.o(i.StartDefaultTask) refers to cmsis_os2.o(i.osDelay) for osDelay + main.o(i.StartDefaultTask) refers to stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_Calibration_Start) for HAL_ADCEx_Calibration_Start + main.o(i.StartDefaultTask) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) for HAL_ADC_Start_DMA + main.o(i.StartDefaultTask) refers to stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_ReceiveToIdle_DMA) for HAL_UARTEx_ReceiveToIdle_DMA + main.o(i.StartDefaultTask) refers to cmsis_os2.o(i.osSemaphoreNew) for osSemaphoreNew + main.o(i.StartDefaultTask) refers to cmsis_os2.o(i.osThreadNew) for osThreadNew + main.o(i.StartDefaultTask) refers to communicaion.o(i.Command_Deal) for Command_Deal + main.o(i.StartDefaultTask) refers to cmsis_os2.o(i.osSemaphoreRelease) for osSemaphoreRelease + main.o(i.StartDefaultTask) refers to communicaion.o(.bss) for CommunicationData + main.o(i.StartDefaultTask) refers to main.o(.bss) for .bss + main.o(i.StartDefaultTask) refers to main.o(.data) for .data + main.o(i.StartDefaultTask) refers to main.o(.constdata) for .constdata + main.o(i.StartDefaultTask) refers to main.o(i.CommunicationResponse) for CommunicationResponse + main.o(i.SystemClock_Config) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + main.o(i.SystemClock_Config) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ConfigSupply) for HAL_PWREx_ConfigSupply + main.o(i.SystemClock_Config) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_OscConfig) for HAL_RCC_OscConfig + main.o(i.SystemClock_Config) refers to main.o(i.Error_Handler) for Error_Handler + main.o(i.SystemClock_Config) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_ClockConfig) for HAL_RCC_ClockConfig + main.o(i.main) refers to stm32h7xx_hal.o(i.HAL_Init) for HAL_Init + main.o(i.main) refers to main.o(i.SystemClock_Config) for SystemClock_Config + main.o(i.main) refers to main.o(i.MX_GPIO_Init) for MX_GPIO_Init + main.o(i.main) refers to main.o(i.MX_BDMA_Init) for MX_BDMA_Init + main.o(i.main) refers to main.o(i.MX_DMA_Init) for MX_DMA_Init + main.o(i.main) refers to main.o(i.MX_ADC3_Init) for MX_ADC3_Init + main.o(i.main) refers to main.o(i.MX_USART1_UART_Init) for MX_USART1_UART_Init + main.o(i.main) refers to main.o(i.MX_TIM2_Init) for MX_TIM2_Init + main.o(i.main) refers to main.o(i.MX_TIM1_Init) for MX_TIM1_Init + main.o(i.main) refers to main.o(i.MX_TIM4_Init) for MX_TIM4_Init + main.o(i.main) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin + main.o(i.main) refers to cmsis_os2.o(i.osKernelInitialize) for osKernelInitialize + main.o(i.main) refers to cmsis_os2.o(i.osThreadNew) for osThreadNew + main.o(i.main) refers to cmsis_os2.o(i.osKernelStart) for osKernelStart + main.o(i.main) refers to main.o(.constdata) for .constdata + main.o(i.main) refers to main.o(i.StartDefaultTask) for StartDefaultTask + main.o(i.main) refers to main.o(.data) for .data + main.o(.constdata) refers to main.o(.conststring) for .conststring + usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_core.o(i.USBD_Init) for USBD_Init + usb_device.o(i.MX_USB_DEVICE_Init) refers to main.o(i.Error_Handler) for Error_Handler + usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_core.o(i.USBD_RegisterClass) for USBD_RegisterClass + usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_cdc.o(i.USBD_CDC_RegisterInterface) for USBD_CDC_RegisterInterface + usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_core.o(i.USBD_Start) for USBD_Start + usb_device.o(i.MX_USB_DEVICE_Init) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableUSBVoltageDetector) for HAL_PWREx_EnableUSBVoltageDetector + usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_desc.o(.data) for FS_Desc + usb_device.o(i.MX_USB_DEVICE_Init) refers to usb_device.o(.bss) for .bss + usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_cdc.o(.data) for USBD_CDC + usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_cdc_if.o(.data) for USBD_Interface_fops_FS + usbd_conf.o(i.HAL_PCD_ConnectCallback) refers to usbd_core.o(i.USBD_LL_DevConnected) for USBD_LL_DevConnected + usbd_conf.o(i.HAL_PCD_DataInStageCallback) refers to usbd_core.o(i.USBD_LL_DataInStage) for USBD_LL_DataInStage + usbd_conf.o(i.HAL_PCD_DataOutStageCallback) refers to usbd_core.o(i.USBD_LL_DataOutStage) for USBD_LL_DataOutStage + usbd_conf.o(i.HAL_PCD_DisconnectCallback) refers to usbd_core.o(i.USBD_LL_DevDisconnected) for USBD_LL_DevDisconnected + usbd_conf.o(i.HAL_PCD_ISOINIncompleteCallback) refers to usbd_core.o(i.USBD_LL_IsoINIncomplete) for USBD_LL_IsoINIncomplete + usbd_conf.o(i.HAL_PCD_ISOOUTIncompleteCallback) refers to usbd_core.o(i.USBD_LL_IsoOUTIncomplete) for USBD_LL_IsoOUTIncomplete + usbd_conf.o(i.HAL_PCD_MspDeInit) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_DeInit) for HAL_GPIO_DeInit + usbd_conf.o(i.HAL_PCD_MspDeInit) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_DisableIRQ) for HAL_NVIC_DisableIRQ + usbd_conf.o(i.HAL_PCD_MspInit) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + usbd_conf.o(i.HAL_PCD_MspInit) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) for HAL_RCCEx_PeriphCLKConfig + usbd_conf.o(i.HAL_PCD_MspInit) refers to main.o(i.Error_Handler) for Error_Handler + usbd_conf.o(i.HAL_PCD_MspInit) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableUSBVoltageDetector) for HAL_PWREx_EnableUSBVoltageDetector + usbd_conf.o(i.HAL_PCD_MspInit) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init + usbd_conf.o(i.HAL_PCD_MspInit) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority + usbd_conf.o(i.HAL_PCD_MspInit) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) for HAL_NVIC_EnableIRQ + usbd_conf.o(i.HAL_PCD_ResetCallback) refers to main.o(i.Error_Handler) for Error_Handler + usbd_conf.o(i.HAL_PCD_ResetCallback) refers to usbd_core.o(i.USBD_LL_SetSpeed) for USBD_LL_SetSpeed + usbd_conf.o(i.HAL_PCD_ResetCallback) refers to usbd_core.o(i.USBD_LL_Reset) for USBD_LL_Reset + usbd_conf.o(i.HAL_PCD_ResumeCallback) refers to usbd_core.o(i.USBD_LL_Resume) for USBD_LL_Resume + usbd_conf.o(i.HAL_PCD_SOFCallback) refers to usbd_core.o(i.USBD_LL_SOF) for USBD_LL_SOF + usbd_conf.o(i.HAL_PCD_SetupStageCallback) refers to usbd_core.o(i.USBD_LL_SetupStage) for USBD_LL_SetupStage + usbd_conf.o(i.HAL_PCD_SuspendCallback) refers to usbd_core.o(i.USBD_LL_Suspend) for USBD_LL_Suspend + usbd_conf.o(i.USBD_LL_ClearStallEP) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_ClrStall) for HAL_PCD_EP_ClrStall + usbd_conf.o(i.USBD_LL_ClearStallEP) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_LL_CloseEP) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Close) for HAL_PCD_EP_Close + usbd_conf.o(i.USBD_LL_CloseEP) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_LL_DeInit) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_DeInit) for HAL_PCD_DeInit + usbd_conf.o(i.USBD_LL_DeInit) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_LL_Delay) refers to stm32h7xx_hal.o(i.HAL_Delay) for HAL_Delay + usbd_conf.o(i.USBD_LL_FlushEP) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Flush) for HAL_PCD_EP_Flush + usbd_conf.o(i.USBD_LL_FlushEP) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_LL_GetRxDataSize) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_GetRxCount) for HAL_PCD_EP_GetRxCount + usbd_conf.o(i.USBD_LL_Init) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_Init) for HAL_PCD_Init + usbd_conf.o(i.USBD_LL_Init) refers to main.o(i.Error_Handler) for Error_Handler + usbd_conf.o(i.USBD_LL_Init) refers to stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_SetRxFiFo) for HAL_PCDEx_SetRxFiFo + usbd_conf.o(i.USBD_LL_Init) refers to stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_SetTxFiFo) for HAL_PCDEx_SetTxFiFo + usbd_conf.o(i.USBD_LL_Init) refers to usbd_conf.o(.bss) for .bss + usbd_conf.o(i.USBD_LL_OpenEP) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Open) for HAL_PCD_EP_Open + usbd_conf.o(i.USBD_LL_OpenEP) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_LL_PrepareReceive) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Receive) for HAL_PCD_EP_Receive + usbd_conf.o(i.USBD_LL_PrepareReceive) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_LL_SetUSBAddress) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_SetAddress) for HAL_PCD_SetAddress + usbd_conf.o(i.USBD_LL_SetUSBAddress) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_LL_StallEP) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_SetStall) for HAL_PCD_EP_SetStall + usbd_conf.o(i.USBD_LL_StallEP) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_LL_Start) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_Start) for HAL_PCD_Start + usbd_conf.o(i.USBD_LL_Start) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_LL_Stop) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_Stop) for HAL_PCD_Stop + usbd_conf.o(i.USBD_LL_Stop) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_LL_Transmit) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Transmit) for HAL_PCD_EP_Transmit + usbd_conf.o(i.USBD_LL_Transmit) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status + usbd_conf.o(i.USBD_static_malloc) refers to usbd_conf.o(.bss) for .bss + usbd_desc.o(i.Get_SerialNum) refers to usbd_desc.o(i.IntToUnicode) for IntToUnicode + usbd_desc.o(i.Get_SerialNum) refers to usbd_desc.o(.data) for .data + usbd_desc.o(i.USBD_FS_ConfigStrDescriptor) refers to usbd_ctlreq.o(i.USBD_GetString) for USBD_GetString + usbd_desc.o(i.USBD_FS_ConfigStrDescriptor) refers to usbd_desc.o(.bss) for .bss + usbd_desc.o(i.USBD_FS_DeviceDescriptor) refers to usbd_desc.o(.data) for .data + usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor) refers to usbd_ctlreq.o(i.USBD_GetString) for USBD_GetString + usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor) refers to usbd_desc.o(.bss) for .bss + usbd_desc.o(i.USBD_FS_LangIDStrDescriptor) refers to usbd_desc.o(.data) for .data + usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor) refers to usbd_ctlreq.o(i.USBD_GetString) for USBD_GetString + usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor) refers to usbd_desc.o(.bss) for .bss + usbd_desc.o(i.USBD_FS_ProductStrDescriptor) refers to usbd_ctlreq.o(i.USBD_GetString) for USBD_GetString + usbd_desc.o(i.USBD_FS_ProductStrDescriptor) refers to usbd_desc.o(.bss) for .bss + usbd_desc.o(i.USBD_FS_SerialStrDescriptor) refers to usbd_desc.o(i.Get_SerialNum) for Get_SerialNum + usbd_desc.o(i.USBD_FS_SerialStrDescriptor) refers to usbd_desc.o(.data) for .data + usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_DeviceDescriptor) for USBD_FS_DeviceDescriptor + usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_LangIDStrDescriptor) for USBD_FS_LangIDStrDescriptor + usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor) for USBD_FS_ManufacturerStrDescriptor + usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_ProductStrDescriptor) for USBD_FS_ProductStrDescriptor + usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_SerialStrDescriptor) for USBD_FS_SerialStrDescriptor + usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_ConfigStrDescriptor) for USBD_FS_ConfigStrDescriptor + usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor) for USBD_FS_InterfaceStrDescriptor + usbd_cdc_if.o(i.CDC_Init_FS) refers to usbd_cdc.o(i.USBD_CDC_SetTxBuffer) for USBD_CDC_SetTxBuffer + usbd_cdc_if.o(i.CDC_Init_FS) refers to usbd_cdc.o(i.USBD_CDC_SetRxBuffer) for USBD_CDC_SetRxBuffer + usbd_cdc_if.o(i.CDC_Init_FS) refers to usbd_cdc_if.o(.bss) for .bss + usbd_cdc_if.o(i.CDC_Init_FS) refers to usb_device.o(.bss) for hUsbDeviceFS + usbd_cdc_if.o(i.CDC_Receive_FS) refers to usbd_cdc.o(i.USBD_CDC_SetRxBuffer) for USBD_CDC_SetRxBuffer + usbd_cdc_if.o(i.CDC_Receive_FS) refers to usbd_cdc.o(i.USBD_CDC_ReceivePacket) for USBD_CDC_ReceivePacket + usbd_cdc_if.o(i.CDC_Receive_FS) refers to usb_device.o(.bss) for hUsbDeviceFS + usbd_cdc_if.o(i.CDC_Transmit_FS) refers to usbd_cdc.o(i.USBD_CDC_SetTxBuffer) for USBD_CDC_SetTxBuffer + usbd_cdc_if.o(i.CDC_Transmit_FS) refers to usbd_cdc.o(i.USBD_CDC_TransmitPacket) for USBD_CDC_TransmitPacket + usbd_cdc_if.o(i.CDC_Transmit_FS) refers to usb_device.o(.bss) for hUsbDeviceFS + usbd_cdc_if.o(.data) refers to usbd_cdc_if.o(i.CDC_Init_FS) for CDC_Init_FS + usbd_cdc_if.o(.data) refers to usbd_cdc_if.o(i.CDC_DeInit_FS) for CDC_DeInit_FS + usbd_cdc_if.o(.data) refers to usbd_cdc_if.o(i.CDC_Control_FS) for CDC_Control_FS + usbd_cdc_if.o(.data) refers to usbd_cdc_if.o(i.CDC_Receive_FS) for CDC_Receive_FS + usbd_cdc_if.o(.data) refers to usbd_cdc_if.o(i.CDC_TransmitCplt_FS) for CDC_TransmitCplt_FS + stm32h7xx_it.o(i.BDMA_Channel0_IRQHandler) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_IRQHandler) for HAL_DMA_IRQHandler + stm32h7xx_it.o(i.BDMA_Channel0_IRQHandler) refers to main.o(.bss) for hdma_adc3 + stm32h7xx_it.o(i.DMA1_Stream5_IRQHandler) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_IRQHandler) for HAL_DMA_IRQHandler + stm32h7xx_it.o(i.DMA1_Stream5_IRQHandler) refers to main.o(.bss) for hdma_usart1_rx + stm32h7xx_it.o(i.DMAMUX2_OVR_IRQHandler) refers to stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_MUX_IRQHandler) for HAL_DMAEx_MUX_IRQHandler + stm32h7xx_it.o(i.DMAMUX2_OVR_IRQHandler) refers to main.o(.bss) for hdma_adc3 + stm32h7xx_it.o(i.OTG_FS_IRQHandler) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) for HAL_PCD_IRQHandler + stm32h7xx_it.o(i.OTG_FS_IRQHandler) refers to usbd_conf.o(.bss) for hpcd_USB_OTG_FS + stm32h7xx_it.o(i.TIM7_IRQHandler) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) for HAL_TIM_IRQHandler + stm32h7xx_it.o(i.TIM7_IRQHandler) refers to stm32h7xx_hal_timebase_tim.o(.bss) for htim7 + stm32h7xx_it.o(i.USART1_IRQHandler) refers to stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) for HAL_UART_IRQHandler + stm32h7xx_it.o(i.USART1_IRQHandler) refers to stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_ReceiveToIdle_DMA) for HAL_UARTEx_ReceiveToIdle_DMA + stm32h7xx_it.o(i.USART1_IRQHandler) refers to main.o(.bss) for huart1 + stm32h7xx_hal_msp.o(i.HAL_ADC_MspDeInit) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_DeInit) for HAL_GPIO_DeInit + stm32h7xx_hal_msp.o(i.HAL_ADC_MspDeInit) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_DeInit) for HAL_DMA_DeInit + stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) for HAL_RCCEx_PeriphCLKConfig + stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) refers to main.o(i.Error_Handler) for Error_Handler + stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init + stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) refers to stm32h7xx_hal.o(i.HAL_SYSCFG_AnalogSwitchConfig) for HAL_SYSCFG_AnalogSwitchConfig + stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Init) for HAL_DMA_Init + stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) refers to stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_ConfigMuxSync) for HAL_DMAEx_ConfigMuxSync + stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) refers to main.o(.bss) for hdma_adc3 + stm32h7xx_hal_msp.o(i.HAL_MspInit) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority + stm32h7xx_hal_msp.o(i.HAL_TIM_MspPostInit) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + stm32h7xx_hal_msp.o(i.HAL_TIM_MspPostInit) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init + stm32h7xx_hal_msp.o(i.HAL_UART_MspDeInit) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_DeInit) for HAL_GPIO_DeInit + stm32h7xx_hal_msp.o(i.HAL_UART_MspDeInit) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_DeInit) for HAL_DMA_DeInit + stm32h7xx_hal_msp.o(i.HAL_UART_MspDeInit) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_DisableIRQ) for HAL_NVIC_DisableIRQ + stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) for HAL_RCCEx_PeriphCLKConfig + stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) refers to main.o(i.Error_Handler) for Error_Handler + stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init + stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Init) for HAL_DMA_Init + stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority + stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) for HAL_NVIC_EnableIRQ + stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) refers to main.o(.bss) for hdma_usart1_rx + stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority + stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) for HAL_NVIC_EnableIRQ + stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetClockConfig) for HAL_RCC_GetClockConfig + stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) for HAL_RCC_GetPCLK1Freq + stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Init) for HAL_TIM_Base_Init + stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Start_IT) for HAL_TIM_Base_Start_IT + stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) refers to stm32h7xx_hal.o(.data) for uwTickPrio + stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) refers to stm32h7xx_hal_timebase_tim.o(.bss) for .bss + stm32h7xx_hal_timebase_tim.o(i.HAL_ResumeTick) refers to stm32h7xx_hal_timebase_tim.o(.bss) for .bss + stm32h7xx_hal_timebase_tim.o(i.HAL_SuspendTick) refers to stm32h7xx_hal_timebase_tim.o(.bss) for .bss + system_stm32h7xx.o(i.SystemCoreClockUpdate) refers to system_stm32h7xx.o(.constdata) for .constdata + system_stm32h7xx.o(i.SystemCoreClockUpdate) refers to system_stm32h7xx.o(.data) for .data + stm32h7xx_hal_tim.o(i.HAL_TIM_Base_DeInit) refers to stm32h7xx_hal_msp.o(i.HAL_TIM_Base_MspDeInit) for HAL_TIM_Base_MspDeInit + stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Init) refers to stm32h7xx_hal_msp.o(i.HAL_TIM_Base_MspInit) for HAL_TIM_Base_MspInit + stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Init) refers to stm32h7xx_hal_tim.o(i.TIM_Base_SetConfig) for TIM_Base_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Start_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMAPeriodElapsedCplt) for TIM_DMAPeriodElapsedCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMAPeriodElapsedHalfCplt) for TIM_DMAPeriodElapsedHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMAError) for TIM_DMAError + stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Stop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) refers to stm32h7xx_hal_tim.o(i.TIM_ETR_SetConfig) for TIM_ETR_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) refers to stm32h7xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) for TIM_TI1_ConfigInputStage + stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) refers to stm32h7xx_hal_tim.o(i.TIM_ITRx_SetConfig) for TIM_ITRx_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) refers to stm32h7xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) for TIM_TI2_ConfigInputStage + stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigOCrefClear) refers to stm32h7xx_hal_tim.o(i.TIM_ETR_SetConfig) for TIM_ETR_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMAError) for TIM_DMAError + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMACaptureCplt) for TIM_DMACaptureCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMACaptureHalfCplt) for TIM_DMACaptureHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMAPeriodElapsedCplt) for TIM_DMAPeriodElapsedCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMAPeriodElapsedHalfCplt) for TIM_DMAPeriodElapsedHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) refers to stm32h7xx_hal_tim_ex.o(i.TIMEx_DMACommutationCplt) for TIMEx_DMACommutationCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) refers to stm32h7xx_hal_tim_ex.o(i.TIMEx_DMACommutationHalfCplt) for TIMEx_DMACommutationHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMATriggerCplt) for TIM_DMATriggerCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMATriggerHalfCplt) for TIM_DMATriggerHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMAError) for TIM_DMAError + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseCplt) for TIM_DMADelayPulseCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseHalfCplt) for TIM_DMADelayPulseHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMAPeriodElapsedCplt) for TIM_DMAPeriodElapsedCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMAPeriodElapsedHalfCplt) for TIM_DMAPeriodElapsedHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32h7xx_hal_tim_ex.o(i.TIMEx_DMACommutationCplt) for TIMEx_DMACommutationCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32h7xx_hal_tim_ex.o(i.TIMEx_DMACommutationHalfCplt) for TIMEx_DMACommutationHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMATriggerCplt) for TIM_DMATriggerCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32h7xx_hal_tim.o(i.TIM_DMATriggerHalfCplt) for TIM_DMATriggerHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_ReadStart) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart) for HAL_TIM_DMABurst_MultiReadStart + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_ReadStop) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_WriteStart) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart) for HAL_TIM_DMABurst_MultiWriteStart + stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_WriteStop) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_DeInit) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_MspDeInit) for HAL_TIM_Encoder_MspDeInit + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_MspInit) for HAL_TIM_Encoder_MspInit + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Init) refers to stm32h7xx_hal_tim.o(i.TIM_Base_SetConfig) for TIM_Base_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Start) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Start_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMACaptureCplt) for TIM_DMACaptureCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMACaptureHalfCplt) for TIM_DMACaptureHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMAError) for TIM_DMAError + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Start_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Stop) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Stop_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Stop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Stop_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_TI1_SetConfig) for TIM_TI1_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_TI2_SetConfig) for TIM_TI2_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_TI3_SetConfig) for TIM_TI3_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_TI4_SetConfig) for TIM_TI4_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_DeInit) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_IC_MspDeInit) for HAL_TIM_IC_MspDeInit + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_IC_MspInit) for HAL_TIM_IC_MspInit + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Init) refers to stm32h7xx_hal_tim.o(i.TIM_Base_SetConfig) for TIM_Base_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Start) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Start_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMACaptureCplt) for TIM_DMACaptureCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMACaptureHalfCplt) for TIM_DMACaptureHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMAError) for TIM_DMAError + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Start_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Stop) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Stop_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Stop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Stop_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback) for HAL_TIM_IC_CaptureCallback + stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_OC_DelayElapsedCallback) for HAL_TIM_OC_DelayElapsedCallback + stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback) for HAL_TIM_PWM_PulseFinishedCallback + stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) refers to main.o(i.HAL_TIM_PeriodElapsedCallback) for HAL_TIM_PeriodElapsedCallback + stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback) for HAL_TIMEx_BreakCallback + stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_Break2Callback) for HAL_TIMEx_Break2Callback + stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_TriggerCallback) for HAL_TIM_TriggerCallback + stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback) for HAL_TIMEx_CommutCallback + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC1_SetConfig) for TIM_OC1_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC2_SetConfig) for TIM_OC2_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC3_SetConfig) for TIM_OC3_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC4_SetConfig) for TIM_OC4_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC5_SetConfig) for TIM_OC5_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC6_SetConfig) for TIM_OC6_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_DeInit) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_OC_MspDeInit) for HAL_TIM_OC_MspDeInit + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_OC_MspInit) for HAL_TIM_OC_MspInit + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Init) refers to stm32h7xx_hal_tim.o(i.TIM_Base_SetConfig) for TIM_Base_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Start) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Start_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseCplt) for TIM_DMADelayPulseCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseHalfCplt) for TIM_DMADelayPulseHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMAError) for TIM_DMAError + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Start_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Stop) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Stop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Stop_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Stop_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC1_SetConfig) for TIM_OC1_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC2_SetConfig) for TIM_OC2_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_TI1_SetConfig) for TIM_TI1_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_TI2_SetConfig) for TIM_TI2_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_DeInit) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_MspDeInit) for HAL_TIM_OnePulse_MspDeInit + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_MspInit) for HAL_TIM_OnePulse_MspInit + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Init) refers to stm32h7xx_hal_tim.o(i.TIM_Base_SetConfig) for TIM_Base_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Start) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Start_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Stop) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Stop_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC1_SetConfig) for TIM_OC1_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC2_SetConfig) for TIM_OC2_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC3_SetConfig) for TIM_OC3_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC4_SetConfig) for TIM_OC4_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC5_SetConfig) for TIM_OC5_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) refers to stm32h7xx_hal_tim.o(i.TIM_OC6_SetConfig) for TIM_OC6_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_DeInit) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_MspDeInit) for HAL_TIM_PWM_MspDeInit + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Init) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_MspInit) for HAL_TIM_PWM_MspInit + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Init) refers to stm32h7xx_hal_tim.o(i.TIM_Base_SetConfig) for TIM_Base_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseCplt) for TIM_DMADelayPulseCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseHalfCplt) for TIM_DMADelayPulseHalfCplt + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMAError) for TIM_DMAError + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim.o(i.HAL_TIM_SlaveConfigSynchro) refers to stm32h7xx_hal_tim.o(i.TIM_SlaveTimer_SetConfig) for TIM_SlaveTimer_SetConfig + stm32h7xx_hal_tim.o(i.HAL_TIM_SlaveConfigSynchro_IT) refers to stm32h7xx_hal_tim.o(i.TIM_SlaveTimer_SetConfig) for TIM_SlaveTimer_SetConfig + stm32h7xx_hal_tim.o(i.TIM_DMACaptureCplt) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback) for HAL_TIM_IC_CaptureCallback + stm32h7xx_hal_tim.o(i.TIM_DMACaptureHalfCplt) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_IC_CaptureHalfCpltCallback) for HAL_TIM_IC_CaptureHalfCpltCallback + stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseCplt) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback) for HAL_TIM_PWM_PulseFinishedCallback + stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseHalfCplt) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) for HAL_TIM_PWM_PulseFinishedHalfCpltCallback + stm32h7xx_hal_tim.o(i.TIM_DMAError) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_ErrorCallback) for HAL_TIM_ErrorCallback + stm32h7xx_hal_tim.o(i.TIM_DMAPeriodElapsedCplt) refers to main.o(i.HAL_TIM_PeriodElapsedCallback) for HAL_TIM_PeriodElapsedCallback + stm32h7xx_hal_tim.o(i.TIM_DMAPeriodElapsedHalfCplt) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PeriodElapsedHalfCpltCallback) for HAL_TIM_PeriodElapsedHalfCpltCallback + stm32h7xx_hal_tim.o(i.TIM_DMATriggerCplt) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_TriggerCallback) for HAL_TIM_TriggerCallback + stm32h7xx_hal_tim.o(i.TIM_DMATriggerHalfCplt) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_TriggerHalfCpltCallback) for HAL_TIM_TriggerHalfCpltCallback + stm32h7xx_hal_tim.o(i.TIM_SlaveTimer_SetConfig) refers to stm32h7xx_hal_tim.o(i.TIM_ETR_SetConfig) for TIM_ETR_SetConfig + stm32h7xx_hal_tim.o(i.TIM_SlaveTimer_SetConfig) refers to stm32h7xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) for TIM_TI1_ConfigInputStage + stm32h7xx_hal_tim.o(i.TIM_SlaveTimer_SetConfig) refers to stm32h7xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) for TIM_TI2_ConfigInputStage + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigCommutEvent_DMA) refers to stm32h7xx_hal_tim_ex.o(i.TIMEx_DMACommutationCplt) for TIMEx_DMACommutationCplt + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigCommutEvent_DMA) refers to stm32h7xx_hal_tim_ex.o(i.TIMEx_DMACommutationHalfCplt) for TIMEx_DMACommutationHalfCplt + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigCommutEvent_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMAError) for TIM_DMAError + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_DeInit) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_MspDeInit) for HAL_TIMEx_HallSensor_MspDeInit + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Init) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_MspInit) for HAL_TIMEx_HallSensor_MspInit + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Init) refers to stm32h7xx_hal_tim.o(i.TIM_Base_SetConfig) for TIM_Base_SetConfig + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Init) refers to stm32h7xx_hal_tim.o(i.TIM_TI1_SetConfig) for TIM_TI1_SetConfig + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Init) refers to stm32h7xx_hal_tim.o(i.TIM_OC2_SetConfig) for TIM_OC2_SetConfig + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Start) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Start_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMACaptureCplt) for TIM_DMACaptureCplt + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMACaptureHalfCplt) for TIM_DMACaptureHalfCplt + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMAError) for TIM_DMAError + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Start_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Stop) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Stop_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Stop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Stop_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Start) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Start_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Start_DMA) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Start_DMA) refers to stm32h7xx_hal_tim_ex.o(i.TIM_DMADelayPulseNCplt) for TIM_DMADelayPulseNCplt + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseHalfCplt) for TIM_DMADelayPulseHalfCplt + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Start_DMA) refers to stm32h7xx_hal_tim_ex.o(i.TIM_DMAErrorCCxN) for TIM_DMAErrorCCxN + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Start_IT) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Stop) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Stop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Stop_DMA) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Stop_IT) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Start) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Start) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Start_IT) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Start_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Stop) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Stop) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Stop_IT) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Stop_IT) refers to stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) for TIM_CCxChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Start) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Start_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Start_DMA) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Start_DMA) refers to stm32h7xx_hal_tim_ex.o(i.TIM_DMADelayPulseNCplt) for TIM_DMADelayPulseNCplt + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Start_DMA) refers to stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseHalfCplt) for TIM_DMADelayPulseHalfCplt + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Start_DMA) refers to stm32h7xx_hal_tim_ex.o(i.TIM_DMAErrorCCxN) for TIM_DMAErrorCCxN + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Start_IT) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Stop) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Stop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Stop_DMA) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Stop_IT) refers to stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd + stm32h7xx_hal_tim_ex.o(i.TIMEx_DMACommutationCplt) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback) for HAL_TIMEx_CommutCallback + stm32h7xx_hal_tim_ex.o(i.TIMEx_DMACommutationHalfCplt) refers to stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_CommutHalfCpltCallback) for HAL_TIMEx_CommutHalfCpltCallback + stm32h7xx_hal_tim_ex.o(i.TIM_DMADelayPulseNCplt) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback) for HAL_TIM_PWM_PulseFinishedCallback + stm32h7xx_hal_tim_ex.o(i.TIM_DMAErrorCCxN) refers to stm32h7xx_hal_tim.o(i.HAL_TIM_ErrorCallback) for HAL_TIM_ErrorCallback + stm32h7xx_hal_pcd.o(i.HAL_PCD_ActivateRemoteWakeup) refers to stm32h7xx_ll_usb.o(i.USB_ActivateRemoteWakeup) for USB_ActivateRemoteWakeup + stm32h7xx_hal_pcd.o(i.HAL_PCD_DeActivateRemoteWakeup) refers to stm32h7xx_ll_usb.o(i.USB_DeActivateRemoteWakeup) for USB_DeActivateRemoteWakeup + stm32h7xx_hal_pcd.o(i.HAL_PCD_DeInit) refers to stm32h7xx_ll_usb.o(i.USB_StopDevice) for USB_StopDevice + stm32h7xx_hal_pcd.o(i.HAL_PCD_DeInit) refers to usbd_conf.o(i.HAL_PCD_MspDeInit) for HAL_PCD_MspDeInit + stm32h7xx_hal_pcd.o(i.HAL_PCD_DevConnect) refers to stm32h7xx_ll_usb.o(i.USB_DevConnect) for USB_DevConnect + stm32h7xx_hal_pcd.o(i.HAL_PCD_DevDisconnect) refers to stm32h7xx_ll_usb.o(i.USB_DevDisconnect) for USB_DevDisconnect + stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Abort) refers to stm32h7xx_ll_usb.o(i.USB_EPStopXfer) for USB_EPStopXfer + stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Close) refers to stm32h7xx_ll_usb.o(i.USB_DeactivateEndpoint) for USB_DeactivateEndpoint + stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_ClrStall) refers to stm32h7xx_ll_usb.o(i.USB_EPClearStall) for USB_EPClearStall + stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Flush) refers to stm32h7xx_ll_usb.o(i.USB_FlushTxFifo) for USB_FlushTxFifo + stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Flush) refers to stm32h7xx_ll_usb.o(i.USB_FlushRxFifo) for USB_FlushRxFifo + stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Open) refers to stm32h7xx_ll_usb.o(i.USB_ActivateEndpoint) for USB_ActivateEndpoint + stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Receive) refers to stm32h7xx_ll_usb.o(i.USB_EPStartXfer) for USB_EPStartXfer + stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_SetStall) refers to stm32h7xx_ll_usb.o(i.USB_EPSetStall) for USB_EPSetStall + stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_SetStall) refers to stm32h7xx_ll_usb.o(i.USB_EP0_OutStart) for USB_EP0_OutStart + stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Transmit) refers to stm32h7xx_ll_usb.o(i.USB_EPStartXfer) for USB_EPStartXfer + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_GetMode) for USB_GetMode + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_ReadInterrupts) for USB_ReadInterrupts + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_ReadPacket) for USB_ReadPacket + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_ReadDevAllOutEpInterrupt) for USB_ReadDevAllOutEpInterrupt + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_ReadDevOutEPInterrupt) for USB_ReadDevOutEPInterrupt + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_hal_pcd.o(i.PCD_EP_OutXfrComplete_int) for PCD_EP_OutXfrComplete_int + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_hal_pcd.o(i.PCD_EP_OutSetupPacket_int) for PCD_EP_OutSetupPacket_int + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_ISOOUTIncompleteCallback) for HAL_PCD_ISOOUTIncompleteCallback + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_ReadDevAllInEpInterrupt) for USB_ReadDevAllInEpInterrupt + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_ReadDevInEPInterrupt) for USB_ReadDevInEPInterrupt + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_EP0_OutStart) for USB_EP0_OutStart + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_DataInStageCallback) for HAL_PCD_DataInStageCallback + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_FlushTxFifo) for USB_FlushTxFifo + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_ISOINIncompleteCallback) for HAL_PCD_ISOINIncompleteCallback + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_hal_pcd.o(i.PCD_WriteEmptyTxFifo) for PCD_WriteEmptyTxFifo + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_ResumeCallback) for HAL_PCD_ResumeCallback + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_SuspendCallback) for HAL_PCD_SuspendCallback + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_LPM_Callback) for HAL_PCDEx_LPM_Callback + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_ActivateSetup) for USB_ActivateSetup + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_GetDevSpeed) for USB_GetDevSpeed + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) for HAL_RCC_GetHCLKFreq + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_ll_usb.o(i.USB_SetTurnaroundTime) for USB_SetTurnaroundTime + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_ResetCallback) for HAL_PCD_ResetCallback + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_SOFCallback) for HAL_PCD_SOFCallback + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Abort) for HAL_PCD_EP_Abort + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_ConnectCallback) for HAL_PCD_ConnectCallback + stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_DisconnectCallback) for HAL_PCD_DisconnectCallback + stm32h7xx_hal_pcd.o(i.HAL_PCD_Init) refers to usbd_conf.o(i.HAL_PCD_MspInit) for HAL_PCD_MspInit + stm32h7xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32h7xx_ll_usb.o(i.USB_DisableGlobalInt) for USB_DisableGlobalInt + stm32h7xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32h7xx_ll_usb.o(i.USB_CoreInit) for USB_CoreInit + stm32h7xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32h7xx_ll_usb.o(i.USB_SetCurrentMode) for USB_SetCurrentMode + stm32h7xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32h7xx_ll_usb.o(i.USB_DevInit) for USB_DevInit + stm32h7xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_ActivateLPM) for HAL_PCDEx_ActivateLPM + stm32h7xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32h7xx_ll_usb.o(i.USB_DevDisconnect) for USB_DevDisconnect + stm32h7xx_hal_pcd.o(i.HAL_PCD_SetAddress) refers to stm32h7xx_ll_usb.o(i.USB_SetDevAddress) for USB_SetDevAddress + stm32h7xx_hal_pcd.o(i.HAL_PCD_Start) refers to stm32h7xx_ll_usb.o(i.USB_EnableGlobalInt) for USB_EnableGlobalInt + stm32h7xx_hal_pcd.o(i.HAL_PCD_Start) refers to stm32h7xx_ll_usb.o(i.USB_DevConnect) for USB_DevConnect + stm32h7xx_hal_pcd.o(i.HAL_PCD_Stop) refers to stm32h7xx_ll_usb.o(i.USB_DisableGlobalInt) for USB_DisableGlobalInt + stm32h7xx_hal_pcd.o(i.HAL_PCD_Stop) refers to stm32h7xx_ll_usb.o(i.USB_DevDisconnect) for USB_DevDisconnect + stm32h7xx_hal_pcd.o(i.HAL_PCD_Stop) refers to stm32h7xx_ll_usb.o(i.USB_FlushTxFifo) for USB_FlushTxFifo + stm32h7xx_hal_pcd.o(i.PCD_EP_OutSetupPacket_int) refers to usbd_conf.o(i.HAL_PCD_SetupStageCallback) for HAL_PCD_SetupStageCallback + stm32h7xx_hal_pcd.o(i.PCD_EP_OutSetupPacket_int) refers to stm32h7xx_ll_usb.o(i.USB_EP0_OutStart) for USB_EP0_OutStart + stm32h7xx_hal_pcd.o(i.PCD_EP_OutXfrComplete_int) refers to usbd_conf.o(i.HAL_PCD_DataOutStageCallback) for HAL_PCD_DataOutStageCallback + stm32h7xx_hal_pcd.o(i.PCD_EP_OutXfrComplete_int) refers to stm32h7xx_ll_usb.o(i.USB_EP0_OutStart) for USB_EP0_OutStart + stm32h7xx_hal_pcd.o(i.PCD_WriteEmptyTxFifo) refers to stm32h7xx_ll_usb.o(i.USB_WritePacket) for USB_WritePacket + stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_BCD_VBUSDetect) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_BCD_VBUSDetect) refers to stm32h7xx_hal.o(i.HAL_Delay) for HAL_Delay + stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_BCD_VBUSDetect) refers to stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_BCD_Callback) for HAL_PCDEx_BCD_Callback + stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_BCD_VBUSDetect) refers to stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_DeActivateBCD) for HAL_PCDEx_DeActivateBCD + stm32h7xx_ll_usb.o(i.USB_CoreInit) refers to stm32h7xx_ll_usb.o(i.USB_CoreReset) for USB_CoreReset + stm32h7xx_ll_usb.o(i.USB_DevInit) refers to stm32h7xx_ll_usb.o(i.USB_SetDevSpeed) for USB_SetDevSpeed + stm32h7xx_ll_usb.o(i.USB_DevInit) refers to stm32h7xx_ll_usb.o(i.USB_FlushTxFifo) for USB_FlushTxFifo + stm32h7xx_ll_usb.o(i.USB_DevInit) refers to stm32h7xx_ll_usb.o(i.USB_FlushRxFifo) for USB_FlushRxFifo + stm32h7xx_ll_usb.o(i.USB_EPStartXfer) refers to stm32h7xx_ll_usb.o(i.USB_WritePacket) for USB_WritePacket + stm32h7xx_ll_usb.o(i.USB_HC_Init) refers to stm32h7xx_ll_usb.o(i.USB_GetHostSpeed) for USB_GetHostSpeed + stm32h7xx_ll_usb.o(i.USB_HC_StartXfer) refers to stm32h7xx_ll_usb.o(i.USB_DoPing) for USB_DoPing + stm32h7xx_ll_usb.o(i.USB_HC_StartXfer) refers to stm32h7xx_ll_usb.o(i.USB_WritePacket) for USB_WritePacket + stm32h7xx_ll_usb.o(i.USB_HostInit) refers to stm32h7xx_ll_usb.o(i.USB_FlushTxFifo) for USB_FlushTxFifo + stm32h7xx_ll_usb.o(i.USB_HostInit) refers to stm32h7xx_ll_usb.o(i.USB_FlushRxFifo) for USB_FlushRxFifo + stm32h7xx_ll_usb.o(i.USB_ResetPort) refers to stm32h7xx_hal.o(i.HAL_Delay) for HAL_Delay + stm32h7xx_ll_usb.o(i.USB_SetCurrentMode) refers to stm32h7xx_hal.o(i.HAL_Delay) for HAL_Delay + stm32h7xx_ll_usb.o(i.USB_SetCurrentMode) refers to stm32h7xx_ll_usb.o(i.USB_GetMode) for USB_GetMode + stm32h7xx_ll_usb.o(i.USB_StopDevice) refers to stm32h7xx_ll_usb.o(i.USB_FlushRxFifo) for USB_FlushRxFifo + stm32h7xx_ll_usb.o(i.USB_StopDevice) refers to stm32h7xx_ll_usb.o(i.USB_FlushTxFifo) for USB_FlushTxFifo + stm32h7xx_ll_usb.o(i.USB_StopHost) refers to stm32h7xx_ll_usb.o(i.USB_DisableGlobalInt) for USB_DisableGlobalInt + stm32h7xx_ll_usb.o(i.USB_StopHost) refers to stm32h7xx_ll_usb.o(i.USB_FlushTxFifo) for USB_FlushTxFifo + stm32h7xx_ll_usb.o(i.USB_StopHost) refers to stm32h7xx_ll_usb.o(i.USB_FlushRxFifo) for USB_FlushRxFifo + stm32h7xx_ll_usb.o(i.USB_StopHost) refers to stm32h7xx_ll_usb.o(i.USB_EnableGlobalInt) for USB_EnableGlobalInt + stm32h7xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) for HAL_RCC_GetSysClockFreq + stm32h7xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) for HAL_InitTick + stm32h7xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to system_stm32h7xx.o(.constdata) for D1CorePrescTable + stm32h7xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to system_stm32h7xx.o(.data) for SystemD2Clock + stm32h7xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32h7xx_hal.o(.data) for uwTickPrio + stm32h7xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) for HAL_InitTick + stm32h7xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to system_stm32h7xx.o(.data) for SystemCoreClock + stm32h7xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to stm32h7xx_hal.o(.data) for uwTickPrio + stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) for HAL_RCC_GetSysClockFreq + stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) refers to system_stm32h7xx.o(.constdata) for D1CorePrescTable + stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) refers to system_stm32h7xx.o(.data) for SystemD2Clock + stm32h7xx_hal_rcc.o(i.HAL_RCC_GetOscConfig) refers to stm32h7xx_hal.o(i.HAL_GetREVID) for HAL_GetREVID + stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) for HAL_RCC_GetHCLKFreq + stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) refers to system_stm32h7xx.o(.constdata) for D1CorePrescTable + stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) for HAL_RCC_GetHCLKFreq + stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) refers to system_stm32h7xx.o(.constdata) for D1CorePrescTable + stm32h7xx_hal_rcc.o(i.HAL_RCC_MCOConfig) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init + stm32h7xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_CSSCallback) for HAL_RCC_CSSCallback + stm32h7xx_hal_rcc.o(i.HAL_RCC_OscConfig) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_rcc.o(i.HAL_RCC_OscConfig) refers to stm32h7xx_hal.o(i.HAL_GetREVID) for HAL_GetREVID + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRSConfig) refers to stm32h7xx_hal.o(i.HAL_GetREVID) for HAL_GetREVID + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRSWaitSynchronization) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_IRQHandler) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_SyncOkCallback) for HAL_RCCEx_CRS_SyncOkCallback + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_IRQHandler) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_SyncWarnCallback) for HAL_RCCEx_CRS_SyncWarnCallback + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_IRQHandler) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_ExpectedSyncCallback) for HAL_RCCEx_CRS_ExpectedSyncCallback + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_IRQHandler) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_ErrorCallback) for HAL_RCCEx_CRS_ErrorCallback + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD1PCLK1Freq) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) for HAL_RCC_GetHCLKFreq + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD1PCLK1Freq) refers to system_stm32h7xx.o(.constdata) for D1CorePrescTable + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD1SysClockFreq) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) for HAL_RCC_GetSysClockFreq + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD1SysClockFreq) refers to system_stm32h7xx.o(.constdata) for D1CorePrescTable + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD1SysClockFreq) refers to system_stm32h7xx.o(.data) for SystemD2Clock + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD3PCLK1Freq) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) for HAL_RCC_GetHCLKFreq + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD3PCLK1Freq) refers to system_stm32h7xx.o(.constdata) for D1CorePrescTable + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL1ClockFreq) for HAL_RCCEx_GetPLL1ClockFreq + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL2ClockFreq) for HAL_RCCEx_GetPLL2ClockFreq + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL3ClockFreq) for HAL_RCCEx_GetPLL3ClockFreq + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) for HAL_RCC_GetPCLK1Freq + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD3PCLK1Freq) for HAL_RCCEx_GetD3PCLK1Freq + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_LSECSS_IRQHandler) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_LSECSS_Callback) for HAL_RCCEx_LSECSS_Callback + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) refers to stm32h7xx_hal_rcc_ex.o(i.RCCEx_PLL2_Config) for RCCEx_PLL2_Config + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) refers to stm32h7xx_hal_rcc_ex.o(i.RCCEx_PLL3_Config) for RCCEx_PLL3_Config + stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_rcc_ex.o(i.RCCEx_PLL2_Config) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_rcc_ex.o(i.RCCEx_PLL3_Config) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_flash.o(i.FLASH_CRC_WaitForLastOperation) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_flash.o(i.FLASH_CRC_WaitForLastOperation) refers to stm32h7xx_hal_flash.o(.bss) for .bss + stm32h7xx_hal_flash.o(i.FLASH_OB_WaitForLastOperation) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_flash.o(i.FLASH_OB_WaitForLastOperation) refers to stm32h7xx_hal_flash.o(.bss) for .bss + stm32h7xx_hal_flash.o(i.FLASH_WaitForLastOperation) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_flash.o(i.FLASH_WaitForLastOperation) refers to stm32h7xx_hal_flash.o(.bss) for .bss + stm32h7xx_hal_flash.o(i.HAL_FLASH_GetError) refers to stm32h7xx_hal_flash.o(.bss) for .bss + stm32h7xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32h7xx_hal_flash.o(i.HAL_FLASH_EndOfOperationCallback) for HAL_FLASH_EndOfOperationCallback + stm32h7xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_Erase_Sector) for FLASH_Erase_Sector + stm32h7xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32h7xx_hal_flash.o(i.HAL_FLASH_OperationErrorCallback) for HAL_FLASH_OperationErrorCallback + stm32h7xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32h7xx_hal_flash.o(.bss) for .bss + stm32h7xx_hal_flash.o(i.HAL_FLASH_OB_Launch) refers to stm32h7xx_hal_flash.o(i.FLASH_CRC_WaitForLastOperation) for FLASH_CRC_WaitForLastOperation + stm32h7xx_hal_flash.o(i.HAL_FLASH_OB_Launch) refers to stm32h7xx_hal_flash.o(i.FLASH_OB_WaitForLastOperation) for FLASH_OB_WaitForLastOperation + stm32h7xx_hal_flash.o(i.HAL_FLASH_Program) refers to stm32h7xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation + stm32h7xx_hal_flash.o(i.HAL_FLASH_Program) refers to stm32h7xx_hal_flash.o(.bss) for .bss + stm32h7xx_hal_flash.o(i.HAL_FLASH_Program_IT) refers to stm32h7xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation + stm32h7xx_hal_flash.o(i.HAL_FLASH_Program_IT) refers to stm32h7xx_hal_flash.o(.bss) for .bss + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_ComputeCRC) refers to stm32h7xx_hal_flash.o(i.FLASH_OB_WaitForLastOperation) for FLASH_OB_WaitForLastOperation + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_ComputeCRC) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_CRC_AddSector) for FLASH_CRC_AddSector + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_ComputeCRC) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_CRC_SelectAddress) for FLASH_CRC_SelectAddress + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_ComputeCRC) refers to stm32h7xx_hal_flash.o(i.FLASH_CRC_WaitForLastOperation) for FLASH_CRC_WaitForLastOperation + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32h7xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_MassErase) for FLASH_MassErase + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_Erase_Sector) for FLASH_Erase_Sector + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32h7xx_hal_flash.o(.bss) for pFlash + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT) refers to stm32h7xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_Erase_Sector) for FLASH_Erase_Sector + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_MassErase) for FLASH_MassErase + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT) refers to stm32h7xx_hal_flash.o(.bss) for pFlash + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetRDP) for FLASH_OB_GetRDP + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetUser) for FLASH_OB_GetUser + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetBOR) for FLASH_OB_GetBOR + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetWRP) for FLASH_OB_GetWRP + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetPCROP) for FLASH_OB_GetPCROP + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetSecureArea) for FLASH_OB_GetSecureArea + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetBootAdd) for FLASH_OB_GetBootAdd + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32h7xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP) for FLASH_OB_DisableWRP + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_RDPConfig) for FLASH_OB_RDPConfig + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_UserConfig) for FLASH_OB_UserConfig + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_PCROPConfig) for FLASH_OB_PCROPConfig + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_BOR_LevelConfig) for FLASH_OB_BOR_LevelConfig + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_BootAddConfig) for FLASH_OB_BootAddConfig + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_SecureAreaConfig) for FLASH_OB_SecureAreaConfig + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32h7xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP) for FLASH_OB_EnableWRP + stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32h7xx_hal_flash.o(.bss) for pFlash + stm32h7xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler) refers to stm32h7xx_hal_gpio.o(i.HAL_GPIO_EXTI_Callback) for HAL_GPIO_EXTI_Callback + stm32h7xx_hal_hsem.o(i.HAL_HSEM_IRQHandler) refers to stm32h7xx_hal_hsem.o(i.HAL_HSEM_FreeCallback) for HAL_HSEM_FreeCallback + stm32h7xx_hal_dma.o(i.DMA_CalcBaseAndBitshift) refers to stm32h7xx_hal_dma.o(.constdata) for .constdata + stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_dma.o(i.HAL_DMA_DeInit) refers to stm32h7xx_hal_dma.o(i.DMA_CalcBaseAndBitshift) for DMA_CalcBaseAndBitshift + stm32h7xx_hal_dma.o(i.HAL_DMA_DeInit) refers to stm32h7xx_hal_dma.o(i.DMA_CalcDMAMUXChannelBaseAndMask) for DMA_CalcDMAMUXChannelBaseAndMask + stm32h7xx_hal_dma.o(i.HAL_DMA_DeInit) refers to stm32h7xx_hal_dma.o(i.DMA_CalcDMAMUXRequestGenBaseAndMask) for DMA_CalcDMAMUXRequestGenBaseAndMask + stm32h7xx_hal_dma.o(i.HAL_DMA_IRQHandler) refers to system_stm32h7xx.o(.data) for SystemCoreClock + stm32h7xx_hal_dma.o(i.HAL_DMA_Init) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_dma.o(i.HAL_DMA_Init) refers to stm32h7xx_hal_dma.o(i.DMA_CheckFifoParam) for DMA_CheckFifoParam + stm32h7xx_hal_dma.o(i.HAL_DMA_Init) refers to stm32h7xx_hal_dma.o(i.DMA_CalcBaseAndBitshift) for DMA_CalcBaseAndBitshift + stm32h7xx_hal_dma.o(i.HAL_DMA_Init) refers to stm32h7xx_hal_dma.o(i.DMA_CalcDMAMUXChannelBaseAndMask) for DMA_CalcDMAMUXChannelBaseAndMask + stm32h7xx_hal_dma.o(i.HAL_DMA_Init) refers to stm32h7xx_hal_dma.o(i.DMA_CalcDMAMUXRequestGenBaseAndMask) for DMA_CalcDMAMUXRequestGenBaseAndMask + stm32h7xx_hal_dma.o(i.HAL_DMA_PollForTransfer) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_dma.o(i.HAL_DMA_PollForTransfer) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort + stm32h7xx_hal_dma.o(i.HAL_DMA_Start) refers to stm32h7xx_hal_dma.o(i.DMA_SetConfig) for DMA_SetConfig + stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) refers to stm32h7xx_hal_dma.o(i.DMA_SetConfig) for DMA_SetConfig + stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_MultiBufferStart) refers to stm32h7xx_hal_dma_ex.o(i.DMA_MultiBufferSetConfig) for DMA_MultiBufferSetConfig + stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_MultiBufferStart_IT) refers to stm32h7xx_hal_dma_ex.o(i.DMA_MultiBufferSetConfig) for DMA_MultiBufferSetConfig + stm32h7xx_hal_mdma.o(i.HAL_MDMA_Abort) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_mdma.o(i.HAL_MDMA_IRQHandler) refers to system_stm32h7xx.o(.data) for SystemCoreClock + stm32h7xx_hal_mdma.o(i.HAL_MDMA_Init) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_mdma.o(i.HAL_MDMA_Init) refers to stm32h7xx_hal_mdma.o(i.MDMA_Init) for MDMA_Init + stm32h7xx_hal_mdma.o(i.HAL_MDMA_PollForTransfer) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_mdma.o(i.HAL_MDMA_PollForTransfer) refers to stm32h7xx_hal_mdma.o(i.HAL_MDMA_Abort) for HAL_MDMA_Abort + stm32h7xx_hal_mdma.o(i.HAL_MDMA_Start) refers to stm32h7xx_hal_mdma.o(i.MDMA_SetConfig) for MDMA_SetConfig + stm32h7xx_hal_mdma.o(i.HAL_MDMA_Start_IT) refers to stm32h7xx_hal_mdma.o(i.MDMA_SetConfig) for MDMA_SetConfig + stm32h7xx_hal_pwr.o(i.HAL_PWR_PVD_IRQHandler) refers to stm32h7xx_hal_pwr.o(i.HAL_PWR_PVDCallback) for HAL_PWR_PVDCallback + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ConfigSupply) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ControlVoltageScaling) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_DisableBkUpReg) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_DisableUSBReg) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableBkUpReg) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableUSBReg) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_PVD_AVD_IRQHandler) refers to stm32h7xx_hal_pwr.o(i.HAL_PWR_PVDCallback) for HAL_PWR_PVDCallback + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_PVD_AVD_IRQHandler) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_AVDCallback) for HAL_PWREx_AVDCallback + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WAKEUP_PIN_IRQHandler) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP1_Callback) for HAL_PWREx_WKUP1_Callback + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WAKEUP_PIN_IRQHandler) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP2_Callback) for HAL_PWREx_WKUP2_Callback + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WAKEUP_PIN_IRQHandler) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP3_Callback) for HAL_PWREx_WKUP3_Callback + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WAKEUP_PIN_IRQHandler) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP4_Callback) for HAL_PWREx_WKUP4_Callback + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WAKEUP_PIN_IRQHandler) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP5_Callback) for HAL_PWREx_WKUP5_Callback + stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WAKEUP_PIN_IRQHandler) refers to stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP6_Callback) for HAL_PWREx_WKUP6_Callback + stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriority) refers to stm32h7xx_hal_cortex.o(i.__NVIC_SetPriority) for __NVIC_SetPriority + stm32h7xx_hal_cortex.o(i.HAL_SYSTICK_Config) refers to stm32h7xx_hal_cortex.o(i.__NVIC_SetPriority) for __NVIC_SetPriority + stm32h7xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler) refers to stm32h7xx_hal_cortex.o(i.HAL_SYSTICK_Callback) for HAL_SYSTICK_Callback + stm32h7xx_hal.o(i.HAL_DeInit) refers to stm32h7xx_hal.o(i.HAL_MspDeInit) for HAL_MspDeInit + stm32h7xx_hal.o(i.HAL_Delay) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal.o(i.HAL_Delay) refers to stm32h7xx_hal.o(.data) for .data + stm32h7xx_hal.o(i.HAL_GetTick) refers to stm32h7xx_hal.o(.data) for .data + stm32h7xx_hal.o(i.HAL_GetTickFreq) refers to stm32h7xx_hal.o(.data) for .data + stm32h7xx_hal.o(i.HAL_GetTickPrio) refers to stm32h7xx_hal.o(.data) for .data + stm32h7xx_hal.o(i.HAL_IncTick) refers to stm32h7xx_hal.o(.data) for .data + stm32h7xx_hal.o(i.HAL_Init) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) for HAL_NVIC_SetPriorityGrouping + stm32h7xx_hal.o(i.HAL_Init) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) for HAL_RCC_GetSysClockFreq + stm32h7xx_hal.o(i.HAL_Init) refers to stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) for HAL_InitTick + stm32h7xx_hal.o(i.HAL_Init) refers to stm32h7xx_hal_msp.o(i.HAL_MspInit) for HAL_MspInit + stm32h7xx_hal.o(i.HAL_Init) refers to system_stm32h7xx.o(.constdata) for D1CorePrescTable + stm32h7xx_hal.o(i.HAL_Init) refers to system_stm32h7xx.o(.data) for SystemD2Clock + stm32h7xx_hal.o(i.HAL_InitTick) refers to stm32h7xx_hal_cortex.o(i.HAL_SYSTICK_Config) for HAL_SYSTICK_Config + stm32h7xx_hal.o(i.HAL_InitTick) refers to stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority + stm32h7xx_hal.o(i.HAL_InitTick) refers to stm32h7xx_hal.o(.data) for .data + stm32h7xx_hal.o(i.HAL_InitTick) refers to system_stm32h7xx.o(.data) for SystemCoreClock + stm32h7xx_hal.o(i.HAL_SYSCFG_EnableVREFBUF) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal.o(i.HAL_SetTickFreq) refers to stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) for HAL_InitTick + stm32h7xx_hal.o(i.HAL_SetTickFreq) refers to stm32h7xx_hal.o(.data) for .data + stm32h7xx_hal_i2c.o(i.HAL_I2C_DeInit) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_MspDeInit) for HAL_I2C_MspDeInit + stm32h7xx_hal_i2c.o(i.HAL_I2C_DisableListen_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_ER_IRQHandler) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.HAL_I2C_EnableListen_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_EnableListen_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) for I2C_Slave_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Init) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_MspInit) for HAL_I2C_MspInit + stm32h7xx_hal_i2c.o(i.HAL_I2C_IsDeviceReady) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.HAL_I2C_IsDeviceReady) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) for I2C_WaitOnFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Abort_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Abort_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Abort_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) for I2C_WaitOnFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnRXNEFlagUntilTimeout) for I2C_WaitOnRXNEFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnSTOPFlagUntilTimeout) for I2C_WaitOnSTOPFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) for I2C_Master_ISR_DMA + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAMasterReceiveCplt) for I2C_DMAMasterReceiveCplt + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAError) for I2C_DMAError + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) for I2C_Master_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) for I2C_Master_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ConvertOtherXferOptions) for I2C_ConvertOtherXferOptions + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) for I2C_Master_ISR_DMA + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAMasterReceiveCplt) for I2C_DMAMasterReceiveCplt + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAError) for I2C_DMAError + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) for I2C_Master_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ConvertOtherXferOptions) for I2C_ConvertOtherXferOptions + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) for I2C_Master_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ConvertOtherXferOptions) for I2C_ConvertOtherXferOptions + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) for I2C_Master_ISR_DMA + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAMasterTransmitCplt) for I2C_DMAMasterTransmitCplt + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAError) for I2C_DMAError + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) for I2C_Master_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ConvertOtherXferOptions) for I2C_ConvertOtherXferOptions + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) for I2C_Master_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) for I2C_WaitOnFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnTXISFlagUntilTimeout) for I2C_WaitOnTXISFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnSTOPFlagUntilTimeout) for I2C_WaitOnSTOPFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) for I2C_Master_ISR_DMA + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAMasterTransmitCplt) for I2C_DMAMasterTransmitCplt + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAError) for I2C_DMAError + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) for I2C_Master_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) for I2C_Master_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) for I2C_WaitOnFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read) refers to stm32h7xx_hal_i2c.o(i.I2C_RequestMemoryRead) for I2C_RequestMemoryRead + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnSTOPFlagUntilTimeout) for I2C_WaitOnSTOPFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_DMA) for I2C_Mem_ISR_DMA + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAMasterReceiveCplt) for I2C_DMAMasterReceiveCplt + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAError) for I2C_DMAError + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_IT) for I2C_Mem_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) for I2C_WaitOnFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write) refers to stm32h7xx_hal_i2c.o(i.I2C_RequestMemoryWrite) for I2C_RequestMemoryWrite + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnTXISFlagUntilTimeout) for I2C_WaitOnTXISFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnSTOPFlagUntilTimeout) for I2C_WaitOnSTOPFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_DMA) for I2C_Mem_ISR_DMA + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAMasterTransmitCplt) for I2C_DMAMasterTransmitCplt + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAError) for I2C_DMAError + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_IT) for I2C_Mem_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) for I2C_WaitOnFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnRXNEFlagUntilTimeout) for I2C_WaitOnRXNEFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnSTOPFlagUntilTimeout) for I2C_WaitOnSTOPFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) for I2C_Slave_ISR_DMA + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMASlaveReceiveCplt) for I2C_DMASlaveReceiveCplt + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAError) for I2C_DMAError + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) for I2C_Slave_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAAbort) for I2C_DMAAbort + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) for I2C_Slave_ISR_DMA + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMASlaveReceiveCplt) for I2C_DMASlaveReceiveCplt + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAError) for I2C_DMAError + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_IT) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAAbort) for I2C_DMAAbort + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) for I2C_Slave_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAAbort) for I2C_DMAAbort + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) for I2C_Slave_ISR_DMA + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMASlaveTransmitCplt) for I2C_DMASlaveTransmitCplt + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAError) for I2C_DMAError + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_IT) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAAbort) for I2C_DMAAbort + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) for I2C_Slave_ISR_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) for I2C_WaitOnFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnTXISFlagUntilTimeout) for I2C_WaitOnTXISFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnSTOPFlagUntilTimeout) for I2C_WaitOnSTOPFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) for I2C_Slave_ISR_DMA + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMASlaveTransmitCplt) for I2C_DMASlaveTransmitCplt + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAError) for I2C_DMAError + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) for I2C_Slave_ISR_IT + stm32h7xx_hal_i2c.o(i.I2C_DMAAbort) refers to stm32h7xx_hal_i2c.o(i.I2C_TreatErrorCallback) for I2C_TreatErrorCallback + stm32h7xx_hal_i2c.o(i.I2C_DMAError) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError + stm32h7xx_hal_i2c.o(i.I2C_DMAError) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_DMAMasterReceiveCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_DMAMasterReceiveCplt) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.I2C_DMAMasterReceiveCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_DMAMasterTransmitCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_DMAMasterTransmitCplt) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_i2c.o(i.I2C_DMAMasterTransmitCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_DMASlaveReceiveCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_ITSlaveSeqCplt) for I2C_ITSlaveSeqCplt + stm32h7xx_hal_i2c.o(i.I2C_DMASlaveTransmitCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_ITSlaveSeqCplt) for I2C_ITSlaveSeqCplt + stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) refers to stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) for I2C_Master_ISR_DMA + stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) for I2C_Slave_ISR_DMA + stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) refers to stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_DMA) for I2C_Mem_ISR_DMA + stm32h7xx_hal_i2c.o(i.I2C_ITAddrCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_ITAddrCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_AddrCallback) for HAL_I2C_AddrCallback + stm32h7xx_hal_i2c.o(i.I2C_ITError) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_ITError) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.I2C_ITError) refers to stm32h7xx_hal_i2c.o(i.I2C_TreatErrorCallback) for I2C_TreatErrorCallback + stm32h7xx_hal_i2c.o(i.I2C_ITError) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_GetState) for HAL_DMA_GetState + stm32h7xx_hal_i2c.o(i.I2C_ITError) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_i2c.o(i.I2C_ITError) refers to stm32h7xx_hal_i2c.o(i.I2C_DMAAbort) for I2C_DMAAbort + stm32h7xx_hal_i2c.o(i.I2C_ITError) refers to stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) for I2C_Slave_ISR_IT + stm32h7xx_hal_i2c.o(i.I2C_ITListenCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_ITListenCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_ListenCpltCallback) for HAL_I2C_ListenCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_MasterRxCpltCallback) for HAL_I2C_MasterRxCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_MasterTxCpltCallback) for HAL_I2C_MasterTxCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_MemTxCpltCallback) for HAL_I2C_MemTxCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_MemRxCpltCallback) for HAL_I2C_MemRxCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITMasterSeqCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_ITMasterSeqCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_MasterRxCpltCallback) for HAL_I2C_MasterRxCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITMasterSeqCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_MasterTxCpltCallback) for HAL_I2C_MasterTxCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_ITListenCplt) for I2C_ITListenCplt + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_ITSlaveSeqCplt) for I2C_ITSlaveSeqCplt + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_ListenCpltCallback) for HAL_I2C_ListenCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_SlaveTxCpltCallback) for HAL_I2C_SlaveTxCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_SlaveRxCpltCallback) for HAL_I2C_SlaveRxCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveSeqCplt) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveSeqCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_SlaveRxCpltCallback) for HAL_I2C_SlaveRxCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_ITSlaveSeqCplt) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_SlaveTxCpltCallback) for HAL_I2C_SlaveTxCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_IsErrorOccurred) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.I2C_IsErrorOccurred) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ITMasterSeqCplt) for I2C_ITMasterSeqCplt + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) for I2C_ITMasterCplt + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ITMasterSeqCplt) for I2C_ITMasterSeqCplt + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) for I2C_ITMasterCplt + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) for I2C_ITMasterCplt + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ) for I2C_Disable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ) for I2C_Enable_IRQ + stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt) for I2C_ITMasterCplt + stm32h7xx_hal_i2c.o(i.I2C_RequestMemoryRead) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.I2C_RequestMemoryRead) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnTXISFlagUntilTimeout) for I2C_WaitOnTXISFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.I2C_RequestMemoryRead) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) for I2C_WaitOnFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.I2C_RequestMemoryWrite) refers to stm32h7xx_hal_i2c.o(i.I2C_TransferConfig) for I2C_TransferConfig + stm32h7xx_hal_i2c.o(i.I2C_RequestMemoryWrite) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnTXISFlagUntilTimeout) for I2C_WaitOnTXISFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.I2C_RequestMemoryWrite) refers to stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) for I2C_WaitOnFlagUntilTimeout + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt) for I2C_ITSlaveCplt + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ITListenCplt) for I2C_ITListenCplt + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ITSlaveSeqCplt) for I2C_ITSlaveSeqCplt + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA) refers to stm32h7xx_hal_i2c.o(i.I2C_ITAddrCplt) for I2C_ITAddrCplt + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt) for I2C_ITSlaveCplt + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ITError) for I2C_ITError + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ITListenCplt) for I2C_ITListenCplt + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR) for I2C_Flush_TXDR + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ITSlaveSeqCplt) for I2C_ITSlaveSeqCplt + stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT) refers to stm32h7xx_hal_i2c.o(i.I2C_ITAddrCplt) for I2C_ITAddrCplt + stm32h7xx_hal_i2c.o(i.I2C_TreatErrorCallback) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_ErrorCallback) for HAL_I2C_ErrorCallback + stm32h7xx_hal_i2c.o(i.I2C_TreatErrorCallback) refers to stm32h7xx_hal_i2c.o(i.HAL_I2C_AbortCpltCallback) for HAL_I2C_AbortCpltCallback + stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) refers to stm32h7xx_hal_i2c.o(i.I2C_IsErrorOccurred) for I2C_IsErrorOccurred + stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.I2C_WaitOnRXNEFlagUntilTimeout) refers to stm32h7xx_hal_i2c.o(i.I2C_IsErrorOccurred) for I2C_IsErrorOccurred + stm32h7xx_hal_i2c.o(i.I2C_WaitOnRXNEFlagUntilTimeout) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.I2C_WaitOnSTOPFlagUntilTimeout) refers to stm32h7xx_hal_i2c.o(i.I2C_IsErrorOccurred) for I2C_IsErrorOccurred + stm32h7xx_hal_i2c.o(i.I2C_WaitOnSTOPFlagUntilTimeout) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_i2c.o(i.I2C_WaitOnTXISFlagUntilTimeout) refers to stm32h7xx_hal_i2c.o(i.I2C_IsErrorOccurred) for I2C_IsErrorOccurred + stm32h7xx_hal_i2c.o(i.I2C_WaitOnTXISFlagUntilTimeout) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_adc.o(i.ADC_ConfigureBoostMode) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) for HAL_RCC_GetHCLKFreq + stm32h7xx_hal_adc.o(i.ADC_ConfigureBoostMode) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) for HAL_RCCEx_GetPeriphCLKFreq + stm32h7xx_hal_adc.o(i.ADC_ConfigureBoostMode) refers to stm32h7xx_hal.o(i.HAL_GetREVID) for HAL_GetREVID + stm32h7xx_hal_adc.o(i.ADC_ConversionStop) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc.o(i.ADC_ConversionStop) refers to stm32h7xx_hal_adc.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc.o(i.ADC_ConversionStop) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_adc.o(i.ADC_DMAConvCplt) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_ErrorCallback) for HAL_ADC_ErrorCallback + stm32h7xx_hal_adc.o(i.ADC_DMAConvCplt) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsTriggerSourceSWStart) for LL_ADC_REG_IsTriggerSourceSWStart + stm32h7xx_hal_adc.o(i.ADC_DMAConvCplt) refers to main.o(i.HAL_ADC_ConvCpltCallback) for HAL_ADC_ConvCpltCallback + stm32h7xx_hal_adc.o(i.ADC_DMAError) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_ErrorCallback) for HAL_ADC_ErrorCallback + stm32h7xx_hal_adc.o(i.ADC_DMAHalfConvCplt) refers to main.o(i.HAL_ADC_ConvHalfCpltCallback) for HAL_ADC_ConvHalfCpltCallback + stm32h7xx_hal_adc.o(i.ADC_Disable) refers to stm32h7xx_hal_adc.o(i.LL_ADC_IsEnabled) for LL_ADC_IsEnabled + stm32h7xx_hal_adc.o(i.ADC_Disable) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_adc.o(i.ADC_Enable) refers to stm32h7xx_hal_adc.o(i.LL_ADC_IsEnabled) for LL_ADC_IsEnabled + stm32h7xx_hal_adc.o(i.ADC_Enable) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_adc.o(i.HAL_ADC_AnalogWDGConfig) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_AnalogWDGConfig) refers to stm32h7xx_hal_adc.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_AnalogWDGConfig) refers to stm32h7xx_hal_adc.o(i.LL_ADC_SetAnalogWDMonitChannels) for LL_ADC_SetAnalogWDMonitChannels + stm32h7xx_hal_adc.o(i.HAL_ADC_ConfigChannel) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_ConfigChannel) refers to stm32h7xx_hal_adc.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_ConfigChannel) refers to stm32h7xx_hal_adc.o(i.LL_ADC_IsEnabled) for LL_ADC_IsEnabled + stm32h7xx_hal_adc.o(i.HAL_ADC_ConfigChannel) refers to system_stm32h7xx.o(.data) for SystemCoreClock + stm32h7xx_hal_adc.o(i.HAL_ADC_DeInit) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc.o(i.HAL_ADC_DeInit) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc.o(i.HAL_ADC_DeInit) refers to stm32h7xx_hal_msp.o(i.HAL_ADC_MspDeInit) for HAL_ADC_MspDeInit + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_EndOfSamplingCallback) for HAL_ADCEx_EndOfSamplingCallback + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsTriggerSourceSWStart) for LL_ADC_REG_IsTriggerSourceSWStart + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to main.o(i.HAL_ADC_ConvCpltCallback) for HAL_ADC_ConvCpltCallback + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to stm32h7xx_hal_adc.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedConvCpltCallback) for HAL_ADCEx_InjectedConvCpltCallback + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_LevelOutOfWindowCallback) for HAL_ADC_LevelOutOfWindowCallback + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LevelOutOfWindow2Callback) for HAL_ADCEx_LevelOutOfWindow2Callback + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LevelOutOfWindow3Callback) for HAL_ADCEx_LevelOutOfWindow3Callback + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to stm32h7xx_hal_adc.o(i.HAL_ADC_ErrorCallback) for HAL_ADC_ErrorCallback + stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler) refers to stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedQueueOverflowCallback) for HAL_ADCEx_InjectedQueueOverflowCallback + stm32h7xx_hal_adc.o(i.HAL_ADC_Init) refers to stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) for HAL_ADC_MspInit + stm32h7xx_hal_adc.o(i.HAL_ADC_Init) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_Init) refers to stm32h7xx_hal_adc.o(i.LL_ADC_IsEnabled) for LL_ADC_IsEnabled + stm32h7xx_hal_adc.o(i.HAL_ADC_Init) refers to stm32h7xx_hal.o(i.HAL_GetREVID) for HAL_GetREVID + stm32h7xx_hal_adc.o(i.HAL_ADC_Init) refers to stm32h7xx_hal_adc.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_Init) refers to stm32h7xx_hal_adc.o(i.ADC_ConfigureBoostMode) for ADC_ConfigureBoostMode + stm32h7xx_hal_adc.o(i.HAL_ADC_Init) refers to system_stm32h7xx.o(.data) for SystemCoreClock + stm32h7xx_hal_adc.o(i.HAL_ADC_PollForConversion) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_adc.o(i.HAL_ADC_PollForConversion) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsTriggerSourceSWStart) for LL_ADC_REG_IsTriggerSourceSWStart + stm32h7xx_hal_adc.o(i.HAL_ADC_PollForEvent) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_adc.o(i.HAL_ADC_Start) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_Start) refers to stm32h7xx_hal_adc.o(i.ADC_Enable) for ADC_Enable + stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_Enable) for ADC_Enable + stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_DMAConvCplt) for ADC_DMAConvCplt + stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_DMAHalfConvCplt) for ADC_DMAHalfConvCplt + stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_DMAError) for ADC_DMAError + stm32h7xx_hal_adc.o(i.HAL_ADC_Start_IT) refers to stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc.o(i.HAL_ADC_Start_IT) refers to stm32h7xx_hal_adc.o(i.ADC_Enable) for ADC_Enable + stm32h7xx_hal_adc.o(i.HAL_ADC_Stop) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc.o(i.HAL_ADC_Stop) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc.o(i.HAL_ADC_Stop_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc.o(i.HAL_ADC_Stop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort + stm32h7xx_hal_adc.o(i.HAL_ADC_Stop_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc.o(i.HAL_ADC_Stop_IT) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc.o(i.HAL_ADC_Stop_IT) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_Calibration_SetValue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_Calibration_SetValue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_Calibration_SetValue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_IsEnabled) for LL_ADC_IsEnabled + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_Calibration_Start) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_DisableInjectedQueue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_DisableInjectedQueue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_DisableVoltageRegulator) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_IsEnabled) for LL_ADC_IsEnabled + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_EnableInjectedQueue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_EnableInjectedQueue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_EnterADCDeepPowerDownMode) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_IsEnabled) for LL_ADC_IsEnabled + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedConfigChannel) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedConfigChannel) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedConfigChannel) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_SetOffset) for LL_ADC_SetOffset + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedConfigChannel) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_GetOffsetChannel) for LL_ADC_GetOffsetChannel + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedConfigChannel) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_IsEnabled) for LL_ADC_IsEnabled + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedConfigChannel) refers to system_stm32h7xx.o(.data) for SystemCoreClock + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedPollForConversion) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStart) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStart) refers to stm32h7xx_hal_adc.o(i.ADC_Enable) for ADC_Enable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStart_IT) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStart_IT) refers to stm32h7xx_hal_adc.o(i.ADC_Enable) for ADC_Enable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStop) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStop) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStop) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStop_IT) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStop_IT) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStop_IT) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_FactorLoad) refers to stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_SetValue) for HAL_ADCEx_LinearCalibration_SetValue + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_GetValue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_IsEnabled) for LL_ADC_IsEnabled + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_GetValue) refers to stm32h7xx_hal_adc.o(i.ADC_Enable) for ADC_Enable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_GetValue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_SetValue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_IsEnabled) for LL_ADC_IsEnabled + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_SetValue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_SetValue) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_SetCalibrationLinearFactor) for LL_ADC_SetCalibrationLinearFactor + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_SetValue) refers to stm32h7xx_hal_adc.o(i.ADC_Enable) for ADC_Enable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_SetValue) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_SetValue) refers to system_stm32h7xx.o(.data) for SystemCoreClock + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeConfigChannel) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStart_DMA) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStart_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_Enable) for ADC_Enable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStart_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStart_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_DMAConvCplt) for ADC_DMAConvCplt + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStart_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_DMAHalfConvCplt) for ADC_DMAHalfConvCplt + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStart_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_DMAError) for ADC_DMAError + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStop_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStop_DMA) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStop_DMA) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStop_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularMultiModeStop_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularMultiModeStop_DMA) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularMultiModeStop_DMA) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing) for LL_ADC_REG_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularMultiModeStop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularMultiModeStop_DMA) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularMultiModeStop_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop_DMA) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop_DMA) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop_IT) refers to stm32h7xx_hal_adc.o(i.ADC_ConversionStop) for ADC_ConversionStop + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop_IT) refers to stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing) for LL_ADC_INJ_IsConversionOngoing + stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop_IT) refers to stm32h7xx_hal_adc.o(i.ADC_Disable) for ADC_Disable + stm32h7xx_hal_uart.o(i.HAL_HalfDuplex_Init) refers to stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) for HAL_UART_MspInit + stm32h7xx_hal_uart.o(i.HAL_HalfDuplex_Init) refers to stm32h7xx_hal_uart.o(i.UART_AdvFeatureConfig) for UART_AdvFeatureConfig + stm32h7xx_hal_uart.o(i.HAL_HalfDuplex_Init) refers to stm32h7xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig + stm32h7xx_hal_uart.o(i.HAL_HalfDuplex_Init) refers to stm32h7xx_hal_uart.o(i.UART_CheckIdleState) for UART_CheckIdleState + stm32h7xx_hal_uart.o(i.HAL_LIN_Init) refers to stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) for HAL_UART_MspInit + stm32h7xx_hal_uart.o(i.HAL_LIN_Init) refers to stm32h7xx_hal_uart.o(i.UART_AdvFeatureConfig) for UART_AdvFeatureConfig + stm32h7xx_hal_uart.o(i.HAL_LIN_Init) refers to stm32h7xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig + stm32h7xx_hal_uart.o(i.HAL_LIN_Init) refers to stm32h7xx_hal_uart.o(i.UART_CheckIdleState) for UART_CheckIdleState + stm32h7xx_hal_uart.o(i.HAL_MultiProcessor_DisableMuteMode) refers to stm32h7xx_hal_uart.o(i.UART_CheckIdleState) for UART_CheckIdleState + stm32h7xx_hal_uart.o(i.HAL_MultiProcessor_EnableMuteMode) refers to stm32h7xx_hal_uart.o(i.UART_CheckIdleState) for UART_CheckIdleState + stm32h7xx_hal_uart.o(i.HAL_MultiProcessor_Init) refers to stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) for HAL_UART_MspInit + stm32h7xx_hal_uart.o(i.HAL_MultiProcessor_Init) refers to stm32h7xx_hal_uart.o(i.UART_AdvFeatureConfig) for UART_AdvFeatureConfig + stm32h7xx_hal_uart.o(i.HAL_MultiProcessor_Init) refers to stm32h7xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig + stm32h7xx_hal_uart.o(i.HAL_MultiProcessor_Init) refers to stm32h7xx_hal_uart.o(i.UART_CheckIdleState) for UART_CheckIdleState + stm32h7xx_hal_uart.o(i.HAL_UART_Abort) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort + stm32h7xx_hal_uart.o(i.HAL_UART_Abort) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError + stm32h7xx_hal_uart.o(i.HAL_UART_AbortReceive) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort + stm32h7xx_hal_uart.o(i.HAL_UART_AbortReceive) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError + stm32h7xx_hal_uart.o(i.HAL_UART_AbortReceive_IT) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_uart.o(i.HAL_UART_AbortReceive_IT) refers to stm32h7xx_hal_uart.o(i.HAL_UART_AbortReceiveCpltCallback) for HAL_UART_AbortReceiveCpltCallback + stm32h7xx_hal_uart.o(i.HAL_UART_AbortReceive_IT) refers to stm32h7xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback) for UART_DMARxOnlyAbortCallback + stm32h7xx_hal_uart.o(i.HAL_UART_AbortTransmit) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort + stm32h7xx_hal_uart.o(i.HAL_UART_AbortTransmit) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError + stm32h7xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT) refers to stm32h7xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback) for HAL_UART_AbortTransmitCpltCallback + stm32h7xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT) refers to stm32h7xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback) for UART_DMATxOnlyAbortCallback + stm32h7xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32h7xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback + stm32h7xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32h7xx_hal_uart.o(i.UART_DMATxAbortCallback) for UART_DMATxAbortCallback + stm32h7xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32h7xx_hal_uart.o(i.UART_DMARxAbortCallback) for UART_DMARxAbortCallback + stm32h7xx_hal_uart.o(i.HAL_UART_DMAStop) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort + stm32h7xx_hal_uart.o(i.HAL_UART_DMAStop) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError + stm32h7xx_hal_uart.o(i.HAL_UART_DMAStop) refers to stm32h7xx_hal_uart.o(i.UART_EndTxTransfer) for UART_EndTxTransfer + stm32h7xx_hal_uart.o(i.HAL_UART_DMAStop) refers to stm32h7xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer + stm32h7xx_hal_uart.o(i.HAL_UART_DeInit) refers to stm32h7xx_hal_msp.o(i.HAL_UART_MspDeInit) for HAL_UART_MspDeInit + stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32h7xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer + stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT + stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32h7xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback + stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort + stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to main.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback + stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_WakeupCallback) for HAL_UARTEx_WakeupCallback + stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32h7xx_hal_uart.o(i.UART_EndTransmit_IT) for UART_EndTransmit_IT + stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_TxFifoEmptyCallback) for HAL_UARTEx_TxFifoEmptyCallback + stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_RxFifoFullCallback) for HAL_UARTEx_RxFifoFullCallback + stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32h7xx_hal_uart.o(i.UART_DMAAbortOnError) for UART_DMAAbortOnError + stm32h7xx_hal_uart.o(i.HAL_UART_Init) refers to stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) for HAL_UART_MspInit + stm32h7xx_hal_uart.o(i.HAL_UART_Init) refers to stm32h7xx_hal_uart.o(i.UART_AdvFeatureConfig) for UART_AdvFeatureConfig + stm32h7xx_hal_uart.o(i.HAL_UART_Init) refers to stm32h7xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig + stm32h7xx_hal_uart.o(i.HAL_UART_Init) refers to stm32h7xx_hal_uart.o(i.UART_CheckIdleState) for UART_CheckIdleState + stm32h7xx_hal_uart.o(i.HAL_UART_Receive) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_uart.o(i.HAL_UART_Receive) refers to stm32h7xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) for UART_WaitOnFlagUntilTimeout + stm32h7xx_hal_uart.o(i.HAL_UART_Receive_DMA) refers to stm32h7xx_hal_uart.o(i.UART_Start_Receive_DMA) for UART_Start_Receive_DMA + stm32h7xx_hal_uart.o(i.HAL_UART_Receive_IT) refers to stm32h7xx_hal_uart.o(i.UART_Start_Receive_IT) for UART_Start_Receive_IT + stm32h7xx_hal_uart.o(i.HAL_UART_Transmit) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_uart.o(i.HAL_UART_Transmit) refers to stm32h7xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) for UART_WaitOnFlagUntilTimeout + stm32h7xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32h7xx_hal_uart.o(i.UART_DMATransmitCplt) for UART_DMATransmitCplt + stm32h7xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32h7xx_hal_uart.o(i.UART_DMATxHalfCplt) for UART_DMATxHalfCplt + stm32h7xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32h7xx_hal_uart.o(i.UART_DMAError) for UART_DMAError + stm32h7xx_hal_uart.o(i.HAL_UART_Transmit_IT) refers to stm32h7xx_hal_uart.o(i.UART_TxISR_8BIT) for UART_TxISR_8BIT + stm32h7xx_hal_uart.o(i.HAL_UART_Transmit_IT) refers to stm32h7xx_hal_uart.o(i.UART_TxISR_8BIT_FIFOEN) for UART_TxISR_8BIT_FIFOEN + stm32h7xx_hal_uart.o(i.HAL_UART_Transmit_IT) refers to stm32h7xx_hal_uart.o(i.UART_TxISR_16BIT_FIFOEN) for UART_TxISR_16BIT_FIFOEN + stm32h7xx_hal_uart.o(i.HAL_UART_Transmit_IT) refers to stm32h7xx_hal_uart.o(i.UART_TxISR_16BIT) for UART_TxISR_16BIT + stm32h7xx_hal_uart.o(i.UART_CheckIdleState) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_uart.o(i.UART_CheckIdleState) refers to stm32h7xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) for UART_WaitOnFlagUntilTimeout + stm32h7xx_hal_uart.o(i.UART_DMAAbortOnError) refers to stm32h7xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback + stm32h7xx_hal_uart.o(i.UART_DMAError) refers to stm32h7xx_hal_uart.o(i.UART_EndTxTransfer) for UART_EndTxTransfer + stm32h7xx_hal_uart.o(i.UART_DMAError) refers to stm32h7xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer + stm32h7xx_hal_uart.o(i.UART_DMAError) refers to stm32h7xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback + stm32h7xx_hal_uart.o(i.UART_DMAReceiveCplt) refers to stm32h7xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback + stm32h7xx_hal_uart.o(i.UART_DMAReceiveCplt) refers to main.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback + stm32h7xx_hal_uart.o(i.UART_DMARxAbortCallback) refers to stm32h7xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback + stm32h7xx_hal_uart.o(i.UART_DMARxHalfCplt) refers to stm32h7xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) for HAL_UART_RxHalfCpltCallback + stm32h7xx_hal_uart.o(i.UART_DMARxHalfCplt) refers to main.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback + stm32h7xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback) refers to stm32h7xx_hal_uart.o(i.HAL_UART_AbortReceiveCpltCallback) for HAL_UART_AbortReceiveCpltCallback + stm32h7xx_hal_uart.o(i.UART_DMATransmitCplt) refers to stm32h7xx_hal_uart.o(i.HAL_UART_TxCpltCallback) for HAL_UART_TxCpltCallback + stm32h7xx_hal_uart.o(i.UART_DMATxAbortCallback) refers to stm32h7xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback + stm32h7xx_hal_uart.o(i.UART_DMATxHalfCplt) refers to stm32h7xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback) for HAL_UART_TxHalfCpltCallback + stm32h7xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback) refers to stm32h7xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback) for HAL_UART_AbortTransmitCpltCallback + stm32h7xx_hal_uart.o(i.UART_EndTransmit_IT) refers to stm32h7xx_hal_uart.o(i.HAL_UART_TxCpltCallback) for HAL_UART_TxCpltCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT) refers to stm32h7xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT) refers to main.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT_FIFOEN) refers to stm32h7xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT_FIFOEN) refers to stm32h7xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT_FIFOEN) refers to main.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT_FIFOEN) refers to stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT) for UART_RxISR_16BIT + stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT) refers to stm32h7xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT) refers to main.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT_FIFOEN) refers to stm32h7xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT_FIFOEN) refers to stm32h7xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT_FIFOEN) refers to main.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback + stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT_FIFOEN) refers to stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT) for UART_RxISR_8BIT + stm32h7xx_hal_uart.o(i.UART_SetConfig) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD3PCLK1Freq) for HAL_RCCEx_GetD3PCLK1Freq + stm32h7xx_hal_uart.o(i.UART_SetConfig) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL2ClockFreq) for HAL_RCCEx_GetPLL2ClockFreq + stm32h7xx_hal_uart.o(i.UART_SetConfig) refers to stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL3ClockFreq) for HAL_RCCEx_GetPLL3ClockFreq + stm32h7xx_hal_uart.o(i.UART_SetConfig) refers to lludivv7m.o(.text) for __aeabi_uldivmod + stm32h7xx_hal_uart.o(i.UART_SetConfig) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) for HAL_RCC_GetPCLK1Freq + stm32h7xx_hal_uart.o(i.UART_SetConfig) refers to stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) for HAL_RCC_GetPCLK2Freq + stm32h7xx_hal_uart.o(i.UART_SetConfig) refers to stm32h7xx_hal_uart.o(.constdata) for .constdata + stm32h7xx_hal_uart.o(i.UART_Start_Receive_DMA) refers to stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT + stm32h7xx_hal_uart.o(i.UART_Start_Receive_DMA) refers to stm32h7xx_hal_uart.o(i.UART_DMAReceiveCplt) for UART_DMAReceiveCplt + stm32h7xx_hal_uart.o(i.UART_Start_Receive_DMA) refers to stm32h7xx_hal_uart.o(i.UART_DMARxHalfCplt) for UART_DMARxHalfCplt + stm32h7xx_hal_uart.o(i.UART_Start_Receive_DMA) refers to stm32h7xx_hal_uart.o(i.UART_DMAError) for UART_DMAError + stm32h7xx_hal_uart.o(i.UART_Start_Receive_IT) refers to stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT_FIFOEN) for UART_RxISR_8BIT_FIFOEN + stm32h7xx_hal_uart.o(i.UART_Start_Receive_IT) refers to stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT_FIFOEN) for UART_RxISR_16BIT_FIFOEN + stm32h7xx_hal_uart.o(i.UART_Start_Receive_IT) refers to stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT) for UART_RxISR_8BIT + stm32h7xx_hal_uart.o(i.UART_Start_Receive_IT) refers to stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT) for UART_RxISR_16BIT + stm32h7xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) refers to stm32h7xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer + stm32h7xx_hal_uart_ex.o(i.HAL_MultiProcessorEx_AddressLength_Set) refers to stm32h7xx_hal_uart.o(i.UART_CheckIdleState) for UART_CheckIdleState + stm32h7xx_hal_uart_ex.o(i.HAL_RS485Ex_Init) refers to stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) for HAL_UART_MspInit + stm32h7xx_hal_uart_ex.o(i.HAL_RS485Ex_Init) refers to stm32h7xx_hal_uart.o(i.UART_AdvFeatureConfig) for UART_AdvFeatureConfig + stm32h7xx_hal_uart_ex.o(i.HAL_RS485Ex_Init) refers to stm32h7xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig + stm32h7xx_hal_uart_ex.o(i.HAL_RS485Ex_Init) refers to stm32h7xx_hal_uart.o(i.UART_CheckIdleState) for UART_CheckIdleState + stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_EnableFifoMode) refers to stm32h7xx_hal_uart_ex.o(i.UARTEx_SetNbDataToProcess) for UARTEx_SetNbDataToProcess + stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_ReceiveToIdle) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_ReceiveToIdle_DMA) refers to stm32h7xx_hal_uart.o(i.UART_Start_Receive_DMA) for UART_Start_Receive_DMA + stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_ReceiveToIdle_IT) refers to stm32h7xx_hal_uart.o(i.UART_Start_Receive_IT) for UART_Start_Receive_IT + stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_SetRxFifoThreshold) refers to stm32h7xx_hal_uart_ex.o(i.UARTEx_SetNbDataToProcess) for UARTEx_SetNbDataToProcess + stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_SetTxFifoThreshold) refers to stm32h7xx_hal_uart_ex.o(i.UARTEx_SetNbDataToProcess) for UARTEx_SetNbDataToProcess + stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_StopModeWakeUpSourceConfig) refers to stm32h7xx_hal_uart_ex.o(i.UARTEx_Wakeup_AddressConfig) for UARTEx_Wakeup_AddressConfig + stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_StopModeWakeUpSourceConfig) refers to stm32h7xx_hal.o(i.HAL_GetTick) for HAL_GetTick + stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_StopModeWakeUpSourceConfig) refers to stm32h7xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) for UART_WaitOnFlagUntilTimeout + stm32h7xx_hal_uart_ex.o(i.UARTEx_SetNbDataToProcess) refers to stm32h7xx_hal_uart_ex.o(.constdata) for .constdata + event_groups.o(i.vEventGroupClearBitsCallback) refers to event_groups.o(i.xEventGroupClearBits) for xEventGroupClearBits + event_groups.o(i.vEventGroupDelete) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + event_groups.o(i.vEventGroupDelete) refers to tasks.o(i.vTaskRemoveFromUnorderedEventList) for vTaskRemoveFromUnorderedEventList + event_groups.o(i.vEventGroupDelete) refers to heap_4.o(i.vPortFree) for vPortFree + event_groups.o(i.vEventGroupDelete) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + event_groups.o(i.vEventGroupSetBitsCallback) refers to event_groups.o(i.xEventGroupSetBits) for xEventGroupSetBits + event_groups.o(i.xEventGroupClearBits) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + event_groups.o(i.xEventGroupClearBits) refers to port.o(i.vPortExitCritical) for vPortExitCritical + event_groups.o(i.xEventGroupClearBitsFromISR) refers to timers.o(i.xTimerPendFunctionCallFromISR) for xTimerPendFunctionCallFromISR + event_groups.o(i.xEventGroupClearBitsFromISR) refers to event_groups.o(i.vEventGroupClearBitsCallback) for vEventGroupClearBitsCallback + event_groups.o(i.xEventGroupCreate) refers to heap_4.o(i.pvPortMalloc) for pvPortMalloc + event_groups.o(i.xEventGroupCreate) refers to list.o(i.vListInitialise) for vListInitialise + event_groups.o(i.xEventGroupCreateStatic) refers to list.o(i.vListInitialise) for vListInitialise + event_groups.o(i.xEventGroupSetBits) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + event_groups.o(i.xEventGroupSetBits) refers to tasks.o(i.vTaskRemoveFromUnorderedEventList) for vTaskRemoveFromUnorderedEventList + event_groups.o(i.xEventGroupSetBits) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + event_groups.o(i.xEventGroupSetBitsFromISR) refers to timers.o(i.xTimerPendFunctionCallFromISR) for xTimerPendFunctionCallFromISR + event_groups.o(i.xEventGroupSetBitsFromISR) refers to event_groups.o(i.vEventGroupSetBitsCallback) for vEventGroupSetBitsCallback + event_groups.o(i.xEventGroupSync) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + event_groups.o(i.xEventGroupSync) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + event_groups.o(i.xEventGroupSync) refers to event_groups.o(i.xEventGroupSetBits) for xEventGroupSetBits + event_groups.o(i.xEventGroupSync) refers to tasks.o(i.vTaskPlaceOnUnorderedEventList) for vTaskPlaceOnUnorderedEventList + event_groups.o(i.xEventGroupSync) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + event_groups.o(i.xEventGroupSync) refers to tasks.o(i.uxTaskResetEventItemValue) for uxTaskResetEventItemValue + event_groups.o(i.xEventGroupSync) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + event_groups.o(i.xEventGroupSync) refers to port.o(i.vPortExitCritical) for vPortExitCritical + event_groups.o(i.xEventGroupWaitBits) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + event_groups.o(i.xEventGroupWaitBits) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + event_groups.o(i.xEventGroupWaitBits) refers to event_groups.o(i.prvTestWaitCondition) for prvTestWaitCondition + event_groups.o(i.xEventGroupWaitBits) refers to tasks.o(i.vTaskPlaceOnUnorderedEventList) for vTaskPlaceOnUnorderedEventList + event_groups.o(i.xEventGroupWaitBits) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + event_groups.o(i.xEventGroupWaitBits) refers to tasks.o(i.uxTaskResetEventItemValue) for uxTaskResetEventItemValue + event_groups.o(i.xEventGroupWaitBits) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + event_groups.o(i.xEventGroupWaitBits) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.pcQueueGetName) refers to queue.o(.bss) for .bss + queue.o(i.prvCopyDataFromQueue) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy + queue.o(i.prvCopyDataToQueue) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy + queue.o(i.prvCopyDataToQueue) refers to tasks.o(i.xTaskPriorityDisinherit) for xTaskPriorityDisinherit + queue.o(i.prvInitialiseMutex) refers to queue.o(i.xQueueGenericSend) for xQueueGenericSend + queue.o(i.prvInitialiseNewQueue) refers to queue.o(i.xQueueGenericReset) for xQueueGenericReset + queue.o(i.prvIsQueueEmpty) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.prvIsQueueEmpty) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.prvIsQueueFull) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.prvIsQueueFull) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.prvUnlockQueue) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.prvUnlockQueue) refers to tasks.o(i.xTaskRemoveFromEventList) for xTaskRemoveFromEventList + queue.o(i.prvUnlockQueue) refers to tasks.o(i.vTaskMissedYield) for vTaskMissedYield + queue.o(i.prvUnlockQueue) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.uxQueueMessagesWaiting) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.uxQueueMessagesWaiting) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.uxQueueSpacesAvailable) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.uxQueueSpacesAvailable) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.vQueueAddToRegistry) refers to queue.o(.bss) for .bss + queue.o(i.vQueueDelete) refers to queue.o(i.vQueueUnregisterQueue) for vQueueUnregisterQueue + queue.o(i.vQueueDelete) refers to heap_4.o(i.vPortFree) for vPortFree + queue.o(i.vQueueUnregisterQueue) refers to queue.o(.bss) for .bss + queue.o(i.vQueueWaitForMessageRestricted) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.vQueueWaitForMessageRestricted) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.vQueueWaitForMessageRestricted) refers to tasks.o(i.vTaskPlaceOnEventListRestricted) for vTaskPlaceOnEventListRestricted + queue.o(i.vQueueWaitForMessageRestricted) refers to queue.o(i.prvUnlockQueue) for prvUnlockQueue + queue.o(i.xQueueCreateCountingSemaphore) refers to queue.o(i.xQueueGenericCreate) for xQueueGenericCreate + queue.o(i.xQueueCreateCountingSemaphoreStatic) refers to queue.o(i.xQueueGenericCreateStatic) for xQueueGenericCreateStatic + queue.o(i.xQueueCreateMutex) refers to queue.o(i.xQueueGenericCreate) for xQueueGenericCreate + queue.o(i.xQueueCreateMutex) refers to queue.o(i.prvInitialiseMutex) for prvInitialiseMutex + queue.o(i.xQueueCreateMutexStatic) refers to queue.o(i.xQueueGenericCreateStatic) for xQueueGenericCreateStatic + queue.o(i.xQueueCreateMutexStatic) refers to queue.o(i.prvInitialiseMutex) for prvInitialiseMutex + queue.o(i.xQueueGenericCreate) refers to heap_4.o(i.pvPortMalloc) for pvPortMalloc + queue.o(i.xQueueGenericCreate) refers to queue.o(i.prvInitialiseNewQueue) for prvInitialiseNewQueue + queue.o(i.xQueueGenericCreateStatic) refers to queue.o(i.prvInitialiseNewQueue) for prvInitialiseNewQueue + queue.o(i.xQueueGenericReset) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.xQueueGenericReset) refers to list.o(i.vListInitialise) for vListInitialise + queue.o(i.xQueueGenericReset) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.xQueueGenericReset) refers to tasks.o(i.xTaskRemoveFromEventList) for xTaskRemoveFromEventList + queue.o(i.xQueueGenericSend) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + queue.o(i.xQueueGenericSend) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.xQueueGenericSend) refers to queue.o(i.prvCopyDataToQueue) for prvCopyDataToQueue + queue.o(i.xQueueGenericSend) refers to tasks.o(i.xTaskRemoveFromEventList) for xTaskRemoveFromEventList + queue.o(i.xQueueGenericSend) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.xQueueGenericSend) refers to tasks.o(i.vTaskInternalSetTimeOutState) for vTaskInternalSetTimeOutState + queue.o(i.xQueueGenericSend) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + queue.o(i.xQueueGenericSend) refers to tasks.o(i.xTaskCheckForTimeOut) for xTaskCheckForTimeOut + queue.o(i.xQueueGenericSend) refers to queue.o(i.prvUnlockQueue) for prvUnlockQueue + queue.o(i.xQueueGenericSend) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + queue.o(i.xQueueGenericSend) refers to queue.o(i.prvIsQueueFull) for prvIsQueueFull + queue.o(i.xQueueGenericSend) refers to tasks.o(i.vTaskPlaceOnEventList) for vTaskPlaceOnEventList + queue.o(i.xQueueGenericSendFromISR) refers to port.o(i.vPortValidateInterruptPriority) for vPortValidateInterruptPriority + queue.o(i.xQueueGenericSendFromISR) refers to queue.o(i.prvCopyDataToQueue) for prvCopyDataToQueue + queue.o(i.xQueueGenericSendFromISR) refers to tasks.o(i.xTaskRemoveFromEventList) for xTaskRemoveFromEventList + queue.o(i.xQueueGetMutexHolder) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.xQueueGetMutexHolder) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.xQueueGiveFromISR) refers to port.o(i.vPortValidateInterruptPriority) for vPortValidateInterruptPriority + queue.o(i.xQueueGiveFromISR) refers to tasks.o(i.xTaskRemoveFromEventList) for xTaskRemoveFromEventList + queue.o(i.xQueueGiveMutexRecursive) refers to tasks.o(i.xTaskGetCurrentTaskHandle) for xTaskGetCurrentTaskHandle + queue.o(i.xQueueGiveMutexRecursive) refers to queue.o(i.xQueueGenericSend) for xQueueGenericSend + queue.o(i.xQueuePeek) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + queue.o(i.xQueuePeek) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.xQueuePeek) refers to queue.o(i.prvCopyDataFromQueue) for prvCopyDataFromQueue + queue.o(i.xQueuePeek) refers to tasks.o(i.xTaskRemoveFromEventList) for xTaskRemoveFromEventList + queue.o(i.xQueuePeek) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.xQueuePeek) refers to tasks.o(i.vTaskInternalSetTimeOutState) for vTaskInternalSetTimeOutState + queue.o(i.xQueuePeek) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + queue.o(i.xQueuePeek) refers to tasks.o(i.xTaskCheckForTimeOut) for xTaskCheckForTimeOut + queue.o(i.xQueuePeek) refers to queue.o(i.prvUnlockQueue) for prvUnlockQueue + queue.o(i.xQueuePeek) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + queue.o(i.xQueuePeek) refers to queue.o(i.prvIsQueueEmpty) for prvIsQueueEmpty + queue.o(i.xQueuePeek) refers to tasks.o(i.vTaskPlaceOnEventList) for vTaskPlaceOnEventList + queue.o(i.xQueuePeekFromISR) refers to port.o(i.vPortValidateInterruptPriority) for vPortValidateInterruptPriority + queue.o(i.xQueuePeekFromISR) refers to queue.o(i.prvCopyDataFromQueue) for prvCopyDataFromQueue + queue.o(i.xQueueReceive) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + queue.o(i.xQueueReceive) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.xQueueReceive) refers to queue.o(i.prvCopyDataFromQueue) for prvCopyDataFromQueue + queue.o(i.xQueueReceive) refers to tasks.o(i.xTaskRemoveFromEventList) for xTaskRemoveFromEventList + queue.o(i.xQueueReceive) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.xQueueReceive) refers to tasks.o(i.vTaskInternalSetTimeOutState) for vTaskInternalSetTimeOutState + queue.o(i.xQueueReceive) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + queue.o(i.xQueueReceive) refers to tasks.o(i.xTaskCheckForTimeOut) for xTaskCheckForTimeOut + queue.o(i.xQueueReceive) refers to queue.o(i.prvUnlockQueue) for prvUnlockQueue + queue.o(i.xQueueReceive) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + queue.o(i.xQueueReceive) refers to queue.o(i.prvIsQueueEmpty) for prvIsQueueEmpty + queue.o(i.xQueueReceive) refers to tasks.o(i.vTaskPlaceOnEventList) for vTaskPlaceOnEventList + queue.o(i.xQueueReceiveFromISR) refers to port.o(i.vPortValidateInterruptPriority) for vPortValidateInterruptPriority + queue.o(i.xQueueReceiveFromISR) refers to queue.o(i.prvCopyDataFromQueue) for prvCopyDataFromQueue + queue.o(i.xQueueReceiveFromISR) refers to tasks.o(i.xTaskRemoveFromEventList) for xTaskRemoveFromEventList + queue.o(i.xQueueSemaphoreTake) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + queue.o(i.xQueueSemaphoreTake) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + queue.o(i.xQueueSemaphoreTake) refers to tasks.o(i.pvTaskIncrementMutexHeldCount) for pvTaskIncrementMutexHeldCount + queue.o(i.xQueueSemaphoreTake) refers to tasks.o(i.xTaskRemoveFromEventList) for xTaskRemoveFromEventList + queue.o(i.xQueueSemaphoreTake) refers to port.o(i.vPortExitCritical) for vPortExitCritical + queue.o(i.xQueueSemaphoreTake) refers to tasks.o(i.vTaskInternalSetTimeOutState) for vTaskInternalSetTimeOutState + queue.o(i.xQueueSemaphoreTake) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + queue.o(i.xQueueSemaphoreTake) refers to tasks.o(i.xTaskCheckForTimeOut) for xTaskCheckForTimeOut + queue.o(i.xQueueSemaphoreTake) refers to queue.o(i.prvUnlockQueue) for prvUnlockQueue + queue.o(i.xQueueSemaphoreTake) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + queue.o(i.xQueueSemaphoreTake) refers to queue.o(i.prvIsQueueEmpty) for prvIsQueueEmpty + queue.o(i.xQueueSemaphoreTake) refers to queue.o(i.prvGetDisinheritPriorityAfterTimeout) for prvGetDisinheritPriorityAfterTimeout + queue.o(i.xQueueSemaphoreTake) refers to tasks.o(i.vTaskPriorityDisinheritAfterTimeout) for vTaskPriorityDisinheritAfterTimeout + queue.o(i.xQueueSemaphoreTake) refers to tasks.o(i.xTaskPriorityInherit) for xTaskPriorityInherit + queue.o(i.xQueueSemaphoreTake) refers to tasks.o(i.vTaskPlaceOnEventList) for vTaskPlaceOnEventList + queue.o(i.xQueueTakeMutexRecursive) refers to tasks.o(i.xTaskGetCurrentTaskHandle) for xTaskGetCurrentTaskHandle + queue.o(i.xQueueTakeMutexRecursive) refers to queue.o(i.xQueueSemaphoreTake) for xQueueSemaphoreTake + stream_buffer.o(i.prvInitialiseNewStreamBuffer) refers to memset.o(.text) for memset + stream_buffer.o(i.prvInitialiseNewStreamBuffer) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + stream_buffer.o(i.prvReadBytesFromBuffer) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy + stream_buffer.o(i.prvReadMessageFromBuffer) refers to stream_buffer.o(i.prvReadBytesFromBuffer) for prvReadBytesFromBuffer + stream_buffer.o(i.prvWriteBytesToBuffer) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy + stream_buffer.o(i.prvWriteMessageToBuffer) refers to stream_buffer.o(i.prvWriteBytesToBuffer) for prvWriteBytesToBuffer + stream_buffer.o(i.vStreamBufferDelete) refers to heap_4.o(i.vPortFree) for vPortFree + stream_buffer.o(i.vStreamBufferDelete) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + stream_buffer.o(i.xStreamBufferBytesAvailable) refers to stream_buffer.o(i.prvBytesInBuffer) for prvBytesInBuffer + stream_buffer.o(i.xStreamBufferGenericCreate) refers to heap_4.o(i.pvPortMalloc) for pvPortMalloc + stream_buffer.o(i.xStreamBufferGenericCreate) refers to stream_buffer.o(i.prvInitialiseNewStreamBuffer) for prvInitialiseNewStreamBuffer + stream_buffer.o(i.xStreamBufferGenericCreateStatic) refers to stream_buffer.o(i.prvInitialiseNewStreamBuffer) for prvInitialiseNewStreamBuffer + stream_buffer.o(i.xStreamBufferIsFull) refers to stream_buffer.o(i.xStreamBufferSpacesAvailable) for xStreamBufferSpacesAvailable + stream_buffer.o(i.xStreamBufferNextMessageLengthBytes) refers to stream_buffer.o(i.prvBytesInBuffer) for prvBytesInBuffer + stream_buffer.o(i.xStreamBufferNextMessageLengthBytes) refers to stream_buffer.o(i.prvReadBytesFromBuffer) for prvReadBytesFromBuffer + stream_buffer.o(i.xStreamBufferReceive) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + stream_buffer.o(i.xStreamBufferReceive) refers to stream_buffer.o(i.prvBytesInBuffer) for prvBytesInBuffer + stream_buffer.o(i.xStreamBufferReceive) refers to tasks.o(i.xTaskNotifyStateClear) for xTaskNotifyStateClear + stream_buffer.o(i.xStreamBufferReceive) refers to tasks.o(i.xTaskGetCurrentTaskHandle) for xTaskGetCurrentTaskHandle + stream_buffer.o(i.xStreamBufferReceive) refers to port.o(i.vPortExitCritical) for vPortExitCritical + stream_buffer.o(i.xStreamBufferReceive) refers to tasks.o(i.xTaskNotifyWait) for xTaskNotifyWait + stream_buffer.o(i.xStreamBufferReceive) refers to stream_buffer.o(i.prvReadMessageFromBuffer) for prvReadMessageFromBuffer + stream_buffer.o(i.xStreamBufferReceive) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + stream_buffer.o(i.xStreamBufferReceive) refers to tasks.o(i.xTaskGenericNotify) for xTaskGenericNotify + stream_buffer.o(i.xStreamBufferReceive) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + stream_buffer.o(i.xStreamBufferReceiveCompletedFromISR) refers to tasks.o(i.xTaskGenericNotifyFromISR) for xTaskGenericNotifyFromISR + stream_buffer.o(i.xStreamBufferReceiveFromISR) refers to stream_buffer.o(i.prvBytesInBuffer) for prvBytesInBuffer + stream_buffer.o(i.xStreamBufferReceiveFromISR) refers to stream_buffer.o(i.prvReadMessageFromBuffer) for prvReadMessageFromBuffer + stream_buffer.o(i.xStreamBufferReceiveFromISR) refers to tasks.o(i.xTaskGenericNotifyFromISR) for xTaskGenericNotifyFromISR + stream_buffer.o(i.xStreamBufferReset) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + stream_buffer.o(i.xStreamBufferReset) refers to stream_buffer.o(i.prvInitialiseNewStreamBuffer) for prvInitialiseNewStreamBuffer + stream_buffer.o(i.xStreamBufferReset) refers to port.o(i.vPortExitCritical) for vPortExitCritical + stream_buffer.o(i.xStreamBufferSend) refers to tasks.o(i.vTaskSetTimeOutState) for vTaskSetTimeOutState + stream_buffer.o(i.xStreamBufferSend) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + stream_buffer.o(i.xStreamBufferSend) refers to stream_buffer.o(i.xStreamBufferSpacesAvailable) for xStreamBufferSpacesAvailable + stream_buffer.o(i.xStreamBufferSend) refers to tasks.o(i.xTaskNotifyStateClear) for xTaskNotifyStateClear + stream_buffer.o(i.xStreamBufferSend) refers to tasks.o(i.xTaskGetCurrentTaskHandle) for xTaskGetCurrentTaskHandle + stream_buffer.o(i.xStreamBufferSend) refers to port.o(i.vPortExitCritical) for vPortExitCritical + stream_buffer.o(i.xStreamBufferSend) refers to tasks.o(i.xTaskNotifyWait) for xTaskNotifyWait + stream_buffer.o(i.xStreamBufferSend) refers to tasks.o(i.xTaskCheckForTimeOut) for xTaskCheckForTimeOut + stream_buffer.o(i.xStreamBufferSend) refers to stream_buffer.o(i.prvWriteMessageToBuffer) for prvWriteMessageToBuffer + stream_buffer.o(i.xStreamBufferSend) refers to stream_buffer.o(i.prvBytesInBuffer) for prvBytesInBuffer + stream_buffer.o(i.xStreamBufferSend) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + stream_buffer.o(i.xStreamBufferSend) refers to tasks.o(i.xTaskGenericNotify) for xTaskGenericNotify + stream_buffer.o(i.xStreamBufferSend) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + stream_buffer.o(i.xStreamBufferSendCompletedFromISR) refers to tasks.o(i.xTaskGenericNotifyFromISR) for xTaskGenericNotifyFromISR + stream_buffer.o(i.xStreamBufferSendFromISR) refers to stream_buffer.o(i.xStreamBufferSpacesAvailable) for xStreamBufferSpacesAvailable + stream_buffer.o(i.xStreamBufferSendFromISR) refers to stream_buffer.o(i.prvWriteMessageToBuffer) for prvWriteMessageToBuffer + stream_buffer.o(i.xStreamBufferSendFromISR) refers to stream_buffer.o(i.prvBytesInBuffer) for prvBytesInBuffer + stream_buffer.o(i.xStreamBufferSendFromISR) refers to tasks.o(i.xTaskGenericNotifyFromISR) for xTaskGenericNotifyFromISR + tasks.o(i.eTaskGetState) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.eTaskGetState) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.eTaskGetState) refers to tasks.o(.data) for .data + tasks.o(i.eTaskGetState) refers to tasks.o(.bss) for .bss + tasks.o(i.pcTaskGetName) refers to tasks.o(.data) for .data + tasks.o(i.prvAddCurrentTaskToDelayedList) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.prvAddCurrentTaskToDelayedList) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.prvAddCurrentTaskToDelayedList) refers to list.o(i.vListInsert) for vListInsert + tasks.o(i.prvAddCurrentTaskToDelayedList) refers to tasks.o(.data) for .data + tasks.o(i.prvAddCurrentTaskToDelayedList) refers to tasks.o(.bss) for .bss + tasks.o(i.prvAddNewTaskToReadyList) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.prvAddNewTaskToReadyList) refers to tasks.o(i.prvInitialiseTaskLists) for prvInitialiseTaskLists + tasks.o(i.prvAddNewTaskToReadyList) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.prvAddNewTaskToReadyList) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.prvAddNewTaskToReadyList) refers to tasks.o(.data) for .data + tasks.o(i.prvAddNewTaskToReadyList) refers to tasks.o(.bss) for .bss + tasks.o(i.prvCheckTasksWaitingTermination) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.prvCheckTasksWaitingTermination) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.prvCheckTasksWaitingTermination) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.prvCheckTasksWaitingTermination) refers to tasks.o(i.prvDeleteTCB) for prvDeleteTCB + tasks.o(i.prvCheckTasksWaitingTermination) refers to tasks.o(.data) for .data + tasks.o(i.prvCheckTasksWaitingTermination) refers to tasks.o(.bss) for .bss + tasks.o(i.prvDeleteTCB) refers to heap_4.o(i.vPortFree) for vPortFree + tasks.o(i.prvIdleTask) refers to tasks.o(i.prvCheckTasksWaitingTermination) for prvCheckTasksWaitingTermination + tasks.o(i.prvIdleTask) refers to tasks.o(.bss) for .bss + tasks.o(i.prvInitialiseNewTask) refers to aeabi_memset.o(.text) for __aeabi_memset + tasks.o(i.prvInitialiseNewTask) refers to list.o(i.vListInitialiseItem) for vListInitialiseItem + tasks.o(i.prvInitialiseNewTask) refers to port.o(i.pxPortInitialiseStack) for pxPortInitialiseStack + tasks.o(i.prvInitialiseTaskLists) refers to list.o(i.vListInitialise) for vListInitialise + tasks.o(i.prvInitialiseTaskLists) refers to tasks.o(.bss) for .bss + tasks.o(i.prvInitialiseTaskLists) refers to tasks.o(.data) for .data + tasks.o(i.prvListTasksWithinSingleList) refers to tasks.o(i.vTaskGetInfo) for vTaskGetInfo + tasks.o(i.prvResetNextTaskUnblockTime) refers to tasks.o(.data) for .data + tasks.o(i.prvTaskIsTaskSuspended) refers to tasks.o(.bss) for .bss + tasks.o(i.pvTaskIncrementMutexHeldCount) refers to tasks.o(.data) for .data + tasks.o(i.ulTaskNotifyTake) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.ulTaskNotifyTake) refers to tasks.o(i.prvAddCurrentTaskToDelayedList) for prvAddCurrentTaskToDelayedList + tasks.o(i.ulTaskNotifyTake) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.ulTaskNotifyTake) refers to tasks.o(.data) for .data + tasks.o(i.ulTaskNotifyValueClear) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.ulTaskNotifyValueClear) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.ulTaskNotifyValueClear) refers to tasks.o(.data) for .data + tasks.o(i.uxTaskGetNumberOfTasks) refers to tasks.o(.data) for .data + tasks.o(i.uxTaskGetStackHighWaterMark) refers to tasks.o(i.prvTaskCheckFreeStackSpace) for prvTaskCheckFreeStackSpace + tasks.o(i.uxTaskGetStackHighWaterMark) refers to tasks.o(.data) for .data + tasks.o(i.uxTaskGetSystemState) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + tasks.o(i.uxTaskGetSystemState) refers to tasks.o(i.prvListTasksWithinSingleList) for prvListTasksWithinSingleList + tasks.o(i.uxTaskGetSystemState) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + tasks.o(i.uxTaskGetSystemState) refers to tasks.o(.data) for .data + tasks.o(i.uxTaskGetSystemState) refers to tasks.o(.bss) for .bss + tasks.o(i.uxTaskPriorityGet) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.uxTaskPriorityGet) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.uxTaskPriorityGet) refers to tasks.o(.data) for .data + tasks.o(i.uxTaskPriorityGetFromISR) refers to port.o(i.vPortValidateInterruptPriority) for vPortValidateInterruptPriority + tasks.o(i.uxTaskPriorityGetFromISR) refers to tasks.o(.data) for .data + tasks.o(i.uxTaskResetEventItemValue) refers to tasks.o(.data) for .data + tasks.o(i.vTaskDelay) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + tasks.o(i.vTaskDelay) refers to tasks.o(i.prvAddCurrentTaskToDelayedList) for prvAddCurrentTaskToDelayedList + tasks.o(i.vTaskDelay) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + tasks.o(i.vTaskDelay) refers to tasks.o(.data) for .data + tasks.o(i.vTaskDelayUntil) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + tasks.o(i.vTaskDelayUntil) refers to tasks.o(i.prvAddCurrentTaskToDelayedList) for prvAddCurrentTaskToDelayedList + tasks.o(i.vTaskDelayUntil) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + tasks.o(i.vTaskDelayUntil) refers to tasks.o(.data) for .data + tasks.o(i.vTaskDelete) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.vTaskDelete) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.vTaskDelete) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.vTaskDelete) refers to tasks.o(i.prvDeleteTCB) for prvDeleteTCB + tasks.o(i.vTaskDelete) refers to tasks.o(i.prvResetNextTaskUnblockTime) for prvResetNextTaskUnblockTime + tasks.o(i.vTaskDelete) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.vTaskDelete) refers to tasks.o(.data) for .data + tasks.o(i.vTaskDelete) refers to tasks.o(.bss) for .bss + tasks.o(i.vTaskEndScheduler) refers to port.o(i.vPortEndScheduler) for vPortEndScheduler + tasks.o(i.vTaskEndScheduler) refers to tasks.o(.data) for .data + tasks.o(i.vTaskGetInfo) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + tasks.o(i.vTaskGetInfo) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + tasks.o(i.vTaskGetInfo) refers to tasks.o(i.eTaskGetState) for eTaskGetState + tasks.o(i.vTaskGetInfo) refers to tasks.o(i.prvTaskCheckFreeStackSpace) for prvTaskCheckFreeStackSpace + tasks.o(i.vTaskGetInfo) refers to tasks.o(.data) for .data + tasks.o(i.vTaskInternalSetTimeOutState) refers to tasks.o(.data) for .data + tasks.o(i.vTaskMissedYield) refers to tasks.o(.data) for .data + tasks.o(i.vTaskNotifyGiveFromISR) refers to port.o(i.vPortValidateInterruptPriority) for vPortValidateInterruptPriority + tasks.o(i.vTaskNotifyGiveFromISR) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.vTaskNotifyGiveFromISR) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.vTaskNotifyGiveFromISR) refers to tasks.o(.data) for .data + tasks.o(i.vTaskNotifyGiveFromISR) refers to tasks.o(.bss) for .bss + tasks.o(i.vTaskPlaceOnEventList) refers to list.o(i.vListInsert) for vListInsert + tasks.o(i.vTaskPlaceOnEventList) refers to tasks.o(i.prvAddCurrentTaskToDelayedList) for prvAddCurrentTaskToDelayedList + tasks.o(i.vTaskPlaceOnEventList) refers to tasks.o(.data) for .data + tasks.o(i.vTaskPlaceOnEventListRestricted) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.vTaskPlaceOnEventListRestricted) refers to tasks.o(i.prvAddCurrentTaskToDelayedList) for prvAddCurrentTaskToDelayedList + tasks.o(i.vTaskPlaceOnEventListRestricted) refers to tasks.o(.data) for .data + tasks.o(i.vTaskPlaceOnUnorderedEventList) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.vTaskPlaceOnUnorderedEventList) refers to tasks.o(i.prvAddCurrentTaskToDelayedList) for prvAddCurrentTaskToDelayedList + tasks.o(i.vTaskPlaceOnUnorderedEventList) refers to tasks.o(.data) for .data + tasks.o(i.vTaskPriorityDisinheritAfterTimeout) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.vTaskPriorityDisinheritAfterTimeout) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.vTaskPriorityDisinheritAfterTimeout) refers to tasks.o(.data) for .data + tasks.o(i.vTaskPriorityDisinheritAfterTimeout) refers to tasks.o(.bss) for .bss + tasks.o(i.vTaskPrioritySet) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.vTaskPrioritySet) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.vTaskPrioritySet) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.vTaskPrioritySet) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.vTaskPrioritySet) refers to tasks.o(.data) for .data + tasks.o(i.vTaskPrioritySet) refers to tasks.o(.bss) for .bss + tasks.o(i.vTaskRemoveFromUnorderedEventList) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.vTaskRemoveFromUnorderedEventList) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.vTaskRemoveFromUnorderedEventList) refers to tasks.o(.data) for .data + tasks.o(i.vTaskRemoveFromUnorderedEventList) refers to tasks.o(.bss) for .bss + tasks.o(i.vTaskResume) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.vTaskResume) refers to tasks.o(i.prvTaskIsTaskSuspended) for prvTaskIsTaskSuspended + tasks.o(i.vTaskResume) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.vTaskResume) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.vTaskResume) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.vTaskResume) refers to tasks.o(.data) for .data + tasks.o(i.vTaskResume) refers to tasks.o(.bss) for .bss + tasks.o(i.vTaskSetTimeOutState) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.vTaskSetTimeOutState) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.vTaskSetTimeOutState) refers to tasks.o(.data) for .data + tasks.o(i.vTaskStartScheduler) refers to cmsis_os2.o(i.vApplicationGetIdleTaskMemory) for vApplicationGetIdleTaskMemory + tasks.o(i.vTaskStartScheduler) refers to tasks.o(i.xTaskCreateStatic) for xTaskCreateStatic + tasks.o(i.vTaskStartScheduler) refers to timers.o(i.xTimerCreateTimerTask) for xTimerCreateTimerTask + tasks.o(i.vTaskStartScheduler) refers to port.o(i.xPortStartScheduler) for xPortStartScheduler + tasks.o(i.vTaskStartScheduler) refers to tasks.o(i.prvIdleTask) for prvIdleTask + tasks.o(i.vTaskStartScheduler) refers to tasks.o(.data) for .data + tasks.o(i.vTaskSuspend) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.vTaskSuspend) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.vTaskSuspend) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.vTaskSuspend) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.vTaskSuspend) refers to tasks.o(i.prvResetNextTaskUnblockTime) for prvResetNextTaskUnblockTime + tasks.o(i.vTaskSuspend) refers to tasks.o(i.vTaskSwitchContext) for vTaskSwitchContext + tasks.o(i.vTaskSuspend) refers to tasks.o(.data) for .data + tasks.o(i.vTaskSuspend) refers to tasks.o(.bss) for .bss + tasks.o(i.vTaskSuspendAll) refers to tasks.o(.data) for .data + tasks.o(i.vTaskSwitchContext) refers to tasks.o(.data) for .data + tasks.o(i.vTaskSwitchContext) refers to tasks.o(.bss) for .bss + tasks.o(i.xTaskCatchUpTicks) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + tasks.o(i.xTaskCatchUpTicks) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + tasks.o(i.xTaskCatchUpTicks) refers to tasks.o(.data) for .data + tasks.o(i.xTaskCheckForTimeOut) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.xTaskCheckForTimeOut) refers to tasks.o(i.vTaskInternalSetTimeOutState) for vTaskInternalSetTimeOutState + tasks.o(i.xTaskCheckForTimeOut) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.xTaskCheckForTimeOut) refers to tasks.o(.data) for .data + tasks.o(i.xTaskCreate) refers to heap_4.o(i.pvPortMalloc) for pvPortMalloc + tasks.o(i.xTaskCreate) refers to heap_4.o(i.vPortFree) for vPortFree + tasks.o(i.xTaskCreate) refers to tasks.o(i.prvInitialiseNewTask) for prvInitialiseNewTask + tasks.o(i.xTaskCreate) refers to tasks.o(i.prvAddNewTaskToReadyList) for prvAddNewTaskToReadyList + tasks.o(i.xTaskCreateStatic) refers to tasks.o(i.prvInitialiseNewTask) for prvInitialiseNewTask + tasks.o(i.xTaskCreateStatic) refers to tasks.o(i.prvAddNewTaskToReadyList) for prvAddNewTaskToReadyList + tasks.o(i.xTaskGenericNotify) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.xTaskGenericNotify) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.xTaskGenericNotify) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.xTaskGenericNotify) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.xTaskGenericNotify) refers to tasks.o(.data) for .data + tasks.o(i.xTaskGenericNotify) refers to tasks.o(.bss) for .bss + tasks.o(i.xTaskGenericNotifyFromISR) refers to port.o(i.vPortValidateInterruptPriority) for vPortValidateInterruptPriority + tasks.o(i.xTaskGenericNotifyFromISR) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.xTaskGenericNotifyFromISR) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.xTaskGenericNotifyFromISR) refers to tasks.o(.data) for .data + tasks.o(i.xTaskGenericNotifyFromISR) refers to tasks.o(.bss) for .bss + tasks.o(i.xTaskGetCurrentTaskHandle) refers to tasks.o(.data) for .data + tasks.o(i.xTaskGetSchedulerState) refers to tasks.o(.data) for .data + tasks.o(i.xTaskGetTickCount) refers to tasks.o(.data) for .data + tasks.o(i.xTaskGetTickCountFromISR) refers to port.o(i.vPortValidateInterruptPriority) for vPortValidateInterruptPriority + tasks.o(i.xTaskGetTickCountFromISR) refers to tasks.o(.data) for .data + tasks.o(i.xTaskIncrementTick) refers to tasks.o(i.prvResetNextTaskUnblockTime) for prvResetNextTaskUnblockTime + tasks.o(i.xTaskIncrementTick) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.xTaskIncrementTick) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.xTaskIncrementTick) refers to tasks.o(.data) for .data + tasks.o(i.xTaskIncrementTick) refers to tasks.o(.bss) for .bss + tasks.o(i.xTaskNotifyStateClear) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.xTaskNotifyStateClear) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.xTaskNotifyStateClear) refers to tasks.o(.data) for .data + tasks.o(i.xTaskNotifyWait) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.xTaskNotifyWait) refers to tasks.o(i.prvAddCurrentTaskToDelayedList) for prvAddCurrentTaskToDelayedList + tasks.o(i.xTaskNotifyWait) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.xTaskNotifyWait) refers to tasks.o(.data) for .data + tasks.o(i.xTaskPriorityDisinherit) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.xTaskPriorityDisinherit) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.xTaskPriorityDisinherit) refers to tasks.o(.data) for .data + tasks.o(i.xTaskPriorityDisinherit) refers to tasks.o(.bss) for .bss + tasks.o(i.xTaskPriorityInherit) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.xTaskPriorityInherit) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.xTaskPriorityInherit) refers to tasks.o(.data) for .data + tasks.o(i.xTaskPriorityInherit) refers to tasks.o(.bss) for .bss + tasks.o(i.xTaskRemoveFromEventList) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.xTaskRemoveFromEventList) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.xTaskRemoveFromEventList) refers to tasks.o(.data) for .data + tasks.o(i.xTaskRemoveFromEventList) refers to tasks.o(.bss) for .bss + tasks.o(i.xTaskResumeAll) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + tasks.o(i.xTaskResumeAll) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.xTaskResumeAll) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.xTaskResumeAll) refers to tasks.o(i.prvResetNextTaskUnblockTime) for prvResetNextTaskUnblockTime + tasks.o(i.xTaskResumeAll) refers to tasks.o(i.xTaskIncrementTick) for xTaskIncrementTick + tasks.o(i.xTaskResumeAll) refers to port.o(i.vPortExitCritical) for vPortExitCritical + tasks.o(i.xTaskResumeAll) refers to tasks.o(.data) for .data + tasks.o(i.xTaskResumeAll) refers to tasks.o(.bss) for .bss + tasks.o(i.xTaskResumeFromISR) refers to port.o(i.vPortValidateInterruptPriority) for vPortValidateInterruptPriority + tasks.o(i.xTaskResumeFromISR) refers to tasks.o(i.prvTaskIsTaskSuspended) for prvTaskIsTaskSuspended + tasks.o(i.xTaskResumeFromISR) refers to list.o(i.vListInsertEnd) for vListInsertEnd + tasks.o(i.xTaskResumeFromISR) refers to list.o(i.uxListRemove) for uxListRemove + tasks.o(i.xTaskResumeFromISR) refers to tasks.o(.data) for .data + tasks.o(i.xTaskResumeFromISR) refers to tasks.o(.bss) for .bss + timers.o(i.prvCheckForValidListAndQueue) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + timers.o(i.prvCheckForValidListAndQueue) refers to list.o(i.vListInitialise) for vListInitialise + timers.o(i.prvCheckForValidListAndQueue) refers to queue.o(i.xQueueGenericCreateStatic) for xQueueGenericCreateStatic + timers.o(i.prvCheckForValidListAndQueue) refers to queue.o(i.vQueueAddToRegistry) for vQueueAddToRegistry + timers.o(i.prvCheckForValidListAndQueue) refers to port.o(i.vPortExitCritical) for vPortExitCritical + timers.o(i.prvCheckForValidListAndQueue) refers to timers.o(.data) for .data + timers.o(i.prvCheckForValidListAndQueue) refers to timers.o(.bss) for .bss + timers.o(i.prvGetNextExpireTime) refers to timers.o(.data) for .data + timers.o(i.prvInitialiseNewTimer) refers to timers.o(i.prvCheckForValidListAndQueue) for prvCheckForValidListAndQueue + timers.o(i.prvInitialiseNewTimer) refers to list.o(i.vListInitialiseItem) for vListInitialiseItem + timers.o(i.prvInsertTimerInActiveList) refers to list.o(i.vListInsert) for vListInsert + timers.o(i.prvInsertTimerInActiveList) refers to timers.o(.data) for .data + timers.o(i.prvProcessExpiredTimer) refers to list.o(i.uxListRemove) for uxListRemove + timers.o(i.prvProcessExpiredTimer) refers to timers.o(i.prvInsertTimerInActiveList) for prvInsertTimerInActiveList + timers.o(i.prvProcessExpiredTimer) refers to timers.o(i.xTimerGenericCommand) for xTimerGenericCommand + timers.o(i.prvProcessExpiredTimer) refers to timers.o(.data) for .data + timers.o(i.prvProcessReceivedCommands) refers to list.o(i.uxListRemove) for uxListRemove + timers.o(i.prvProcessReceivedCommands) refers to timers.o(i.prvSampleTimeNow) for prvSampleTimeNow + timers.o(i.prvProcessReceivedCommands) refers to timers.o(i.prvInsertTimerInActiveList) for prvInsertTimerInActiveList + timers.o(i.prvProcessReceivedCommands) refers to timers.o(i.xTimerGenericCommand) for xTimerGenericCommand + timers.o(i.prvProcessReceivedCommands) refers to heap_4.o(i.vPortFree) for vPortFree + timers.o(i.prvProcessReceivedCommands) refers to queue.o(i.xQueueReceive) for xQueueReceive + timers.o(i.prvProcessReceivedCommands) refers to timers.o(.data) for .data + timers.o(i.prvProcessTimerOrBlockTask) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + timers.o(i.prvProcessTimerOrBlockTask) refers to timers.o(i.prvSampleTimeNow) for prvSampleTimeNow + timers.o(i.prvProcessTimerOrBlockTask) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + timers.o(i.prvProcessTimerOrBlockTask) refers to timers.o(i.prvProcessExpiredTimer) for prvProcessExpiredTimer + timers.o(i.prvProcessTimerOrBlockTask) refers to queue.o(i.vQueueWaitForMessageRestricted) for vQueueWaitForMessageRestricted + timers.o(i.prvProcessTimerOrBlockTask) refers to timers.o(.data) for .data + timers.o(i.prvSampleTimeNow) refers to tasks.o(i.xTaskGetTickCount) for xTaskGetTickCount + timers.o(i.prvSampleTimeNow) refers to timers.o(i.prvSwitchTimerLists) for prvSwitchTimerLists + timers.o(i.prvSampleTimeNow) refers to timers.o(.data) for .data + timers.o(i.prvSwitchTimerLists) refers to list.o(i.uxListRemove) for uxListRemove + timers.o(i.prvSwitchTimerLists) refers to list.o(i.vListInsert) for vListInsert + timers.o(i.prvSwitchTimerLists) refers to timers.o(i.xTimerGenericCommand) for xTimerGenericCommand + timers.o(i.prvSwitchTimerLists) refers to timers.o(.data) for .data + timers.o(i.prvTimerTask) refers to timers.o(i.prvGetNextExpireTime) for prvGetNextExpireTime + timers.o(i.prvTimerTask) refers to timers.o(i.prvProcessTimerOrBlockTask) for prvProcessTimerOrBlockTask + timers.o(i.prvTimerTask) refers to timers.o(i.prvProcessReceivedCommands) for prvProcessReceivedCommands + timers.o(i.pvTimerGetTimerID) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + timers.o(i.pvTimerGetTimerID) refers to port.o(i.vPortExitCritical) for vPortExitCritical + timers.o(i.uxTimerGetReloadMode) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + timers.o(i.uxTimerGetReloadMode) refers to port.o(i.vPortExitCritical) for vPortExitCritical + timers.o(i.vTimerSetReloadMode) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + timers.o(i.vTimerSetReloadMode) refers to port.o(i.vPortExitCritical) for vPortExitCritical + timers.o(i.vTimerSetTimerID) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + timers.o(i.vTimerSetTimerID) refers to port.o(i.vPortExitCritical) for vPortExitCritical + timers.o(i.xTimerCreate) refers to heap_4.o(i.pvPortMalloc) for pvPortMalloc + timers.o(i.xTimerCreate) refers to timers.o(i.prvInitialiseNewTimer) for prvInitialiseNewTimer + timers.o(i.xTimerCreateStatic) refers to timers.o(i.prvInitialiseNewTimer) for prvInitialiseNewTimer + timers.o(i.xTimerCreateTimerTask) refers to timers.o(i.prvCheckForValidListAndQueue) for prvCheckForValidListAndQueue + timers.o(i.xTimerCreateTimerTask) refers to cmsis_os2.o(i.vApplicationGetTimerTaskMemory) for vApplicationGetTimerTaskMemory + timers.o(i.xTimerCreateTimerTask) refers to tasks.o(i.xTaskCreateStatic) for xTaskCreateStatic + timers.o(i.xTimerCreateTimerTask) refers to timers.o(.data) for .data + timers.o(i.xTimerCreateTimerTask) refers to timers.o(i.prvTimerTask) for prvTimerTask + timers.o(i.xTimerGenericCommand) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + timers.o(i.xTimerGenericCommand) refers to queue.o(i.xQueueGenericSend) for xQueueGenericSend + timers.o(i.xTimerGenericCommand) refers to queue.o(i.xQueueGenericSendFromISR) for xQueueGenericSendFromISR + timers.o(i.xTimerGenericCommand) refers to timers.o(.data) for .data + timers.o(i.xTimerGetTimerDaemonTaskHandle) refers to timers.o(.data) for .data + timers.o(i.xTimerIsTimerActive) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + timers.o(i.xTimerIsTimerActive) refers to port.o(i.vPortExitCritical) for vPortExitCritical + timers.o(i.xTimerPendFunctionCall) refers to queue.o(i.xQueueGenericSend) for xQueueGenericSend + timers.o(i.xTimerPendFunctionCall) refers to timers.o(.data) for .data + timers.o(i.xTimerPendFunctionCallFromISR) refers to queue.o(i.xQueueGenericSendFromISR) for xQueueGenericSendFromISR + timers.o(i.xTimerPendFunctionCallFromISR) refers to timers.o(.data) for .data + cmsis_os2.o(i.SysTick_Handler) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + cmsis_os2.o(i.SysTick_Handler) refers to port.o(i.xPortSysTickHandler) for xPortSysTickHandler + cmsis_os2.o(i.TimerCallback) refers to timers.o(i.pvTimerGetTimerID) for pvTimerGetTimerID + cmsis_os2.o(i.osDelay) refers to tasks.o(i.vTaskDelay) for vTaskDelay + cmsis_os2.o(i.osDelayUntil) refers to tasks.o(i.xTaskGetTickCount) for xTaskGetTickCount + cmsis_os2.o(i.osDelayUntil) refers to tasks.o(i.vTaskDelayUntil) for vTaskDelayUntil + cmsis_os2.o(i.osEventFlagsClear) refers to event_groups.o(i.xEventGroupGetBitsFromISR) for xEventGroupGetBitsFromISR + cmsis_os2.o(i.osEventFlagsClear) refers to event_groups.o(i.xEventGroupClearBitsFromISR) for xEventGroupClearBitsFromISR + cmsis_os2.o(i.osEventFlagsClear) refers to event_groups.o(i.xEventGroupClearBits) for xEventGroupClearBits + cmsis_os2.o(i.osEventFlagsDelete) refers to event_groups.o(i.vEventGroupDelete) for vEventGroupDelete + cmsis_os2.o(i.osEventFlagsGet) refers to event_groups.o(i.xEventGroupGetBitsFromISR) for xEventGroupGetBitsFromISR + cmsis_os2.o(i.osEventFlagsGet) refers to event_groups.o(i.xEventGroupClearBits) for xEventGroupClearBits + cmsis_os2.o(i.osEventFlagsNew) refers to event_groups.o(i.xEventGroupCreateStatic) for xEventGroupCreateStatic + cmsis_os2.o(i.osEventFlagsNew) refers to event_groups.o(i.xEventGroupCreate) for xEventGroupCreate + cmsis_os2.o(i.osEventFlagsSet) refers to event_groups.o(i.xEventGroupSetBitsFromISR) for xEventGroupSetBitsFromISR + cmsis_os2.o(i.osEventFlagsSet) refers to event_groups.o(i.xEventGroupSetBits) for xEventGroupSetBits + cmsis_os2.o(i.osEventFlagsWait) refers to event_groups.o(i.xEventGroupWaitBits) for xEventGroupWaitBits + cmsis_os2.o(i.osKernelGetInfo) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy + cmsis_os2.o(i.osKernelGetState) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + cmsis_os2.o(i.osKernelGetState) refers to cmsis_os2.o(.data) for .data + cmsis_os2.o(i.osKernelGetSysTimerCount) refers to tasks.o(i.xTaskGetTickCount) for xTaskGetTickCount + cmsis_os2.o(i.osKernelGetSysTimerCount) refers to cmsis_os2.o(i.OS_Tick_GetCount) for OS_Tick_GetCount + cmsis_os2.o(i.osKernelGetSysTimerCount) refers to cmsis_os2.o(i.OS_Tick_GetOverflow) for OS_Tick_GetOverflow + cmsis_os2.o(i.osKernelGetSysTimerCount) refers to cmsis_os2.o(i.OS_Tick_GetInterval) for OS_Tick_GetInterval + cmsis_os2.o(i.osKernelGetSysTimerFreq) refers to system_stm32h7xx.o(.data) for SystemCoreClock + cmsis_os2.o(i.osKernelGetTickCount) refers to tasks.o(i.xTaskGetTickCountFromISR) for xTaskGetTickCountFromISR + cmsis_os2.o(i.osKernelGetTickCount) refers to tasks.o(i.xTaskGetTickCount) for xTaskGetTickCount + cmsis_os2.o(i.osKernelInitialize) refers to cmsis_os2.o(.data) for .data + cmsis_os2.o(i.osKernelLock) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + cmsis_os2.o(i.osKernelLock) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + cmsis_os2.o(i.osKernelRestoreLock) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + cmsis_os2.o(i.osKernelRestoreLock) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + cmsis_os2.o(i.osKernelRestoreLock) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + cmsis_os2.o(i.osKernelStart) refers to tasks.o(i.vTaskStartScheduler) for vTaskStartScheduler + cmsis_os2.o(i.osKernelStart) refers to cmsis_os2.o(.data) for .data + cmsis_os2.o(i.osKernelUnlock) refers to tasks.o(i.xTaskGetSchedulerState) for xTaskGetSchedulerState + cmsis_os2.o(i.osKernelUnlock) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + cmsis_os2.o(i.osMemoryPoolAlloc) refers to queue.o(i.xQueueReceiveFromISR) for xQueueReceiveFromISR + cmsis_os2.o(i.osMemoryPoolAlloc) refers to cmsis_os2.o(i.AllocBlock) for AllocBlock + cmsis_os2.o(i.osMemoryPoolAlloc) refers to cmsis_os2.o(i.CreateBlock) for CreateBlock + cmsis_os2.o(i.osMemoryPoolAlloc) refers to queue.o(i.xQueueSemaphoreTake) for xQueueSemaphoreTake + cmsis_os2.o(i.osMemoryPoolAlloc) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + cmsis_os2.o(i.osMemoryPoolAlloc) refers to port.o(i.vPortExitCritical) for vPortExitCritical + cmsis_os2.o(i.osMemoryPoolDelete) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + cmsis_os2.o(i.osMemoryPoolDelete) refers to queue.o(i.xQueueGenericSend) for xQueueGenericSend + cmsis_os2.o(i.osMemoryPoolDelete) refers to heap_4.o(i.vPortFree) for vPortFree + cmsis_os2.o(i.osMemoryPoolDelete) refers to port.o(i.vPortExitCritical) for vPortExitCritical + cmsis_os2.o(i.osMemoryPoolFree) refers to queue.o(i.uxQueueMessagesWaitingFromISR) for uxQueueMessagesWaitingFromISR + cmsis_os2.o(i.osMemoryPoolFree) refers to cmsis_os2.o(i.FreeBlock) for FreeBlock + cmsis_os2.o(i.osMemoryPoolFree) refers to queue.o(i.xQueueGiveFromISR) for xQueueGiveFromISR + cmsis_os2.o(i.osMemoryPoolFree) refers to queue.o(i.uxQueueMessagesWaiting) for uxQueueMessagesWaiting + cmsis_os2.o(i.osMemoryPoolFree) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + cmsis_os2.o(i.osMemoryPoolFree) refers to port.o(i.vPortExitCritical) for vPortExitCritical + cmsis_os2.o(i.osMemoryPoolFree) refers to queue.o(i.xQueueGenericSend) for xQueueGenericSend + cmsis_os2.o(i.osMemoryPoolGetCount) refers to queue.o(i.uxQueueMessagesWaitingFromISR) for uxQueueMessagesWaitingFromISR + cmsis_os2.o(i.osMemoryPoolGetCount) refers to queue.o(i.uxQueueMessagesWaiting) for uxQueueMessagesWaiting + cmsis_os2.o(i.osMemoryPoolGetSpace) refers to queue.o(i.uxQueueMessagesWaitingFromISR) for uxQueueMessagesWaitingFromISR + cmsis_os2.o(i.osMemoryPoolGetSpace) refers to queue.o(i.uxQueueMessagesWaiting) for uxQueueMessagesWaiting + cmsis_os2.o(i.osMemoryPoolNew) refers to queue.o(i.xQueueCreateCountingSemaphoreStatic) for xQueueCreateCountingSemaphoreStatic + cmsis_os2.o(i.osMemoryPoolNew) refers to heap_4.o(i.pvPortMalloc) for pvPortMalloc + cmsis_os2.o(i.osMemoryPoolNew) refers to heap_4.o(i.vPortFree) for vPortFree + cmsis_os2.o(i.osMessageQueueDelete) refers to queue.o(i.vQueueUnregisterQueue) for vQueueUnregisterQueue + cmsis_os2.o(i.osMessageQueueDelete) refers to queue.o(i.vQueueDelete) for vQueueDelete + cmsis_os2.o(i.osMessageQueueGet) refers to queue.o(i.xQueueReceiveFromISR) for xQueueReceiveFromISR + cmsis_os2.o(i.osMessageQueueGet) refers to queue.o(i.xQueueReceive) for xQueueReceive + cmsis_os2.o(i.osMessageQueueGetCount) refers to queue.o(i.uxQueueMessagesWaitingFromISR) for uxQueueMessagesWaitingFromISR + cmsis_os2.o(i.osMessageQueueGetCount) refers to queue.o(i.uxQueueMessagesWaiting) for uxQueueMessagesWaiting + cmsis_os2.o(i.osMessageQueueGetSpace) refers to queue.o(i.uxQueueSpacesAvailable) for uxQueueSpacesAvailable + cmsis_os2.o(i.osMessageQueueNew) refers to queue.o(i.xQueueGenericCreateStatic) for xQueueGenericCreateStatic + cmsis_os2.o(i.osMessageQueueNew) refers to queue.o(i.xQueueGenericCreate) for xQueueGenericCreate + cmsis_os2.o(i.osMessageQueueNew) refers to queue.o(i.vQueueAddToRegistry) for vQueueAddToRegistry + cmsis_os2.o(i.osMessageQueuePut) refers to queue.o(i.xQueueGenericSendFromISR) for xQueueGenericSendFromISR + cmsis_os2.o(i.osMessageQueuePut) refers to queue.o(i.xQueueGenericSend) for xQueueGenericSend + cmsis_os2.o(i.osMessageQueueReset) refers to queue.o(i.xQueueGenericReset) for xQueueGenericReset + cmsis_os2.o(i.osMutexAcquire) refers to queue.o(i.xQueueTakeMutexRecursive) for xQueueTakeMutexRecursive + cmsis_os2.o(i.osMutexAcquire) refers to queue.o(i.xQueueSemaphoreTake) for xQueueSemaphoreTake + cmsis_os2.o(i.osMutexDelete) refers to queue.o(i.vQueueUnregisterQueue) for vQueueUnregisterQueue + cmsis_os2.o(i.osMutexDelete) refers to queue.o(i.vQueueDelete) for vQueueDelete + cmsis_os2.o(i.osMutexGetOwner) refers to queue.o(i.xQueueGetMutexHolder) for xQueueGetMutexHolder + cmsis_os2.o(i.osMutexNew) refers to queue.o(i.xQueueCreateMutexStatic) for xQueueCreateMutexStatic + cmsis_os2.o(i.osMutexNew) refers to queue.o(i.xQueueCreateMutex) for xQueueCreateMutex + cmsis_os2.o(i.osMutexNew) refers to queue.o(i.vQueueAddToRegistry) for vQueueAddToRegistry + cmsis_os2.o(i.osMutexRelease) refers to queue.o(i.xQueueGiveMutexRecursive) for xQueueGiveMutexRecursive + cmsis_os2.o(i.osMutexRelease) refers to queue.o(i.xQueueGenericSend) for xQueueGenericSend + cmsis_os2.o(i.osSemaphoreAcquire) refers to queue.o(i.xQueueReceiveFromISR) for xQueueReceiveFromISR + cmsis_os2.o(i.osSemaphoreAcquire) refers to queue.o(i.xQueueSemaphoreTake) for xQueueSemaphoreTake + cmsis_os2.o(i.osSemaphoreDelete) refers to queue.o(i.vQueueUnregisterQueue) for vQueueUnregisterQueue + cmsis_os2.o(i.osSemaphoreDelete) refers to queue.o(i.vQueueDelete) for vQueueDelete + cmsis_os2.o(i.osSemaphoreGetCount) refers to queue.o(i.uxQueueMessagesWaitingFromISR) for uxQueueMessagesWaitingFromISR + cmsis_os2.o(i.osSemaphoreGetCount) refers to queue.o(i.uxQueueMessagesWaiting) for uxQueueMessagesWaiting + cmsis_os2.o(i.osSemaphoreNew) refers to queue.o(i.xQueueCreateCountingSemaphore) for xQueueCreateCountingSemaphore + cmsis_os2.o(i.osSemaphoreNew) refers to queue.o(i.xQueueGenericCreate) for xQueueGenericCreate + cmsis_os2.o(i.osSemaphoreNew) refers to queue.o(i.xQueueGenericSend) for xQueueGenericSend + cmsis_os2.o(i.osSemaphoreNew) refers to queue.o(i.vQueueDelete) for vQueueDelete + cmsis_os2.o(i.osSemaphoreNew) refers to queue.o(i.xQueueGenericCreateStatic) for xQueueGenericCreateStatic + cmsis_os2.o(i.osSemaphoreNew) refers to queue.o(i.xQueueCreateCountingSemaphoreStatic) for xQueueCreateCountingSemaphoreStatic + cmsis_os2.o(i.osSemaphoreNew) refers to queue.o(i.vQueueAddToRegistry) for vQueueAddToRegistry + cmsis_os2.o(i.osSemaphoreRelease) refers to queue.o(i.xQueueGiveFromISR) for xQueueGiveFromISR + cmsis_os2.o(i.osSemaphoreRelease) refers to queue.o(i.xQueueGenericSend) for xQueueGenericSend + cmsis_os2.o(i.osThreadEnumerate) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + cmsis_os2.o(i.osThreadEnumerate) refers to tasks.o(i.uxTaskGetNumberOfTasks) for uxTaskGetNumberOfTasks + cmsis_os2.o(i.osThreadEnumerate) refers to heap_4.o(i.pvPortMalloc) for pvPortMalloc + cmsis_os2.o(i.osThreadEnumerate) refers to tasks.o(i.uxTaskGetSystemState) for uxTaskGetSystemState + cmsis_os2.o(i.osThreadEnumerate) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + cmsis_os2.o(i.osThreadEnumerate) refers to heap_4.o(i.vPortFree) for vPortFree + cmsis_os2.o(i.osThreadExit) refers to tasks.o(i.vTaskDelete) for vTaskDelete + cmsis_os2.o(i.osThreadFlagsClear) refers to tasks.o(i.xTaskGetCurrentTaskHandle) for xTaskGetCurrentTaskHandle + cmsis_os2.o(i.osThreadFlagsClear) refers to tasks.o(i.xTaskGenericNotify) for xTaskGenericNotify + cmsis_os2.o(i.osThreadFlagsGet) refers to tasks.o(i.xTaskGetCurrentTaskHandle) for xTaskGetCurrentTaskHandle + cmsis_os2.o(i.osThreadFlagsGet) refers to tasks.o(i.xTaskGenericNotify) for xTaskGenericNotify + cmsis_os2.o(i.osThreadFlagsSet) refers to tasks.o(i.xTaskGenericNotifyFromISR) for xTaskGenericNotifyFromISR + cmsis_os2.o(i.osThreadFlagsSet) refers to tasks.o(i.xTaskGenericNotify) for xTaskGenericNotify + cmsis_os2.o(i.osThreadFlagsWait) refers to tasks.o(i.xTaskGetTickCount) for xTaskGetTickCount + cmsis_os2.o(i.osThreadFlagsWait) refers to tasks.o(i.xTaskNotifyWait) for xTaskNotifyWait + cmsis_os2.o(i.osThreadGetCount) refers to tasks.o(i.uxTaskGetNumberOfTasks) for uxTaskGetNumberOfTasks + cmsis_os2.o(i.osThreadGetId) refers to tasks.o(i.xTaskGetCurrentTaskHandle) for xTaskGetCurrentTaskHandle + cmsis_os2.o(i.osThreadGetName) refers to tasks.o(i.pcTaskGetName) for pcTaskGetName + cmsis_os2.o(i.osThreadGetPriority) refers to tasks.o(i.uxTaskPriorityGet) for uxTaskPriorityGet + cmsis_os2.o(i.osThreadGetStackSpace) refers to tasks.o(i.uxTaskGetStackHighWaterMark) for uxTaskGetStackHighWaterMark + cmsis_os2.o(i.osThreadGetState) refers to tasks.o(i.eTaskGetState) for eTaskGetState + cmsis_os2.o(i.osThreadNew) refers to tasks.o(i.xTaskCreateStatic) for xTaskCreateStatic + cmsis_os2.o(i.osThreadNew) refers to tasks.o(i.xTaskCreate) for xTaskCreate + cmsis_os2.o(i.osThreadResume) refers to tasks.o(i.vTaskResume) for vTaskResume + cmsis_os2.o(i.osThreadSetPriority) refers to tasks.o(i.vTaskPrioritySet) for vTaskPrioritySet + cmsis_os2.o(i.osThreadSuspend) refers to tasks.o(i.vTaskSuspend) for vTaskSuspend + cmsis_os2.o(i.osThreadTerminate) refers to tasks.o(i.eTaskGetState) for eTaskGetState + cmsis_os2.o(i.osThreadTerminate) refers to tasks.o(i.vTaskDelete) for vTaskDelete + cmsis_os2.o(i.osTimerDelete) refers to timers.o(i.pvTimerGetTimerID) for pvTimerGetTimerID + cmsis_os2.o(i.osTimerDelete) refers to timers.o(i.xTimerGenericCommand) for xTimerGenericCommand + cmsis_os2.o(i.osTimerDelete) refers to heap_4.o(i.vPortFree) for vPortFree + cmsis_os2.o(i.osTimerGetName) refers to timers.o(i.pcTimerGetName) for pcTimerGetName + cmsis_os2.o(i.osTimerIsRunning) refers to timers.o(i.xTimerIsTimerActive) for xTimerIsTimerActive + cmsis_os2.o(i.osTimerNew) refers to heap_4.o(i.pvPortMalloc) for pvPortMalloc + cmsis_os2.o(i.osTimerNew) refers to timers.o(i.xTimerCreateStatic) for xTimerCreateStatic + cmsis_os2.o(i.osTimerNew) refers to timers.o(i.xTimerCreate) for xTimerCreate + cmsis_os2.o(i.osTimerNew) refers to heap_4.o(i.vPortFree) for vPortFree + cmsis_os2.o(i.osTimerNew) refers to cmsis_os2.o(i.TimerCallback) for TimerCallback + cmsis_os2.o(i.osTimerStart) refers to timers.o(i.xTimerGenericCommand) for xTimerGenericCommand + cmsis_os2.o(i.osTimerStop) refers to timers.o(i.xTimerIsTimerActive) for xTimerIsTimerActive + cmsis_os2.o(i.osTimerStop) refers to timers.o(i.xTimerGenericCommand) for xTimerGenericCommand + cmsis_os2.o(i.vApplicationGetIdleTaskMemory) refers to cmsis_os2.o(.bss) for .bss + cmsis_os2.o(i.vApplicationGetTimerTaskMemory) refers to cmsis_os2.o(.bss) for .bss + heap_4.o(i.prvHeapInit) refers to heap_4.o(.bss) for .bss + heap_4.o(i.prvHeapInit) refers to heap_4.o(.data) for .data + heap_4.o(i.prvInsertBlockIntoFreeList) refers to heap_4.o(.data) for .data + heap_4.o(i.pvPortMalloc) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + heap_4.o(i.pvPortMalloc) refers to heap_4.o(i.prvHeapInit) for prvHeapInit + heap_4.o(i.pvPortMalloc) refers to heap_4.o(i.prvInsertBlockIntoFreeList) for prvInsertBlockIntoFreeList + heap_4.o(i.pvPortMalloc) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + heap_4.o(i.pvPortMalloc) refers to heap_4.o(.data) for .data + heap_4.o(i.vPortFree) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + heap_4.o(i.vPortFree) refers to heap_4.o(i.prvInsertBlockIntoFreeList) for prvInsertBlockIntoFreeList + heap_4.o(i.vPortFree) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + heap_4.o(i.vPortFree) refers to heap_4.o(.data) for .data + heap_4.o(i.vPortGetHeapStats) refers to tasks.o(i.vTaskSuspendAll) for vTaskSuspendAll + heap_4.o(i.vPortGetHeapStats) refers to tasks.o(i.xTaskResumeAll) for xTaskResumeAll + heap_4.o(i.vPortGetHeapStats) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical + heap_4.o(i.vPortGetHeapStats) refers to port.o(i.vPortExitCritical) for vPortExitCritical + heap_4.o(i.vPortGetHeapStats) refers to heap_4.o(.data) for .data + heap_4.o(i.xPortGetFreeHeapSize) refers to heap_4.o(.data) for .data + heap_4.o(i.xPortGetMinimumEverFreeHeapSize) refers to heap_4.o(.data) for .data + port.o(.emb_text) refers to tasks.o(i.vTaskSwitchContext) for vTaskSwitchContext + port.o(.emb_text) refers to tasks.o(.data) for pxCurrentTCB + port.o(i.prvTaskExitError) refers to port.o(.data) for .data + port.o(i.pxPortInitialiseStack) refers to port.o(i.prvTaskExitError) for prvTaskExitError + port.o(i.vPortEndScheduler) refers to port.o(.data) for .data + port.o(i.vPortEnterCritical) refers to port.o(.data) for .data + port.o(i.vPortExitCritical) refers to port.o(.data) for .data + port.o(i.vPortSetupTimerInterrupt) refers to system_stm32h7xx.o(.data) for SystemCoreClock + port.o(i.vPortValidateInterruptPriority) refers to port.o(.emb_text) for vPortGetIPSR + port.o(i.vPortValidateInterruptPriority) refers to port.o(.data) for .data + port.o(i.xPortStartScheduler) refers to port.o(i.vPortSetupTimerInterrupt) for vPortSetupTimerInterrupt + port.o(i.xPortStartScheduler) refers to port.o(.emb_text) for __asm___6_port_c_39a90d8d__prvEnableVFP + port.o(i.xPortStartScheduler) refers to port.o(.data) for .data + port.o(i.xPortSysTickHandler) refers to tasks.o(i.xTaskIncrementTick) for xTaskIncrementTick + usbd_core.o(i.USBD_DeInit) refers to usbd_conf.o(i.USBD_LL_Stop) for USBD_LL_Stop + usbd_core.o(i.USBD_DeInit) refers to usbd_conf.o(i.USBD_LL_DeInit) for USBD_LL_DeInit + usbd_core.o(i.USBD_GetEpDesc) refers to usbd_core.o(i.USBD_GetNextDesc) for USBD_GetNextDesc + usbd_core.o(i.USBD_Init) refers to usbd_conf.o(i.USBD_LL_Init) for USBD_LL_Init + usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_core.o(i.USBD_CoreFindEP) for USBD_CoreFindEP + usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_ioreq.o(i.USBD_CtlContinueSendData) for USBD_CtlContinueSendData + usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive + usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_conf.o(i.USBD_LL_StallEP) for USBD_LL_StallEP + usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_ioreq.o(i.USBD_CtlReceiveStatus) for USBD_CtlReceiveStatus + usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_core.o(i.USBD_RunTestMode) for USBD_RunTestMode + usbd_core.o(i.USBD_LL_DataOutStage) refers to usbd_core.o(i.USBD_CoreFindEP) for USBD_CoreFindEP + usbd_core.o(i.USBD_LL_DataOutStage) refers to usbd_ioreq.o(i.USBD_CtlContinueRx) for USBD_CtlContinueRx + usbd_core.o(i.USBD_LL_DataOutStage) refers to usbd_core.o(i.USBD_CoreFindIF) for USBD_CoreFindIF + usbd_core.o(i.USBD_LL_DataOutStage) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus + usbd_core.o(i.USBD_LL_Reset) refers to usbd_conf.o(i.USBD_LL_OpenEP) for USBD_LL_OpenEP + usbd_core.o(i.USBD_LL_SetupStage) refers to usbd_ctlreq.o(i.USBD_ParseSetupRequest) for USBD_ParseSetupRequest + usbd_core.o(i.USBD_LL_SetupStage) refers to usbd_conf.o(i.USBD_LL_StallEP) for USBD_LL_StallEP + usbd_core.o(i.USBD_LL_SetupStage) refers to usbd_ctlreq.o(i.USBD_StdDevReq) for USBD_StdDevReq + usbd_core.o(i.USBD_LL_SetupStage) refers to usbd_ctlreq.o(i.USBD_StdItfReq) for USBD_StdItfReq + usbd_core.o(i.USBD_LL_SetupStage) refers to usbd_ctlreq.o(i.USBD_StdEPReq) for USBD_StdEPReq + usbd_core.o(i.USBD_Start) refers to usbd_conf.o(i.USBD_LL_Start) for USBD_LL_Start + usbd_core.o(i.USBD_Stop) refers to usbd_conf.o(i.USBD_LL_Stop) for USBD_LL_Stop + usbd_ctlreq.o(i.USBD_ClrFeature) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_ctlreq.o(i.USBD_ClrFeature) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus + usbd_ctlreq.o(i.USBD_CtlError) refers to usbd_conf.o(i.USBD_LL_StallEP) for USBD_LL_StallEP + usbd_ctlreq.o(i.USBD_GetConfig) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_ctlreq.o(i.USBD_GetConfig) refers to usbd_ioreq.o(i.USBD_CtlSendData) for USBD_CtlSendData + usbd_ctlreq.o(i.USBD_GetDescriptor) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_ctlreq.o(i.USBD_GetDescriptor) refers to usbd_ioreq.o(i.USBD_CtlSendData) for USBD_CtlSendData + usbd_ctlreq.o(i.USBD_GetDescriptor) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus + usbd_ctlreq.o(i.USBD_GetStatus) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_ctlreq.o(i.USBD_GetStatus) refers to usbd_ioreq.o(i.USBD_CtlSendData) for USBD_CtlSendData + usbd_ctlreq.o(i.USBD_GetString) refers to usbd_ctlreq.o(i.USBD_GetLen) for USBD_GetLen + usbd_ctlreq.o(i.USBD_ParseSetupRequest) refers to usbd_ctlreq.o(i.SWAPBYTE) for SWAPBYTE + usbd_ctlreq.o(i.USBD_SetAddress) refers to usbd_conf.o(i.USBD_LL_SetUSBAddress) for USBD_LL_SetUSBAddress + usbd_ctlreq.o(i.USBD_SetAddress) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus + usbd_ctlreq.o(i.USBD_SetAddress) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_ctlreq.o(i.USBD_SetConfig) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_ctlreq.o(i.USBD_SetConfig) refers to usbd_core.o(i.USBD_ClrClassConfig) for USBD_ClrClassConfig + usbd_ctlreq.o(i.USBD_SetConfig) refers to usbd_core.o(i.USBD_SetClassConfig) for USBD_SetClassConfig + usbd_ctlreq.o(i.USBD_SetConfig) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus + usbd_ctlreq.o(i.USBD_SetConfig) refers to usbd_ctlreq.o(.data) for .data + usbd_ctlreq.o(i.USBD_SetFeature) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_ctlreq.o(i.USBD_SetFeature) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus + usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_GetDescriptor) for USBD_GetDescriptor + usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_SetAddress) for USBD_SetAddress + usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_SetConfig) for USBD_SetConfig + usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_GetConfig) for USBD_GetConfig + usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_GetStatus) for USBD_GetStatus + usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_SetFeature) for USBD_SetFeature + usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_ClrFeature) for USBD_ClrFeature + usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_core.o(i.USBD_CoreFindEP) for USBD_CoreFindEP + usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_conf.o(i.USBD_LL_StallEP) for USBD_LL_StallEP + usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus + usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_conf.o(i.USBD_LL_ClearStallEP) for USBD_LL_ClearStallEP + usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_ioreq.o(i.USBD_CtlSendData) for USBD_CtlSendData + usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_conf.o(i.USBD_LL_IsStallEP) for USBD_LL_IsStallEP + usbd_ctlreq.o(i.USBD_StdItfReq) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_ctlreq.o(i.USBD_StdItfReq) refers to usbd_core.o(i.USBD_CoreFindIF) for USBD_CoreFindIF + usbd_ctlreq.o(i.USBD_StdItfReq) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus + usbd_ioreq.o(i.USBD_CtlContinueRx) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive + usbd_ioreq.o(i.USBD_CtlContinueSendData) refers to usbd_conf.o(i.USBD_LL_Transmit) for USBD_LL_Transmit + usbd_ioreq.o(i.USBD_CtlPrepareRx) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive + usbd_ioreq.o(i.USBD_CtlReceiveStatus) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive + usbd_ioreq.o(i.USBD_CtlSendData) refers to usbd_conf.o(i.USBD_LL_Transmit) for USBD_LL_Transmit + usbd_ioreq.o(i.USBD_CtlSendStatus) refers to usbd_conf.o(i.USBD_LL_Transmit) for USBD_LL_Transmit + usbd_ioreq.o(i.USBD_GetRxCount) refers to usbd_conf.o(i.USBD_LL_GetRxDataSize) for USBD_LL_GetRxDataSize + usbd_cdc.o(i.USBD_CDC_DataIn) refers to usbd_conf.o(i.USBD_LL_Transmit) for USBD_LL_Transmit + usbd_cdc.o(i.USBD_CDC_DataOut) refers to usbd_conf.o(i.USBD_LL_GetRxDataSize) for USBD_LL_GetRxDataSize + usbd_cdc.o(i.USBD_CDC_DeInit) refers to usbd_conf.o(i.USBD_LL_CloseEP) for USBD_LL_CloseEP + usbd_cdc.o(i.USBD_CDC_DeInit) refers to usbd_conf.o(i.USBD_static_free) for USBD_static_free + usbd_cdc.o(i.USBD_CDC_DeInit) refers to usbd_cdc.o(.data) for .data + usbd_cdc.o(i.USBD_CDC_GetDeviceQualifierDescriptor) refers to usbd_cdc.o(.data) for .data + usbd_cdc.o(i.USBD_CDC_GetFSCfgDesc) refers to usbd_core.o(i.USBD_GetEpDesc) for USBD_GetEpDesc + usbd_cdc.o(i.USBD_CDC_GetFSCfgDesc) refers to usbd_cdc.o(.data) for .data + usbd_cdc.o(i.USBD_CDC_GetHSCfgDesc) refers to usbd_core.o(i.USBD_GetEpDesc) for USBD_GetEpDesc + usbd_cdc.o(i.USBD_CDC_GetHSCfgDesc) refers to usbd_cdc.o(.data) for .data + usbd_cdc.o(i.USBD_CDC_GetOtherSpeedCfgDesc) refers to usbd_core.o(i.USBD_GetEpDesc) for USBD_GetEpDesc + usbd_cdc.o(i.USBD_CDC_GetOtherSpeedCfgDesc) refers to usbd_cdc.o(.data) for .data + usbd_cdc.o(i.USBD_CDC_Init) refers to usbd_conf.o(i.USBD_static_malloc) for USBD_static_malloc + usbd_cdc.o(i.USBD_CDC_Init) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 + usbd_cdc.o(i.USBD_CDC_Init) refers to usbd_conf.o(i.USBD_LL_OpenEP) for USBD_LL_OpenEP + usbd_cdc.o(i.USBD_CDC_Init) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive + usbd_cdc.o(i.USBD_CDC_Init) refers to usbd_cdc.o(.data) for .data + usbd_cdc.o(i.USBD_CDC_ReceivePacket) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive + usbd_cdc.o(i.USBD_CDC_ReceivePacket) refers to usbd_cdc.o(.data) for .data + usbd_cdc.o(i.USBD_CDC_Setup) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError + usbd_cdc.o(i.USBD_CDC_Setup) refers to usbd_ioreq.o(i.USBD_CtlSendData) for USBD_CtlSendData + usbd_cdc.o(i.USBD_CDC_Setup) refers to usbd_ioreq.o(i.USBD_CtlPrepareRx) for USBD_CtlPrepareRx + usbd_cdc.o(i.USBD_CDC_TransmitPacket) refers to usbd_conf.o(i.USBD_LL_Transmit) for USBD_LL_Transmit + usbd_cdc.o(i.USBD_CDC_TransmitPacket) refers to usbd_cdc.o(.data) for .data + usbd_cdc.o(.data) refers to usbd_cdc.o(i.USBD_CDC_Init) for USBD_CDC_Init + usbd_cdc.o(.data) refers to usbd_cdc.o(i.USBD_CDC_DeInit) for USBD_CDC_DeInit + usbd_cdc.o(.data) refers to usbd_cdc.o(i.USBD_CDC_Setup) for USBD_CDC_Setup + usbd_cdc.o(.data) refers to usbd_cdc.o(i.USBD_CDC_EP0_RxReady) for USBD_CDC_EP0_RxReady + usbd_cdc.o(.data) refers to usbd_cdc.o(i.USBD_CDC_DataIn) for USBD_CDC_DataIn + usbd_cdc.o(.data) refers to usbd_cdc.o(i.USBD_CDC_DataOut) for USBD_CDC_DataOut + usbd_cdc.o(.data) refers to usbd_cdc.o(i.USBD_CDC_GetHSCfgDesc) for USBD_CDC_GetHSCfgDesc + usbd_cdc.o(.data) refers to usbd_cdc.o(i.USBD_CDC_GetFSCfgDesc) for USBD_CDC_GetFSCfgDesc + usbd_cdc.o(.data) refers to usbd_cdc.o(i.USBD_CDC_GetOtherSpeedCfgDesc) for USBD_CDC_GetOtherSpeedCfgDesc + usbd_cdc.o(.data) refers to usbd_cdc.o(i.USBD_CDC_GetDeviceQualifierDescriptor) for USBD_CDC_GetDeviceQualifierDescriptor + rt_memcpy_v6.o(.text) refers to rt_memcpy_w.o(.text) for __aeabi_memcpy4 + memset.o(.text) refers to rt_memclr.o(.text) for _memset + aeabi_memset.o(.text) refers to rt_memclr.o(.text) for _memset + rt_memclr.o(.text) refers to rt_memclr_w.o(.text) for _memset_w + __main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry + pow.o(i.__hardfp_pow) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + pow.o(i.__hardfp_pow) refers to dunder.o(i.__mathlib_dbl_infnan2) for __mathlib_dbl_infnan2 + pow.o(i.__hardfp_pow) refers to _rserrno.o(.text) for __set_errno + pow.o(i.__hardfp_pow) refers to dunder.o(i.__mathlib_dbl_divzero) for __mathlib_dbl_divzero + pow.o(i.__hardfp_pow) refers to dunder.o(i.__mathlib_dbl_overflow) for __mathlib_dbl_overflow + pow.o(i.__hardfp_pow) refers to sqrt.o(i.sqrt) for sqrt + pow.o(i.__hardfp_pow) refers to fabs.o(i.fabs) for fabs + pow.o(i.__hardfp_pow) refers to dunder.o(i.__mathlib_dbl_invalid) for __mathlib_dbl_invalid + pow.o(i.__hardfp_pow) refers to dunder.o(i.__mathlib_dbl_underflow) for __mathlib_dbl_underflow + pow.o(i.__hardfp_pow) refers to qnan.o(.constdata) for __mathlib_zero + pow.o(i.__hardfp_pow) refers to poly.o(i.__kernel_poly) for __kernel_poly + pow.o(i.__hardfp_pow) refers to scalbn.o(x$fpl$scalbn) for __ARM_scalbn + pow.o(i.__hardfp_pow) refers to fpclassify.o(i.__ARM_fpclassify) for __ARM_fpclassify + pow.o(i.__hardfp_pow) refers to pow.o(.constdata) for .constdata + pow.o(i.__softfp_pow) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + pow.o(i.__softfp_pow) refers to pow.o(i.__hardfp_pow) for __hardfp_pow + pow.o(i.pow) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + pow.o(i.pow) refers to pow.o(i.__hardfp_pow) for __hardfp_pow + pow.o(.constdata) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + pow_x.o(i.____hardfp_pow$lsc) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + pow_x.o(i.____hardfp_pow$lsc) refers to dunder.o(i.__mathlib_dbl_infnan2) for __mathlib_dbl_infnan2 + pow_x.o(i.____hardfp_pow$lsc) refers to _rserrno.o(.text) for __set_errno + pow_x.o(i.____hardfp_pow$lsc) refers to sqrt.o(i.sqrt) for sqrt + pow_x.o(i.____hardfp_pow$lsc) refers to fabs.o(i.fabs) for fabs + pow_x.o(i.____hardfp_pow$lsc) refers to qnan.o(.constdata) for __mathlib_zero + pow_x.o(i.____hardfp_pow$lsc) refers to poly.o(i.__kernel_poly) for __kernel_poly + pow_x.o(i.____hardfp_pow$lsc) refers to scalbn.o(x$fpl$scalbn) for __ARM_scalbn + pow_x.o(i.____hardfp_pow$lsc) refers to pow_x.o(.constdata) for .constdata + pow_x.o(i.____softfp_pow$lsc) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + pow_x.o(i.____softfp_pow$lsc) refers to pow_x.o(i.____hardfp_pow$lsc) for ____hardfp_pow$lsc + pow_x.o(i.__pow$lsc) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + pow_x.o(i.__pow$lsc) refers to pow_x.o(i.____hardfp_pow$lsc) for ____hardfp_pow$lsc + pow_x.o(.constdata) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) for __rt_entry_postli_1 + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000009) for __rt_entry_postsh_1 + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000002) for __rt_entry_presh_1 + __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for __rt_entry_sh + aeabi_ldiv0_sigfpe.o(.text) refers to rt_div0.o(.text) for __rt_div0 + _rserrno.o(.text) refers to rt_errno_addr_intlibspace.o(.text) for __aeabi_errno_addr + scalbn.o(x$fpl$scalbn) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + scalbn.o(x$fpl$scalbn) refers to dcheck1.o(x$fpl$dcheck1) for __fpl_dcheck_NaN1 + fabs.o(i.__hardfp_fabs) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + fabs.o(i.__softfp_fabs) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + fabs.o(i.fabs) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + fpclassify.o(i.__ARM_fpclassify) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + poly.o(i.__kernel_poly) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + qnan.o(.constdata) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + sqrt.o(i.__hardfp_sqrt) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + sqrt.o(i.__hardfp_sqrt) refers to _rserrno.o(.text) for __set_errno + sqrt.o(i.__softfp_sqrt) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + sqrt.o(i.__softfp_sqrt) refers to _rserrno.o(.text) for __set_errno + sqrt.o(i.sqrt) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + sqrt.o(i.sqrt) refers to _rserrno.o(.text) for __set_errno + sqrt_x.o(i.____hardfp_sqrt$lsc) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + sqrt_x.o(i.____hardfp_sqrt$lsc) refers to _rserrno.o(.text) for __set_errno + sqrt_x.o(i.____softfp_sqrt$lsc) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + sqrt_x.o(i.____softfp_sqrt$lsc) refers to _rserrno.o(.text) for __set_errno + sqrt_x.o(i.__sqrt$lsc) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + sqrt_x.o(i.__sqrt$lsc) refers to _rserrno.o(.text) for __set_errno + __rtentry2.o(.ARM.Collect$$rtentry$$00000008) refers to boardinit2.o(.text) for _platform_post_stackheap_init + __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) refers to libinit.o(.ARM.Collect$$libinit$$00000000) for __rt_lib_init + __rtentry2.o(.ARM.Collect$$rtentry$$0000000B) refers to boardinit3.o(.text) for _platform_post_lib_init + __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to main.o(i.main) for main + __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to exit.o(.text) for exit + __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000001) for .ARM.Collect$$rtentry$$00000001 + __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000008) for .ARM.Collect$$rtentry$$00000008 + __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for .ARM.Collect$$rtentry$$0000000A + __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000B) for .ARM.Collect$$rtentry$$0000000B + __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for .ARM.Collect$$rtentry$$0000000D + __rtentry4.o(.ARM.Collect$$rtentry$$00000004) refers to sys_stackheap_outer.o(.text) for __user_setup_stackheap + __rtentry4.o(.ARM.exidx) refers to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for .ARM.Collect$$rtentry$$00000004 + rt_div0.o(.text) refers to defsig_fpe_outer.o(.text) for __rt_SIGFPE + rt_errno_addr.o(.text) refers to rt_errno_addr.o(.bss) for __aeabi_errno_addr_data + rt_errno_addr_intlibspace.o(.text) refers to libspace.o(.bss) for __libspace_start + dcheck1.o(x$fpl$dcheck1) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + dcheck1.o(x$fpl$dcheck1) refers to retnan.o(x$fpl$retnan) for __fpl_return_NaN + libspace.o(.text) refers to libspace.o(.bss) for __libspace_start + sys_stackheap_outer.o(.text) refers to libspace.o(.text) for __user_perproc_libspace + sys_stackheap_outer.o(.text) refers to startup_stm32h750xx.o(.text) for __user_initial_stackheap + exit.o(.text) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for __rt_exit + defsig_fpe_outer.o(.text) refers to defsig_fpe_inner.o(.text) for __rt_SIGFPE_inner + defsig_fpe_outer.o(.text) refers to defsig_exit.o(.text) for __sig_exit + defsig_fpe_formal.o(.text) refers to rt_raise.o(.text) for __rt_raise + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002E) for __rt_lib_init_alloca_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002C) for __rt_lib_init_argv_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001B) for __rt_lib_init_atexit_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000021) for __rt_lib_init_clock_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000032) for __rt_lib_init_cpp_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000030) for __rt_lib_init_exceptions_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000001) for __rt_lib_init_fp_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001F) for __rt_lib_init_fp_trap_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000023) for __rt_lib_init_getenv_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000A) for __rt_lib_init_heap_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000011) for __rt_lib_init_lc_collate_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000013) for __rt_lib_init_lc_ctype_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000015) for __rt_lib_init_lc_monetary_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000017) for __rt_lib_init_lc_numeric_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000019) for __rt_lib_init_lc_time_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000004) for __rt_lib_init_preinit_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000E) for __rt_lib_init_rand_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000033) for __rt_lib_init_return + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001D) for __rt_lib_init_signal_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000025) for __rt_lib_init_stdio_1 + libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000C) for __rt_lib_init_user_alloc_1 + retnan.o(x$fpl$retnan) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + retnan.o(x$fpl$retnan) refers to trapv.o(x$fpl$trapveneer) for __fpl_cmpreturn + rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit + rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls + rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1 + rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit + rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls + rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1 + rtexit.o(.ARM.exidx) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for .ARM.Collect$$rtexit$$00000000 + rt_raise.o(.text) refers to __raise.o(.text) for __raise + rt_raise.o(.text) refers to sys_exit.o(.text) for _sys_exit + defsig_exit.o(.text) refers to sys_exit.o(.text) for _sys_exit + defsig_fpe_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + libinit2.o(.ARM.Collect$$libinit$$00000001) refers to fpinit.o(x$fpl$fpinit) for _fp_init + libinit2.o(.ARM.Collect$$libinit$$00000010) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F + libinit2.o(.ARM.Collect$$libinit$$00000012) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F + libinit2.o(.ARM.Collect$$libinit$$00000014) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F + libinit2.o(.ARM.Collect$$libinit$$00000016) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F + libinit2.o(.ARM.Collect$$libinit$$00000018) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F + libinit2.o(.ARM.Collect$$libinit$$00000026) refers to argv_veneer.o(.emb_text) for __ARM_argv_veneer + libinit2.o(.ARM.Collect$$libinit$$00000027) refers to argv_veneer.o(.emb_text) for __ARM_argv_veneer + trapv.o(x$fpl$trapveneer) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp + sys_exit.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting + sys_exit.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function + rtexit2.o(.ARM.Collect$$rtexit$$00000003) refers to libshutdown.o(.ARM.Collect$$libshutdown$$00000000) for __rt_lib_shutdown + rtexit2.o(.ARM.Collect$$rtexit$$00000004) refers to sys_exit.o(.text) for _sys_exit + rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000001) for .ARM.Collect$$rtexit$$00000001 + rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for .ARM.Collect$$rtexit$$00000003 + rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for .ARM.Collect$$rtexit$$00000004 + __raise.o(.text) refers to defsig.o(CL$$defsig) for __default_signal_handler + defsig_general.o(.text) refers to sys_wrch.o(.text) for _ttywrch + argv_veneer.o(.emb_text) refers to no_argv.o(.text) for __ARM_get_argv + sys_wrch.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting + sys_wrch.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function + defsig.o(CL$$defsig) refers to defsig_fpe_inner.o(.text) for __rt_SIGFPE_inner + defsig.o(CL$$defsig) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner + _get_argv_nomalloc.o(.text) refers (Special) to hrguard.o(.text) for __heap_region$guard + _get_argv_nomalloc.o(.text) refers to defsig_rtmem_outer.o(.text) for __rt_SIGRTMEM + _get_argv_nomalloc.o(.text) refers to sys_command.o(.text) for _sys_command_string + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) for __rt_lib_shutdown_cpp_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) for __rt_lib_shutdown_fini_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000009) for __rt_lib_shutdown_fp_trap_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000011) for __rt_lib_shutdown_heap_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000012) for __rt_lib_shutdown_return + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) for __rt_lib_shutdown_signal_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000006) for __rt_lib_shutdown_stdio_1 + libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E) for __rt_lib_shutdown_user_alloc_1 + sys_command.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting + sys_command.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function + defsig_abrt_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_rtred_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_rtmem_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_rtmem_outer.o(.text) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner + defsig_rtmem_outer.o(.text) refers to defsig_exit.o(.text) for __sig_exit + defsig_rtmem_formal.o(.text) refers to rt_raise.o(.text) for __rt_raise + defsig_stak_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_pvfn_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_cppl_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_segv_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display + defsig_other.o(.text) refers to defsig_general.o(.text) for __default_signal_display + + +============================================================================== + +Removing Unused input sections from the image. + + Removing communicaion.o(.rev16_text), (4 bytes). + Removing communicaion.o(.revsh_text), (4 bytes). + Removing communicaion.o(.rrx_text), (6 bytes). + Removing communicaion.o(.data), (4 bytes). + Removing main.o(.rev16_text), (4 bytes). + Removing main.o(.revsh_text), (4 bytes). + Removing main.o(.rrx_text), (6 bytes). + Removing main.o(i.CheckMaxV), (312 bytes). + Removing main.o(i.ExitRun0Mode), (2 bytes). + Removing main.o(i.LOWPower), (224 bytes). + Removing main.o(i.fputc), (28 bytes). + Removing main.o(.bss), (16 bytes). + Removing main.o(.bss), (16 bytes). + Removing main.o(.bss), (80 bytes). + Removing main.o(.data), (1 bytes). + Removing main.o(.data), (2 bytes). + Removing main.o(.data), (2 bytes). + Removing main.o(.data), (4 bytes). + Removing freertos.o(.rev16_text), (4 bytes). + Removing freertos.o(.revsh_text), (4 bytes). + Removing freertos.o(.rrx_text), (6 bytes). + Removing usb_device.o(.rev16_text), (4 bytes). + Removing usb_device.o(.revsh_text), (4 bytes). + Removing usb_device.o(.rrx_text), (6 bytes). + Removing usb_device.o(i.MX_USB_DEVICE_Init), (84 bytes). + Removing usb_device.o(.bss), (732 bytes). + Removing usbd_conf.o(.rev16_text), (4 bytes). + Removing usbd_conf.o(.revsh_text), (4 bytes). + Removing usbd_conf.o(.rrx_text), (6 bytes). + Removing usbd_conf.o(i.HAL_PCD_MspDeInit), (56 bytes). + Removing usbd_conf.o(i.HAL_PCD_MspInit), (160 bytes). + Removing usbd_conf.o(i.USBD_LL_CloseEP), (18 bytes). + Removing usbd_conf.o(i.USBD_LL_DeInit), (18 bytes). + Removing usbd_conf.o(i.USBD_LL_Delay), (4 bytes). + Removing usbd_conf.o(i.USBD_LL_FlushEP), (18 bytes). + Removing usbd_conf.o(i.USBD_LL_GetRxDataSize), (8 bytes). + Removing usbd_conf.o(i.USBD_LL_Init), (100 bytes). + Removing usbd_conf.o(i.USBD_LL_Start), (18 bytes). + Removing usbd_conf.o(i.USBD_LL_Stop), (18 bytes). + Removing usbd_conf.o(i.USBD_static_free), (2 bytes). + Removing usbd_conf.o(i.USBD_static_malloc), (8 bytes). + Removing usbd_desc.o(.rev16_text), (4 bytes). + Removing usbd_desc.o(.revsh_text), (4 bytes). + Removing usbd_desc.o(.rrx_text), (6 bytes). + Removing usbd_desc.o(i.Get_SerialNum), (56 bytes). + Removing usbd_desc.o(i.IntToUnicode), (58 bytes). + Removing usbd_desc.o(i.USBD_FS_ConfigStrDescriptor), (48 bytes). + Removing usbd_desc.o(i.USBD_FS_DeviceDescriptor), (12 bytes). + Removing usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor), (52 bytes). + Removing usbd_desc.o(i.USBD_FS_LangIDStrDescriptor), (12 bytes). + Removing usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor), (40 bytes). + Removing usbd_desc.o(i.USBD_FS_ProductStrDescriptor), (60 bytes). + Removing usbd_desc.o(i.USBD_FS_SerialStrDescriptor), (20 bytes). + Removing usbd_desc.o(.bss), (512 bytes). + Removing usbd_desc.o(.data), (32 bytes). + Removing usbd_desc.o(.data), (50 bytes). + Removing usbd_desc.o(.data), (12 bytes). + Removing usbd_cdc_if.o(.rev16_text), (4 bytes). + Removing usbd_cdc_if.o(.revsh_text), (4 bytes). + Removing usbd_cdc_if.o(.rrx_text), (6 bytes). + Removing usbd_cdc_if.o(i.CDC_Control_FS), (8 bytes). + Removing usbd_cdc_if.o(i.CDC_DeInit_FS), (4 bytes). + Removing usbd_cdc_if.o(i.CDC_Init_FS), (36 bytes). + Removing usbd_cdc_if.o(i.CDC_Receive_FS), (24 bytes). + Removing usbd_cdc_if.o(i.CDC_TransmitCplt_FS), (4 bytes). + Removing usbd_cdc_if.o(i.CDC_Transmit_FS), (44 bytes). + Removing usbd_cdc_if.o(.bss), (4096 bytes). + Removing usbd_cdc_if.o(.data), (20 bytes). + Removing stm32h7xx_it.o(.rev16_text), (4 bytes). + Removing stm32h7xx_it.o(.revsh_text), (4 bytes). + Removing stm32h7xx_it.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_msp.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_msp.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_msp.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_msp.o(i.HAL_ADC_MspDeInit), (80 bytes). + Removing stm32h7xx_hal_msp.o(i.HAL_TIM_Base_MspDeInit), (68 bytes). + Removing stm32h7xx_hal_msp.o(i.HAL_UART_MspDeInit), (64 bytes). + Removing stm32h7xx_hal_timebase_tim.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_timebase_tim.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_timebase_tim.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_timebase_tim.o(i.HAL_ResumeTick), (20 bytes). + Removing stm32h7xx_hal_timebase_tim.o(i.HAL_SuspendTick), (20 bytes). + Removing system_stm32h7xx.o(.rev16_text), (4 bytes). + Removing system_stm32h7xx.o(.revsh_text), (4 bytes). + Removing system_stm32h7xx.o(.rrx_text), (6 bytes). + Removing system_stm32h7xx.o(i.SystemCoreClockUpdate), (444 bytes). + Removing stm32h7xx_hal_tim.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_tim.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_tim.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Base_DeInit), (76 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Base_GetState), (6 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Base_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Base_MspInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Start), (140 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Start_DMA), (220 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Stop), (38 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Stop_DMA), (58 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Stop_IT), (48 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigOCrefClear), (302 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigTI1Input), (16 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurstState), (6 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiReadStart), (452 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_MultiWriteStart), (452 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_ReadStart), (18 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_ReadStop), (134 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_WriteStart), (18 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_DMABurst_WriteStop), (134 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_DeInit), (64 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_GetState), (6 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Init), (184 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_MspInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Start), (168 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Start_DMA), (496 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Start_IT), (208 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Stop), (190 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Stop_DMA), (254 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_Encoder_Stop_IT), (230 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_ErrorCallback), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_GenerateEvent), (38 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_GetActiveChannel), (4 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_GetChannelState), (56 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_CaptureHalfCpltCallback), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_ConfigChannel), (192 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_DeInit), (76 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_GetState), (6 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Init), (78 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_MspInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Start), (324 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Start_DMA), (568 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Start_IT), (392 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Stop), (134 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Stop_DMA), (228 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_IC_Stop_IT), (206 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel), (110 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_DeInit), (76 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_GetState), (6 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Init), (78 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_MspInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Start), (296 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Start_DMA), (588 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Start_IT), (360 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Stop), (176 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Stop_DMA), (272 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OC_Stop_IT), (248 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_ConfigChannel), (272 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_DeInit), (64 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_GetState), (6 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Init), (90 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_MspInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Start), (140 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Start_IT), (160 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Stop), (140 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_OnePulse_Stop_IT), (160 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_DeInit), (76 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_GetState), (6 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedHalfCpltCallback), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start_DMA), (588 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start_IT), (360 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop_DMA), (272 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop_IT), (248 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_PeriodElapsedCallback), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_PeriodElapsedHalfCpltCallback), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_ReadCapturedValue), (44 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_SlaveConfigSynchro), (80 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_SlaveConfigSynchro_IT), (80 bytes). + Removing stm32h7xx_hal_tim.o(i.HAL_TIM_TriggerHalfCpltCallback), (2 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_DMACaptureCplt), (110 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_DMACaptureHalfCplt), (62 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseCplt), (94 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_DMADelayPulseHalfCplt), (62 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_DMAError), (84 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_DMAPeriodElapsedCplt), (24 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_DMAPeriodElapsedHalfCplt), (10 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_DMATriggerCplt), (24 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_DMATriggerHalfCplt), (10 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_SlaveTimer_SetConfig), (228 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_TI1_SetConfig), (128 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_TI2_SetConfig), (54 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_TI3_SetConfig), (50 bytes). + Removing stm32h7xx_hal_tim.o(i.TIM_TI4_SetConfig), (56 bytes). + Removing stm32h7xx_hal_tim_ex.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_tim_ex.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_tim_ex.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_CommutHalfCpltCallback), (2 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigBreakInput), (204 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigCommutEvent), (128 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigCommutEvent_DMA), (160 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigCommutEvent_IT), (128 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_GetChannelNState), (36 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_GroupChannel5), (56 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_DeInit), (64 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_GetState), (6 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Init), (220 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_MspInit), (2 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Start), (184 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Start_DMA), (252 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Start_IT), (196 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Stop), (58 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Stop_DMA), (70 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_HallSensor_Stop_IT), (68 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Start), (220 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Start_DMA), (448 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Start_IT), (284 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Stop), (106 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Stop_DMA), (180 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OCN_Stop_IT), (178 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Start), (98 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Start_IT), (118 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Stop), (100 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_OnePulseN_Stop_IT), (120 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Start), (220 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Start_DMA), (448 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Start_IT), (284 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Stop), (106 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Stop_DMA), (180 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_PWMN_Stop_IT), (178 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_RemapConfig), (40 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_TISelection), (104 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.TIMEx_DMACommutationCplt), (16 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.TIMEx_DMACommutationHalfCplt), (16 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.TIM_CCxNChannelCmd), (26 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.TIM_DMADelayPulseNCplt), (74 bytes). + Removing stm32h7xx_hal_tim_ex.o(i.TIM_DMAErrorCCxN), (62 bytes). + Removing stm32h7xx_hal_pcd.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_pcd.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_pcd.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_ActivateRemoteWakeup), (6 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_ConnectCallback), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_DataInStageCallback), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_DataOutStageCallback), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_DeActivateRemoteWakeup), (6 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_DeInit), (44 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_DevConnect), (60 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_DevDisconnect), (60 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_DisconnectCallback), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Close), (72 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Flush), (52 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_GetRxCount), (18 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_GetState), (6 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_ISOINIncompleteCallback), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_ISOOUTIncompleteCallback), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_Init), (216 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_MspInit), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_ResetCallback), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_ResumeCallback), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_SOFCallback), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_SetTestMode), (40 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_SetupStageCallback), (2 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_Start), (66 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_Stop), (74 bytes). + Removing stm32h7xx_hal_pcd.o(i.HAL_PCD_SuspendCallback), (2 bytes). + Removing stm32h7xx_hal_pcd_ex.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_pcd_ex.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_pcd_ex.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_ActivateBCD), (44 bytes). + Removing stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_ActivateLPM), (40 bytes). + Removing stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_BCD_Callback), (2 bytes). + Removing stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_BCD_VBUSDetect), (176 bytes). + Removing stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_DeActivateBCD), (36 bytes). + Removing stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_DeActivateLPM), (32 bytes). + Removing stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_SetRxFiFo), (8 bytes). + Removing stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_SetTxFiFo), (66 bytes). + Removing stm32h7xx_ll_usb.o(.rev16_text), (4 bytes). + Removing stm32h7xx_ll_usb.o(.revsh_text), (4 bytes). + Removing stm32h7xx_ll_usb.o(.rrx_text), (6 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_ActivateDedicatedEndpoint), (144 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_ActivateRemoteWakeup), (24 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_ClearInterrupts), (8 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_CoreInit), (156 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_CoreReset), (68 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_DeActivateRemoteWakeup), (16 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_DeactivateDedicatedEndpoint), (150 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_DeactivateEndpoint), (200 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_DevConnect), (28 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_DevDisconnect), (28 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_DevInit), (364 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_DisableGlobalInt), (12 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_DoPing), (32 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_DriveVbus), (58 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_EnableGlobalInt), (12 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_FlushRxFifo), (64 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_GetCurrentFrame), (8 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_GetHostSpeed), (16 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_HC_Halt), (246 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_HC_Init), (288 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_HC_ReadInterrupt), (8 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_HC_StartXfer), (642 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_HostInit), (196 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_InitFSLSPClkSel), (60 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_ReadChInterrupts), (16 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_ResetPort), (52 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_SetCurrentMode), (96 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_SetDevSpeed), (14 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_StopDevice), (66 bytes). + Removing stm32h7xx_ll_usb.o(i.USB_StopHost), (146 bytes). + Removing stm32h7xx_hal_rcc.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_rcc.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_rcc.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_rcc.o(i.HAL_RCC_CSSCallback), (2 bytes). + Removing stm32h7xx_hal_rcc.o(i.HAL_RCC_DeInit), (480 bytes). + Removing stm32h7xx_hal_rcc.o(i.HAL_RCC_DisableCSS), (16 bytes). + Removing stm32h7xx_hal_rcc.o(i.HAL_RCC_EnableCSS), (16 bytes). + Removing stm32h7xx_hal_rcc.o(i.HAL_RCC_GetOscConfig), (324 bytes). + Removing stm32h7xx_hal_rcc.o(i.HAL_RCC_MCOConfig), (144 bytes). + Removing stm32h7xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler), (32 bytes). + Removing stm32h7xx_hal_rcc_ex.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_rcc_ex.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_rcc_ex.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRSConfig), (108 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRSGetSynchronizationInfo), (44 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRSSoftwareSynchronizationGenerate), (16 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRSWaitSynchronization), (136 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_ErrorCallback), (2 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_ExpectedSyncCallback), (2 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_IRQHandler), (120 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_SyncOkCallback), (2 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_CRS_SyncWarnCallback), (2 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_DisableLSECSS), (28 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_EnableLSECSS), (16 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_EnableLSECSS_IT), (52 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD1PCLK1Freq), (36 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD1SysClockFreq), (68 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKConfig), (468 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_KerWakeUpStopCLKConfig), (20 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_LSECSS_Callback), (2 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_LSECSS_IRQHandler), (32 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_WWDGxSysResetConfig), (16 bytes). + Removing stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_WakeUpStopCLKConfig), (20 bytes). + Removing stm32h7xx_hal_flash.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_flash.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_flash.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_flash.o(i.FLASH_CRC_WaitForLastOperation), (112 bytes). + Removing stm32h7xx_hal_flash.o(i.FLASH_OB_WaitForLastOperation), (80 bytes). + Removing stm32h7xx_hal_flash.o(i.FLASH_WaitForLastOperation), (120 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_EndOfOperationCallback), (2 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_GetError), (12 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_IRQHandler), (216 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_Lock), (28 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_OB_Launch), (52 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_OB_Lock), (28 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_OB_Unlock), (44 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_OperationErrorCallback), (2 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_Program), (148 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_Program_IT), (132 bytes). + Removing stm32h7xx_hal_flash.o(i.HAL_FLASH_Unlock), (44 bytes). + Removing stm32h7xx_hal_flash.o(.bss), (28 bytes). + Removing stm32h7xx_hal_flash_ex.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_flash_ex.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_flash_ex.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_CRC_AddSector), (32 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_CRC_SelectAddress), (16 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_Erase_Sector), (36 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_MassErase), (36 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_BOR_LevelConfig), (20 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_BootAddConfig), (40 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP), (20 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP), (20 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetBOR), (16 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetBootAdd), (20 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetPCROP), (48 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetRDP), (32 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetSecureArea), (48 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetUser), (16 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_GetWRP), (36 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_PCROPConfig), (28 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_RDPConfig), (20 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_SecureAreaConfig), (32 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.FLASH_OB_UserConfig), (132 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_ComputeCRC), (176 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase), (208 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT), (148 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Lock_Bank1), (20 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig), (98 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram), (176 bytes). + Removing stm32h7xx_hal_flash_ex.o(i.HAL_FLASHEx_Unlock_Bank1), (44 bytes). + Removing stm32h7xx_hal_gpio.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_gpio.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_gpio.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_gpio.o(i.HAL_GPIO_DeInit), (328 bytes). + Removing stm32h7xx_hal_gpio.o(i.HAL_GPIO_EXTI_Callback), (2 bytes). + Removing stm32h7xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler), (24 bytes). + Removing stm32h7xx_hal_gpio.o(i.HAL_GPIO_LockPin), (36 bytes). + Removing stm32h7xx_hal_gpio.o(i.HAL_GPIO_ReadPin), (14 bytes). + Removing stm32h7xx_hal_gpio.o(i.HAL_GPIO_TogglePin), (16 bytes). + Removing stm32h7xx_hal_hsem.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_hsem.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_hsem.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_ActivateNotification), (16 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_DeactivateNotification), (16 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_FastTake), (32 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_FreeCallback), (2 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_GetClearKey), (12 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_IRQHandler), (32 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_IsSemTaken), (20 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_Release), (20 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_ReleaseAll), (16 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_SetClearKey), (16 bytes). + Removing stm32h7xx_hal_hsem.o(i.HAL_HSEM_Take), (40 bytes). + Removing stm32h7xx_hal_dma.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_dma.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_dma.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_dma.o(i.HAL_DMA_DeInit), (504 bytes). + Removing stm32h7xx_hal_dma.o(i.HAL_DMA_GetError), (4 bytes). + Removing stm32h7xx_hal_dma.o(i.HAL_DMA_GetState), (6 bytes). + Removing stm32h7xx_hal_dma.o(i.HAL_DMA_PollForTransfer), (1160 bytes). + Removing stm32h7xx_hal_dma.o(i.HAL_DMA_RegisterCallback), (92 bytes). + Removing stm32h7xx_hal_dma.o(i.HAL_DMA_UnRegisterCallback), (108 bytes). + Removing stm32h7xx_hal_dma_ex.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_dma_ex.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_dma_ex.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_dma_ex.o(i.DMA_MultiBufferSetConfig), (192 bytes). + Removing stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_ChangeMemory), (156 bytes). + Removing stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_ConfigMuxRequestGenerator), (204 bytes). + Removing stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_DisableMuxRequestGenerator), (28 bytes). + Removing stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_EnableMuxRequestGenerator), (28 bytes). + Removing stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_MultiBufferStart), (604 bytes). + Removing stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_MultiBufferStart_IT), (1008 bytes). + Removing stm32h7xx_hal_mdma.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_mdma.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_mdma.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_Abort), (118 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_Abort_IT), (44 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_ConfigPostRequestMask), (94 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_DeInit), (86 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_GenerateSWRequest), (60 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_GetError), (4 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_GetState), (6 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_IRQHandler), (392 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_Init), (96 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_LinkedList_AddNode), (214 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_LinkedList_CreateNode), (258 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_LinkedList_DisableCircularMode), (76 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_LinkedList_EnableCircularMode), (76 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_LinkedList_RemoveNode), (196 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_PollForTransfer), (266 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_RegisterCallback), (88 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_Start), (108 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_Start_IT), (160 bytes). + Removing stm32h7xx_hal_mdma.o(i.HAL_MDMA_UnRegisterCallback), (108 bytes). + Removing stm32h7xx_hal_mdma.o(i.MDMA_Init), (180 bytes). + Removing stm32h7xx_hal_mdma.o(i.MDMA_SetConfig), (116 bytes). + Removing stm32h7xx_hal_pwr.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_pwr.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_pwr.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_ConfigPVD), (132 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_DeInit), (2 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_DisableBkUpAccess), (16 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_DisablePVD), (16 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_DisableSEVOnPend), (16 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_DisableSleepOnExit), (16 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_DisableWakeUpPin), (20 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_EnableBkUpAccess), (16 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_EnablePVD), (16 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_EnableSEVOnPend), (16 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_EnableSleepOnExit), (16 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_EnableWakeUpPin), (24 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_EnterSLEEPMode), (28 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_EnterSTANDBYMode), (48 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_EnterSTOPMode), (80 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_PVDCallback), (2 bytes). + Removing stm32h7xx_hal_pwr.o(i.HAL_PWR_PVD_IRQHandler), (32 bytes). + Removing stm32h7xx_hal_pwr_ex.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_pwr_ex.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_pwr_ex.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_AVDCallback), (2 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ClearPendingEvent), (4 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ClearWakeupFlag), (28 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ConfigAVD), (128 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ConfigD3Domain), (20 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ControlStopModeVoltageScaling), (20 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ControlVoltageScaling), (232 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_DisableAVD), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_DisableBatteryCharging), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_DisableBkUpReg), (56 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_DisableFlashPowerDown), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_DisableMonitoring), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_DisableUSBReg), (56 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_DisableUSBVoltageDetector), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_DisableWakeUpPin), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableAVD), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableBatteryCharging), (28 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableBkUpReg), (56 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableFlashPowerDown), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableMonitoring), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableUSBReg), (56 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableUSBVoltageDetector), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnableWakeUpPin), (124 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnterSTANDBYMode), (60 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_EnterSTOPMode), (100 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_GetStopModeVoltageRange), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_GetSupplyConfig), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_GetTemperatureLevel), (32 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_GetVBATLevel), (32 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_GetVoltageRange), (16 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_GetWakeupFlag), (12 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_PVD_AVD_IRQHandler), (96 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WAKEUP_PIN_IRQHandler), (128 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP1_Callback), (2 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP2_Callback), (2 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP3_Callback), (2 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP4_Callback), (2 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP5_Callback), (2 bytes). + Removing stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_WKUP6_Callback), (2 bytes). + Removing stm32h7xx_hal_cortex.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_cortex.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_cortex.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_GetCurrentCPUID), (4 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_MPU_ConfigRegion), (84 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_MPU_Disable), (28 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_MPU_DisableRegion), (24 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_MPU_Enable), (36 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_MPU_EnableRegion), (24 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_NVIC_ClearPendingIRQ), (26 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_NVIC_DisableIRQ), (34 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_NVIC_GetActive), (40 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_NVIC_GetPendingIRQ), (40 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_NVIC_GetPriority), (86 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_NVIC_GetPriorityGrouping), (16 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPendingIRQ), (26 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_NVIC_SystemReset), (36 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig), (28 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_SYSTICK_Callback), (2 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_SYSTICK_Config), (40 bytes). + Removing stm32h7xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler), (8 bytes). + Removing stm32h7xx_hal.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal.o(i.HAL_DBGMCU_DisableDBGSleepMode), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_DBGMCU_DisableDBGStandbyMode), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_DBGMCU_DisableDBGStopMode), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_DBGMCU_EnableDBGSleepMode), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_DBGMCU_EnableDBGStandbyMode), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_DBGMCU_EnableDBGStopMode), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_DeInit), (116 bytes). + Removing stm32h7xx_hal.o(i.HAL_Delay), (36 bytes). + Removing stm32h7xx_hal.o(i.HAL_DisableCompensationCell), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_EXTI_D1_ClearFlag), (22 bytes). + Removing stm32h7xx_hal.o(i.HAL_EXTI_D1_EventInputConfig), (80 bytes). + Removing stm32h7xx_hal.o(i.HAL_EXTI_D3_EventInputConfig), (76 bytes). + Removing stm32h7xx_hal.o(i.HAL_EXTI_EdgeConfig), (52 bytes). + Removing stm32h7xx_hal.o(i.HAL_EXTI_GenerateSWInterrupt), (24 bytes). + Removing stm32h7xx_hal.o(i.HAL_EnableCompensationCell), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_GetDEVID), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_GetFMCMemorySwappingConfig), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_GetHalVersion), (8 bytes). + Removing stm32h7xx_hal.o(i.HAL_GetTickFreq), (12 bytes). + Removing stm32h7xx_hal.o(i.HAL_GetTickPrio), (12 bytes). + Removing stm32h7xx_hal.o(i.HAL_GetUIDw0), (12 bytes). + Removing stm32h7xx_hal.o(i.HAL_GetUIDw1), (12 bytes). + Removing stm32h7xx_hal.o(i.HAL_GetUIDw2), (12 bytes). + Removing stm32h7xx_hal.o(i.HAL_InitTick), (76 bytes). + Removing stm32h7xx_hal.o(i.HAL_MspDeInit), (2 bytes). + Removing stm32h7xx_hal.o(i.HAL_MspInit), (2 bytes). + Removing stm32h7xx_hal.o(i.HAL_ResumeTick), (14 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_CM7BootAddConfig), (40 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_CompensationCodeConfig), (24 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_CompensationCodeSelect), (20 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_DisableBOOST), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_DisableIOSpeedOptimize), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_DisableVREFBUF), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_ETHInterfaceSelect), (20 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_EnableBOOST), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_EnableIOSpeedOptimize), (16 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_EnableVREFBUF), (48 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_VREFBUF_HighImpedanceConfig), (20 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_VREFBUF_TrimmingConfig), (20 bytes). + Removing stm32h7xx_hal.o(i.HAL_SYSCFG_VREFBUF_VoltageScalingConfig), (20 bytes). + Removing stm32h7xx_hal.o(i.HAL_SetFMCMemorySwappingConfig), (20 bytes). + Removing stm32h7xx_hal.o(i.HAL_SetTickFreq), (36 bytes). + Removing stm32h7xx_hal.o(i.HAL_SuspendTick), (14 bytes). + Removing stm32h7xx_hal_i2c.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_i2c.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_i2c.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_AbortCpltCallback), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_AddrCallback), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_DeInit), (50 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_DisableListen_IT), (52 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_ER_IRQHandler), (104 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_EV_IRQHandler), (16 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_EnableListen_IT), (40 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_ErrorCallback), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_GetError), (4 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_GetMode), (6 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_GetState), (6 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Init), (204 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_IsDeviceReady), (340 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_ListenCpltCallback), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_MasterRxCpltCallback), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_MasterTxCpltCallback), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Abort_IT), (128 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive), (332 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_DMA), (304 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Receive_IT), (140 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_DMA), (332 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Receive_IT), (164 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_DMA), (420 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Seq_Transmit_IT), (236 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit), (364 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_DMA), (336 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_IT), (180 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_MemRxCpltCallback), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_MemTxCpltCallback), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read), (384 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_DMA), (288 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Read_IT), (160 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write), (372 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_DMA), (288 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Mem_Write_IT), (160 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_MspInit), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_SlaveRxCpltCallback), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_SlaveTxCpltCallback), (2 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive), (354 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive_DMA), (224 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Receive_IT), (96 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_DMA), (396 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Receive_IT), (216 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_DMA), (396 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Seq_Transmit_IT), (216 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit), (462 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit_DMA), (284 bytes). + Removing stm32h7xx_hal_i2c.o(i.HAL_I2C_Slave_Transmit_IT), (132 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_ConvertOtherXferOptions), (28 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_DMAAbort), (22 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_DMAError), (352 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_DMAMasterReceiveCplt), (94 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_DMAMasterTransmitCplt), (94 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_DMASlaveReceiveCplt), (172 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_DMASlaveTransmitCplt), (30 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_Disable_IRQ), (90 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_Enable_IRQ), (132 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_Flush_TXDR), (34 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_ITAddrCplt), (164 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_ITError), (304 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_ITListenCplt), (100 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_ITMasterCplt), (260 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_ITMasterSeqCplt), (80 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_ITSlaveCplt), (736 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_ITSlaveSeqCplt), (116 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_IsErrorOccurred), (260 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_DMA), (296 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_Master_ISR_IT), (352 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_DMA), (392 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_Mem_ISR_IT), (380 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_RequestMemoryRead), (116 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_RequestMemoryWrite), (116 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_DMA), (576 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_Slave_ISR_IT), (292 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_TransferConfig), (48 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_TreatErrorCallback), (42 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout), (122 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_WaitOnRXNEFlagUntilTimeout), (168 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_WaitOnSTOPFlagUntilTimeout), (86 bytes). + Removing stm32h7xx_hal_i2c.o(i.I2C_WaitOnTXISFlagUntilTimeout), (90 bytes). + Removing stm32h7xx_hal_i2c_ex.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_i2c_ex.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_i2c_ex.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_i2c_ex.o(i.HAL_I2CEx_ConfigAnalogFilter), (90 bytes). + Removing stm32h7xx_hal_i2c_ex.o(i.HAL_I2CEx_ConfigDigitalFilter), (86 bytes). + Removing stm32h7xx_hal_i2c_ex.o(i.HAL_I2CEx_DisableFastModePlus), (40 bytes). + Removing stm32h7xx_hal_i2c_ex.o(i.HAL_I2CEx_DisableWakeUp), (82 bytes). + Removing stm32h7xx_hal_i2c_ex.o(i.HAL_I2CEx_EnableFastModePlus), (40 bytes). + Removing stm32h7xx_hal_i2c_ex.o(i.HAL_I2CEx_EnableWakeUp), (82 bytes). + Removing stm32h7xx_hal_exti.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_exti.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_exti.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_exti.o(i.HAL_EXTI_ClearConfigLine), (204 bytes). + Removing stm32h7xx_hal_exti.o(i.HAL_EXTI_ClearPending), (28 bytes). + Removing stm32h7xx_hal_exti.o(i.HAL_EXTI_GenerateSWI), (28 bytes). + Removing stm32h7xx_hal_exti.o(i.HAL_EXTI_GetConfigLine), (240 bytes). + Removing stm32h7xx_hal_exti.o(i.HAL_EXTI_GetHandle), (14 bytes). + Removing stm32h7xx_hal_exti.o(i.HAL_EXTI_GetPending), (32 bytes). + Removing stm32h7xx_hal_exti.o(i.HAL_EXTI_IRQHandler), (44 bytes). + Removing stm32h7xx_hal_exti.o(i.HAL_EXTI_RegisterCallback), (22 bytes). + Removing stm32h7xx_hal_exti.o(i.HAL_EXTI_SetConfigLine), (276 bytes). + Removing stm32h7xx_hal_adc.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_adc.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_adc.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_AnalogWDGConfig), (944 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_ConvCpltCallback), (2 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_ConvHalfCpltCallback), (2 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_DeInit), (476 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_GetError), (4 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_GetState), (4 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_GetValue), (6 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_IRQHandler), (680 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_LevelOutOfWindowCallback), (2 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_MspInit), (2 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_PollForConversion), (312 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_PollForEvent), (222 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_Start), (260 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_Start_IT), (408 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_Stop), (62 bytes). + Removing stm32h7xx_hal_adc.o(i.HAL_ADC_Stop_IT), (72 bytes). + Removing stm32h7xx_hal_adc.o(i.LL_ADC_SetAnalogWDMonitChannels), (44 bytes). + Removing stm32h7xx_hal_adc_ex.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_adc_ex.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_adc_ex.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_Calibration_GetValue), (22 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_Calibration_SetValue), (126 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_DisableInjectedQueue), (48 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_DisableVoltageRegulator), (36 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_EnableInjectedQueue), (48 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_EndOfSamplingCallback), (2 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_EnterADCDeepPowerDownMode), (40 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedConfigChannel), (1580 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedConvCpltCallback), (2 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedGetValue), (46 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedPollForConversion), (280 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedQueueOverflowCallback), (2 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStart), (260 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStart_IT), (320 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStop), (88 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_InjectedStop_IT), (98 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LevelOutOfWindow2Callback), (2 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LevelOutOfWindow3Callback), (2 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_FactorLoad), (92 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_GetValue), (156 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_LinearCalibration_SetValue), (256 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeConfigChannel), (296 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeGetValue), (40 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStart_DMA), (308 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_MultiModeStop_DMA), (256 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularMultiModeStop_DMA), (276 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop), (96 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop_DMA), (144 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_RegularStop_IT), (106 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.LL_ADC_GetOffsetChannel), (12 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.LL_ADC_INJ_IsConversionOngoing), (8 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.LL_ADC_IsEnabled), (8 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.LL_ADC_REG_IsConversionOngoing), (8 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.LL_ADC_SetCalibrationLinearFactor), (48 bytes). + Removing stm32h7xx_hal_adc_ex.o(i.LL_ADC_SetOffset), (24 bytes). + Removing stm32h7xx_hal_uart.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_uart.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_uart.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_HalfDuplex_EnableReceiver), (74 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_HalfDuplex_EnableTransmitter), (74 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_HalfDuplex_Init), (122 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_LIN_Init), (154 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_LIN_SendBreak), (46 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_MultiProcessor_DisableMuteMode), (52 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_MultiProcessor_EnableMuteMode), (52 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_MultiProcessor_EnterMuteMode), (12 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_MultiProcessor_Init), (146 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback), (2 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_Abort), (268 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_AbortCpltCallback), (2 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_AbortReceive), (176 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_AbortReceiveCpltCallback), (2 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_AbortReceive_IT), (204 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_AbortTransmit), (140 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback), (2 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT), (160 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_Abort_IT), (300 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_DMAPause), (116 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_DMAResume), (108 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_DMAStop), (158 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_DeInit), (66 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_DisableReceiverTimeout), (72 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_EnableReceiverTimeout), (72 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_GetError), (6 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_MspDeInit), (2 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_MspInit), (2 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_Receive), (240 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_Receive_DMA), (72 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_Receive_IT), (72 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_ReceiverTimeout_Config), (24 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_Transmit_DMA), (144 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_Transmit_IT), (152 bytes). + Removing stm32h7xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback), (2 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_DMARxAbortCallback), (68 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback), (40 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_DMATransmitCplt), (66 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_DMATxAbortCallback), (78 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_DMATxHalfCplt), (10 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback), (40 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT), (200 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_RxISR_16BIT_FIFOEN), (408 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT), (200 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_RxISR_8BIT_FIFOEN), (408 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_Start_Receive_IT), (292 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_TxISR_16BIT), (82 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_TxISR_16BIT_FIFOEN), (104 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_TxISR_8BIT), (78 bytes). + Removing stm32h7xx_hal_uart.o(i.UART_TxISR_8BIT_FIFOEN), (100 bytes). + Removing stm32h7xx_hal_uart_ex.o(.rev16_text), (4 bytes). + Removing stm32h7xx_hal_uart_ex.o(.revsh_text), (4 bytes). + Removing stm32h7xx_hal_uart_ex.o(.rrx_text), (6 bytes). + Removing stm32h7xx_hal_uart_ex.o(i.HAL_MultiProcessorEx_AddressLength_Set), (50 bytes). + Removing stm32h7xx_hal_uart_ex.o(i.HAL_RS485Ex_Init), (148 bytes). + Removing stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_DisableStopMode), (46 bytes). + Removing stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_EnableFifoMode), (72 bytes). + Removing stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_EnableStopMode), (46 bytes). + Removing stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_GetRxEventType), (4 bytes). + Removing stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_ReceiveToIdle), (318 bytes). + Removing stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_ReceiveToIdle_IT), (78 bytes). + Removing stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_StopModeWakeUpSourceConfig), (130 bytes). + Removing stm32h7xx_hal_uart_ex.o(i.UARTEx_Wakeup_AddressConfig), (34 bytes). + Removing event_groups.o(i.prvTestWaitCondition), (24 bytes). + Removing event_groups.o(i.uxEventGroupGetNumber), (12 bytes). + Removing event_groups.o(i.vEventGroupClearBitsCallback), (4 bytes). + Removing event_groups.o(i.vEventGroupDelete), (74 bytes). + Removing event_groups.o(i.vEventGroupSetBitsCallback), (4 bytes). + Removing event_groups.o(i.vEventGroupSetNumber), (4 bytes). + Removing event_groups.o(i.xEventGroupClearBits), (66 bytes). + Removing event_groups.o(i.xEventGroupClearBitsFromISR), (16 bytes). + Removing event_groups.o(i.xEventGroupCreate), (28 bytes). + Removing event_groups.o(i.xEventGroupCreateStatic), (46 bytes). + Removing event_groups.o(i.xEventGroupGetBitsFromISR), (26 bytes). + Removing event_groups.o(i.xEventGroupSetBits), (160 bytes). + Removing event_groups.o(i.xEventGroupSetBitsFromISR), (16 bytes). + Removing event_groups.o(i.xEventGroupSync), (200 bytes). + Removing event_groups.o(i.xEventGroupWaitBits), (264 bytes). + Removing queue.o(i.pcQueueGetName), (40 bytes). + Removing queue.o(i.prvInitialiseMutex), (24 bytes). + Removing queue.o(i.ucQueueGetQueueType), (6 bytes). + Removing queue.o(i.uxQueueGetQueueNumber), (4 bytes). + Removing queue.o(i.uxQueueMessagesWaiting), (38 bytes). + Removing queue.o(i.uxQueueMessagesWaitingFromISR), (24 bytes). + Removing queue.o(i.uxQueueSpacesAvailable), (42 bytes). + Removing queue.o(i.vQueueSetQueueNumber), (4 bytes). + Removing queue.o(i.xQueueCreateMutex), (24 bytes). + Removing queue.o(i.xQueueCreateMutexStatic), (28 bytes). + Removing queue.o(i.xQueueGetMutexHolder), (26 bytes). + Removing queue.o(i.xQueueGetMutexHolderFromISR), (32 bytes). + Removing queue.o(i.xQueueGiveMutexRecursive), (64 bytes). + Removing queue.o(i.xQueueIsQueueEmptyFromISR), (32 bytes). + Removing queue.o(i.xQueueIsQueueFullFromISR), (36 bytes). + Removing queue.o(i.xQueuePeek), (316 bytes). + Removing queue.o(i.xQueuePeekFromISR), (124 bytes). + Removing queue.o(i.xQueueTakeMutexRecursive), (66 bytes). + Removing stream_buffer.o(i.prvBytesInBuffer), (18 bytes). + Removing stream_buffer.o(i.prvInitialiseNewStreamBuffer), (68 bytes). + Removing stream_buffer.o(i.prvReadBytesFromBuffer), (142 bytes). + Removing stream_buffer.o(i.prvReadMessageFromBuffer), (66 bytes). + Removing stream_buffer.o(i.prvWriteBytesToBuffer), (132 bytes). + Removing stream_buffer.o(i.prvWriteMessageToBuffer), (76 bytes). + Removing stream_buffer.o(i.ucStreamBufferGetStreamBufferType), (8 bytes). + Removing stream_buffer.o(i.uxStreamBufferGetStreamBufferNumber), (4 bytes). + Removing stream_buffer.o(i.vStreamBufferDelete), (36 bytes). + Removing stream_buffer.o(i.vStreamBufferSetStreamBufferNumber), (4 bytes). + Removing stream_buffer.o(i.xStreamBufferBytesAvailable), (24 bytes). + Removing stream_buffer.o(i.xStreamBufferGenericCreate), (110 bytes). + Removing stream_buffer.o(i.xStreamBufferGenericCreateStatic), (130 bytes). + Removing stream_buffer.o(i.xStreamBufferIsEmpty), (36 bytes). + Removing stream_buffer.o(i.xStreamBufferIsFull), (50 bytes). + Removing stream_buffer.o(i.xStreamBufferNextMessageLengthBytes), (86 bytes). + Removing stream_buffer.o(i.xStreamBufferReceive), (224 bytes). + Removing stream_buffer.o(i.xStreamBufferReceiveCompletedFromISR), (76 bytes). + Removing stream_buffer.o(i.xStreamBufferReceiveFromISR), (146 bytes). + Removing stream_buffer.o(i.xStreamBufferReset), (70 bytes). + Removing stream_buffer.o(i.xStreamBufferSend), (260 bytes). + Removing stream_buffer.o(i.xStreamBufferSendCompletedFromISR), (76 bytes). + Removing stream_buffer.o(i.xStreamBufferSendFromISR), (152 bytes). + Removing stream_buffer.o(i.xStreamBufferSetTriggerLevel), (42 bytes). + Removing stream_buffer.o(i.xStreamBufferSpacesAvailable), (40 bytes). + Removing tasks.o(i.eTaskGetState), (124 bytes). + Removing tasks.o(i.pcTaskGetName), (36 bytes). + Removing tasks.o(i.prvListTasksWithinSingleList), (92 bytes). + Removing tasks.o(i.prvTaskCheckFreeStackSpace), (20 bytes). + Removing tasks.o(i.prvTaskIsTaskSuspended), (56 bytes). + Removing tasks.o(i.ulTaskNotifyTake), (104 bytes). + Removing tasks.o(i.ulTaskNotifyValueClear), (44 bytes). + Removing tasks.o(i.uxTaskGetNumberOfTasks), (12 bytes). + Removing tasks.o(i.uxTaskGetStackHighWaterMark), (20 bytes). + Removing tasks.o(i.uxTaskGetSystemState), (172 bytes). + Removing tasks.o(i.uxTaskGetTaskNumber), (12 bytes). + Removing tasks.o(i.uxTaskPriorityGet), (28 bytes). + Removing tasks.o(i.uxTaskPriorityGetFromISR), (44 bytes). + Removing tasks.o(i.uxTaskResetEventItemValue), (24 bytes). + Removing tasks.o(i.vTaskDelayUntil), (152 bytes). + Removing tasks.o(i.vTaskDelete), (144 bytes). + Removing tasks.o(i.vTaskEndScheduler), (28 bytes). + Removing tasks.o(i.vTaskGetInfo), (116 bytes). + Removing tasks.o(i.vTaskNotifyGiveFromISR), (180 bytes). + Removing tasks.o(i.vTaskPlaceOnUnorderedEventList), (80 bytes). + Removing tasks.o(i.vTaskPrioritySet), (184 bytes). + Removing tasks.o(i.vTaskRemoveFromUnorderedEventList), (112 bytes). + Removing tasks.o(i.vTaskResume), (124 bytes). + Removing tasks.o(i.vTaskSetTaskNumber), (8 bytes). + Removing tasks.o(i.vTaskSetTimeOutState), (52 bytes). + Removing tasks.o(i.vTaskSuspend), (156 bytes). + Removing tasks.o(i.xTaskCatchUpTicks), (52 bytes). + Removing tasks.o(i.xTaskGenericNotify), (232 bytes). + Removing tasks.o(i.xTaskGenericNotifyFromISR), (272 bytes). + Removing tasks.o(i.xTaskGetCurrentTaskHandle), (12 bytes). + Removing tasks.o(i.xTaskGetTickCountFromISR), (16 bytes). + Removing tasks.o(i.xTaskNotifyStateClear), (52 bytes). + Removing tasks.o(i.xTaskNotifyWait), (144 bytes). + Removing tasks.o(i.xTaskResumeFromISR), (144 bytes). + Removing timers.o(i.pcTimerGetName), (24 bytes). + Removing timers.o(i.prvInitialiseNewTimer), (80 bytes). + Removing timers.o(i.pvTimerGetTimerID), (38 bytes). + Removing timers.o(i.uxTimerGetReloadMode), (50 bytes). + Removing timers.o(i.uxTimerGetTimerNumber), (4 bytes). + Removing timers.o(i.vTimerSetReloadMode), (62 bytes). + Removing timers.o(i.vTimerSetTimerID), (40 bytes). + Removing timers.o(i.vTimerSetTimerNumber), (4 bytes). + Removing timers.o(i.xTimerCreate), (52 bytes). + Removing timers.o(i.xTimerCreateStatic), (52 bytes). + Removing timers.o(i.xTimerGetExpiryTime), (24 bytes). + Removing timers.o(i.xTimerGetPeriod), (24 bytes). + Removing timers.o(i.xTimerGetTimerDaemonTaskHandle), (32 bytes). + Removing timers.o(i.xTimerIsTimerActive), (50 bytes). + Removing timers.o(i.xTimerPendFunctionCall), (60 bytes). + Removing timers.o(i.xTimerPendFunctionCallFromISR), (40 bytes). + Removing cmsis_os2.o(.rev16_text), (4 bytes). + Removing cmsis_os2.o(.revsh_text), (4 bytes). + Removing cmsis_os2.o(.rrx_text), (6 bytes). + Removing cmsis_os2.o(i.AllocBlock), (18 bytes). + Removing cmsis_os2.o(i.CreateBlock), (26 bytes). + Removing cmsis_os2.o(i.FreeBlock), (8 bytes). + Removing cmsis_os2.o(i.OS_Tick_GetCount), (12 bytes). + Removing cmsis_os2.o(i.OS_Tick_GetInterval), (10 bytes). + Removing cmsis_os2.o(i.OS_Tick_GetOverflow), (12 bytes). + Removing cmsis_os2.o(i.TimerCallback), (22 bytes). + Removing cmsis_os2.o(i.osDelayUntil), (46 bytes). + Removing cmsis_os2.o(i.osEventFlagsClear), (66 bytes). + Removing cmsis_os2.o(i.osEventFlagsDelete), (34 bytes). + Removing cmsis_os2.o(i.osEventFlagsGet), (24 bytes). + Removing cmsis_os2.o(i.osEventFlagsNew), (72 bytes). + Removing cmsis_os2.o(i.osEventFlagsSet), (84 bytes). + Removing cmsis_os2.o(i.osEventFlagsWait), (104 bytes). + Removing cmsis_os2.o(i.osKernelGetInfo), (60 bytes). + Removing cmsis_os2.o(i.osKernelGetState), (40 bytes). + Removing cmsis_os2.o(i.osKernelGetSysTimerCount), (66 bytes). + Removing cmsis_os2.o(i.osKernelGetSysTimerFreq), (12 bytes). + Removing cmsis_os2.o(i.osKernelGetTickCount), (16 bytes). + Removing cmsis_os2.o(i.osKernelGetTickFreq), (6 bytes). + Removing cmsis_os2.o(i.osKernelLock), (44 bytes). + Removing cmsis_os2.o(i.osKernelRestoreLock), (72 bytes). + Removing cmsis_os2.o(i.osKernelUnlock), (62 bytes). + Removing cmsis_os2.o(i.osMemoryPoolAlloc), (152 bytes). + Removing cmsis_os2.o(i.osMemoryPoolDelete), (94 bytes). + Removing cmsis_os2.o(i.osMemoryPoolFree), (196 bytes). + Removing cmsis_os2.o(i.osMemoryPoolGetBlockSize), (28 bytes). + Removing cmsis_os2.o(i.osMemoryPoolGetCapacity), (28 bytes). + Removing cmsis_os2.o(i.osMemoryPoolGetCount), (56 bytes). + Removing cmsis_os2.o(i.osMemoryPoolGetName), (24 bytes). + Removing cmsis_os2.o(i.osMemoryPoolGetSpace), (44 bytes). + Removing cmsis_os2.o(i.osMemoryPoolNew), (252 bytes). + Removing cmsis_os2.o(i.osMessageQueueDelete), (42 bytes). + Removing cmsis_os2.o(i.osMessageQueueGet), (108 bytes). + Removing cmsis_os2.o(i.osMessageQueueGetCapacity), (12 bytes). + Removing cmsis_os2.o(i.osMessageQueueGetCount), (22 bytes). + Removing cmsis_os2.o(i.osMessageQueueGetMsgSize), (12 bytes). + Removing cmsis_os2.o(i.osMessageQueueGetSpace), (48 bytes). + Removing cmsis_os2.o(i.osMessageQueueNew), (124 bytes). + Removing cmsis_os2.o(i.osMessageQueuePut), (112 bytes). + Removing cmsis_os2.o(i.osMessageQueueReset), (36 bytes). + Removing cmsis_os2.o(i.osMutexAcquire), (92 bytes). + Removing cmsis_os2.o(i.osMutexDelete), (46 bytes). + Removing cmsis_os2.o(i.osMutexGetOwner), (22 bytes). + Removing cmsis_os2.o(i.osMutexNew), (152 bytes). + Removing cmsis_os2.o(i.osMutexRelease), (72 bytes). + Removing cmsis_os2.o(i.osSemaphoreDelete), (42 bytes). + Removing cmsis_os2.o(i.osSemaphoreGetCount), (22 bytes). + Removing cmsis_os2.o(i.osThreadEnumerate), (98 bytes). + Removing cmsis_os2.o(i.osThreadExit), (8 bytes). + Removing cmsis_os2.o(i.osThreadFlagsClear), (84 bytes). + Removing cmsis_os2.o(i.osThreadFlagsGet), (46 bytes). + Removing cmsis_os2.o(i.osThreadFlagsSet), (116 bytes). + Removing cmsis_os2.o(i.osThreadFlagsWait), (156 bytes). + Removing cmsis_os2.o(i.osThreadGetCount), (16 bytes). + Removing cmsis_os2.o(i.osThreadGetId), (4 bytes). + Removing cmsis_os2.o(i.osThreadGetName), (18 bytes). + Removing cmsis_os2.o(i.osThreadGetPriority), (20 bytes). + Removing cmsis_os2.o(i.osThreadGetStackSpace), (24 bytes). + Removing cmsis_os2.o(i.osThreadGetState), (56 bytes). + Removing cmsis_os2.o(i.osThreadResume), (34 bytes). + Removing cmsis_os2.o(i.osThreadSetPriority), (42 bytes). + Removing cmsis_os2.o(i.osThreadSuspend), (34 bytes). + Removing cmsis_os2.o(i.osThreadTerminate), (52 bytes). + Removing cmsis_os2.o(i.osThreadYield), (40 bytes). + Removing cmsis_os2.o(i.osTimerDelete), (68 bytes). + Removing cmsis_os2.o(i.osTimerGetName), (18 bytes). + Removing cmsis_os2.o(i.osTimerIsRunning), (18 bytes). + Removing cmsis_os2.o(i.osTimerNew), (156 bytes). + Removing cmsis_os2.o(i.osTimerStart), (50 bytes). + Removing cmsis_os2.o(i.osTimerStop), (68 bytes). + Removing heap_4.o(i.vPortGetHeapStats), (108 bytes). + Removing heap_4.o(i.vPortInitialiseBlocks), (2 bytes). + Removing heap_4.o(i.xPortGetFreeHeapSize), (12 bytes). + Removing heap_4.o(i.xPortGetMinimumEverFreeHeapSize), (12 bytes). + Removing port.o(i.vPortEndScheduler), (32 bytes). + Removing usbd_core.o(.rev16_text), (4 bytes). + Removing usbd_core.o(.revsh_text), (4 bytes). + Removing usbd_core.o(.rrx_text), (6 bytes). + Removing usbd_core.o(i.USBD_DeInit), (54 bytes). + Removing usbd_core.o(i.USBD_GetEpDesc), (58 bytes). + Removing usbd_core.o(i.USBD_GetNextDesc), (14 bytes). + Removing usbd_core.o(i.USBD_Init), (40 bytes). + Removing usbd_core.o(i.USBD_RegisterClass), (58 bytes). + Removing usbd_core.o(i.USBD_Start), (4 bytes). + Removing usbd_core.o(i.USBD_Stop), (28 bytes). + Removing usbd_ctlreq.o(.rev16_text), (4 bytes). + Removing usbd_ctlreq.o(.revsh_text), (4 bytes). + Removing usbd_ctlreq.o(.rrx_text), (6 bytes). + Removing usbd_ctlreq.o(i.USBD_GetLen), (20 bytes). + Removing usbd_ctlreq.o(i.USBD_GetString), (80 bytes). + Removing usbd_ioreq.o(.rev16_text), (4 bytes). + Removing usbd_ioreq.o(.revsh_text), (4 bytes). + Removing usbd_ioreq.o(.rrx_text), (6 bytes). + Removing usbd_ioreq.o(i.USBD_CtlPrepareRx), (30 bytes). + Removing usbd_ioreq.o(i.USBD_GetRxCount), (4 bytes). + Removing usbd_cdc.o(.rev16_text), (4 bytes). + Removing usbd_cdc.o(.revsh_text), (4 bytes). + Removing usbd_cdc.o(.rrx_text), (6 bytes). + Removing usbd_cdc.o(i.USBD_CDC_DataIn), (120 bytes). + Removing usbd_cdc.o(i.USBD_CDC_DataOut), (62 bytes). + Removing usbd_cdc.o(i.USBD_CDC_DeInit), (148 bytes). + Removing usbd_cdc.o(i.USBD_CDC_EP0_RxReady), (56 bytes). + Removing usbd_cdc.o(i.USBD_CDC_GetDeviceQualifierDescriptor), (12 bytes). + Removing usbd_cdc.o(i.USBD_CDC_GetFSCfgDesc), (60 bytes). + Removing usbd_cdc.o(i.USBD_CDC_GetHSCfgDesc), (64 bytes). + Removing usbd_cdc.o(i.USBD_CDC_GetOtherSpeedCfgDesc), (60 bytes). + Removing usbd_cdc.o(i.USBD_CDC_Init), (348 bytes). + Removing usbd_cdc.o(i.USBD_CDC_ReceivePacket), (64 bytes). + Removing usbd_cdc.o(i.USBD_CDC_RegisterInterface), (24 bytes). + Removing usbd_cdc.o(i.USBD_CDC_SetRxBuffer), (28 bytes). + Removing usbd_cdc.o(i.USBD_CDC_SetTxBuffer), (32 bytes). + Removing usbd_cdc.o(i.USBD_CDC_Setup), (266 bytes). + Removing usbd_cdc.o(i.USBD_CDC_TransmitPacket), (80 bytes). + Removing usbd_cdc.o(.data), (83 bytes). + Removing usbd_cdc.o(.data), (56 bytes). + +1034 unused section(s) (total 90802 bytes) removed from the image. + +============================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Ov Type Size Object(Section) + + ../Src/freertos.c 0x00000000 Number 0 freertos.o ABSOLUTE + ../Src/main.c 0x00000000 Number 0 main.o ABSOLUTE + ../Src/stm32h7xx_hal_msp.c 0x00000000 Number 0 stm32h7xx_hal_msp.o ABSOLUTE + ../Src/stm32h7xx_hal_timebase_tim.c 0x00000000 Number 0 stm32h7xx_hal_timebase_tim.o ABSOLUTE + ../Src/stm32h7xx_it.c 0x00000000 Number 0 stm32h7xx_it.o ABSOLUTE + ../Src/system_stm32h7xx.c 0x00000000 Number 0 system_stm32h7xx.o ABSOLUTE + ../Src/usb_device.c 0x00000000 Number 0 usb_device.o ABSOLUTE + ../Src/usbd_cdc_if.c 0x00000000 Number 0 usbd_cdc_if.o ABSOLUTE + ../Src/usbd_conf.c 0x00000000 Number 0 usbd_conf.o ABSOLUTE + ../Src/usbd_desc.c 0x00000000 Number 0 usbd_desc.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE + ../clib/angel/dczerorl2.s 0x00000000 Number 0 __dczerorl2.o ABSOLUTE + ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0_sigfpe.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_div0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_errno_addr.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_errno_addr_intlibspace.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE + ../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE + ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE + ../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit.o ABSOLUTE + ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE + ../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE + ../clib/fenv.c 0x00000000 Number 0 _rserrno.o ABSOLUTE + ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE + ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE + ../clib/longlong.s 0x00000000 Number 0 lludivv7m.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 aeabi_memset.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_w.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 rt_memclr_w.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 memset.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_v6.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 rt_memclr.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE + ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE + ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE + ../fplib/dcheck1.s 0x00000000 Number 0 dcheck1.o ABSOLUTE + ../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE + ../fplib/retnan.s 0x00000000 Number 0 retnan.o ABSOLUTE + ../fplib/scalbn.s 0x00000000 Number 0 scalbn.o ABSOLUTE + ../fplib/trapv.s 0x00000000 Number 0 trapv.o ABSOLUTE + ../fplib/usenofp.s 0x00000000 Number 0 usenofp.o ABSOLUTE + ../mathlib/dunder.c 0x00000000 Number 0 dunder.o ABSOLUTE + ../mathlib/fabs.c 0x00000000 Number 0 fabs.o ABSOLUTE + ../mathlib/fpclassify.c 0x00000000 Number 0 fpclassify.o ABSOLUTE + ../mathlib/poly.c 0x00000000 Number 0 poly.o ABSOLUTE + ../mathlib/pow.c 0x00000000 Number 0 pow_x.o ABSOLUTE + ../mathlib/pow.c 0x00000000 Number 0 pow.o ABSOLUTE + ../mathlib/qnan.c 0x00000000 Number 0 qnan.o ABSOLUTE + ../mathlib/sqrt.c 0x00000000 Number 0 sqrt_x.o ABSOLUTE + ../mathlib/sqrt.c 0x00000000 Number 0 sqrt.o ABSOLUTE + ..\Src\Communicaion.c 0x00000000 Number 0 communicaion.o ABSOLUTE + ..\Src\freertos.c 0x00000000 Number 0 freertos.o ABSOLUTE + ..\Src\main.c 0x00000000 Number 0 main.o ABSOLUTE + ..\Src\stm32h7xx_hal_msp.c 0x00000000 Number 0 stm32h7xx_hal_msp.o ABSOLUTE + ..\Src\stm32h7xx_hal_timebase_tim.c 0x00000000 Number 0 stm32h7xx_hal_timebase_tim.o ABSOLUTE + ..\Src\stm32h7xx_it.c 0x00000000 Number 0 stm32h7xx_it.o ABSOLUTE + ..\Src\system_stm32h7xx.c 0x00000000 Number 0 system_stm32h7xx.o ABSOLUTE + ..\Src\usb_device.c 0x00000000 Number 0 usb_device.o ABSOLUTE + ..\Src\usbd_cdc_if.c 0x00000000 Number 0 usbd_cdc_if.o ABSOLUTE + ..\Src\usbd_conf.c 0x00000000 Number 0 usbd_conf.o ABSOLUTE + ..\Src\usbd_desc.c 0x00000000 Number 0 usbd_desc.o ABSOLUTE + ..\\Src\\Communicaion.c 0x00000000 Number 0 communicaion.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c 0x00000000 Number 0 stm32h7xx_hal.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c 0x00000000 Number 0 stm32h7xx_hal_adc.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c 0x00000000 Number 0 stm32h7xx_hal_adc_ex.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c 0x00000000 Number 0 stm32h7xx_hal_cortex.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c 0x00000000 Number 0 stm32h7xx_hal_dma.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c 0x00000000 Number 0 stm32h7xx_hal_dma_ex.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c 0x00000000 Number 0 stm32h7xx_hal_exti.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c 0x00000000 Number 0 stm32h7xx_hal_flash.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c 0x00000000 Number 0 stm32h7xx_hal_flash_ex.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c 0x00000000 Number 0 stm32h7xx_hal_gpio.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c 0x00000000 Number 0 stm32h7xx_hal_hsem.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c 0x00000000 Number 0 stm32h7xx_hal_i2c.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c 0x00000000 Number 0 stm32h7xx_hal_i2c_ex.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c 0x00000000 Number 0 stm32h7xx_hal_mdma.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c 0x00000000 Number 0 stm32h7xx_hal_pcd.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c 0x00000000 Number 0 stm32h7xx_hal_pcd_ex.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c 0x00000000 Number 0 stm32h7xx_hal_pwr.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c 0x00000000 Number 0 stm32h7xx_hal_pwr_ex.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c 0x00000000 Number 0 stm32h7xx_hal_rcc.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c 0x00000000 Number 0 stm32h7xx_hal_rcc_ex.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c 0x00000000 Number 0 stm32h7xx_hal_tim.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c 0x00000000 Number 0 stm32h7xx_hal_tim_ex.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c 0x00000000 Number 0 stm32h7xx_hal_uart.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c 0x00000000 Number 0 stm32h7xx_hal_uart_ex.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c 0x00000000 Number 0 stm32h7xx_ll_usb.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c 0x00000000 Number 0 usbd_cdc.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c 0x00000000 Number 0 usbd_core.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c 0x00000000 Number 0 usbd_ctlreq.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c 0x00000000 Number 0 usbd_ioreq.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c 0x00000000 Number 0 cmsis_os2.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/croutine.c 0x00000000 Number 0 croutine.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c 0x00000000 Number 0 event_groups.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/list.c 0x00000000 Number 0 list.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c 0x00000000 Number 0 heap_4.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c 0x00000000 Number 0 port.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/queue.c 0x00000000 Number 0 queue.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c 0x00000000 Number 0 stream_buffer.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/tasks.c 0x00000000 Number 0 tasks.o ABSOLUTE + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/timers.c 0x00000000 Number 0 timers.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c 0x00000000 Number 0 stm32h7xx_hal.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_adc.c 0x00000000 Number 0 stm32h7xx_hal_adc.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_adc_ex.c 0x00000000 Number 0 stm32h7xx_hal_adc_ex.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c 0x00000000 Number 0 stm32h7xx_hal_cortex.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c 0x00000000 Number 0 stm32h7xx_hal_dma.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c 0x00000000 Number 0 stm32h7xx_hal_dma_ex.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_exti.c 0x00000000 Number 0 stm32h7xx_hal_exti.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_flash.c 0x00000000 Number 0 stm32h7xx_hal_flash.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_flash_ex.c 0x00000000 Number 0 stm32h7xx_hal_flash_ex.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c 0x00000000 Number 0 stm32h7xx_hal_gpio.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hsem.c 0x00000000 Number 0 stm32h7xx_hal_hsem.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c.c 0x00000000 Number 0 stm32h7xx_hal_i2c.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c_ex.c 0x00000000 Number 0 stm32h7xx_hal_i2c_ex.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c 0x00000000 Number 0 stm32h7xx_hal_mdma.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pcd.c 0x00000000 Number 0 stm32h7xx_hal_pcd.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pcd_ex.c 0x00000000 Number 0 stm32h7xx_hal_pcd_ex.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c 0x00000000 Number 0 stm32h7xx_hal_pwr.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c 0x00000000 Number 0 stm32h7xx_hal_pwr_ex.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c 0x00000000 Number 0 stm32h7xx_hal_rcc.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c 0x00000000 Number 0 stm32h7xx_hal_rcc_ex.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim.c 0x00000000 Number 0 stm32h7xx_hal_tim.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim_ex.c 0x00000000 Number 0 stm32h7xx_hal_tim_ex.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c 0x00000000 Number 0 stm32h7xx_hal_uart.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c 0x00000000 Number 0 stm32h7xx_hal_uart_ex.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_usb.c 0x00000000 Number 0 stm32h7xx_ll_usb.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Src\usbd_cdc.c 0x00000000 Number 0 usbd_cdc.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_core.c 0x00000000 Number 0 usbd_core.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ctlreq.c 0x00000000 Number 0 usbd_ctlreq.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ioreq.c 0x00000000 Number 0 usbd_ioreq.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.c 0x00000000 Number 0 cmsis_os2.o ABSOLUTE + C:\Users\70659\STM32Cube\Repository\STM32Cube_FW_H7_V1.12.1\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c 0x00000000 Number 0 port.o ABSOLUTE + dc.s 0x00000000 Number 0 dc.o ABSOLUTE + startup_stm32h750xx.s 0x00000000 Number 0 startup_stm32h750xx.o ABSOLUTE + RESET 0x08000000 Section 664 startup_stm32h750xx.o(RESET) + !!!main 0x08000298 Section 8 __main.o(!!!main) + !!!scatter 0x080002a0 Section 52 __scatter.o(!!!scatter) + !!dczerorl2 0x080002d4 Section 90 __dczerorl2.o(!!dczerorl2) + !!handler_zi 0x08000330 Section 28 __scatter_zi.o(!!handler_zi) + .ARM.Collect$$libinit$$00000000 0x0800034c Section 2 libinit.o(.ARM.Collect$$libinit$$00000000) + .ARM.Collect$$libinit$$00000001 0x0800034e Section 4 libinit2.o(.ARM.Collect$$libinit$$00000001) + .ARM.Collect$$libinit$$00000004 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000004) + .ARM.Collect$$libinit$$0000000A 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000A) + .ARM.Collect$$libinit$$0000000C 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000C) + .ARM.Collect$$libinit$$0000000E 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000E) + .ARM.Collect$$libinit$$00000011 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000011) + .ARM.Collect$$libinit$$00000013 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000013) + .ARM.Collect$$libinit$$00000015 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000015) + .ARM.Collect$$libinit$$00000017 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000017) + .ARM.Collect$$libinit$$00000019 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000019) + .ARM.Collect$$libinit$$0000001B 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001B) + .ARM.Collect$$libinit$$0000001D 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001D) + .ARM.Collect$$libinit$$0000001F 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001F) + .ARM.Collect$$libinit$$00000021 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000021) + .ARM.Collect$$libinit$$00000023 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000023) + .ARM.Collect$$libinit$$00000025 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000025) + .ARM.Collect$$libinit$$0000002C 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002C) + .ARM.Collect$$libinit$$0000002E 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002E) + .ARM.Collect$$libinit$$00000030 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000030) + .ARM.Collect$$libinit$$00000032 0x08000352 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000032) + .ARM.Collect$$libinit$$00000033 0x08000352 Section 2 libinit2.o(.ARM.Collect$$libinit$$00000033) + .ARM.Collect$$libshutdown$$00000000 0x08000354 Section 2 libshutdown.o(.ARM.Collect$$libshutdown$$00000000) + .ARM.Collect$$libshutdown$$00000002 0x08000356 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) + .ARM.Collect$$libshutdown$$00000004 0x08000356 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) + .ARM.Collect$$libshutdown$$00000006 0x08000356 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000006) + .ARM.Collect$$libshutdown$$00000009 0x08000356 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000009) + .ARM.Collect$$libshutdown$$0000000C 0x08000356 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) + .ARM.Collect$$libshutdown$$0000000E 0x08000356 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E) + .ARM.Collect$$libshutdown$$00000011 0x08000356 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000011) + .ARM.Collect$$libshutdown$$00000012 0x08000356 Section 2 libshutdown2.o(.ARM.Collect$$libshutdown$$00000012) + .ARM.Collect$$rtentry$$00000000 0x08000358 Section 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000) + .ARM.Collect$$rtentry$$00000002 0x08000358 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002) + .ARM.Collect$$rtentry$$00000004 0x08000358 Section 6 __rtentry4.o(.ARM.Collect$$rtentry$$00000004) + .ARM.Collect$$rtentry$$00000009 0x0800035e Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009) + .ARM.Collect$$rtentry$$0000000A 0x0800035e Section 4 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) + .ARM.Collect$$rtentry$$0000000C 0x08000362 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) + .ARM.Collect$$rtentry$$0000000D 0x08000362 Section 8 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) + .ARM.Collect$$rtexit$$00000000 0x0800036a Section 2 rtexit.o(.ARM.Collect$$rtexit$$00000000) + .ARM.Collect$$rtexit$$00000002 0x0800036c Section 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002) + .ARM.Collect$$rtexit$$00000003 0x0800036c Section 4 rtexit2.o(.ARM.Collect$$rtexit$$00000003) + .ARM.Collect$$rtexit$$00000004 0x08000370 Section 6 rtexit2.o(.ARM.Collect$$rtexit$$00000004) + .emb_text 0x08000378 Section 190 port.o(.emb_text) + $v0 0x08000378 Number 0 port.o(.emb_text) + .text 0x08000438 Section 64 startup_stm32h750xx.o(.text) + $v0 0x08000438 Number 0 startup_stm32h750xx.o(.text) + .text 0x08000478 Section 238 lludivv7m.o(.text) + .text 0x08000566 Section 138 rt_memcpy_v6.o(.text) + .text 0x080005f0 Section 100 rt_memcpy_w.o(.text) + .text 0x08000654 Section 16 aeabi_memset.o(.text) + .text 0x08000664 Section 68 rt_memclr.o(.text) + .text 0x080006a8 Section 78 rt_memclr_w.o(.text) + .text 0x080006f6 Section 0 heapauxi.o(.text) + .text 0x080006fc Section 0 _rserrno.o(.text) + .text 0x08000714 Section 8 rt_errno_addr_intlibspace.o(.text) + .text 0x0800071c Section 8 libspace.o(.text) + .text 0x08000724 Section 74 sys_stackheap_outer.o(.text) + .text 0x0800076e Section 0 exit.o(.text) + .text 0x08000780 Section 0 sys_exit.o(.text) + .text 0x0800078c Section 2 use_no_semi.o(.text) + .text 0x0800078e Section 0 indicate_semi.o(.text) + i.ADC_ConfigureBoostMode 0x08000790 Section 0 stm32h7xx_hal_adc.o(i.ADC_ConfigureBoostMode) + i.ADC_ConversionStop 0x080008b8 Section 0 stm32h7xx_hal_adc.o(i.ADC_ConversionStop) + i.ADC_DMAConvCplt 0x080009ac Section 0 stm32h7xx_hal_adc.o(i.ADC_DMAConvCplt) + i.ADC_DMAError 0x08000a2a Section 0 stm32h7xx_hal_adc.o(i.ADC_DMAError) + i.ADC_DMAHalfConvCplt 0x08000a44 Section 0 stm32h7xx_hal_adc.o(i.ADC_DMAHalfConvCplt) + i.ADC_Disable 0x08000a50 Section 0 stm32h7xx_hal_adc.o(i.ADC_Disable) + i.ADC_Enable 0x08000ad4 Section 0 stm32h7xx_hal_adc.o(i.ADC_Enable) + i.BDMA_Channel0_IRQHandler 0x08000b94 Section 0 stm32h7xx_it.o(i.BDMA_Channel0_IRQHandler) + i.BusFault_Handler 0x08000ba0 Section 0 stm32h7xx_it.o(i.BusFault_Handler) + i.CLKHZSET 0x08000ba4 Section 0 main.o(i.CLKHZSET) + i.ChannelSelect 0x08000cb4 Section 0 main.o(i.ChannelSelect) + i.Clk_Set 0x08000dd4 Section 0 main.o(i.Clk_Set) + i.Command_AddReadIndex 0x08000ebc Section 0 communicaion.o(i.Command_AddReadIndex) + i.Command_Deal 0x08000ed8 Section 0 communicaion.o(i.Command_Deal) + i.Command_GetCommand 0x080012b4 Section 0 communicaion.o(i.Command_GetCommand) + i.Command_GetLength 0x08001374 Section 0 communicaion.o(i.Command_GetLength) + i.Command_GetRemain 0x08001390 Section 0 communicaion.o(i.Command_GetRemain) + i.Command_Read 0x080013a0 Section 0 communicaion.o(i.Command_Read) + i.Command_Write 0x080013b4 Section 0 communicaion.o(i.Command_Write) + i.CommunicationResponse 0x08001414 Section 0 main.o(i.CommunicationResponse) + i.DMA1_Stream5_IRQHandler 0x080018dc Section 0 stm32h7xx_it.o(i.DMA1_Stream5_IRQHandler) + i.DMAMUX2_OVR_IRQHandler 0x080018e8 Section 0 stm32h7xx_it.o(i.DMAMUX2_OVR_IRQHandler) + i.DMA_CalcBaseAndBitshift 0x080018f4 Section 0 stm32h7xx_hal_dma.o(i.DMA_CalcBaseAndBitshift) + DMA_CalcBaseAndBitshift 0x080018f5 Thumb Code 180 stm32h7xx_hal_dma.o(i.DMA_CalcBaseAndBitshift) + i.DMA_CalcDMAMUXChannelBaseAndMask 0x080019b4 Section 0 stm32h7xx_hal_dma.o(i.DMA_CalcDMAMUXChannelBaseAndMask) + DMA_CalcDMAMUXChannelBaseAndMask 0x080019b5 Thumb Code 144 stm32h7xx_hal_dma.o(i.DMA_CalcDMAMUXChannelBaseAndMask) + i.DMA_CalcDMAMUXRequestGenBaseAndMask 0x08001a54 Section 0 stm32h7xx_hal_dma.o(i.DMA_CalcDMAMUXRequestGenBaseAndMask) + DMA_CalcDMAMUXRequestGenBaseAndMask 0x08001a55 Thumb Code 110 stm32h7xx_hal_dma.o(i.DMA_CalcDMAMUXRequestGenBaseAndMask) + i.DMA_CheckFifoParam 0x08001ad0 Section 0 stm32h7xx_hal_dma.o(i.DMA_CheckFifoParam) + DMA_CheckFifoParam 0x08001ad1 Thumb Code 120 stm32h7xx_hal_dma.o(i.DMA_CheckFifoParam) + i.DMA_SetConfig 0x08001b48 Section 0 stm32h7xx_hal_dma.o(i.DMA_SetConfig) + DMA_SetConfig 0x08001b49 Thumb Code 560 stm32h7xx_hal_dma.o(i.DMA_SetConfig) + i.DebugMon_Handler 0x08001d84 Section 0 stm32h7xx_it.o(i.DebugMon_Handler) + i.Error_Handler 0x08001d86 Section 0 main.o(i.Error_Handler) + i.FindMaxValue 0x08001d8c Section 0 main.o(i.FindMaxValue) + i.FramePack 0x08001dc8 Section 0 communicaion.o(i.FramePack) + i.HAL_ADCEx_Calibration_Start 0x08001e34 Section 0 stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_Calibration_Start) + i.HAL_ADC_ConfigChannel 0x08001ed8 Section 0 stm32h7xx_hal_adc.o(i.HAL_ADC_ConfigChannel) + i.HAL_ADC_ConvCpltCallback 0x08002358 Section 0 main.o(i.HAL_ADC_ConvCpltCallback) + i.HAL_ADC_ConvHalfCpltCallback 0x080024f8 Section 0 main.o(i.HAL_ADC_ConvHalfCpltCallback) + i.HAL_ADC_ErrorCallback 0x08002668 Section 0 stm32h7xx_hal_adc.o(i.HAL_ADC_ErrorCallback) + i.HAL_ADC_Init 0x0800266c Section 0 stm32h7xx_hal_adc.o(i.HAL_ADC_Init) + i.HAL_ADC_MspInit 0x08002898 Section 0 stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) + i.HAL_ADC_Start_DMA 0x080029e8 Section 0 stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) + i.HAL_ADC_Stop_DMA 0x08002af4 Section 0 stm32h7xx_hal_adc.o(i.HAL_ADC_Stop_DMA) + i.HAL_DMAEx_ConfigMuxSync 0x08002b74 Section 0 stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_ConfigMuxSync) + i.HAL_DMAEx_MUX_IRQHandler 0x08002c60 Section 0 stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_MUX_IRQHandler) + i.HAL_DMA_Abort 0x08002cc4 Section 0 stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) + i.HAL_DMA_Abort_IT 0x08003040 Section 0 stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) + i.HAL_DMA_IRQHandler 0x080032f0 Section 0 stm32h7xx_hal_dma.o(i.HAL_DMA_IRQHandler) + i.HAL_DMA_Init 0x08003a98 Section 0 stm32h7xx_hal_dma.o(i.HAL_DMA_Init) + i.HAL_DMA_Start 0x08003e94 Section 0 stm32h7xx_hal_dma.o(i.HAL_DMA_Start) + i.HAL_DMA_Start_IT 0x08004034 Section 0 stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) + i.HAL_GPIO_Init 0x08004320 Section 0 stm32h7xx_hal_gpio.o(i.HAL_GPIO_Init) + i.HAL_GPIO_WritePin 0x08004544 Section 0 stm32h7xx_hal_gpio.o(i.HAL_GPIO_WritePin) + i.HAL_GetREVID 0x08004554 Section 0 stm32h7xx_hal.o(i.HAL_GetREVID) + i.HAL_GetTick 0x08004560 Section 0 stm32h7xx_hal.o(i.HAL_GetTick) + i.HAL_IncTick 0x0800456c Section 0 stm32h7xx_hal.o(i.HAL_IncTick) + i.HAL_Init 0x0800457c Section 0 stm32h7xx_hal.o(i.HAL_Init) + i.HAL_InitTick 0x080045d8 Section 0 stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) + i.HAL_MspInit 0x08004668 Section 0 stm32h7xx_hal_msp.o(i.HAL_MspInit) + i.HAL_NVIC_EnableIRQ 0x0800468c Section 0 stm32h7xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) + i.HAL_NVIC_SetPriority 0x080046a8 Section 0 stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriority) + i.HAL_NVIC_SetPriorityGrouping 0x080046e8 Section 0 stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) + i.HAL_PCDEx_LPM_Callback 0x0800470c Section 0 stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_LPM_Callback) + i.HAL_PCD_ConnectCallback 0x0800470e Section 0 usbd_conf.o(i.HAL_PCD_ConnectCallback) + i.HAL_PCD_DataInStageCallback 0x08004716 Section 0 usbd_conf.o(i.HAL_PCD_DataInStageCallback) + i.HAL_PCD_DataOutStageCallback 0x08004728 Section 0 usbd_conf.o(i.HAL_PCD_DataOutStageCallback) + i.HAL_PCD_DisconnectCallback 0x0800473c Section 0 usbd_conf.o(i.HAL_PCD_DisconnectCallback) + i.HAL_PCD_EP_Abort 0x08004744 Section 0 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Abort) + i.HAL_PCD_EP_ClrStall 0x08004762 Section 0 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_ClrStall) + i.HAL_PCD_EP_Open 0x080047ba Section 0 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Open) + i.HAL_PCD_EP_Receive 0x0800481a Section 0 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Receive) + i.HAL_PCD_EP_SetStall 0x0800484c Section 0 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_SetStall) + i.HAL_PCD_EP_Transmit 0x080048bc Section 0 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Transmit) + i.HAL_PCD_IRQHandler 0x080048ee Section 0 stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) + i.HAL_PCD_ISOINIncompleteCallback 0x08004e30 Section 0 usbd_conf.o(i.HAL_PCD_ISOINIncompleteCallback) + i.HAL_PCD_ISOOUTIncompleteCallback 0x08004e38 Section 0 usbd_conf.o(i.HAL_PCD_ISOOUTIncompleteCallback) + i.HAL_PCD_ResetCallback 0x08004e40 Section 0 usbd_conf.o(i.HAL_PCD_ResetCallback) + i.HAL_PCD_ResumeCallback 0x08004e6e Section 0 usbd_conf.o(i.HAL_PCD_ResumeCallback) + i.HAL_PCD_SOFCallback 0x08004e76 Section 0 usbd_conf.o(i.HAL_PCD_SOFCallback) + i.HAL_PCD_SetAddress 0x08004e7e Section 0 stm32h7xx_hal_pcd.o(i.HAL_PCD_SetAddress) + i.HAL_PCD_SetupStageCallback 0x08004ea4 Section 0 usbd_conf.o(i.HAL_PCD_SetupStageCallback) + i.HAL_PCD_SuspendCallback 0x08004eb4 Section 0 usbd_conf.o(i.HAL_PCD_SuspendCallback) + i.HAL_PWREx_ConfigSupply 0x08004ee4 Section 0 stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ConfigSupply) + i.HAL_RCCEx_GetD3PCLK1Freq 0x08004f3c Section 0 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD3PCLK1Freq) + i.HAL_RCCEx_GetPLL1ClockFreq 0x08004f60 Section 0 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL1ClockFreq) + i.HAL_RCCEx_GetPLL2ClockFreq 0x08005120 Section 0 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL2ClockFreq) + i.HAL_RCCEx_GetPLL3ClockFreq 0x080052e0 Section 0 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL3ClockFreq) + i.HAL_RCCEx_GetPeriphCLKFreq 0x080054a0 Section 0 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) + i.HAL_RCCEx_PeriphCLKConfig 0x08005a90 Section 0 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) + i.HAL_RCC_ClockConfig 0x08006494 Section 0 stm32h7xx_hal_rcc.o(i.HAL_RCC_ClockConfig) + i.HAL_RCC_GetClockConfig 0x08006710 Section 0 stm32h7xx_hal_rcc.o(i.HAL_RCC_GetClockConfig) + i.HAL_RCC_GetHCLKFreq 0x08006770 Section 0 stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) + i.HAL_RCC_GetPCLK1Freq 0x080067b4 Section 0 stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) + i.HAL_RCC_GetPCLK2Freq 0x080067d8 Section 0 stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) + i.HAL_RCC_GetSysClockFreq 0x080067fc Section 0 stm32h7xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) + i.HAL_RCC_OscConfig 0x080069b0 Section 0 stm32h7xx_hal_rcc.o(i.HAL_RCC_OscConfig) + i.HAL_SYSCFG_AnalogSwitchConfig 0x08007034 Section 0 stm32h7xx_hal.o(i.HAL_SYSCFG_AnalogSwitchConfig) + i.HAL_TIMEx_Break2Callback 0x08007044 Section 0 stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_Break2Callback) + i.HAL_TIMEx_BreakCallback 0x08007046 Section 0 stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback) + i.HAL_TIMEx_CommutCallback 0x08007048 Section 0 stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback) + i.HAL_TIMEx_ConfigBreakDeadTime 0x0800704c Section 0 stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigBreakDeadTime) + i.HAL_TIMEx_MasterConfigSynchronization 0x080070d8 Section 0 stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization) + i.HAL_TIM_Base_Init 0x08007178 Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Init) + i.HAL_TIM_Base_MspInit 0x080071c8 Section 0 stm32h7xx_hal_msp.o(i.HAL_TIM_Base_MspInit) + i.HAL_TIM_Base_Start_IT 0x08007228 Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Start_IT) + i.HAL_TIM_ConfigClockSource 0x080072bc Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) + i.HAL_TIM_IC_CaptureCallback 0x080073c4 Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback) + i.HAL_TIM_IRQHandler 0x080073c6 Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) + i.HAL_TIM_MspPostInit 0x08007518 Section 0 stm32h7xx_hal_msp.o(i.HAL_TIM_MspPostInit) + i.HAL_TIM_OC_DelayElapsedCallback 0x08007568 Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_OC_DelayElapsedCallback) + i.HAL_TIM_PWM_ConfigChannel 0x0800756a Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) + i.HAL_TIM_PWM_Init 0x080076a0 Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Init) + i.HAL_TIM_PWM_MspInit 0x080076ee Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_MspInit) + i.HAL_TIM_PWM_PulseFinishedCallback 0x080076f0 Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback) + i.HAL_TIM_PWM_Start 0x080076f4 Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start) + i.HAL_TIM_PWM_Stop 0x0800781c Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop) + i.HAL_TIM_PeriodElapsedCallback 0x080078cc Section 0 main.o(i.HAL_TIM_PeriodElapsedCallback) + i.HAL_TIM_TriggerCallback 0x080078e0 Section 0 stm32h7xx_hal_tim.o(i.HAL_TIM_TriggerCallback) + i.HAL_UARTEx_DisableFifoMode 0x080078e2 Section 0 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_DisableFifoMode) + i.HAL_UARTEx_ReceiveToIdle_DMA 0x08007920 Section 0 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_ReceiveToIdle_DMA) + i.HAL_UARTEx_RxEventCallback 0x08007974 Section 0 main.o(i.HAL_UARTEx_RxEventCallback) + i.HAL_UARTEx_RxFifoFullCallback 0x08007998 Section 0 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_RxFifoFullCallback) + i.HAL_UARTEx_SetRxFifoThreshold 0x0800799a Section 0 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_SetRxFifoThreshold) + i.HAL_UARTEx_SetTxFifoThreshold 0x080079e6 Section 0 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_SetTxFifoThreshold) + i.HAL_UARTEx_TxFifoEmptyCallback 0x08007a32 Section 0 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_TxFifoEmptyCallback) + i.HAL_UARTEx_WakeupCallback 0x08007a34 Section 0 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_WakeupCallback) + i.HAL_UART_ErrorCallback 0x08007a36 Section 0 stm32h7xx_hal_uart.o(i.HAL_UART_ErrorCallback) + i.HAL_UART_GetState 0x08007a38 Section 0 stm32h7xx_hal_uart.o(i.HAL_UART_GetState) + i.HAL_UART_IRQHandler 0x08007a44 Section 0 stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) + i.HAL_UART_Init 0x08007df0 Section 0 stm32h7xx_hal_uart.o(i.HAL_UART_Init) + i.HAL_UART_MspInit 0x08007e60 Section 0 stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) + i.HAL_UART_RxCpltCallback 0x08007f30 Section 0 stm32h7xx_hal_uart.o(i.HAL_UART_RxCpltCallback) + i.HAL_UART_RxHalfCpltCallback 0x08007f32 Section 0 stm32h7xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) + i.HAL_UART_Transmit 0x08007f34 Section 0 stm32h7xx_hal_uart.o(i.HAL_UART_Transmit) + i.HAL_UART_TxCpltCallback 0x08007fec Section 0 stm32h7xx_hal_uart.o(i.HAL_UART_TxCpltCallback) + i.HardFault_Handler 0x08007fee Section 0 stm32h7xx_it.o(i.HardFault_Handler) + i.LL_ADC_INJ_IsConversionOngoing 0x08007ff0 Section 0 stm32h7xx_hal_adc.o(i.LL_ADC_INJ_IsConversionOngoing) + LL_ADC_INJ_IsConversionOngoing 0x08007ff1 Thumb Code 8 stm32h7xx_hal_adc.o(i.LL_ADC_INJ_IsConversionOngoing) + i.LL_ADC_IsEnabled 0x08007ff8 Section 0 stm32h7xx_hal_adc.o(i.LL_ADC_IsEnabled) + LL_ADC_IsEnabled 0x08007ff9 Thumb Code 8 stm32h7xx_hal_adc.o(i.LL_ADC_IsEnabled) + i.LL_ADC_REG_IsConversionOngoing 0x08008000 Section 0 stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsConversionOngoing) + LL_ADC_REG_IsConversionOngoing 0x08008001 Thumb Code 8 stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsConversionOngoing) + i.LL_ADC_REG_IsTriggerSourceSWStart 0x08008008 Section 0 stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsTriggerSourceSWStart) + LL_ADC_REG_IsTriggerSourceSWStart 0x08008009 Thumb Code 16 stm32h7xx_hal_adc.o(i.LL_ADC_REG_IsTriggerSourceSWStart) + i.LineCheck 0x08008018 Section 0 main.o(i.LineCheck) + i.MX_ADC3_Init 0x080084fc Section 0 main.o(i.MX_ADC3_Init) + MX_ADC3_Init 0x080084fd Thumb Code 332 main.o(i.MX_ADC3_Init) + i.MX_BDMA_Init 0x08008670 Section 0 main.o(i.MX_BDMA_Init) + MX_BDMA_Init 0x08008671 Thumb Code 56 main.o(i.MX_BDMA_Init) + i.MX_DMA_Init 0x080086ac Section 0 main.o(i.MX_DMA_Init) + MX_DMA_Init 0x080086ad Thumb Code 108 main.o(i.MX_DMA_Init) + i.MX_GPIO_Init 0x08008724 Section 0 main.o(i.MX_GPIO_Init) + MX_GPIO_Init 0x08008725 Thumb Code 316 main.o(i.MX_GPIO_Init) + i.MX_TIM1_Init 0x08008878 Section 0 main.o(i.MX_TIM1_Init) + MX_TIM1_Init 0x08008879 Thumb Code 206 main.o(i.MX_TIM1_Init) + i.MX_TIM2_Init 0x08008950 Section 0 main.o(i.MX_TIM2_Init) + MX_TIM2_Init 0x08008951 Thumb Code 150 main.o(i.MX_TIM2_Init) + i.MX_TIM4_Init 0x080089ec Section 0 main.o(i.MX_TIM4_Init) + MX_TIM4_Init 0x080089ed Thumb Code 146 main.o(i.MX_TIM4_Init) + i.MX_USART1_UART_Init 0x08008a88 Section 0 main.o(i.MX_USART1_UART_Init) + MX_USART1_UART_Init 0x08008a89 Thumb Code 90 main.o(i.MX_USART1_UART_Init) + i.MemManage_Handler 0x08008aec Section 0 stm32h7xx_it.o(i.MemManage_Handler) + i.NMI_Handler 0x08008aee Section 0 stm32h7xx_it.o(i.NMI_Handler) + i.OTG_FS_IRQHandler 0x08008af0 Section 0 stm32h7xx_it.o(i.OTG_FS_IRQHandler) + i.PCD_EP_OutSetupPacket_int 0x08008afc Section 0 stm32h7xx_hal_pcd.o(i.PCD_EP_OutSetupPacket_int) + PCD_EP_OutSetupPacket_int 0x08008afd Thumb Code 66 stm32h7xx_hal_pcd.o(i.PCD_EP_OutSetupPacket_int) + i.PCD_EP_OutXfrComplete_int 0x08008b44 Section 0 stm32h7xx_hal_pcd.o(i.PCD_EP_OutXfrComplete_int) + PCD_EP_OutXfrComplete_int 0x08008b45 Thumb Code 220 stm32h7xx_hal_pcd.o(i.PCD_EP_OutXfrComplete_int) + i.PCD_WriteEmptyTxFifo 0x08008c28 Section 0 stm32h7xx_hal_pcd.o(i.PCD_WriteEmptyTxFifo) + PCD_WriteEmptyTxFifo 0x08008c29 Thumb Code 156 stm32h7xx_hal_pcd.o(i.PCD_WriteEmptyTxFifo) + i.RCCEx_PLL2_Config 0x08008cc4 Section 0 stm32h7xx_hal_rcc_ex.o(i.RCCEx_PLL2_Config) + RCCEx_PLL2_Config 0x08008cc5 Thumb Code 286 stm32h7xx_hal_rcc_ex.o(i.RCCEx_PLL2_Config) + i.RCCEx_PLL3_Config 0x08008de8 Section 0 stm32h7xx_hal_rcc_ex.o(i.RCCEx_PLL3_Config) + RCCEx_PLL3_Config 0x08008de9 Thumb Code 286 stm32h7xx_hal_rcc_ex.o(i.RCCEx_PLL3_Config) + i.SWAPBYTE 0x08008f0c Section 0 usbd_ctlreq.o(i.SWAPBYTE) + SWAPBYTE 0x08008f0d Thumb Code 10 usbd_ctlreq.o(i.SWAPBYTE) + i.SampleRate_Set 0x08008f18 Section 0 main.o(i.SampleRate_Set) + i.SlopeSet 0x08008fc8 Section 0 main.o(i.SlopeSet) + i.StartDefaultTask 0x08009180 Section 0 main.o(i.StartDefaultTask) + i.SysTick_Handler 0x08009358 Section 0 cmsis_os2.o(i.SysTick_Handler) + i.SystemClock_Config 0x08009374 Section 0 main.o(i.SystemClock_Config) + i.SystemInit 0x0800941c Section 0 system_stm32h7xx.o(i.SystemInit) + i.TIM7_IRQHandler 0x080094f8 Section 0 stm32h7xx_it.o(i.TIM7_IRQHandler) + i.TIM_Base_SetConfig 0x08009504 Section 0 stm32h7xx_hal_tim.o(i.TIM_Base_SetConfig) + i.TIM_CCxChannelCmd 0x080095cc Section 0 stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) + i.TIM_ETR_SetConfig 0x080095e6 Section 0 stm32h7xx_hal_tim.o(i.TIM_ETR_SetConfig) + i.TIM_ITRx_SetConfig 0x080095fc Section 0 stm32h7xx_hal_tim.o(i.TIM_ITRx_SetConfig) + TIM_ITRx_SetConfig 0x080095fd Thumb Code 16 stm32h7xx_hal_tim.o(i.TIM_ITRx_SetConfig) + i.TIM_OC1_SetConfig 0x08009610 Section 0 stm32h7xx_hal_tim.o(i.TIM_OC1_SetConfig) + TIM_OC1_SetConfig 0x08009611 Thumb Code 136 stm32h7xx_hal_tim.o(i.TIM_OC1_SetConfig) + i.TIM_OC2_SetConfig 0x080096b0 Section 0 stm32h7xx_hal_tim.o(i.TIM_OC2_SetConfig) + i.TIM_OC3_SetConfig 0x08009744 Section 0 stm32h7xx_hal_tim.o(i.TIM_OC3_SetConfig) + TIM_OC3_SetConfig 0x08009745 Thumb Code 122 stm32h7xx_hal_tim.o(i.TIM_OC3_SetConfig) + i.TIM_OC4_SetConfig 0x080097d8 Section 0 stm32h7xx_hal_tim.o(i.TIM_OC4_SetConfig) + TIM_OC4_SetConfig 0x080097d9 Thumb Code 92 stm32h7xx_hal_tim.o(i.TIM_OC4_SetConfig) + i.TIM_OC5_SetConfig 0x0800984c Section 0 stm32h7xx_hal_tim.o(i.TIM_OC5_SetConfig) + TIM_OC5_SetConfig 0x0800984d Thumb Code 86 stm32h7xx_hal_tim.o(i.TIM_OC5_SetConfig) + i.TIM_OC6_SetConfig 0x080098bc Section 0 stm32h7xx_hal_tim.o(i.TIM_OC6_SetConfig) + TIM_OC6_SetConfig 0x080098bd Thumb Code 88 stm32h7xx_hal_tim.o(i.TIM_OC6_SetConfig) + i.TIM_TI1_ConfigInputStage 0x0800992c Section 0 stm32h7xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) + TIM_TI1_ConfigInputStage 0x0800992d Thumb Code 34 stm32h7xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) + i.TIM_TI2_ConfigInputStage 0x0800994e Section 0 stm32h7xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) + TIM_TI2_ConfigInputStage 0x0800994f Thumb Code 36 stm32h7xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) + i.UARTEx_SetNbDataToProcess 0x08009974 Section 0 stm32h7xx_hal_uart_ex.o(i.UARTEx_SetNbDataToProcess) + UARTEx_SetNbDataToProcess 0x08009975 Thumb Code 66 stm32h7xx_hal_uart_ex.o(i.UARTEx_SetNbDataToProcess) + i.UART_AdvFeatureConfig 0x080099bc Section 0 stm32h7xx_hal_uart.o(i.UART_AdvFeatureConfig) + i.UART_CheckIdleState 0x08009a84 Section 0 stm32h7xx_hal_uart.o(i.UART_CheckIdleState) + i.UART_DMAAbortOnError 0x08009b2e Section 0 stm32h7xx_hal_uart.o(i.UART_DMAAbortOnError) + UART_DMAAbortOnError 0x08009b2f Thumb Code 16 stm32h7xx_hal_uart.o(i.UART_DMAAbortOnError) + i.UART_DMAError 0x08009b3e Section 0 stm32h7xx_hal_uart.o(i.UART_DMAError) + UART_DMAError 0x08009b3f Thumb Code 80 stm32h7xx_hal_uart.o(i.UART_DMAError) + i.UART_DMAReceiveCplt 0x08009b8e Section 0 stm32h7xx_hal_uart.o(i.UART_DMAReceiveCplt) + UART_DMAReceiveCplt 0x08009b8f Thumb Code 132 stm32h7xx_hal_uart.o(i.UART_DMAReceiveCplt) + i.UART_DMARxHalfCplt 0x08009c12 Section 0 stm32h7xx_hal_uart.o(i.UART_DMARxHalfCplt) + UART_DMARxHalfCplt 0x08009c13 Thumb Code 32 stm32h7xx_hal_uart.o(i.UART_DMARxHalfCplt) + i.UART_EndRxTransfer 0x08009c34 Section 0 stm32h7xx_hal_uart.o(i.UART_EndRxTransfer) + UART_EndRxTransfer 0x08009c35 Thumb Code 78 stm32h7xx_hal_uart.o(i.UART_EndRxTransfer) + i.UART_EndTransmit_IT 0x08009c88 Section 0 stm32h7xx_hal_uart.o(i.UART_EndTransmit_IT) + UART_EndTransmit_IT 0x08009c89 Thumb Code 36 stm32h7xx_hal_uart.o(i.UART_EndTransmit_IT) + i.UART_EndTxTransfer 0x08009cac Section 0 stm32h7xx_hal_uart.o(i.UART_EndTxTransfer) + UART_EndTxTransfer 0x08009cad Thumb Code 46 stm32h7xx_hal_uart.o(i.UART_EndTxTransfer) + i.UART_SetConfig 0x08009cdc Section 0 stm32h7xx_hal_uart.o(i.UART_SetConfig) + i.UART_Start_Receive_DMA 0x0800a16c Section 0 stm32h7xx_hal_uart.o(i.UART_Start_Receive_DMA) + i.UART_WaitOnFlagUntilTimeout 0x0800a210 Section 0 stm32h7xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) + i.USART1_IRQHandler 0x0800a2a8 Section 0 stm32h7xx_it.o(i.USART1_IRQHandler) + i.USBD_ClrClassConfig 0x0800a2c8 Section 0 usbd_core.o(i.USBD_ClrClassConfig) + i.USBD_ClrFeature 0x0800a2dc Section 0 usbd_ctlreq.o(i.USBD_ClrFeature) + USBD_ClrFeature 0x0800a2dd Thumb Code 38 usbd_ctlreq.o(i.USBD_ClrFeature) + i.USBD_CoreFindEP 0x0800a302 Section 0 usbd_core.o(i.USBD_CoreFindEP) + i.USBD_CoreFindIF 0x0800a306 Section 0 usbd_core.o(i.USBD_CoreFindIF) + i.USBD_CtlContinueRx 0x0800a30a Section 0 usbd_ioreq.o(i.USBD_CtlContinueRx) + i.USBD_CtlContinueSendData 0x0800a31a Section 0 usbd_ioreq.o(i.USBD_CtlContinueSendData) + i.USBD_CtlError 0x0800a32a Section 0 usbd_ctlreq.o(i.USBD_CtlError) + i.USBD_CtlReceiveStatus 0x0800a342 Section 0 usbd_ioreq.o(i.USBD_CtlReceiveStatus) + i.USBD_CtlSendData 0x0800a358 Section 0 usbd_ioreq.o(i.USBD_CtlSendData) + i.USBD_CtlSendStatus 0x0800a372 Section 0 usbd_ioreq.o(i.USBD_CtlSendStatus) + i.USBD_GetConfig 0x0800a388 Section 0 usbd_ctlreq.o(i.USBD_GetConfig) + USBD_GetConfig 0x0800a389 Thumb Code 58 usbd_ctlreq.o(i.USBD_GetConfig) + i.USBD_GetDescriptor 0x0800a3c2 Section 0 usbd_ctlreq.o(i.USBD_GetDescriptor) + USBD_GetDescriptor 0x0800a3c3 Thumb Code 484 usbd_ctlreq.o(i.USBD_GetDescriptor) + i.USBD_GetStatus 0x0800a5a6 Section 0 usbd_ctlreq.o(i.USBD_GetStatus) + USBD_GetStatus 0x0800a5a7 Thumb Code 60 usbd_ctlreq.o(i.USBD_GetStatus) + i.USBD_Get_USB_Status 0x0800a5e2 Section 0 usbd_conf.o(i.USBD_Get_USB_Status) + i.USBD_LL_ClearStallEP 0x0800a606 Section 0 usbd_conf.o(i.USBD_LL_ClearStallEP) + i.USBD_LL_DataInStage 0x0800a618 Section 0 usbd_core.o(i.USBD_LL_DataInStage) + i.USBD_LL_DataOutStage 0x0800a6f4 Section 0 usbd_core.o(i.USBD_LL_DataOutStage) + i.USBD_LL_DevConnected 0x0800a7be Section 0 usbd_core.o(i.USBD_LL_DevConnected) + i.USBD_LL_DevDisconnected 0x0800a7c2 Section 0 usbd_core.o(i.USBD_LL_DevDisconnected) + i.USBD_LL_IsStallEP 0x0800a7e2 Section 0 usbd_conf.o(i.USBD_LL_IsStallEP) + i.USBD_LL_IsoINIncomplete 0x0800a800 Section 0 usbd_core.o(i.USBD_LL_IsoINIncomplete) + i.USBD_LL_IsoOUTIncomplete 0x0800a82a Section 0 usbd_core.o(i.USBD_LL_IsoOUTIncomplete) + i.USBD_LL_OpenEP 0x0800a854 Section 0 usbd_conf.o(i.USBD_LL_OpenEP) + i.USBD_LL_PrepareReceive 0x0800a86c Section 0 usbd_conf.o(i.USBD_LL_PrepareReceive) + i.USBD_LL_Reset 0x0800a87e Section 0 usbd_core.o(i.USBD_LL_Reset) + i.USBD_LL_Resume 0x0800a8de Section 0 usbd_core.o(i.USBD_LL_Resume) + i.USBD_LL_SOF 0x0800a8f2 Section 0 usbd_core.o(i.USBD_LL_SOF) + i.USBD_LL_SetSpeed 0x0800a90c Section 0 usbd_core.o(i.USBD_LL_SetSpeed) + i.USBD_LL_SetUSBAddress 0x0800a912 Section 0 usbd_conf.o(i.USBD_LL_SetUSBAddress) + i.USBD_LL_SetupStage 0x0800a924 Section 0 usbd_core.o(i.USBD_LL_SetupStage) + i.USBD_LL_StallEP 0x0800a984 Section 0 usbd_conf.o(i.USBD_LL_StallEP) + i.USBD_LL_Suspend 0x0800a996 Section 0 usbd_core.o(i.USBD_LL_Suspend) + i.USBD_LL_Transmit 0x0800a9b0 Section 0 usbd_conf.o(i.USBD_LL_Transmit) + i.USBD_ParseSetupRequest 0x0800a9c2 Section 0 usbd_ctlreq.o(i.USBD_ParseSetupRequest) + i.USBD_RunTestMode 0x0800a9f4 Section 0 usbd_core.o(i.USBD_RunTestMode) + i.USBD_SetAddress 0x0800a9f8 Section 0 usbd_ctlreq.o(i.USBD_SetAddress) + USBD_SetAddress 0x0800a9f9 Thumb Code 88 usbd_ctlreq.o(i.USBD_SetAddress) + i.USBD_SetClassConfig 0x0800aa50 Section 0 usbd_core.o(i.USBD_SetClassConfig) + i.USBD_SetConfig 0x0800aa64 Section 0 usbd_ctlreq.o(i.USBD_SetConfig) + USBD_SetConfig 0x0800aa65 Thumb Code 214 usbd_ctlreq.o(i.USBD_SetConfig) + i.USBD_SetFeature 0x0800ab40 Section 0 usbd_ctlreq.o(i.USBD_SetFeature) + USBD_SetFeature 0x0800ab41 Thumb Code 36 usbd_ctlreq.o(i.USBD_SetFeature) + i.USBD_StdDevReq 0x0800ab64 Section 0 usbd_ctlreq.o(i.USBD_StdDevReq) + i.USBD_StdEPReq 0x0800abda Section 0 usbd_ctlreq.o(i.USBD_StdEPReq) + i.USBD_StdItfReq 0x0800adfa Section 0 usbd_ctlreq.o(i.USBD_StdItfReq) + i.USB_ActivateEndpoint 0x0800ae88 Section 0 stm32h7xx_ll_usb.o(i.USB_ActivateEndpoint) + i.USB_ActivateSetup 0x0800af0c Section 0 stm32h7xx_ll_usb.o(i.USB_ActivateSetup) + i.USB_EP0_OutStart 0x0800af28 Section 0 stm32h7xx_ll_usb.o(i.USB_EP0_OutStart) + i.USB_EPClearStall 0x0800af7c Section 0 stm32h7xx_ll_usb.o(i.USB_EPClearStall) + i.USB_EPSetStall 0x0800afd4 Section 0 stm32h7xx_ll_usb.o(i.USB_EPSetStall) + i.USB_EPStartXfer 0x0800b02c Section 0 stm32h7xx_ll_usb.o(i.USB_EPStartXfer) + i.USB_EPStopXfer 0x0800b280 Section 0 stm32h7xx_ll_usb.o(i.USB_EPStopXfer) + i.USB_FlushTxFifo 0x0800b324 Section 0 stm32h7xx_ll_usb.o(i.USB_FlushTxFifo) + i.USB_GetDevSpeed 0x0800b368 Section 0 stm32h7xx_ll_usb.o(i.USB_GetDevSpeed) + i.USB_GetMode 0x0800b388 Section 0 stm32h7xx_ll_usb.o(i.USB_GetMode) + i.USB_ReadDevAllInEpInterrupt 0x0800b390 Section 0 stm32h7xx_ll_usb.o(i.USB_ReadDevAllInEpInterrupt) + i.USB_ReadDevAllOutEpInterrupt 0x0800b39e Section 0 stm32h7xx_ll_usb.o(i.USB_ReadDevAllOutEpInterrupt) + i.USB_ReadDevInEPInterrupt 0x0800b3ac Section 0 stm32h7xx_ll_usb.o(i.USB_ReadDevInEPInterrupt) + i.USB_ReadDevOutEPInterrupt 0x0800b3d0 Section 0 stm32h7xx_ll_usb.o(i.USB_ReadDevOutEPInterrupt) + i.USB_ReadInterrupts 0x0800b3e0 Section 0 stm32h7xx_ll_usb.o(i.USB_ReadInterrupts) + i.USB_ReadPacket 0x0800b3e8 Section 0 stm32h7xx_ll_usb.o(i.USB_ReadPacket) + i.USB_SetDevAddress 0x0800b426 Section 0 stm32h7xx_ll_usb.o(i.USB_SetDevAddress) + i.USB_SetTurnaroundTime 0x0800b444 Section 0 stm32h7xx_ll_usb.o(i.USB_SetTurnaroundTime) + i.USB_WritePacket 0x0800b538 Section 0 stm32h7xx_ll_usb.o(i.USB_WritePacket) + i.UsageFault_Handler 0x0800b560 Section 0 stm32h7xx_it.o(i.UsageFault_Handler) + i.__ARM_fpclassify 0x0800b562 Section 0 fpclassify.o(i.__ARM_fpclassify) + i.__NVIC_SetPriority 0x0800b592 Section 0 stm32h7xx_hal_cortex.o(i.__NVIC_SetPriority) + __NVIC_SetPriority 0x0800b593 Thumb Code 32 stm32h7xx_hal_cortex.o(i.__NVIC_SetPriority) + i.__hardfp_pow 0x0800b5b8 Section 0 pow.o(i.__hardfp_pow) + i.__kernel_poly 0x0800beb0 Section 0 poly.o(i.__kernel_poly) + i.__mathlib_dbl_divzero 0x0800bf20 Section 0 dunder.o(i.__mathlib_dbl_divzero) + i.__mathlib_dbl_infnan2 0x0800bf40 Section 0 dunder.o(i.__mathlib_dbl_infnan2) + i.__mathlib_dbl_invalid 0x0800bf48 Section 0 dunder.o(i.__mathlib_dbl_invalid) + i.__mathlib_dbl_overflow 0x0800bf60 Section 0 dunder.o(i.__mathlib_dbl_overflow) + i.__mathlib_dbl_underflow 0x0800bf78 Section 0 dunder.o(i.__mathlib_dbl_underflow) + i.calculateAverage 0x0800bf90 Section 0 main.o(i.calculateAverage) + i.fabs 0x0800bff8 Section 0 fabs.o(i.fabs) + i.main 0x0800c010 Section 0 main.o(i.main) + i.osDelay 0x0800c06c Section 0 cmsis_os2.o(i.osDelay) + i.osKernelInitialize 0x0800c088 Section 0 cmsis_os2.o(i.osKernelInitialize) + i.osKernelStart 0x0800c0b0 Section 0 cmsis_os2.o(i.osKernelStart) + i.osSemaphoreAcquire 0x0800c0e8 Section 0 cmsis_os2.o(i.osSemaphoreAcquire) + i.osSemaphoreNew 0x0800c14c Section 0 cmsis_os2.o(i.osSemaphoreNew) + i.osSemaphoreRelease 0x0800c200 Section 0 cmsis_os2.o(i.osSemaphoreRelease) + i.osThreadNew 0x0800c258 Section 0 cmsis_os2.o(i.osThreadNew) + i.prvAddCurrentTaskToDelayedList 0x0800c314 Section 0 tasks.o(i.prvAddCurrentTaskToDelayedList) + prvAddCurrentTaskToDelayedList 0x0800c315 Thumb Code 86 tasks.o(i.prvAddCurrentTaskToDelayedList) + i.prvAddNewTaskToReadyList 0x0800c374 Section 0 tasks.o(i.prvAddNewTaskToReadyList) + prvAddNewTaskToReadyList 0x0800c375 Thumb Code 124 tasks.o(i.prvAddNewTaskToReadyList) + i.prvCheckForValidListAndQueue 0x0800c3fc Section 0 timers.o(i.prvCheckForValidListAndQueue) + prvCheckForValidListAndQueue 0x0800c3fd Thumb Code 72 timers.o(i.prvCheckForValidListAndQueue) + i.prvCheckTasksWaitingTermination 0x0800c454 Section 0 tasks.o(i.prvCheckTasksWaitingTermination) + prvCheckTasksWaitingTermination 0x0800c455 Thumb Code 52 tasks.o(i.prvCheckTasksWaitingTermination) + i.prvCopyDataFromQueue 0x0800c490 Section 0 queue.o(i.prvCopyDataFromQueue) + prvCopyDataFromQueue 0x0800c491 Thumb Code 40 queue.o(i.prvCopyDataFromQueue) + i.prvCopyDataToQueue 0x0800c4b8 Section 0 queue.o(i.prvCopyDataToQueue) + prvCopyDataToQueue 0x0800c4b9 Thumb Code 110 queue.o(i.prvCopyDataToQueue) + i.prvDeleteTCB 0x0800c526 Section 0 tasks.o(i.prvDeleteTCB) + prvDeleteTCB 0x0800c527 Thumb Code 64 tasks.o(i.prvDeleteTCB) + i.prvGetDisinheritPriorityAfterTimeout 0x0800c566 Section 0 queue.o(i.prvGetDisinheritPriorityAfterTimeout) + prvGetDisinheritPriorityAfterTimeout 0x0800c567 Thumb Code 20 queue.o(i.prvGetDisinheritPriorityAfterTimeout) + i.prvGetNextExpireTime 0x0800c57c Section 0 timers.o(i.prvGetNextExpireTime) + prvGetNextExpireTime 0x0800c57d Thumb Code 30 timers.o(i.prvGetNextExpireTime) + i.prvHeapInit 0x0800c5a0 Section 0 heap_4.o(i.prvHeapInit) + prvHeapInit 0x0800c5a1 Thumb Code 68 heap_4.o(i.prvHeapInit) + i.prvIdleTask 0x0800c5ec Section 0 tasks.o(i.prvIdleTask) + prvIdleTask 0x0800c5ed Thumb Code 30 tasks.o(i.prvIdleTask) + i.prvInitialiseNewQueue 0x0800c614 Section 0 queue.o(i.prvInitialiseNewQueue) + prvInitialiseNewQueue 0x0800c615 Thumb Code 34 queue.o(i.prvInitialiseNewQueue) + i.prvInitialiseNewTask 0x0800c636 Section 0 tasks.o(i.prvInitialiseNewTask) + prvInitialiseNewTask 0x0800c637 Thumb Code 168 tasks.o(i.prvInitialiseNewTask) + i.prvInitialiseTaskLists 0x0800c6e0 Section 0 tasks.o(i.prvInitialiseTaskLists) + prvInitialiseTaskLists 0x0800c6e1 Thumb Code 74 tasks.o(i.prvInitialiseTaskLists) + i.prvInsertBlockIntoFreeList 0x0800c738 Section 0 heap_4.o(i.prvInsertBlockIntoFreeList) + prvInsertBlockIntoFreeList 0x0800c739 Thumb Code 78 heap_4.o(i.prvInsertBlockIntoFreeList) + i.prvInsertTimerInActiveList 0x0800c78c Section 0 timers.o(i.prvInsertTimerInActiveList) + prvInsertTimerInActiveList 0x0800c78d Thumb Code 60 timers.o(i.prvInsertTimerInActiveList) + i.prvIsQueueEmpty 0x0800c7cc Section 0 queue.o(i.prvIsQueueEmpty) + prvIsQueueEmpty 0x0800c7cd Thumb Code 26 queue.o(i.prvIsQueueEmpty) + i.prvIsQueueFull 0x0800c7e6 Section 0 queue.o(i.prvIsQueueFull) + prvIsQueueFull 0x0800c7e7 Thumb Code 30 queue.o(i.prvIsQueueFull) + i.prvProcessExpiredTimer 0x0800c804 Section 0 timers.o(i.prvProcessExpiredTimer) + prvProcessExpiredTimer 0x0800c805 Thumb Code 98 timers.o(i.prvProcessExpiredTimer) + i.prvProcessReceivedCommands 0x0800c86c Section 0 timers.o(i.prvProcessReceivedCommands) + prvProcessReceivedCommands 0x0800c86d Thumb Code 248 timers.o(i.prvProcessReceivedCommands) + i.prvProcessTimerOrBlockTask 0x0800c968 Section 0 timers.o(i.prvProcessTimerOrBlockTask) + prvProcessTimerOrBlockTask 0x0800c969 Thumb Code 100 timers.o(i.prvProcessTimerOrBlockTask) + i.prvResetNextTaskUnblockTime 0x0800c9d4 Section 0 tasks.o(i.prvResetNextTaskUnblockTime) + prvResetNextTaskUnblockTime 0x0800c9d5 Thumb Code 30 tasks.o(i.prvResetNextTaskUnblockTime) + i.prvSampleTimeNow 0x0800c9f8 Section 0 timers.o(i.prvSampleTimeNow) + prvSampleTimeNow 0x0800c9f9 Thumb Code 38 timers.o(i.prvSampleTimeNow) + i.prvSwitchTimerLists 0x0800ca24 Section 0 timers.o(i.prvSwitchTimerLists) + prvSwitchTimerLists 0x0800ca25 Thumb Code 106 timers.o(i.prvSwitchTimerLists) + i.prvTaskExitError 0x0800ca94 Section 0 port.o(i.prvTaskExitError) + prvTaskExitError 0x0800ca95 Thumb Code 40 port.o(i.prvTaskExitError) + i.prvTimerTask 0x0800cac0 Section 0 timers.o(i.prvTimerTask) + prvTimerTask 0x0800cac1 Thumb Code 20 timers.o(i.prvTimerTask) + i.prvUnlockQueue 0x0800cad4 Section 0 queue.o(i.prvUnlockQueue) + prvUnlockQueue 0x0800cad5 Thumb Code 106 queue.o(i.prvUnlockQueue) + i.pvPortMalloc 0x0800cb40 Section 0 heap_4.o(i.pvPortMalloc) + i.pvTaskIncrementMutexHeldCount 0x0800cc1c Section 0 tasks.o(i.pvTaskIncrementMutexHeldCount) + i.pxPortInitialiseStack 0x0800cc34 Section 0 port.o(i.pxPortInitialiseStack) + i.sqrt 0x0800cc58 Section 0 sqrt.o(i.sqrt) + i.uxListRemove 0x0800ccc2 Section 0 list.o(i.uxListRemove) + i.vApplicationGetIdleTaskMemory 0x0800cce8 Section 0 cmsis_os2.o(i.vApplicationGetIdleTaskMemory) + i.vApplicationGetTimerTaskMemory 0x0800cd00 Section 0 cmsis_os2.o(i.vApplicationGetTimerTaskMemory) + i.vListInitialise 0x0800cd18 Section 0 list.o(i.vListInitialise) + i.vListInitialiseItem 0x0800cd2e Section 0 list.o(i.vListInitialiseItem) + i.vListInsert 0x0800cd34 Section 0 list.o(i.vListInsert) + i.vListInsertEnd 0x0800cd64 Section 0 list.o(i.vListInsertEnd) + i.vPortEnterCritical 0x0800cd7c Section 0 port.o(i.vPortEnterCritical) + i.vPortExitCritical 0x0800cdbc Section 0 port.o(i.vPortExitCritical) + i.vPortFree 0x0800cde8 Section 0 heap_4.o(i.vPortFree) + i.vPortSetupTimerInterrupt 0x0800ce4c Section 0 port.o(i.vPortSetupTimerInterrupt) + i.vPortValidateInterruptPriority 0x0800ce70 Section 0 port.o(i.vPortValidateInterruptPriority) + i.vQueueAddToRegistry 0x0800cec4 Section 0 queue.o(i.vQueueAddToRegistry) + i.vQueueDelete 0x0800cee8 Section 0 queue.o(i.vQueueDelete) + i.vQueueUnregisterQueue 0x0800cf1c Section 0 queue.o(i.vQueueUnregisterQueue) + i.vQueueWaitForMessageRestricted 0x0800cf44 Section 0 queue.o(i.vQueueWaitForMessageRestricted) + i.vTaskDelay 0x0800cf8c Section 0 tasks.o(i.vTaskDelay) + i.vTaskInternalSetTimeOutState 0x0800cfdc Section 0 tasks.o(i.vTaskInternalSetTimeOutState) + i.vTaskMissedYield 0x0800cfec Section 0 tasks.o(i.vTaskMissedYield) + i.vTaskPlaceOnEventList 0x0800cff8 Section 0 tasks.o(i.vTaskPlaceOnEventList) + i.vTaskPlaceOnEventListRestricted 0x0800d02c Section 0 tasks.o(i.vTaskPlaceOnEventListRestricted) + i.vTaskPriorityDisinheritAfterTimeout 0x0800d068 Section 0 tasks.o(i.vTaskPriorityDisinheritAfterTimeout) + i.vTaskStartScheduler 0x0800d0fc Section 0 tasks.o(i.vTaskStartScheduler) + i.vTaskSuspendAll 0x0800d18c Section 0 tasks.o(i.vTaskSuspendAll) + i.vTaskSwitchContext 0x0800d19c Section 0 tasks.o(i.vTaskSwitchContext) + i.xPortStartScheduler 0x0800d204 Section 0 port.o(i.xPortStartScheduler) + i.xPortSysTickHandler 0x0800d2f8 Section 0 port.o(i.xPortSysTickHandler) + i.xQueueCreateCountingSemaphore 0x0800d324 Section 0 queue.o(i.xQueueCreateCountingSemaphore) + i.xQueueCreateCountingSemaphoreStatic 0x0800d360 Section 0 queue.o(i.xQueueCreateCountingSemaphoreStatic) + i.xQueueGenericCreate 0x0800d3a2 Section 0 queue.o(i.xQueueGenericCreate) + i.xQueueGenericCreateStatic 0x0800d3e6 Section 0 queue.o(i.xQueueGenericCreateStatic) + i.xQueueGenericReset 0x0800d454 Section 0 queue.o(i.xQueueGenericReset) + i.xQueueGenericSend 0x0800d4e0 Section 0 queue.o(i.xQueueGenericSend) + i.xQueueGenericSendFromISR 0x0800d644 Section 0 queue.o(i.xQueueGenericSendFromISR) + i.xQueueGiveFromISR 0x0800d704 Section 0 queue.o(i.xQueueGiveFromISR) + i.xQueueReceive 0x0800d7a4 Section 0 queue.o(i.xQueueReceive) + i.xQueueReceiveFromISR 0x0800d8e0 Section 0 queue.o(i.xQueueReceiveFromISR) + i.xQueueSemaphoreTake 0x0800d97c Section 0 queue.o(i.xQueueSemaphoreTake) + i.xTaskCheckForTimeOut 0x0800daf8 Section 0 tasks.o(i.xTaskCheckForTimeOut) + i.xTaskCreate 0x0800db74 Section 0 tasks.o(i.xTaskCreate) + i.xTaskCreateStatic 0x0800dbd8 Section 0 tasks.o(i.xTaskCreateStatic) + i.xTaskGetSchedulerState 0x0800dc34 Section 0 tasks.o(i.xTaskGetSchedulerState) + i.xTaskGetTickCount 0x0800dc50 Section 0 tasks.o(i.xTaskGetTickCount) + i.xTaskIncrementTick 0x0800dc5c Section 0 tasks.o(i.xTaskIncrementTick) + i.xTaskPriorityDisinherit 0x0800dd28 Section 0 tasks.o(i.xTaskPriorityDisinherit) + i.xTaskPriorityInherit 0x0800dda4 Section 0 tasks.o(i.xTaskPriorityInherit) + i.xTaskRemoveFromEventList 0x0800de20 Section 0 tasks.o(i.xTaskRemoveFromEventList) + i.xTaskResumeAll 0x0800de98 Section 0 tasks.o(i.xTaskResumeAll) + i.xTimerCreateTimerTask 0x0800df60 Section 0 timers.o(i.xTimerCreateTimerTask) + i.xTimerGenericCommand 0x0800dfc8 Section 0 timers.o(i.xTimerGenericCommand) + x$fpl$dcheck1 0x0800e034 Section 16 dcheck1.o(x$fpl$dcheck1) + $v0 0x0800e034 Number 0 dcheck1.o(x$fpl$dcheck1) + x$fpl$fpinit 0x0800e044 Section 10 fpinit.o(x$fpl$fpinit) + $v0 0x0800e044 Number 0 fpinit.o(x$fpl$fpinit) + x$fpl$retnan 0x0800e04e Section 100 retnan.o(x$fpl$retnan) + $v0 0x0800e04e Number 0 retnan.o(x$fpl$retnan) + x$fpl$scalbn 0x0800e0b2 Section 92 scalbn.o(x$fpl$scalbn) + $v0 0x0800e0b2 Number 0 scalbn.o(x$fpl$scalbn) + x$fpl$trapveneer 0x0800e10e Section 48 trapv.o(x$fpl$trapveneer) + $v0 0x0800e10e Number 0 trapv.o(x$fpl$trapveneer) + x$fpl$usenofp 0x0800e13e Section 0 usenofp.o(x$fpl$usenofp) + .constdata 0x0800e140 Section 1444 main.o(.constdata) + .constdata 0x0800e6e4 Section 16 system_stm32h7xx.o(.constdata) + .constdata 0x0800e6f4 Section 8 stm32h7xx_hal_dma.o(.constdata) + flagBitshiftOffset 0x0800e6f4 Data 8 stm32h7xx_hal_dma.o(.constdata) + .constdata 0x0800e6fc Section 24 stm32h7xx_hal_uart.o(.constdata) + .constdata 0x0800e714 Section 16 stm32h7xx_hal_uart_ex.o(.constdata) + numerator 0x0800e714 Data 8 stm32h7xx_hal_uart_ex.o(.constdata) + denominator 0x0800e71c Data 8 stm32h7xx_hal_uart_ex.o(.constdata) + .constdata 0x0800e728 Section 136 pow.o(.constdata) + bp 0x0800e728 Data 16 pow.o(.constdata) + dp_h 0x0800e738 Data 16 pow.o(.constdata) + dp_l 0x0800e748 Data 16 pow.o(.constdata) + L 0x0800e758 Data 48 pow.o(.constdata) + P 0x0800e788 Data 40 pow.o(.constdata) + .constdata 0x0800e7b0 Section 8 qnan.o(.constdata) + .conststring 0x0800e7b8 Section 40 main.o(.conststring) + .data 0x24000000 Section 8 communicaion.o(.data) + .data 0x24000008 Section 220 main.o(.data) + HFk 0x2400000a Data 1 main.o(.data) + CPk 0x2400000b Data 1 main.o(.data) + .data 0x240000e4 Section 8 system_stm32h7xx.o(.data) + .data 0x240000ec Section 12 stm32h7xx_hal.o(.data) + .data 0x240000f8 Section 60 tasks.o(.data) + uxDeletedTasksWaitingCleanUp 0x240000fc Data 4 tasks.o(.data) + uxCurrentNumberOfTasks 0x24000100 Data 4 tasks.o(.data) + xTickCount 0x24000104 Data 4 tasks.o(.data) + uxTopReadyPriority 0x24000108 Data 4 tasks.o(.data) + xSchedulerRunning 0x2400010c Data 4 tasks.o(.data) + xPendedTicks 0x24000110 Data 4 tasks.o(.data) + xYieldPending 0x24000114 Data 4 tasks.o(.data) + xNumOfOverflows 0x24000118 Data 4 tasks.o(.data) + uxTaskNumber 0x2400011c Data 4 tasks.o(.data) + xNextTaskUnblockTime 0x24000120 Data 4 tasks.o(.data) + xIdleTaskHandle 0x24000124 Data 4 tasks.o(.data) + uxSchedulerSuspended 0x24000128 Data 4 tasks.o(.data) + pxDelayedTaskList 0x2400012c Data 4 tasks.o(.data) + pxOverflowDelayedTaskList 0x24000130 Data 4 tasks.o(.data) + .data 0x24000134 Section 20 timers.o(.data) + xTimerQueue 0x24000134 Data 4 timers.o(.data) + xTimerTaskHandle 0x24000138 Data 4 timers.o(.data) + xLastTime 0x2400013c Data 4 timers.o(.data) + pxCurrentTimerList 0x24000140 Data 4 timers.o(.data) + pxOverflowTimerList 0x24000144 Data 4 timers.o(.data) + .data 0x24000148 Section 4 cmsis_os2.o(.data) + KernelState 0x24000148 Data 4 cmsis_os2.o(.data) + .data 0x2400014c Section 32 heap_4.o(.data) + pxEnd 0x2400014c Data 4 heap_4.o(.data) + xFreeBytesRemaining 0x24000150 Data 4 heap_4.o(.data) + xMinimumEverFreeBytesRemaining 0x24000154 Data 4 heap_4.o(.data) + xNumberOfSuccessfulAllocations 0x24000158 Data 4 heap_4.o(.data) + xNumberOfSuccessfulFrees 0x2400015c Data 4 heap_4.o(.data) + xBlockAllocatedBit 0x24000160 Data 4 heap_4.o(.data) + xStart 0x24000164 Data 8 heap_4.o(.data) + .data 0x2400016c Section 12 port.o(.data) + ucMaxSysCallPriority 0x2400016c Data 1 port.o(.data) + uxCriticalNesting 0x24000170 Data 4 port.o(.data) + ulMaxPRIGROUPValue 0x24000174 Data 4 port.o(.data) + .data 0x24000178 Section 1 usbd_ctlreq.o(.data) + cfgidx 0x24000178 Data 1 usbd_ctlreq.o(.data) + .bss 0x2400017c Section 326 communicaion.o(.bss) + .bss 0x240002c4 Section 59372 main.o(.bss) + .bss 0x2400eab0 Section 120 main.o(.bss) + .bss 0x2400eb28 Section 1796 usbd_conf.o(.bss) + mem 0x2400eb28 Data 544 usbd_conf.o(.bss) + .bss 0x2400f22c Section 76 stm32h7xx_hal_timebase_tim.o(.bss) + .bss 0x2400f278 Section 64 queue.o(.bss) + .bss 0x2400f2b8 Section 1220 tasks.o(.bss) + pxReadyTasksLists 0x2400f2b8 Data 1120 tasks.o(.bss) + xDelayedTaskList1 0x2400f718 Data 20 tasks.o(.bss) + xDelayedTaskList2 0x2400f72c Data 20 tasks.o(.bss) + xPendingReadyList 0x2400f740 Data 20 tasks.o(.bss) + xTasksWaitingTermination 0x2400f754 Data 20 tasks.o(.bss) + xSuspendedTaskList 0x2400f768 Data 20 tasks.o(.bss) + .bss 0x2400f77c Section 280 timers.o(.bss) + xStaticTimerQueue 0x2400f77c Data 80 timers.o(.bss) + ucStaticTimerQueueStorage 0x2400f7cc Data 160 timers.o(.bss) + xActiveTimerList1 0x2400f86c Data 20 timers.o(.bss) + xActiveTimerList2 0x2400f880 Data 20 timers.o(.bss) + .bss 0x2400f894 Section 2232 cmsis_os2.o(.bss) + Idle_TCB 0x2400f894 Data 92 cmsis_os2.o(.bss) + Idle_Stack 0x2400f8f0 Data 1024 cmsis_os2.o(.bss) + Timer_TCB 0x2400fcf0 Data 92 cmsis_os2.o(.bss) + Timer_Stack 0x2400fd4c Data 1024 cmsis_os2.o(.bss) + .bss 0x2401014c Section 20480 heap_4.o(.bss) + ucHeap 0x2401014c Data 20480 heap_4.o(.bss) + .bss 0x2401514c Section 96 libspace.o(.bss) + HEAP 0x240151b0 Section 512 startup_stm32h750xx.o(HEAP) + Heap_Mem 0x240151b0 Data 512 startup_stm32h750xx.o(HEAP) + STACK 0x240153b0 Section 1024 startup_stm32h750xx.o(STACK) + Stack_Mem 0x240153b0 Data 1024 startup_stm32h750xx.o(STACK) + __initial_sp 0x240157b0 Data 0 startup_stm32h750xx.o(STACK) + + Global Symbols + + Symbol Name Value Ov Type Size Object(Section) + + BuildAttributes$$THM_ISAv4$E$P$D$K$B$S$7EM$VFPv5_D16$PE$PLD8$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OTIME$ROPI$IEEEX$EBA8$UX$STANDARDLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + __ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE + __ARM_exceptions_init - Undefined Weak Reference + __alloca_initialize - Undefined Weak Reference + __arm_fini_ - Undefined Weak Reference + __arm_preinit_ - Undefined Weak Reference + __cpp_initialize__aeabi_ - Undefined Weak Reference + __cxa_finalize - Undefined Weak Reference + __rt_locale - Undefined Weak Reference + __sigvec_lookup - Undefined Weak Reference + _atexit_init - Undefined Weak Reference + _call_atexit_fns - Undefined Weak Reference + _clock_init - Undefined Weak Reference + _fp_trap_init - Undefined Weak Reference + _fp_trap_shutdown - Undefined Weak Reference + _get_lc_collate - Undefined Weak Reference + _get_lc_ctype - Undefined Weak Reference + _get_lc_monetary - Undefined Weak Reference + _get_lc_numeric - Undefined Weak Reference + _get_lc_time - Undefined Weak Reference + _getenv_init - Undefined Weak Reference + _handle_redirection - Undefined Weak Reference + _init_alloc - Undefined Weak Reference + _init_user_alloc - Undefined Weak Reference + _initio - Undefined Weak Reference + _rand_init - Undefined Weak Reference + _signal_finish - Undefined Weak Reference + _signal_init - Undefined Weak Reference + _terminate_alloc - Undefined Weak Reference + _terminate_user_alloc - Undefined Weak Reference + _terminateio - Undefined Weak Reference + __Vectors_Size 0x00000298 Number 0 startup_stm32h750xx.o ABSOLUTE + __Vectors 0x08000000 Data 4 startup_stm32h750xx.o(RESET) + __Vectors_End 0x08000298 Data 0 startup_stm32h750xx.o(RESET) + __main 0x08000299 Thumb Code 8 __main.o(!!!main) + __scatterload 0x080002a1 Thumb Code 0 __scatter.o(!!!scatter) + __scatterload_rt2 0x080002a1 Thumb Code 44 __scatter.o(!!!scatter) + __scatterload_rt2_thumb_only 0x080002a1 Thumb Code 0 __scatter.o(!!!scatter) + __scatterload_null 0x080002af Thumb Code 0 __scatter.o(!!!scatter) + __decompress 0x080002d5 Thumb Code 90 __dczerorl2.o(!!dczerorl2) + __decompress1 0x080002d5 Thumb Code 0 __dczerorl2.o(!!dczerorl2) + __scatterload_zeroinit 0x08000331 Thumb Code 28 __scatter_zi.o(!!handler_zi) + __rt_lib_init 0x0800034d Thumb Code 0 libinit.o(.ARM.Collect$$libinit$$00000000) + __rt_lib_init_fp_1 0x0800034f Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000001) + __rt_lib_init_alloca_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002E) + __rt_lib_init_argv_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002C) + __rt_lib_init_atexit_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001B) + __rt_lib_init_clock_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000021) + __rt_lib_init_cpp_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000032) + __rt_lib_init_exceptions_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000030) + __rt_lib_init_fp_trap_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001F) + __rt_lib_init_getenv_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000023) + __rt_lib_init_heap_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000A) + __rt_lib_init_lc_collate_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000011) + __rt_lib_init_lc_ctype_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000013) + __rt_lib_init_lc_monetary_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000015) + __rt_lib_init_lc_numeric_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000017) + __rt_lib_init_lc_time_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000019) + __rt_lib_init_preinit_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000004) + __rt_lib_init_rand_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000E) + __rt_lib_init_return 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000033) + __rt_lib_init_signal_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001D) + __rt_lib_init_stdio_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000025) + __rt_lib_init_user_alloc_1 0x08000353 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000C) + __rt_lib_shutdown 0x08000355 Thumb Code 0 libshutdown.o(.ARM.Collect$$libshutdown$$00000000) + __rt_lib_shutdown_cpp_1 0x08000357 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) + __rt_lib_shutdown_fini_1 0x08000357 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) + __rt_lib_shutdown_fp_trap_1 0x08000357 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000009) + __rt_lib_shutdown_heap_1 0x08000357 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000011) + __rt_lib_shutdown_return 0x08000357 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000012) + __rt_lib_shutdown_signal_1 0x08000357 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) + __rt_lib_shutdown_stdio_1 0x08000357 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000006) + __rt_lib_shutdown_user_alloc_1 0x08000357 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E) + __rt_entry 0x08000359 Thumb Code 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000) + __rt_entry_presh_1 0x08000359 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002) + __rt_entry_sh 0x08000359 Thumb Code 0 __rtentry4.o(.ARM.Collect$$rtentry$$00000004) + __rt_entry_li 0x0800035f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) + __rt_entry_postsh_1 0x0800035f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009) + __rt_entry_main 0x08000363 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) + __rt_entry_postli_1 0x08000363 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) + __rt_exit 0x0800036b Thumb Code 0 rtexit.o(.ARM.Collect$$rtexit$$00000000) + __rt_exit_ls 0x0800036d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000003) + __rt_exit_prels_1 0x0800036d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002) + __rt_exit_exit 0x08000371 Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000004) + SVC_Handler 0x08000379 Thumb Code 28 port.o(.emb_text) + __asm___6_port_c_39a90d8d__prvStartFirstTask 0x08000399 Thumb Code 36 port.o(.emb_text) + __asm___6_port_c_39a90d8d__prvEnableVFP 0x080003c1 Thumb Code 16 port.o(.emb_text) + PendSV_Handler 0x080003d5 Thumb Code 88 port.o(.emb_text) + vPortGetIPSR 0x08000431 Thumb Code 6 port.o(.emb_text) + Reset_Handler 0x08000439 Thumb Code 8 startup_stm32h750xx.o(.text) + ADC3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + ADC_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + BDMA_Channel1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + BDMA_Channel2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + BDMA_Channel3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + BDMA_Channel4_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + BDMA_Channel5_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + BDMA_Channel6_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + BDMA_Channel7_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + CEC_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + COMP1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + CRS_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + CRYP_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DCMI_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DFSDM1_FLT0_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DFSDM1_FLT1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DFSDM1_FLT2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DFSDM1_FLT3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA1_Stream0_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA1_Stream1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA1_Stream2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA1_Stream3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA1_Stream4_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA1_Stream6_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA1_Stream7_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA2D_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA2_Stream0_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA2_Stream1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA2_Stream2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA2_Stream3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA2_Stream4_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA2_Stream5_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA2_Stream6_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMA2_Stream7_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + DMAMUX1_OVR_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + ECC_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + ETH_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + ETH_WKUP_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + EXTI0_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + EXTI15_10_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + EXTI1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + EXTI2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + EXTI3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + EXTI4_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + EXTI9_5_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + FDCAN1_IT0_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + FDCAN1_IT1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + FDCAN2_IT0_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + FDCAN2_IT1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + FDCAN_CAL_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + FLASH_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + FMC_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + FPU_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + HASH_RNG_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + HRTIM1_FLT_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + HRTIM1_Master_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + HRTIM1_TIMA_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + HRTIM1_TIMB_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + HRTIM1_TIMC_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + HRTIM1_TIMD_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + HRTIM1_TIME_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + HSEM1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + I2C1_ER_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + I2C1_EV_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + I2C2_ER_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + I2C2_EV_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + I2C3_ER_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + I2C3_EV_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + I2C4_ER_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + I2C4_EV_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + JPEG_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + LPTIM1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + LPTIM2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + LPTIM3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + LPTIM4_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + LPTIM5_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + LPUART1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + LTDC_ER_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + LTDC_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + MDIOS_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + MDIOS_WKUP_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + MDMA_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + OTG_FS_EP1_IN_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + OTG_FS_EP1_OUT_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + OTG_FS_WKUP_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + OTG_HS_EP1_IN_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + OTG_HS_EP1_OUT_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + OTG_HS_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + OTG_HS_WKUP_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + PVD_AVD_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + QUADSPI_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + RCC_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + RTC_Alarm_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + RTC_WKUP_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SAI1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SAI2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SAI3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SAI4_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SDMMC1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SDMMC2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SPDIF_RX_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SPI1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SPI2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SPI3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SPI4_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SPI5_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SPI6_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + SWPMI1_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TAMP_STAMP_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM15_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM16_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM17_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM1_BRK_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM1_CC_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM1_TRG_COM_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM1_UP_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM4_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM5_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM6_DAC_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM8_BRK_TIM12_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM8_CC_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM8_TRG_COM_TIM14_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + TIM8_UP_TIM13_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + UART4_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + UART5_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + UART7_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + UART8_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + USART2_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + USART3_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + USART6_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + WAKEUP_PIN_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + WWDG_IRQHandler 0x08000453 Thumb Code 0 startup_stm32h750xx.o(.text) + __user_initial_stackheap 0x08000455 Thumb Code 0 startup_stm32h750xx.o(.text) + __aeabi_uldivmod 0x08000479 Thumb Code 0 lludivv7m.o(.text) + _ll_udiv 0x08000479 Thumb Code 238 lludivv7m.o(.text) + __aeabi_memcpy 0x08000567 Thumb Code 0 rt_memcpy_v6.o(.text) + __rt_memcpy 0x08000567 Thumb Code 138 rt_memcpy_v6.o(.text) + _memcpy_lastbytes 0x080005cd Thumb Code 0 rt_memcpy_v6.o(.text) + __aeabi_memcpy4 0x080005f1 Thumb Code 0 rt_memcpy_w.o(.text) + __aeabi_memcpy8 0x080005f1 Thumb Code 0 rt_memcpy_w.o(.text) + __rt_memcpy_w 0x080005f1 Thumb Code 100 rt_memcpy_w.o(.text) + _memcpy_lastbytes_aligned 0x08000639 Thumb Code 0 rt_memcpy_w.o(.text) + __aeabi_memset 0x08000655 Thumb Code 16 aeabi_memset.o(.text) + __aeabi_memclr 0x08000665 Thumb Code 0 rt_memclr.o(.text) + __rt_memclr 0x08000665 Thumb Code 68 rt_memclr.o(.text) + _memset 0x08000669 Thumb Code 0 rt_memclr.o(.text) + __aeabi_memclr4 0x080006a9 Thumb Code 0 rt_memclr_w.o(.text) + __aeabi_memclr8 0x080006a9 Thumb Code 0 rt_memclr_w.o(.text) + __rt_memclr_w 0x080006a9 Thumb Code 78 rt_memclr_w.o(.text) + _memset_w 0x080006ad Thumb Code 0 rt_memclr_w.o(.text) + __use_two_region_memory 0x080006f7 Thumb Code 2 heapauxi.o(.text) + __rt_heap_escrow$2region 0x080006f9 Thumb Code 2 heapauxi.o(.text) + __rt_heap_expand$2region 0x080006fb Thumb Code 2 heapauxi.o(.text) + __read_errno 0x080006fd Thumb Code 10 _rserrno.o(.text) + __set_errno 0x08000707 Thumb Code 12 _rserrno.o(.text) + __aeabi_errno_addr 0x08000715 Thumb Code 8 rt_errno_addr_intlibspace.o(.text) + __errno$intlibspace 0x08000715 Thumb Code 0 rt_errno_addr_intlibspace.o(.text) + __rt_errno_addr$intlibspace 0x08000715 Thumb Code 0 rt_errno_addr_intlibspace.o(.text) + __user_libspace 0x0800071d Thumb Code 8 libspace.o(.text) + __user_perproc_libspace 0x0800071d Thumb Code 0 libspace.o(.text) + __user_perthread_libspace 0x0800071d Thumb Code 0 libspace.o(.text) + __user_setup_stackheap 0x08000725 Thumb Code 74 sys_stackheap_outer.o(.text) + exit 0x0800076f Thumb Code 18 exit.o(.text) + _sys_exit 0x08000781 Thumb Code 8 sys_exit.o(.text) + __I$use$semihosting 0x0800078d Thumb Code 0 use_no_semi.o(.text) + __use_no_semihosting_swi 0x0800078d Thumb Code 2 use_no_semi.o(.text) + __semihosting_library_function 0x0800078f Thumb Code 0 indicate_semi.o(.text) + ADC_ConfigureBoostMode 0x08000791 Thumb Code 268 stm32h7xx_hal_adc.o(i.ADC_ConfigureBoostMode) + ADC_ConversionStop 0x080008b9 Thumb Code 236 stm32h7xx_hal_adc.o(i.ADC_ConversionStop) + ADC_DMAConvCplt 0x080009ad Thumb Code 126 stm32h7xx_hal_adc.o(i.ADC_DMAConvCplt) + ADC_DMAError 0x08000a2b Thumb Code 26 stm32h7xx_hal_adc.o(i.ADC_DMAError) + ADC_DMAHalfConvCplt 0x08000a45 Thumb Code 10 stm32h7xx_hal_adc.o(i.ADC_DMAHalfConvCplt) + ADC_Disable 0x08000a51 Thumb Code 128 stm32h7xx_hal_adc.o(i.ADC_Disable) + ADC_Enable 0x08000ad5 Thumb Code 170 stm32h7xx_hal_adc.o(i.ADC_Enable) + BDMA_Channel0_IRQHandler 0x08000b95 Thumb Code 6 stm32h7xx_it.o(i.BDMA_Channel0_IRQHandler) + BusFault_Handler 0x08000ba1 Thumb Code 2 stm32h7xx_it.o(i.BusFault_Handler) + CLKHZSET 0x08000ba5 Thumb Code 250 main.o(i.CLKHZSET) + ChannelSelect 0x08000cb5 Thumb Code 284 main.o(i.ChannelSelect) + Clk_Set 0x08000dd5 Thumb Code 222 main.o(i.Clk_Set) + Command_AddReadIndex 0x08000ebd Thumb Code 22 communicaion.o(i.Command_AddReadIndex) + Command_Deal 0x08000ed9 Thumb Code 930 communicaion.o(i.Command_Deal) + Command_GetCommand 0x080012b5 Thumb Code 188 communicaion.o(i.Command_GetCommand) + Command_GetLength 0x08001375 Thumb Code 24 communicaion.o(i.Command_GetLength) + Command_GetRemain 0x08001391 Thumb Code 14 communicaion.o(i.Command_GetRemain) + Command_Read 0x080013a1 Thumb Code 16 communicaion.o(i.Command_Read) + Command_Write 0x080013b5 Thumb Code 88 communicaion.o(i.Command_Write) + CommunicationResponse 0x08001415 Thumb Code 1206 main.o(i.CommunicationResponse) + DMA1_Stream5_IRQHandler 0x080018dd Thumb Code 6 stm32h7xx_it.o(i.DMA1_Stream5_IRQHandler) + DMAMUX2_OVR_IRQHandler 0x080018e9 Thumb Code 6 stm32h7xx_it.o(i.DMAMUX2_OVR_IRQHandler) + DebugMon_Handler 0x08001d85 Thumb Code 2 stm32h7xx_it.o(i.DebugMon_Handler) + Error_Handler 0x08001d87 Thumb Code 4 main.o(i.Error_Handler) + FindMaxValue 0x08001d8d Thumb Code 54 main.o(i.FindMaxValue) + FramePack 0x08001dc9 Thumb Code 108 communicaion.o(i.FramePack) + HAL_ADCEx_Calibration_Start 0x08001e35 Thumb Code 156 stm32h7xx_hal_adc_ex.o(i.HAL_ADCEx_Calibration_Start) + HAL_ADC_ConfigChannel 0x08001ed9 Thumb Code 1148 stm32h7xx_hal_adc.o(i.HAL_ADC_ConfigChannel) + HAL_ADC_ConvCpltCallback 0x08002359 Thumb Code 384 main.o(i.HAL_ADC_ConvCpltCallback) + HAL_ADC_ConvHalfCpltCallback 0x080024f9 Thumb Code 332 main.o(i.HAL_ADC_ConvHalfCpltCallback) + HAL_ADC_ErrorCallback 0x08002669 Thumb Code 2 stm32h7xx_hal_adc.o(i.HAL_ADC_ErrorCallback) + HAL_ADC_Init 0x0800266d Thumb Code 510 stm32h7xx_hal_adc.o(i.HAL_ADC_Init) + HAL_ADC_MspInit 0x08002899 Thumb Code 306 stm32h7xx_hal_msp.o(i.HAL_ADC_MspInit) + HAL_ADC_Start_DMA 0x080029e9 Thumb Code 234 stm32h7xx_hal_adc.o(i.HAL_ADC_Start_DMA) + HAL_ADC_Stop_DMA 0x08002af5 Thumb Code 126 stm32h7xx_hal_adc.o(i.HAL_ADC_Stop_DMA) + HAL_DMAEx_ConfigMuxSync 0x08002b75 Thumb Code 226 stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_ConfigMuxSync) + HAL_DMAEx_MUX_IRQHandler 0x08002c61 Thumb Code 100 stm32h7xx_hal_dma_ex.o(i.HAL_DMAEx_MUX_IRQHandler) + HAL_DMA_Abort 0x08002cc5 Thumb Code 880 stm32h7xx_hal_dma.o(i.HAL_DMA_Abort) + HAL_DMA_Abort_IT 0x08003041 Thumb Code 674 stm32h7xx_hal_dma.o(i.HAL_DMA_Abort_IT) + HAL_DMA_IRQHandler 0x080032f1 Thumb Code 1948 stm32h7xx_hal_dma.o(i.HAL_DMA_IRQHandler) + HAL_DMA_Init 0x08003a99 Thumb Code 994 stm32h7xx_hal_dma.o(i.HAL_DMA_Init) + HAL_DMA_Start 0x08003e95 Thumb Code 406 stm32h7xx_hal_dma.o(i.HAL_DMA_Start) + HAL_DMA_Start_IT 0x08004035 Thumb Code 734 stm32h7xx_hal_dma.o(i.HAL_DMA_Start_IT) + HAL_GPIO_Init 0x08004321 Thumb Code 498 stm32h7xx_hal_gpio.o(i.HAL_GPIO_Init) + HAL_GPIO_WritePin 0x08004545 Thumb Code 14 stm32h7xx_hal_gpio.o(i.HAL_GPIO_WritePin) + HAL_GetREVID 0x08004555 Thumb Code 8 stm32h7xx_hal.o(i.HAL_GetREVID) + HAL_GetTick 0x08004561 Thumb Code 6 stm32h7xx_hal.o(i.HAL_GetTick) + HAL_IncTick 0x0800456d Thumb Code 12 stm32h7xx_hal.o(i.HAL_IncTick) + HAL_Init 0x0800457d Thumb Code 74 stm32h7xx_hal.o(i.HAL_Init) + HAL_InitTick 0x080045d9 Thumb Code 124 stm32h7xx_hal_timebase_tim.o(i.HAL_InitTick) + HAL_MspInit 0x08004669 Thumb Code 32 stm32h7xx_hal_msp.o(i.HAL_MspInit) + HAL_NVIC_EnableIRQ 0x0800468d Thumb Code 26 stm32h7xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) + HAL_NVIC_SetPriority 0x080046a9 Thumb Code 60 stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriority) + HAL_NVIC_SetPriorityGrouping 0x080046e9 Thumb Code 26 stm32h7xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) + HAL_PCDEx_LPM_Callback 0x0800470d Thumb Code 2 stm32h7xx_hal_pcd_ex.o(i.HAL_PCDEx_LPM_Callback) + HAL_PCD_ConnectCallback 0x0800470f Thumb Code 8 usbd_conf.o(i.HAL_PCD_ConnectCallback) + HAL_PCD_DataInStageCallback 0x08004717 Thumb Code 18 usbd_conf.o(i.HAL_PCD_DataInStageCallback) + HAL_PCD_DataOutStageCallback 0x08004729 Thumb Code 20 usbd_conf.o(i.HAL_PCD_DataOutStageCallback) + HAL_PCD_DisconnectCallback 0x0800473d Thumb Code 8 usbd_conf.o(i.HAL_PCD_DisconnectCallback) + HAL_PCD_EP_Abort 0x08004745 Thumb Code 30 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Abort) + HAL_PCD_EP_ClrStall 0x08004763 Thumb Code 88 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_ClrStall) + HAL_PCD_EP_Open 0x080047bb Thumb Code 96 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Open) + HAL_PCD_EP_Receive 0x0800481b Thumb Code 50 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Receive) + HAL_PCD_EP_SetStall 0x0800484d Thumb Code 112 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_SetStall) + HAL_PCD_EP_Transmit 0x080048bd Thumb Code 50 stm32h7xx_hal_pcd.o(i.HAL_PCD_EP_Transmit) + HAL_PCD_IRQHandler 0x080048ef Thumb Code 1346 stm32h7xx_hal_pcd.o(i.HAL_PCD_IRQHandler) + HAL_PCD_ISOINIncompleteCallback 0x08004e31 Thumb Code 8 usbd_conf.o(i.HAL_PCD_ISOINIncompleteCallback) + HAL_PCD_ISOOUTIncompleteCallback 0x08004e39 Thumb Code 8 usbd_conf.o(i.HAL_PCD_ISOOUTIncompleteCallback) + HAL_PCD_ResetCallback 0x08004e41 Thumb Code 46 usbd_conf.o(i.HAL_PCD_ResetCallback) + HAL_PCD_ResumeCallback 0x08004e6f Thumb Code 8 usbd_conf.o(i.HAL_PCD_ResumeCallback) + HAL_PCD_SOFCallback 0x08004e77 Thumb Code 8 usbd_conf.o(i.HAL_PCD_SOFCallback) + HAL_PCD_SetAddress 0x08004e7f Thumb Code 38 stm32h7xx_hal_pcd.o(i.HAL_PCD_SetAddress) + HAL_PCD_SetupStageCallback 0x08004ea5 Thumb Code 14 usbd_conf.o(i.HAL_PCD_SetupStageCallback) + HAL_PCD_SuspendCallback 0x08004eb5 Thumb Code 44 usbd_conf.o(i.HAL_PCD_SuspendCallback) + HAL_PWREx_ConfigSupply 0x08004ee5 Thumb Code 82 stm32h7xx_hal_pwr_ex.o(i.HAL_PWREx_ConfigSupply) + HAL_RCCEx_GetD3PCLK1Freq 0x08004f3d Thumb Code 26 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetD3PCLK1Freq) + HAL_RCCEx_GetPLL1ClockFreq 0x08004f61 Thumb Code 424 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL1ClockFreq) + HAL_RCCEx_GetPLL2ClockFreq 0x08005121 Thumb Code 424 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL2ClockFreq) + HAL_RCCEx_GetPLL3ClockFreq 0x080052e1 Thumb Code 424 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPLL3ClockFreq) + HAL_RCCEx_GetPeriphCLKFreq 0x080054a1 Thumb Code 1518 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) + HAL_RCCEx_PeriphCLKConfig 0x08005a91 Thumb Code 2558 stm32h7xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) + HAL_RCC_ClockConfig 0x08006495 Thumb Code 604 stm32h7xx_hal_rcc.o(i.HAL_RCC_ClockConfig) + HAL_RCC_GetClockConfig 0x08006711 Thumb Code 86 stm32h7xx_hal_rcc.o(i.HAL_RCC_GetClockConfig) + HAL_RCC_GetHCLKFreq 0x08006771 Thumb Code 52 stm32h7xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) + HAL_RCC_GetPCLK1Freq 0x080067b5 Thumb Code 26 stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) + HAL_RCC_GetPCLK2Freq 0x080067d9 Thumb Code 26 stm32h7xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) + HAL_RCC_GetSysClockFreq 0x080067fd Thumb Code 402 stm32h7xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) + HAL_RCC_OscConfig 0x080069b1 Thumb Code 1664 stm32h7xx_hal_rcc.o(i.HAL_RCC_OscConfig) + HAL_SYSCFG_AnalogSwitchConfig 0x08007035 Thumb Code 12 stm32h7xx_hal.o(i.HAL_SYSCFG_AnalogSwitchConfig) + HAL_TIMEx_Break2Callback 0x08007045 Thumb Code 2 stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_Break2Callback) + HAL_TIMEx_BreakCallback 0x08007047 Thumb Code 2 stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback) + HAL_TIMEx_CommutCallback 0x08007049 Thumb Code 2 stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback) + HAL_TIMEx_ConfigBreakDeadTime 0x0800704d Thumb Code 132 stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigBreakDeadTime) + HAL_TIMEx_MasterConfigSynchronization 0x080070d9 Thumb Code 132 stm32h7xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization) + HAL_TIM_Base_Init 0x08007179 Thumb Code 78 stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Init) + HAL_TIM_Base_MspInit 0x080071c9 Thumb Code 82 stm32h7xx_hal_msp.o(i.HAL_TIM_Base_MspInit) + HAL_TIM_Base_Start_IT 0x08007229 Thumb Code 116 stm32h7xx_hal_tim.o(i.HAL_TIM_Base_Start_IT) + HAL_TIM_ConfigClockSource 0x080072bd Thumb Code 260 stm32h7xx_hal_tim.o(i.HAL_TIM_ConfigClockSource) + HAL_TIM_IC_CaptureCallback 0x080073c5 Thumb Code 2 stm32h7xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback) + HAL_TIM_IRQHandler 0x080073c7 Thumb Code 338 stm32h7xx_hal_tim.o(i.HAL_TIM_IRQHandler) + HAL_TIM_MspPostInit 0x08007519 Thumb Code 72 stm32h7xx_hal_msp.o(i.HAL_TIM_MspPostInit) + HAL_TIM_OC_DelayElapsedCallback 0x08007569 Thumb Code 2 stm32h7xx_hal_tim.o(i.HAL_TIM_OC_DelayElapsedCallback) + HAL_TIM_PWM_ConfigChannel 0x0800756b Thumb Code 310 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel) + HAL_TIM_PWM_Init 0x080076a1 Thumb Code 78 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Init) + HAL_TIM_PWM_MspInit 0x080076ef Thumb Code 2 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_MspInit) + HAL_TIM_PWM_PulseFinishedCallback 0x080076f1 Thumb Code 2 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback) + HAL_TIM_PWM_Start 0x080076f5 Thumb Code 254 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Start) + HAL_TIM_PWM_Stop 0x0800781d Thumb Code 154 stm32h7xx_hal_tim.o(i.HAL_TIM_PWM_Stop) + HAL_TIM_PeriodElapsedCallback 0x080078cd Thumb Code 14 main.o(i.HAL_TIM_PeriodElapsedCallback) + HAL_TIM_TriggerCallback 0x080078e1 Thumb Code 2 stm32h7xx_hal_tim.o(i.HAL_TIM_TriggerCallback) + HAL_UARTEx_DisableFifoMode 0x080078e3 Thumb Code 62 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_DisableFifoMode) + HAL_UARTEx_ReceiveToIdle_DMA 0x08007921 Thumb Code 82 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_ReceiveToIdle_DMA) + HAL_UARTEx_RxEventCallback 0x08007975 Thumb Code 26 main.o(i.HAL_UARTEx_RxEventCallback) + HAL_UARTEx_RxFifoFullCallback 0x08007999 Thumb Code 2 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_RxFifoFullCallback) + HAL_UARTEx_SetRxFifoThreshold 0x0800799b Thumb Code 76 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_SetRxFifoThreshold) + HAL_UARTEx_SetTxFifoThreshold 0x080079e7 Thumb Code 76 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_SetTxFifoThreshold) + HAL_UARTEx_TxFifoEmptyCallback 0x08007a33 Thumb Code 2 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_TxFifoEmptyCallback) + HAL_UARTEx_WakeupCallback 0x08007a35 Thumb Code 2 stm32h7xx_hal_uart_ex.o(i.HAL_UARTEx_WakeupCallback) + HAL_UART_ErrorCallback 0x08007a37 Thumb Code 2 stm32h7xx_hal_uart.o(i.HAL_UART_ErrorCallback) + HAL_UART_GetState 0x08007a39 Thumb Code 12 stm32h7xx_hal_uart.o(i.HAL_UART_GetState) + HAL_UART_IRQHandler 0x08007a45 Thumb Code 920 stm32h7xx_hal_uart.o(i.HAL_UART_IRQHandler) + HAL_UART_Init 0x08007df1 Thumb Code 112 stm32h7xx_hal_uart.o(i.HAL_UART_Init) + HAL_UART_MspInit 0x08007e61 Thumb Code 186 stm32h7xx_hal_msp.o(i.HAL_UART_MspInit) + HAL_UART_RxCpltCallback 0x08007f31 Thumb Code 2 stm32h7xx_hal_uart.o(i.HAL_UART_RxCpltCallback) + HAL_UART_RxHalfCpltCallback 0x08007f33 Thumb Code 2 stm32h7xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) + HAL_UART_Transmit 0x08007f35 Thumb Code 184 stm32h7xx_hal_uart.o(i.HAL_UART_Transmit) + HAL_UART_TxCpltCallback 0x08007fed Thumb Code 2 stm32h7xx_hal_uart.o(i.HAL_UART_TxCpltCallback) + HardFault_Handler 0x08007fef Thumb Code 2 stm32h7xx_it.o(i.HardFault_Handler) + LineCheck 0x08008019 Thumb Code 1226 main.o(i.LineCheck) + MemManage_Handler 0x08008aed Thumb Code 2 stm32h7xx_it.o(i.MemManage_Handler) + NMI_Handler 0x08008aef Thumb Code 2 stm32h7xx_it.o(i.NMI_Handler) + OTG_FS_IRQHandler 0x08008af1 Thumb Code 6 stm32h7xx_it.o(i.OTG_FS_IRQHandler) + SampleRate_Set 0x08008f19 Thumb Code 162 main.o(i.SampleRate_Set) + SlopeSet 0x08008fc9 Thumb Code 430 main.o(i.SlopeSet) + StartDefaultTask 0x08009181 Thumb Code 414 main.o(i.StartDefaultTask) + SysTick_Handler 0x08009359 Thumb Code 26 cmsis_os2.o(i.SysTick_Handler) + SystemClock_Config 0x08009375 Thumb Code 158 main.o(i.SystemClock_Config) + SystemInit 0x0800941d Thumb Code 178 system_stm32h7xx.o(i.SystemInit) + TIM7_IRQHandler 0x080094f9 Thumb Code 6 stm32h7xx_it.o(i.TIM7_IRQHandler) + TIM_Base_SetConfig 0x08009505 Thumb Code 168 stm32h7xx_hal_tim.o(i.TIM_Base_SetConfig) + TIM_CCxChannelCmd 0x080095cd Thumb Code 26 stm32h7xx_hal_tim.o(i.TIM_CCxChannelCmd) + TIM_ETR_SetConfig 0x080095e7 Thumb Code 20 stm32h7xx_hal_tim.o(i.TIM_ETR_SetConfig) + TIM_OC2_SetConfig 0x080096b1 Thumb Code 124 stm32h7xx_hal_tim.o(i.TIM_OC2_SetConfig) + UART_AdvFeatureConfig 0x080099bd Thumb Code 200 stm32h7xx_hal_uart.o(i.UART_AdvFeatureConfig) + UART_CheckIdleState 0x08009a85 Thumb Code 170 stm32h7xx_hal_uart.o(i.UART_CheckIdleState) + UART_SetConfig 0x08009cdd Thumb Code 1168 stm32h7xx_hal_uart.o(i.UART_SetConfig) + UART_Start_Receive_DMA 0x0800a16d Thumb Code 152 stm32h7xx_hal_uart.o(i.UART_Start_Receive_DMA) + UART_WaitOnFlagUntilTimeout 0x0800a211 Thumb Code 152 stm32h7xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) + USART1_IRQHandler 0x0800a2a9 Thumb Code 22 stm32h7xx_it.o(i.USART1_IRQHandler) + USBD_ClrClassConfig 0x0800a2c9 Thumb Code 20 usbd_core.o(i.USBD_ClrClassConfig) + USBD_CoreFindEP 0x0800a303 Thumb Code 4 usbd_core.o(i.USBD_CoreFindEP) + USBD_CoreFindIF 0x0800a307 Thumb Code 4 usbd_core.o(i.USBD_CoreFindIF) + USBD_CtlContinueRx 0x0800a30b Thumb Code 16 usbd_ioreq.o(i.USBD_CtlContinueRx) + USBD_CtlContinueSendData 0x0800a31b Thumb Code 16 usbd_ioreq.o(i.USBD_CtlContinueSendData) + USBD_CtlError 0x0800a32b Thumb Code 24 usbd_ctlreq.o(i.USBD_CtlError) + USBD_CtlReceiveStatus 0x0800a343 Thumb Code 22 usbd_ioreq.o(i.USBD_CtlReceiveStatus) + USBD_CtlSendData 0x0800a359 Thumb Code 26 usbd_ioreq.o(i.USBD_CtlSendData) + USBD_CtlSendStatus 0x0800a373 Thumb Code 22 usbd_ioreq.o(i.USBD_CtlSendStatus) + USBD_Get_USB_Status 0x0800a5e3 Thumb Code 36 usbd_conf.o(i.USBD_Get_USB_Status) + USBD_LL_ClearStallEP 0x0800a607 Thumb Code 18 usbd_conf.o(i.USBD_LL_ClearStallEP) + USBD_LL_DataInStage 0x0800a619 Thumb Code 220 usbd_core.o(i.USBD_LL_DataInStage) + USBD_LL_DataOutStage 0x0800a6f5 Thumb Code 202 usbd_core.o(i.USBD_LL_DataOutStage) + USBD_LL_DevConnected 0x0800a7bf Thumb Code 4 usbd_core.o(i.USBD_LL_DevConnected) + USBD_LL_DevDisconnected 0x0800a7c3 Thumb Code 32 usbd_core.o(i.USBD_LL_DevDisconnected) + USBD_LL_IsStallEP 0x0800a7e3 Thumb Code 30 usbd_conf.o(i.USBD_LL_IsStallEP) + USBD_LL_IsoINIncomplete 0x0800a801 Thumb Code 42 usbd_core.o(i.USBD_LL_IsoINIncomplete) + USBD_LL_IsoOUTIncomplete 0x0800a82b Thumb Code 42 usbd_core.o(i.USBD_LL_IsoOUTIncomplete) + USBD_LL_OpenEP 0x0800a855 Thumb Code 24 usbd_conf.o(i.USBD_LL_OpenEP) + USBD_LL_PrepareReceive 0x0800a86d Thumb Code 18 usbd_conf.o(i.USBD_LL_PrepareReceive) + USBD_LL_Reset 0x0800a87f Thumb Code 96 usbd_core.o(i.USBD_LL_Reset) + USBD_LL_Resume 0x0800a8df Thumb Code 20 usbd_core.o(i.USBD_LL_Resume) + USBD_LL_SOF 0x0800a8f3 Thumb Code 26 usbd_core.o(i.USBD_LL_SOF) + USBD_LL_SetSpeed 0x0800a90d Thumb Code 6 usbd_core.o(i.USBD_LL_SetSpeed) + USBD_LL_SetUSBAddress 0x0800a913 Thumb Code 18 usbd_conf.o(i.USBD_LL_SetUSBAddress) + USBD_LL_SetupStage 0x0800a925 Thumb Code 96 usbd_core.o(i.USBD_LL_SetupStage) + USBD_LL_StallEP 0x0800a985 Thumb Code 18 usbd_conf.o(i.USBD_LL_StallEP) + USBD_LL_Suspend 0x0800a997 Thumb Code 26 usbd_core.o(i.USBD_LL_Suspend) + USBD_LL_Transmit 0x0800a9b1 Thumb Code 18 usbd_conf.o(i.USBD_LL_Transmit) + USBD_ParseSetupRequest 0x0800a9c3 Thumb Code 50 usbd_ctlreq.o(i.USBD_ParseSetupRequest) + USBD_RunTestMode 0x0800a9f5 Thumb Code 4 usbd_core.o(i.USBD_RunTestMode) + USBD_SetClassConfig 0x0800aa51 Thumb Code 20 usbd_core.o(i.USBD_SetClassConfig) + USBD_StdDevReq 0x0800ab65 Thumb Code 118 usbd_ctlreq.o(i.USBD_StdDevReq) + USBD_StdEPReq 0x0800abdb Thumb Code 544 usbd_ctlreq.o(i.USBD_StdEPReq) + USBD_StdItfReq 0x0800adfb Thumb Code 142 usbd_ctlreq.o(i.USBD_StdItfReq) + USB_ActivateEndpoint 0x0800ae89 Thumb Code 126 stm32h7xx_ll_usb.o(i.USB_ActivateEndpoint) + USB_ActivateSetup 0x0800af0d Thumb Code 28 stm32h7xx_ll_usb.o(i.USB_ActivateSetup) + USB_EP0_OutStart 0x0800af29 Thumb Code 80 stm32h7xx_ll_usb.o(i.USB_EP0_OutStart) + USB_EPClearStall 0x0800af7d Thumb Code 88 stm32h7xx_ll_usb.o(i.USB_EPClearStall) + USB_EPSetStall 0x0800afd5 Thumb Code 88 stm32h7xx_ll_usb.o(i.USB_EPSetStall) + USB_EPStartXfer 0x0800b02d Thumb Code 592 stm32h7xx_ll_usb.o(i.USB_EPStartXfer) + USB_EPStopXfer 0x0800b281 Thumb Code 164 stm32h7xx_ll_usb.o(i.USB_EPStopXfer) + USB_FlushTxFifo 0x0800b325 Thumb Code 68 stm32h7xx_ll_usb.o(i.USB_FlushTxFifo) + USB_GetDevSpeed 0x0800b369 Thumb Code 32 stm32h7xx_ll_usb.o(i.USB_GetDevSpeed) + USB_GetMode 0x0800b389 Thumb Code 8 stm32h7xx_ll_usb.o(i.USB_GetMode) + USB_ReadDevAllInEpInterrupt 0x0800b391 Thumb Code 14 stm32h7xx_ll_usb.o(i.USB_ReadDevAllInEpInterrupt) + USB_ReadDevAllOutEpInterrupt 0x0800b39f Thumb Code 14 stm32h7xx_ll_usb.o(i.USB_ReadDevAllOutEpInterrupt) + USB_ReadDevInEPInterrupt 0x0800b3ad Thumb Code 36 stm32h7xx_ll_usb.o(i.USB_ReadDevInEPInterrupt) + USB_ReadDevOutEPInterrupt 0x0800b3d1 Thumb Code 16 stm32h7xx_ll_usb.o(i.USB_ReadDevOutEPInterrupt) + USB_ReadInterrupts 0x0800b3e1 Thumb Code 8 stm32h7xx_ll_usb.o(i.USB_ReadInterrupts) + USB_ReadPacket 0x0800b3e9 Thumb Code 62 stm32h7xx_ll_usb.o(i.USB_ReadPacket) + USB_SetDevAddress 0x0800b427 Thumb Code 30 stm32h7xx_ll_usb.o(i.USB_SetDevAddress) + USB_SetTurnaroundTime 0x0800b445 Thumb Code 170 stm32h7xx_ll_usb.o(i.USB_SetTurnaroundTime) + USB_WritePacket 0x0800b539 Thumb Code 40 stm32h7xx_ll_usb.o(i.USB_WritePacket) + UsageFault_Handler 0x0800b561 Thumb Code 2 stm32h7xx_it.o(i.UsageFault_Handler) + __ARM_fpclassify 0x0800b563 Thumb Code 48 fpclassify.o(i.__ARM_fpclassify) + __hardfp_pow 0x0800b5b9 Thumb Code 2140 pow.o(i.__hardfp_pow) + __kernel_poly 0x0800beb1 Thumb Code 112 poly.o(i.__kernel_poly) + __mathlib_dbl_divzero 0x0800bf21 Thumb Code 14 dunder.o(i.__mathlib_dbl_divzero) + __mathlib_dbl_infnan2 0x0800bf41 Thumb Code 6 dunder.o(i.__mathlib_dbl_infnan2) + __mathlib_dbl_invalid 0x0800bf49 Thumb Code 10 dunder.o(i.__mathlib_dbl_invalid) + __mathlib_dbl_overflow 0x0800bf61 Thumb Code 10 dunder.o(i.__mathlib_dbl_overflow) + __mathlib_dbl_underflow 0x0800bf79 Thumb Code 10 dunder.o(i.__mathlib_dbl_underflow) + calculateAverage 0x0800bf91 Thumb Code 72 main.o(i.calculateAverage) + fabs 0x0800bff9 Thumb Code 24 fabs.o(i.fabs) + main 0x0800c011 Thumb Code 74 main.o(i.main) + osDelay 0x0800c06d Thumb Code 28 cmsis_os2.o(i.osDelay) + osKernelInitialize 0x0800c089 Thumb Code 34 cmsis_os2.o(i.osKernelInitialize) + osKernelStart 0x0800c0b1 Thumb Code 48 cmsis_os2.o(i.osKernelStart) + osSemaphoreAcquire 0x0800c0e9 Thumb Code 94 cmsis_os2.o(i.osSemaphoreAcquire) + osSemaphoreNew 0x0800c14d Thumb Code 178 cmsis_os2.o(i.osSemaphoreNew) + osSemaphoreRelease 0x0800c201 Thumb Code 82 cmsis_os2.o(i.osSemaphoreRelease) + osThreadNew 0x0800c259 Thumb Code 188 cmsis_os2.o(i.osThreadNew) + pvPortMalloc 0x0800cb41 Thumb Code 214 heap_4.o(i.pvPortMalloc) + pvTaskIncrementMutexHeldCount 0x0800cc1d Thumb Code 20 tasks.o(i.pvTaskIncrementMutexHeldCount) + pxPortInitialiseStack 0x0800cc35 Thumb Code 30 port.o(i.pxPortInitialiseStack) + sqrt 0x0800cc59 Thumb Code 106 sqrt.o(i.sqrt) + uxListRemove 0x0800ccc3 Thumb Code 38 list.o(i.uxListRemove) + vApplicationGetIdleTaskMemory 0x0800cce9 Thumb Code 18 cmsis_os2.o(i.vApplicationGetIdleTaskMemory) + vApplicationGetTimerTaskMemory 0x0800cd01 Thumb Code 18 cmsis_os2.o(i.vApplicationGetTimerTaskMemory) + vListInitialise 0x0800cd19 Thumb Code 22 list.o(i.vListInitialise) + vListInitialiseItem 0x0800cd2f Thumb Code 6 list.o(i.vListInitialiseItem) + vListInsert 0x0800cd35 Thumb Code 48 list.o(i.vListInsert) + vListInsertEnd 0x0800cd65 Thumb Code 24 list.o(i.vListInsertEnd) + vPortEnterCritical 0x0800cd7d Thumb Code 54 port.o(i.vPortEnterCritical) + vPortExitCritical 0x0800cdbd Thumb Code 38 port.o(i.vPortExitCritical) + vPortFree 0x0800cde9 Thumb Code 94 heap_4.o(i.vPortFree) + vPortSetupTimerInterrupt 0x0800ce4d Thumb Code 32 port.o(i.vPortSetupTimerInterrupt) + vPortValidateInterruptPriority 0x0800ce71 Thumb Code 74 port.o(i.vPortValidateInterruptPriority) + vQueueAddToRegistry 0x0800cec5 Thumb Code 32 queue.o(i.vQueueAddToRegistry) + vQueueDelete 0x0800cee9 Thumb Code 50 queue.o(i.vQueueDelete) + vQueueUnregisterQueue 0x0800cf1d Thumb Code 36 queue.o(i.vQueueUnregisterQueue) + vQueueWaitForMessageRestricted 0x0800cf45 Thumb Code 70 queue.o(i.vQueueWaitForMessageRestricted) + vTaskDelay 0x0800cf8d Thumb Code 70 tasks.o(i.vTaskDelay) + vTaskInternalSetTimeOutState 0x0800cfdd Thumb Code 12 tasks.o(i.vTaskInternalSetTimeOutState) + vTaskMissedYield 0x0800cfed Thumb Code 8 tasks.o(i.vTaskMissedYield) + vTaskPlaceOnEventList 0x0800cff9 Thumb Code 46 tasks.o(i.vTaskPlaceOnEventList) + vTaskPlaceOnEventListRestricted 0x0800d02d Thumb Code 54 tasks.o(i.vTaskPlaceOnEventListRestricted) + vTaskPriorityDisinheritAfterTimeout 0x0800d069 Thumb Code 138 tasks.o(i.vTaskPriorityDisinheritAfterTimeout) + vTaskStartScheduler 0x0800d0fd Thumb Code 126 tasks.o(i.vTaskStartScheduler) + vTaskSuspendAll 0x0800d18d Thumb Code 10 tasks.o(i.vTaskSuspendAll) + vTaskSwitchContext 0x0800d19d Thumb Code 94 tasks.o(i.vTaskSwitchContext) + xPortStartScheduler 0x0800d205 Thumb Code 222 port.o(i.xPortStartScheduler) + xPortSysTickHandler 0x0800d2f9 Thumb Code 38 port.o(i.xPortSysTickHandler) + xQueueCreateCountingSemaphore 0x0800d325 Thumb Code 60 queue.o(i.xQueueCreateCountingSemaphore) + xQueueCreateCountingSemaphoreStatic 0x0800d361 Thumb Code 66 queue.o(i.xQueueCreateCountingSemaphoreStatic) + xQueueGenericCreate 0x0800d3a3 Thumb Code 68 queue.o(i.xQueueGenericCreate) + xQueueGenericCreateStatic 0x0800d3e7 Thumb Code 108 queue.o(i.xQueueGenericCreateStatic) + xQueueGenericReset 0x0800d455 Thumb Code 134 queue.o(i.xQueueGenericReset) + xQueueGenericSend 0x0800d4e1 Thumb Code 352 queue.o(i.xQueueGenericSend) + xQueueGenericSendFromISR 0x0800d645 Thumb Code 192 queue.o(i.xQueueGenericSendFromISR) + xQueueGiveFromISR 0x0800d705 Thumb Code 158 queue.o(i.xQueueGiveFromISR) + xQueueReceive 0x0800d7a5 Thumb Code 310 queue.o(i.xQueueReceive) + xQueueReceiveFromISR 0x0800d8e1 Thumb Code 156 queue.o(i.xQueueReceiveFromISR) + xQueueSemaphoreTake 0x0800d97d Thumb Code 376 queue.o(i.xQueueSemaphoreTake) + xTaskCheckForTimeOut 0x0800daf9 Thumb Code 118 tasks.o(i.xTaskCheckForTimeOut) + xTaskCreate 0x0800db75 Thumb Code 100 tasks.o(i.xTaskCreate) + xTaskCreateStatic 0x0800dbd9 Thumb Code 92 tasks.o(i.xTaskCreateStatic) + xTaskGetSchedulerState 0x0800dc35 Thumb Code 24 tasks.o(i.xTaskGetSchedulerState) + xTaskGetTickCount 0x0800dc51 Thumb Code 6 tasks.o(i.xTaskGetTickCount) + xTaskIncrementTick 0x0800dc5d Thumb Code 196 tasks.o(i.xTaskIncrementTick) + xTaskPriorityDisinherit 0x0800dd29 Thumb Code 116 tasks.o(i.xTaskPriorityDisinherit) + xTaskPriorityInherit 0x0800dda5 Thumb Code 116 tasks.o(i.xTaskPriorityInherit) + xTaskRemoveFromEventList 0x0800de21 Thumb Code 106 tasks.o(i.xTaskRemoveFromEventList) + xTaskResumeAll 0x0800de99 Thumb Code 184 tasks.o(i.xTaskResumeAll) + xTimerCreateTimerTask 0x0800df61 Thumb Code 86 timers.o(i.xTimerCreateTimerTask) + xTimerGenericCommand 0x0800dfc9 Thumb Code 104 timers.o(i.xTimerGenericCommand) + __fpl_dcheck_NaN1 0x0800e035 Thumb Code 10 dcheck1.o(x$fpl$dcheck1) + _fp_init 0x0800e045 Thumb Code 10 fpinit.o(x$fpl$fpinit) + __fplib_config_fpu_vfp 0x0800e04d Thumb Code 0 fpinit.o(x$fpl$fpinit) + __fplib_config_pureend_doubles 0x0800e04d Thumb Code 0 fpinit.o(x$fpl$fpinit) + __fpl_return_NaN 0x0800e04f Thumb Code 100 retnan.o(x$fpl$retnan) + __ARM_scalbn 0x0800e0b3 Thumb Code 92 scalbn.o(x$fpl$scalbn) + __fpl_cmpreturn 0x0800e10f Thumb Code 48 trapv.o(x$fpl$trapveneer) + __I$use$fp 0x0800e13e Number 0 usenofp.o(x$fpl$usenofp) + defaultTask_attributes 0x0800e140 Data 36 main.o(.constdata) + CommunicationResponeTask_attributes 0x0800e164 Data 36 main.o(.constdata) + D1CorePrescTable 0x0800e6e4 Data 16 system_stm32h7xx.o(.constdata) + UARTPrescTable 0x0800e6fc Data 24 stm32h7xx_hal_uart.o(.constdata) + __mathlib_zero 0x0800e7b0 Data 8 qnan.o(.constdata) + Region$$Table$$Base 0x0800e7e0 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x0800e800 Number 0 anon$$obj.o(Region$$Table) + readIndex 0x24000000 Data 1 communicaion.o(.data) + writeIndex 0x24000001 Data 1 communicaion.o(.data) + dtime 0x24000002 Data 1 communicaion.o(.data) + commandLength 0x24000004 Data 4 communicaion.o(.data) + ADC3Finish 0x24000008 Data 1 main.o(.data) + StartFlag 0x24000009 Data 1 main.o(.data) + ReadFlag 0x2400000c Data 1 main.o(.data) + CLKCount 0x2400000d Data 1 main.o(.data) + defaultTaskHandle 0x24000010 Data 4 main.o(.data) + Command_Semaphore 0x24000014 Data 4 main.o(.data) + CommandResponse_Semaphore 0x24000018 Data 4 main.o(.data) + Datav 0x2400001c Data 4 main.o(.data) + CLKHZ 0x24000020 Data 196 main.o(.data) + SystemCoreClock 0x240000e4 Data 4 system_stm32h7xx.o(.data) + SystemD2Clock 0x240000e8 Data 4 system_stm32h7xx.o(.data) + uwTickFreq 0x240000ec Data 1 stm32h7xx_hal.o(.data) + uwTickPrio 0x240000f0 Data 4 stm32h7xx_hal.o(.data) + uwTick 0x240000f4 Data 4 stm32h7xx_hal.o(.data) + pxCurrentTCB 0x240000f8 Data 4 tasks.o(.data) + buffer 0x2400017c Data 121 communicaion.o(.bss) + CommunicationData 0x240001f8 Data 24 communicaion.o(.bss) + command 0x24000210 Data 50 communicaion.o(.bss) + SendBuf 0x24000242 Data 128 communicaion.o(.bss) + hadc3 0x240002c4 Data 100 main.o(.bss) + htim1 0x24000328 Data 76 main.o(.bss) + htim2 0x24000374 Data 76 main.o(.bss) + htim4 0x240003c0 Data 76 main.o(.bss) + huart1 0x2400040c Data 148 main.o(.bss) + hdma_usart1_rx 0x240004a0 Data 120 main.o(.bss) + hdma_memtomem_dma2_stream0 0x24000518 Data 120 main.o(.bss) + fft_inputbuf 0x24000590 Data 8192 main.o(.bss) + Uart_ReadCache 0x24002590 Data 128 main.o(.bss) + OutPut1 0x24002610 Data 12544 main.o(.bss) + OutPut2 0x24005710 Data 12544 main.o(.bss) + OutPut3 0x24008810 Data 12544 main.o(.bss) + OutPut4 0x2400b910 Data 12544 main.o(.bss) + LineCheckResult 0x2400ea10 Data 32 main.o(.bss) + LineCheckF 0x2400ea30 Data 128 main.o(.bss) + hdma_adc3 0x2400eab0 Data 120 main.o(.bss) + hpcd_USB_OTG_FS 0x2400ed48 Data 1252 usbd_conf.o(.bss) + htim7 0x2400f22c Data 76 stm32h7xx_hal_timebase_tim.o(.bss) + xQueueRegistry 0x2400f278 Data 64 queue.o(.bss) + __libspace_start 0x2401514c Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x240151ac Data 0 libspace.o(.bss) + + + +============================================================================== + +Memory Map of the image + + Image Entry point : 0x08000299 + + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000e97c, Max: 0x00020000, ABSOLUTE, COMPRESSED[0x0000e8dc]) + + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x0000e800, Max: 0x00020000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x08000000 0x08000000 0x00000298 Data RO 3 RESET startup_stm32h750xx.o + 0x08000298 0x08000298 0x00000008 Code RO 8534 * !!!main c_w.l(__main.o) + 0x080002a0 0x080002a0 0x00000034 Code RO 8772 !!!scatter c_w.l(__scatter.o) + 0x080002d4 0x080002d4 0x0000005a Code RO 8770 !!dczerorl2 c_w.l(__dczerorl2.o) + 0x0800032e 0x0800032e 0x00000002 PAD + 0x08000330 0x08000330 0x0000001c Code RO 8774 !!handler_zi c_w.l(__scatter_zi.o) + 0x0800034c 0x0800034c 0x00000002 Code RO 8637 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x0800034e 0x0800034e 0x00000004 Code RO 8648 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8651 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8654 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8656 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8658 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8661 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8663 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8665 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8667 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8669 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8671 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8673 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8675 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8677 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8679 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8681 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8685 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8687 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8689 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000000 Code RO 8691 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x08000352 0x08000352 0x00000002 Code RO 8692 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x08000354 0x08000354 0x00000002 Code RO 8725 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000356 0x08000356 0x00000000 Code RO 8751 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000356 0x08000356 0x00000000 Code RO 8753 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000356 0x08000356 0x00000000 Code RO 8755 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) + 0x08000356 0x08000356 0x00000000 Code RO 8758 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) + 0x08000356 0x08000356 0x00000000 Code RO 8761 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000356 0x08000356 0x00000000 Code RO 8763 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) + 0x08000356 0x08000356 0x00000000 Code RO 8766 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) + 0x08000356 0x08000356 0x00000002 Code RO 8767 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) + 0x08000358 0x08000358 0x00000000 Code RO 8550 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000358 0x08000358 0x00000000 Code RO 8598 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000358 0x08000358 0x00000006 Code RO 8610 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x0800035e 0x0800035e 0x00000000 Code RO 8600 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x0800035e 0x0800035e 0x00000004 Code RO 8601 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x08000362 0x08000362 0x00000000 Code RO 8603 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x08000362 0x08000362 0x00000008 Code RO 8604 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x0800036a 0x0800036a 0x00000002 Code RO 8640 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x0800036c 0x0800036c 0x00000000 Code RO 8698 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x0800036c 0x0800036c 0x00000004 Code RO 8699 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000370 0x08000370 0x00000006 Code RO 8700 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x08000376 0x08000376 0x00000002 PAD + 0x08000378 0x08000378 0x000000be Code RO 7992 .emb_text port.o + 0x08000436 0x08000436 0x00000002 PAD + 0x08000438 0x08000438 0x00000040 Code RO 4 .text startup_stm32h750xx.o + 0x08000478 0x08000478 0x000000ee Code RO 8518 .text c_w.l(lludivv7m.o) + 0x08000566 0x08000566 0x0000008a Code RO 8520 .text c_w.l(rt_memcpy_v6.o) + 0x080005f0 0x080005f0 0x00000064 Code RO 8522 .text c_w.l(rt_memcpy_w.o) + 0x08000654 0x08000654 0x00000010 Code RO 8526 .text c_w.l(aeabi_memset.o) + 0x08000664 0x08000664 0x00000044 Code RO 8528 .text c_w.l(rt_memclr.o) + 0x080006a8 0x080006a8 0x0000004e Code RO 8530 .text c_w.l(rt_memclr_w.o) + 0x080006f6 0x080006f6 0x00000006 Code RO 8532 .text c_w.l(heapauxi.o) + 0x080006fc 0x080006fc 0x00000016 Code RO 8555 .text c_w.l(_rserrno.o) + 0x08000712 0x08000712 0x00000002 PAD + 0x08000714 0x08000714 0x00000008 Code RO 8617 .text c_w.l(rt_errno_addr_intlibspace.o) + 0x0800071c 0x0800071c 0x00000008 Code RO 8621 .text c_w.l(libspace.o) + 0x08000724 0x08000724 0x0000004a Code RO 8624 .text c_w.l(sys_stackheap_outer.o) + 0x0800076e 0x0800076e 0x00000012 Code RO 8626 .text c_w.l(exit.o) + 0x08000780 0x08000780 0x0000000c Code RO 8695 .text c_w.l(sys_exit.o) + 0x0800078c 0x0800078c 0x00000002 Code RO 8714 .text c_w.l(use_no_semi.o) + 0x0800078e 0x0800078e 0x00000000 Code RO 8716 .text c_w.l(indicate_semi.o) + 0x0800078e 0x0800078e 0x00000002 PAD + 0x08000790 0x08000790 0x00000128 Code RO 5272 i.ADC_ConfigureBoostMode stm32h7xx_hal_adc.o + 0x080008b8 0x080008b8 0x000000f4 Code RO 5273 i.ADC_ConversionStop stm32h7xx_hal_adc.o + 0x080009ac 0x080009ac 0x0000007e Code RO 5274 i.ADC_DMAConvCplt stm32h7xx_hal_adc.o + 0x08000a2a 0x08000a2a 0x0000001a Code RO 5275 i.ADC_DMAError stm32h7xx_hal_adc.o + 0x08000a44 0x08000a44 0x0000000a Code RO 5276 i.ADC_DMAHalfConvCplt stm32h7xx_hal_adc.o + 0x08000a4e 0x08000a4e 0x00000002 PAD + 0x08000a50 0x08000a50 0x00000084 Code RO 5277 i.ADC_Disable stm32h7xx_hal_adc.o + 0x08000ad4 0x08000ad4 0x000000c0 Code RO 5278 i.ADC_Enable stm32h7xx_hal_adc.o + 0x08000b94 0x08000b94 0x0000000c Code RO 927 i.BDMA_Channel0_IRQHandler stm32h7xx_it.o + 0x08000ba0 0x08000ba0 0x00000002 Code RO 928 i.BusFault_Handler stm32h7xx_it.o + 0x08000ba2 0x08000ba2 0x00000002 PAD + 0x08000ba4 0x08000ba4 0x00000110 Code RO 271 i.CLKHZSET main.o + 0x08000cb4 0x08000cb4 0x00000120 Code RO 272 i.ChannelSelect main.o + 0x08000dd4 0x08000dd4 0x000000e8 Code RO 274 i.Clk_Set main.o + 0x08000ebc 0x08000ebc 0x0000001c Code RO 13 i.Command_AddReadIndex communicaion.o + 0x08000ed8 0x08000ed8 0x000003dc Code RO 14 i.Command_Deal communicaion.o + 0x080012b4 0x080012b4 0x000000c0 Code RO 15 i.Command_GetCommand communicaion.o + 0x08001374 0x08001374 0x0000001c Code RO 16 i.Command_GetLength communicaion.o + 0x08001390 0x08001390 0x0000000e Code RO 17 i.Command_GetRemain communicaion.o + 0x0800139e 0x0800139e 0x00000002 PAD + 0x080013a0 0x080013a0 0x00000014 Code RO 18 i.Command_Read communicaion.o + 0x080013b4 0x080013b4 0x00000060 Code RO 19 i.Command_Write communicaion.o + 0x08001414 0x08001414 0x000004c8 Code RO 275 i.CommunicationResponse main.o + 0x080018dc 0x080018dc 0x0000000c Code RO 929 i.DMA1_Stream5_IRQHandler stm32h7xx_it.o + 0x080018e8 0x080018e8 0x0000000c Code RO 930 i.DMAMUX2_OVR_IRQHandler stm32h7xx_it.o + 0x080018f4 0x080018f4 0x000000c0 Code RO 3502 i.DMA_CalcBaseAndBitshift stm32h7xx_hal_dma.o + 0x080019b4 0x080019b4 0x000000a0 Code RO 3503 i.DMA_CalcDMAMUXChannelBaseAndMask stm32h7xx_hal_dma.o + 0x08001a54 0x08001a54 0x0000007c Code RO 3504 i.DMA_CalcDMAMUXRequestGenBaseAndMask stm32h7xx_hal_dma.o + 0x08001ad0 0x08001ad0 0x00000078 Code RO 3505 i.DMA_CheckFifoParam stm32h7xx_hal_dma.o + 0x08001b48 0x08001b48 0x0000023c Code RO 3506 i.DMA_SetConfig stm32h7xx_hal_dma.o + 0x08001d84 0x08001d84 0x00000002 Code RO 931 i.DebugMon_Handler stm32h7xx_it.o + 0x08001d86 0x08001d86 0x00000004 Code RO 276 i.Error_Handler main.o + 0x08001d8a 0x08001d8a 0x00000002 PAD + 0x08001d8c 0x08001d8c 0x0000003c Code RO 278 i.FindMaxValue main.o + 0x08001dc8 0x08001dc8 0x0000006c Code RO 20 i.FramePack communicaion.o + 0x08001e34 0x08001e34 0x000000a4 Code RO 5494 i.HAL_ADCEx_Calibration_Start stm32h7xx_hal_adc_ex.o + 0x08001ed8 0x08001ed8 0x00000480 Code RO 5280 i.HAL_ADC_ConfigChannel stm32h7xx_hal_adc.o + 0x08002358 0x08002358 0x000001a0 Code RO 279 i.HAL_ADC_ConvCpltCallback main.o + 0x080024f8 0x080024f8 0x00000170 Code RO 280 i.HAL_ADC_ConvHalfCpltCallback main.o + 0x08002668 0x08002668 0x00000002 Code RO 5284 i.HAL_ADC_ErrorCallback stm32h7xx_hal_adc.o + 0x0800266a 0x0800266a 0x00000002 PAD + 0x0800266c 0x0800266c 0x0000022c Code RO 5289 i.HAL_ADC_Init stm32h7xx_hal_adc.o + 0x08002898 0x08002898 0x00000150 Code RO 1022 i.HAL_ADC_MspInit stm32h7xx_hal_msp.o + 0x080029e8 0x080029e8 0x0000010c Code RO 5296 i.HAL_ADC_Start_DMA stm32h7xx_hal_adc.o + 0x08002af4 0x08002af4 0x0000007e Code RO 5299 i.HAL_ADC_Stop_DMA stm32h7xx_hal_adc.o + 0x08002b72 0x08002b72 0x00000002 PAD + 0x08002b74 0x08002b74 0x000000ec Code RO 3621 i.HAL_DMAEx_ConfigMuxSync stm32h7xx_hal_dma_ex.o + 0x08002c60 0x08002c60 0x00000064 Code RO 3624 i.HAL_DMAEx_MUX_IRQHandler stm32h7xx_hal_dma_ex.o + 0x08002cc4 0x08002cc4 0x0000037c Code RO 3507 i.HAL_DMA_Abort stm32h7xx_hal_dma.o + 0x08003040 0x08003040 0x000002b0 Code RO 3508 i.HAL_DMA_Abort_IT stm32h7xx_hal_dma.o + 0x080032f0 0x080032f0 0x000007a8 Code RO 3512 i.HAL_DMA_IRQHandler stm32h7xx_hal_dma.o + 0x08003a98 0x08003a98 0x000003fc Code RO 3513 i.HAL_DMA_Init stm32h7xx_hal_dma.o + 0x08003e94 0x08003e94 0x000001a0 Code RO 3516 i.HAL_DMA_Start stm32h7xx_hal_dma.o + 0x08004034 0x08004034 0x000002ec Code RO 3517 i.HAL_DMA_Start_IT stm32h7xx_hal_dma.o + 0x08004320 0x08004320 0x00000224 Code RO 3355 i.HAL_GPIO_Init stm32h7xx_hal_gpio.o + 0x08004544 0x08004544 0x0000000e Code RO 3359 i.HAL_GPIO_WritePin stm32h7xx_hal_gpio.o + 0x08004552 0x08004552 0x00000002 PAD + 0x08004554 0x08004554 0x0000000c Code RO 4380 i.HAL_GetREVID stm32h7xx_hal.o + 0x08004560 0x08004560 0x0000000c Code RO 4381 i.HAL_GetTick stm32h7xx_hal.o + 0x0800456c 0x0800456c 0x00000010 Code RO 4387 i.HAL_IncTick stm32h7xx_hal.o + 0x0800457c 0x0800457c 0x0000005c Code RO 4388 i.HAL_Init stm32h7xx_hal.o + 0x080045d8 0x080045d8 0x00000090 Code RO 1088 i.HAL_InitTick stm32h7xx_hal_timebase_tim.o + 0x08004668 0x08004668 0x00000024 Code RO 1023 i.HAL_MspInit stm32h7xx_hal_msp.o + 0x0800468c 0x0800468c 0x0000001a Code RO 4217 i.HAL_NVIC_EnableIRQ stm32h7xx_hal_cortex.o + 0x080046a6 0x080046a6 0x00000002 PAD + 0x080046a8 0x080046a8 0x00000040 Code RO 4223 i.HAL_NVIC_SetPriority stm32h7xx_hal_cortex.o + 0x080046e8 0x080046e8 0x00000024 Code RO 4224 i.HAL_NVIC_SetPriorityGrouping stm32h7xx_hal_cortex.o + 0x0800470c 0x0800470c 0x00000002 Code RO 2425 i.HAL_PCDEx_LPM_Callback stm32h7xx_hal_pcd_ex.o + 0x0800470e 0x0800470e 0x00000008 Code RO 563 i.HAL_PCD_ConnectCallback usbd_conf.o + 0x08004716 0x08004716 0x00000012 Code RO 564 i.HAL_PCD_DataInStageCallback usbd_conf.o + 0x08004728 0x08004728 0x00000014 Code RO 565 i.HAL_PCD_DataOutStageCallback usbd_conf.o + 0x0800473c 0x0800473c 0x00000008 Code RO 566 i.HAL_PCD_DisconnectCallback usbd_conf.o + 0x08004744 0x08004744 0x0000001e Code RO 2191 i.HAL_PCD_EP_Abort stm32h7xx_hal_pcd.o + 0x08004762 0x08004762 0x00000058 Code RO 2193 i.HAL_PCD_EP_ClrStall stm32h7xx_hal_pcd.o + 0x080047ba 0x080047ba 0x00000060 Code RO 2196 i.HAL_PCD_EP_Open stm32h7xx_hal_pcd.o + 0x0800481a 0x0800481a 0x00000032 Code RO 2197 i.HAL_PCD_EP_Receive stm32h7xx_hal_pcd.o + 0x0800484c 0x0800484c 0x00000070 Code RO 2198 i.HAL_PCD_EP_SetStall stm32h7xx_hal_pcd.o + 0x080048bc 0x080048bc 0x00000032 Code RO 2199 i.HAL_PCD_EP_Transmit stm32h7xx_hal_pcd.o + 0x080048ee 0x080048ee 0x00000542 Code RO 2201 i.HAL_PCD_IRQHandler stm32h7xx_hal_pcd.o + 0x08004e30 0x08004e30 0x00000008 Code RO 567 i.HAL_PCD_ISOINIncompleteCallback usbd_conf.o + 0x08004e38 0x08004e38 0x00000008 Code RO 568 i.HAL_PCD_ISOOUTIncompleteCallback usbd_conf.o + 0x08004e40 0x08004e40 0x0000002e Code RO 571 i.HAL_PCD_ResetCallback usbd_conf.o + 0x08004e6e 0x08004e6e 0x00000008 Code RO 572 i.HAL_PCD_ResumeCallback usbd_conf.o + 0x08004e76 0x08004e76 0x00000008 Code RO 573 i.HAL_PCD_SOFCallback usbd_conf.o + 0x08004e7e 0x08004e7e 0x00000026 Code RO 2210 i.HAL_PCD_SetAddress stm32h7xx_hal_pcd.o + 0x08004ea4 0x08004ea4 0x0000000e Code RO 574 i.HAL_PCD_SetupStageCallback usbd_conf.o + 0x08004eb2 0x08004eb2 0x00000002 PAD + 0x08004eb4 0x08004eb4 0x00000030 Code RO 575 i.HAL_PCD_SuspendCallback usbd_conf.o + 0x08004ee4 0x08004ee4 0x00000058 Code RO 3956 i.HAL_PWREx_ConfigSupply stm32h7xx_hal_pwr_ex.o + 0x08004f3c 0x08004f3c 0x00000024 Code RO 2918 i.HAL_RCCEx_GetD3PCLK1Freq stm32h7xx_hal_rcc_ex.o + 0x08004f60 0x08004f60 0x000001c0 Code RO 2919 i.HAL_RCCEx_GetPLL1ClockFreq stm32h7xx_hal_rcc_ex.o + 0x08005120 0x08005120 0x000001c0 Code RO 2920 i.HAL_RCCEx_GetPLL2ClockFreq stm32h7xx_hal_rcc_ex.o + 0x080052e0 0x080052e0 0x000001c0 Code RO 2921 i.HAL_RCCEx_GetPLL3ClockFreq stm32h7xx_hal_rcc_ex.o + 0x080054a0 0x080054a0 0x000005ee Code RO 2923 i.HAL_RCCEx_GetPeriphCLKFreq stm32h7xx_hal_rcc_ex.o + 0x08005a8e 0x08005a8e 0x00000002 PAD + 0x08005a90 0x08005a90 0x00000a04 Code RO 2927 i.HAL_RCCEx_PeriphCLKConfig stm32h7xx_hal_rcc_ex.o + 0x08006494 0x08006494 0x0000027c Code RO 2803 i.HAL_RCC_ClockConfig stm32h7xx_hal_rcc.o + 0x08006710 0x08006710 0x00000060 Code RO 2807 i.HAL_RCC_GetClockConfig stm32h7xx_hal_rcc.o + 0x08006770 0x08006770 0x00000044 Code RO 2808 i.HAL_RCC_GetHCLKFreq stm32h7xx_hal_rcc.o + 0x080067b4 0x080067b4 0x00000024 Code RO 2810 i.HAL_RCC_GetPCLK1Freq stm32h7xx_hal_rcc.o + 0x080067d8 0x080067d8 0x00000024 Code RO 2811 i.HAL_RCC_GetPCLK2Freq stm32h7xx_hal_rcc.o + 0x080067fc 0x080067fc 0x000001b4 Code RO 2812 i.HAL_RCC_GetSysClockFreq stm32h7xx_hal_rcc.o + 0x080069b0 0x080069b0 0x00000684 Code RO 2815 i.HAL_RCC_OscConfig stm32h7xx_hal_rcc.o + 0x08007034 0x08007034 0x00000010 Code RO 4393 i.HAL_SYSCFG_AnalogSwitchConfig stm32h7xx_hal.o + 0x08007044 0x08007044 0x00000002 Code RO 1891 i.HAL_TIMEx_Break2Callback stm32h7xx_hal_tim_ex.o + 0x08007046 0x08007046 0x00000002 Code RO 1892 i.HAL_TIMEx_BreakCallback stm32h7xx_hal_tim_ex.o + 0x08007048 0x08007048 0x00000002 Code RO 1893 i.HAL_TIMEx_CommutCallback stm32h7xx_hal_tim_ex.o + 0x0800704a 0x0800704a 0x00000002 PAD + 0x0800704c 0x0800704c 0x0000008c Code RO 1895 i.HAL_TIMEx_ConfigBreakDeadTime stm32h7xx_hal_tim_ex.o + 0x080070d8 0x080070d8 0x000000a0 Code RO 1913 i.HAL_TIMEx_MasterConfigSynchronization stm32h7xx_hal_tim_ex.o + 0x08007178 0x08007178 0x0000004e Code RO 1166 i.HAL_TIM_Base_Init stm32h7xx_hal_tim.o + 0x080071c6 0x080071c6 0x00000002 PAD + 0x080071c8 0x080071c8 0x00000060 Code RO 1025 i.HAL_TIM_Base_MspInit stm32h7xx_hal_msp.o + 0x08007228 0x08007228 0x00000094 Code RO 1171 i.HAL_TIM_Base_Start_IT stm32h7xx_hal_tim.o + 0x080072bc 0x080072bc 0x00000108 Code RO 1175 i.HAL_TIM_ConfigClockSource stm32h7xx_hal_tim.o + 0x080073c4 0x080073c4 0x00000002 Code RO 1200 i.HAL_TIM_IC_CaptureCallback stm32h7xx_hal_tim.o + 0x080073c6 0x080073c6 0x00000152 Code RO 1214 i.HAL_TIM_IRQHandler stm32h7xx_hal_tim.o + 0x08007518 0x08007518 0x00000050 Code RO 1026 i.HAL_TIM_MspPostInit stm32h7xx_hal_msp.o + 0x08007568 0x08007568 0x00000002 Code RO 1217 i.HAL_TIM_OC_DelayElapsedCallback stm32h7xx_hal_tim.o + 0x0800756a 0x0800756a 0x00000136 Code RO 1238 i.HAL_TIM_PWM_ConfigChannel stm32h7xx_hal_tim.o + 0x080076a0 0x080076a0 0x0000004e Code RO 1241 i.HAL_TIM_PWM_Init stm32h7xx_hal_tim.o + 0x080076ee 0x080076ee 0x00000002 Code RO 1243 i.HAL_TIM_PWM_MspInit stm32h7xx_hal_tim.o + 0x080076f0 0x080076f0 0x00000002 Code RO 1244 i.HAL_TIM_PWM_PulseFinishedCallback stm32h7xx_hal_tim.o + 0x080076f2 0x080076f2 0x00000002 PAD + 0x080076f4 0x080076f4 0x00000128 Code RO 1246 i.HAL_TIM_PWM_Start stm32h7xx_hal_tim.o + 0x0800781c 0x0800781c 0x000000b0 Code RO 1249 i.HAL_TIM_PWM_Stop stm32h7xx_hal_tim.o + 0x080078cc 0x080078cc 0x00000014 Code RO 281 i.HAL_TIM_PeriodElapsedCallback main.o + 0x080078e0 0x080078e0 0x00000002 Code RO 1257 i.HAL_TIM_TriggerCallback stm32h7xx_hal_tim.o + 0x080078e2 0x080078e2 0x0000003e Code RO 6148 i.HAL_UARTEx_DisableFifoMode stm32h7xx_hal_uart_ex.o + 0x08007920 0x08007920 0x00000052 Code RO 6154 i.HAL_UARTEx_ReceiveToIdle_DMA stm32h7xx_hal_uart_ex.o + 0x08007972 0x08007972 0x00000002 PAD + 0x08007974 0x08007974 0x00000024 Code RO 282 i.HAL_UARTEx_RxEventCallback main.o + 0x08007998 0x08007998 0x00000002 Code RO 6156 i.HAL_UARTEx_RxFifoFullCallback stm32h7xx_hal_uart_ex.o + 0x0800799a 0x0800799a 0x0000004c Code RO 6157 i.HAL_UARTEx_SetRxFifoThreshold stm32h7xx_hal_uart_ex.o + 0x080079e6 0x080079e6 0x0000004c Code RO 6158 i.HAL_UARTEx_SetTxFifoThreshold stm32h7xx_hal_uart_ex.o + 0x08007a32 0x08007a32 0x00000002 Code RO 6160 i.HAL_UARTEx_TxFifoEmptyCallback stm32h7xx_hal_uart_ex.o + 0x08007a34 0x08007a34 0x00000002 Code RO 6161 i.HAL_UARTEx_WakeupCallback stm32h7xx_hal_uart_ex.o + 0x08007a36 0x08007a36 0x00000002 Code RO 5748 i.HAL_UART_ErrorCallback stm32h7xx_hal_uart.o + 0x08007a38 0x08007a38 0x0000000c Code RO 5750 i.HAL_UART_GetState stm32h7xx_hal_uart.o + 0x08007a44 0x08007a44 0x000003ac Code RO 5751 i.HAL_UART_IRQHandler stm32h7xx_hal_uart.o + 0x08007df0 0x08007df0 0x00000070 Code RO 5752 i.HAL_UART_Init stm32h7xx_hal_uart.o + 0x08007e60 0x08007e60 0x000000d0 Code RO 1028 i.HAL_UART_MspInit stm32h7xx_hal_msp.o + 0x08007f30 0x08007f30 0x00000002 Code RO 5759 i.HAL_UART_RxCpltCallback stm32h7xx_hal_uart.o + 0x08007f32 0x08007f32 0x00000002 Code RO 5760 i.HAL_UART_RxHalfCpltCallback stm32h7xx_hal_uart.o + 0x08007f34 0x08007f34 0x000000b8 Code RO 5761 i.HAL_UART_Transmit stm32h7xx_hal_uart.o + 0x08007fec 0x08007fec 0x00000002 Code RO 5764 i.HAL_UART_TxCpltCallback stm32h7xx_hal_uart.o + 0x08007fee 0x08007fee 0x00000002 Code RO 932 i.HardFault_Handler stm32h7xx_it.o + 0x08007ff0 0x08007ff0 0x00000008 Code RO 5301 i.LL_ADC_INJ_IsConversionOngoing stm32h7xx_hal_adc.o + 0x08007ff8 0x08007ff8 0x00000008 Code RO 5302 i.LL_ADC_IsEnabled stm32h7xx_hal_adc.o + 0x08008000 0x08008000 0x00000008 Code RO 5303 i.LL_ADC_REG_IsConversionOngoing stm32h7xx_hal_adc.o + 0x08008008 0x08008008 0x00000010 Code RO 5304 i.LL_ADC_REG_IsTriggerSourceSWStart stm32h7xx_hal_adc.o + 0x08008018 0x08008018 0x000004e4 Code RO 284 i.LineCheck main.o + 0x080084fc 0x080084fc 0x00000174 Code RO 285 i.MX_ADC3_Init main.o + 0x08008670 0x08008670 0x0000003c Code RO 286 i.MX_BDMA_Init main.o + 0x080086ac 0x080086ac 0x00000078 Code RO 287 i.MX_DMA_Init main.o + 0x08008724 0x08008724 0x00000154 Code RO 288 i.MX_GPIO_Init main.o + 0x08008878 0x08008878 0x000000d8 Code RO 289 i.MX_TIM1_Init main.o + 0x08008950 0x08008950 0x0000009c Code RO 290 i.MX_TIM2_Init main.o + 0x080089ec 0x080089ec 0x0000009c Code RO 291 i.MX_TIM4_Init main.o + 0x08008a88 0x08008a88 0x00000064 Code RO 292 i.MX_USART1_UART_Init main.o + 0x08008aec 0x08008aec 0x00000002 Code RO 933 i.MemManage_Handler stm32h7xx_it.o + 0x08008aee 0x08008aee 0x00000002 Code RO 934 i.NMI_Handler stm32h7xx_it.o + 0x08008af0 0x08008af0 0x0000000c Code RO 935 i.OTG_FS_IRQHandler stm32h7xx_it.o + 0x08008afc 0x08008afc 0x00000048 Code RO 2216 i.PCD_EP_OutSetupPacket_int stm32h7xx_hal_pcd.o + 0x08008b44 0x08008b44 0x000000e4 Code RO 2217 i.PCD_EP_OutXfrComplete_int stm32h7xx_hal_pcd.o + 0x08008c28 0x08008c28 0x0000009c Code RO 2218 i.PCD_WriteEmptyTxFifo stm32h7xx_hal_pcd.o + 0x08008cc4 0x08008cc4 0x00000124 Code RO 2930 i.RCCEx_PLL2_Config stm32h7xx_hal_rcc_ex.o + 0x08008de8 0x08008de8 0x00000124 Code RO 2931 i.RCCEx_PLL3_Config stm32h7xx_hal_rcc_ex.o + 0x08008f0c 0x08008f0c 0x0000000a Code RO 8238 i.SWAPBYTE usbd_ctlreq.o + 0x08008f16 0x08008f16 0x00000002 PAD + 0x08008f18 0x08008f18 0x000000b0 Code RO 293 i.SampleRate_Set main.o + 0x08008fc8 0x08008fc8 0x000001b8 Code RO 294 i.SlopeSet main.o + 0x08009180 0x08009180 0x000001d8 Code RO 295 i.StartDefaultTask main.o + 0x08009358 0x08009358 0x0000001a Code RO 7415 i.SysTick_Handler cmsis_os2.o + 0x08009372 0x08009372 0x00000002 PAD + 0x08009374 0x08009374 0x000000a8 Code RO 296 i.SystemClock_Config main.o + 0x0800941c 0x0800941c 0x000000dc Code RO 1128 i.SystemInit system_stm32h7xx.o + 0x080094f8 0x080094f8 0x0000000c Code RO 936 i.TIM7_IRQHandler stm32h7xx_it.o + 0x08009504 0x08009504 0x000000c8 Code RO 1259 i.TIM_Base_SetConfig stm32h7xx_hal_tim.o + 0x080095cc 0x080095cc 0x0000001a Code RO 1260 i.TIM_CCxChannelCmd stm32h7xx_hal_tim.o + 0x080095e6 0x080095e6 0x00000014 Code RO 1270 i.TIM_ETR_SetConfig stm32h7xx_hal_tim.o + 0x080095fa 0x080095fa 0x00000002 PAD + 0x080095fc 0x080095fc 0x00000014 Code RO 1271 i.TIM_ITRx_SetConfig stm32h7xx_hal_tim.o + 0x08009610 0x08009610 0x000000a0 Code RO 1272 i.TIM_OC1_SetConfig stm32h7xx_hal_tim.o + 0x080096b0 0x080096b0 0x00000094 Code RO 1273 i.TIM_OC2_SetConfig stm32h7xx_hal_tim.o + 0x08009744 0x08009744 0x00000094 Code RO 1274 i.TIM_OC3_SetConfig stm32h7xx_hal_tim.o + 0x080097d8 0x080097d8 0x00000074 Code RO 1275 i.TIM_OC4_SetConfig stm32h7xx_hal_tim.o + 0x0800984c 0x0800984c 0x00000070 Code RO 1276 i.TIM_OC5_SetConfig stm32h7xx_hal_tim.o + 0x080098bc 0x080098bc 0x00000070 Code RO 1277 i.TIM_OC6_SetConfig stm32h7xx_hal_tim.o + 0x0800992c 0x0800992c 0x00000022 Code RO 1279 i.TIM_TI1_ConfigInputStage stm32h7xx_hal_tim.o + 0x0800994e 0x0800994e 0x00000024 Code RO 1281 i.TIM_TI2_ConfigInputStage stm32h7xx_hal_tim.o + 0x08009972 0x08009972 0x00000002 PAD + 0x08009974 0x08009974 0x00000048 Code RO 6162 i.UARTEx_SetNbDataToProcess stm32h7xx_hal_uart_ex.o + 0x080099bc 0x080099bc 0x000000c8 Code RO 5766 i.UART_AdvFeatureConfig stm32h7xx_hal_uart.o + 0x08009a84 0x08009a84 0x000000aa Code RO 5767 i.UART_CheckIdleState stm32h7xx_hal_uart.o + 0x08009b2e 0x08009b2e 0x00000010 Code RO 5768 i.UART_DMAAbortOnError stm32h7xx_hal_uart.o + 0x08009b3e 0x08009b3e 0x00000050 Code RO 5769 i.UART_DMAError stm32h7xx_hal_uart.o + 0x08009b8e 0x08009b8e 0x00000084 Code RO 5770 i.UART_DMAReceiveCplt stm32h7xx_hal_uart.o + 0x08009c12 0x08009c12 0x00000020 Code RO 5772 i.UART_DMARxHalfCplt stm32h7xx_hal_uart.o + 0x08009c32 0x08009c32 0x00000002 PAD + 0x08009c34 0x08009c34 0x00000054 Code RO 5778 i.UART_EndRxTransfer stm32h7xx_hal_uart.o + 0x08009c88 0x08009c88 0x00000024 Code RO 5779 i.UART_EndTransmit_IT stm32h7xx_hal_uart.o + 0x08009cac 0x08009cac 0x0000002e Code RO 5780 i.UART_EndTxTransfer stm32h7xx_hal_uart.o + 0x08009cda 0x08009cda 0x00000002 PAD + 0x08009cdc 0x08009cdc 0x00000490 Code RO 5785 i.UART_SetConfig stm32h7xx_hal_uart.o + 0x0800a16c 0x0800a16c 0x000000a4 Code RO 5786 i.UART_Start_Receive_DMA stm32h7xx_hal_uart.o + 0x0800a210 0x0800a210 0x00000098 Code RO 5792 i.UART_WaitOnFlagUntilTimeout stm32h7xx_hal_uart.o + 0x0800a2a8 0x0800a2a8 0x00000020 Code RO 937 i.USART1_IRQHandler stm32h7xx_it.o + 0x0800a2c8 0x0800a2c8 0x00000014 Code RO 8072 i.USBD_ClrClassConfig usbd_core.o + 0x0800a2dc 0x0800a2dc 0x00000026 Code RO 8239 i.USBD_ClrFeature usbd_ctlreq.o + 0x0800a302 0x0800a302 0x00000004 Code RO 8073 i.USBD_CoreFindEP usbd_core.o + 0x0800a306 0x0800a306 0x00000004 Code RO 8074 i.USBD_CoreFindIF usbd_core.o + 0x0800a30a 0x0800a30a 0x00000010 Code RO 8345 i.USBD_CtlContinueRx usbd_ioreq.o + 0x0800a31a 0x0800a31a 0x00000010 Code RO 8346 i.USBD_CtlContinueSendData usbd_ioreq.o + 0x0800a32a 0x0800a32a 0x00000018 Code RO 8240 i.USBD_CtlError usbd_ctlreq.o + 0x0800a342 0x0800a342 0x00000016 Code RO 8348 i.USBD_CtlReceiveStatus usbd_ioreq.o + 0x0800a358 0x0800a358 0x0000001a Code RO 8349 i.USBD_CtlSendData usbd_ioreq.o + 0x0800a372 0x0800a372 0x00000016 Code RO 8350 i.USBD_CtlSendStatus usbd_ioreq.o + 0x0800a388 0x0800a388 0x0000003a Code RO 8241 i.USBD_GetConfig usbd_ctlreq.o + 0x0800a3c2 0x0800a3c2 0x000001e4 Code RO 8242 i.USBD_GetDescriptor usbd_ctlreq.o + 0x0800a5a6 0x0800a5a6 0x0000003c Code RO 8244 i.USBD_GetStatus usbd_ctlreq.o + 0x0800a5e2 0x0800a5e2 0x00000024 Code RO 576 i.USBD_Get_USB_Status usbd_conf.o + 0x0800a606 0x0800a606 0x00000012 Code RO 577 i.USBD_LL_ClearStallEP usbd_conf.o + 0x0800a618 0x0800a618 0x000000dc Code RO 8079 i.USBD_LL_DataInStage usbd_core.o + 0x0800a6f4 0x0800a6f4 0x000000ca Code RO 8080 i.USBD_LL_DataOutStage usbd_core.o + 0x0800a7be 0x0800a7be 0x00000004 Code RO 8081 i.USBD_LL_DevConnected usbd_core.o + 0x0800a7c2 0x0800a7c2 0x00000020 Code RO 8082 i.USBD_LL_DevDisconnected usbd_core.o + 0x0800a7e2 0x0800a7e2 0x0000001e Code RO 584 i.USBD_LL_IsStallEP usbd_conf.o + 0x0800a800 0x0800a800 0x0000002a Code RO 8083 i.USBD_LL_IsoINIncomplete usbd_core.o + 0x0800a82a 0x0800a82a 0x0000002a Code RO 8084 i.USBD_LL_IsoOUTIncomplete usbd_core.o + 0x0800a854 0x0800a854 0x00000018 Code RO 585 i.USBD_LL_OpenEP usbd_conf.o + 0x0800a86c 0x0800a86c 0x00000012 Code RO 586 i.USBD_LL_PrepareReceive usbd_conf.o + 0x0800a87e 0x0800a87e 0x00000060 Code RO 8085 i.USBD_LL_Reset usbd_core.o + 0x0800a8de 0x0800a8de 0x00000014 Code RO 8086 i.USBD_LL_Resume usbd_core.o + 0x0800a8f2 0x0800a8f2 0x0000001a Code RO 8087 i.USBD_LL_SOF usbd_core.o + 0x0800a90c 0x0800a90c 0x00000006 Code RO 8088 i.USBD_LL_SetSpeed usbd_core.o + 0x0800a912 0x0800a912 0x00000012 Code RO 587 i.USBD_LL_SetUSBAddress usbd_conf.o + 0x0800a924 0x0800a924 0x00000060 Code RO 8089 i.USBD_LL_SetupStage usbd_core.o + 0x0800a984 0x0800a984 0x00000012 Code RO 588 i.USBD_LL_StallEP usbd_conf.o + 0x0800a996 0x0800a996 0x0000001a Code RO 8090 i.USBD_LL_Suspend usbd_core.o + 0x0800a9b0 0x0800a9b0 0x00000012 Code RO 591 i.USBD_LL_Transmit usbd_conf.o + 0x0800a9c2 0x0800a9c2 0x00000032 Code RO 8246 i.USBD_ParseSetupRequest usbd_ctlreq.o + 0x0800a9f4 0x0800a9f4 0x00000004 Code RO 8092 i.USBD_RunTestMode usbd_core.o + 0x0800a9f8 0x0800a9f8 0x00000058 Code RO 8247 i.USBD_SetAddress usbd_ctlreq.o + 0x0800aa50 0x0800aa50 0x00000014 Code RO 8093 i.USBD_SetClassConfig usbd_core.o + 0x0800aa64 0x0800aa64 0x000000dc Code RO 8248 i.USBD_SetConfig usbd_ctlreq.o + 0x0800ab40 0x0800ab40 0x00000024 Code RO 8249 i.USBD_SetFeature usbd_ctlreq.o + 0x0800ab64 0x0800ab64 0x00000076 Code RO 8250 i.USBD_StdDevReq usbd_ctlreq.o + 0x0800abda 0x0800abda 0x00000220 Code RO 8251 i.USBD_StdEPReq usbd_ctlreq.o + 0x0800adfa 0x0800adfa 0x0000008e Code RO 8252 i.USBD_StdItfReq usbd_ctlreq.o + 0x0800ae88 0x0800ae88 0x00000084 Code RO 2492 i.USB_ActivateEndpoint stm32h7xx_ll_usb.o + 0x0800af0c 0x0800af0c 0x0000001c Code RO 2494 i.USB_ActivateSetup stm32h7xx_ll_usb.o + 0x0800af28 0x0800af28 0x00000054 Code RO 2507 i.USB_EP0_OutStart stm32h7xx_ll_usb.o + 0x0800af7c 0x0800af7c 0x00000058 Code RO 2508 i.USB_EPClearStall stm32h7xx_ll_usb.o + 0x0800afd4 0x0800afd4 0x00000058 Code RO 2509 i.USB_EPSetStall stm32h7xx_ll_usb.o + 0x0800b02c 0x0800b02c 0x00000254 Code RO 2510 i.USB_EPStartXfer stm32h7xx_ll_usb.o + 0x0800b280 0x0800b280 0x000000a4 Code RO 2511 i.USB_EPStopXfer stm32h7xx_ll_usb.o + 0x0800b324 0x0800b324 0x00000044 Code RO 2514 i.USB_FlushTxFifo stm32h7xx_ll_usb.o + 0x0800b368 0x0800b368 0x00000020 Code RO 2516 i.USB_GetDevSpeed stm32h7xx_ll_usb.o + 0x0800b388 0x0800b388 0x00000008 Code RO 2518 i.USB_GetMode stm32h7xx_ll_usb.o + 0x0800b390 0x0800b390 0x0000000e Code RO 2526 i.USB_ReadDevAllInEpInterrupt stm32h7xx_ll_usb.o + 0x0800b39e 0x0800b39e 0x0000000e Code RO 2527 i.USB_ReadDevAllOutEpInterrupt stm32h7xx_ll_usb.o + 0x0800b3ac 0x0800b3ac 0x00000024 Code RO 2528 i.USB_ReadDevInEPInterrupt stm32h7xx_ll_usb.o + 0x0800b3d0 0x0800b3d0 0x00000010 Code RO 2529 i.USB_ReadDevOutEPInterrupt stm32h7xx_ll_usb.o + 0x0800b3e0 0x0800b3e0 0x00000008 Code RO 2530 i.USB_ReadInterrupts stm32h7xx_ll_usb.o + 0x0800b3e8 0x0800b3e8 0x0000003e Code RO 2531 i.USB_ReadPacket stm32h7xx_ll_usb.o + 0x0800b426 0x0800b426 0x0000001e Code RO 2534 i.USB_SetDevAddress stm32h7xx_ll_usb.o + 0x0800b444 0x0800b444 0x000000f4 Code RO 2536 i.USB_SetTurnaroundTime stm32h7xx_ll_usb.o + 0x0800b538 0x0800b538 0x00000028 Code RO 2539 i.USB_WritePacket stm32h7xx_ll_usb.o + 0x0800b560 0x0800b560 0x00000002 Code RO 938 i.UsageFault_Handler stm32h7xx_it.o + 0x0800b562 0x0800b562 0x00000030 Code RO 8580 i.__ARM_fpclassify m_wv.l(fpclassify.o) + 0x0800b592 0x0800b592 0x00000020 Code RO 4230 i.__NVIC_SetPriority stm32h7xx_hal_cortex.o + 0x0800b5b2 0x0800b5b2 0x00000006 PAD + 0x0800b5b8 0x0800b5b8 0x000008f8 Code RO 8536 i.__hardfp_pow m_wv.l(pow.o) + 0x0800beb0 0x0800beb0 0x00000070 Code RO 8582 i.__kernel_poly m_wv.l(poly.o) + 0x0800bf20 0x0800bf20 0x00000020 Code RO 8560 i.__mathlib_dbl_divzero m_wv.l(dunder.o) + 0x0800bf40 0x0800bf40 0x00000006 Code RO 8562 i.__mathlib_dbl_infnan2 m_wv.l(dunder.o) + 0x0800bf46 0x0800bf46 0x00000002 PAD + 0x0800bf48 0x0800bf48 0x00000018 Code RO 8563 i.__mathlib_dbl_invalid m_wv.l(dunder.o) + 0x0800bf60 0x0800bf60 0x00000018 Code RO 8564 i.__mathlib_dbl_overflow m_wv.l(dunder.o) + 0x0800bf78 0x0800bf78 0x00000018 Code RO 8566 i.__mathlib_dbl_underflow m_wv.l(dunder.o) + 0x0800bf90 0x0800bf90 0x00000068 Code RO 297 i.calculateAverage main.o + 0x0800bff8 0x0800bff8 0x00000018 Code RO 8576 i.fabs m_wv.l(fabs.o) + 0x0800c010 0x0800c010 0x0000005c Code RO 299 i.main main.o + 0x0800c06c 0x0800c06c 0x0000001c Code RO 7417 i.osDelay cmsis_os2.o + 0x0800c088 0x0800c088 0x00000028 Code RO 7431 i.osKernelInitialize cmsis_os2.o + 0x0800c0b0 0x0800c0b0 0x00000038 Code RO 7434 i.osKernelStart cmsis_os2.o + 0x0800c0e8 0x0800c0e8 0x00000064 Code RO 7459 i.osSemaphoreAcquire cmsis_os2.o + 0x0800c14c 0x0800c14c 0x000000b2 Code RO 7462 i.osSemaphoreNew cmsis_os2.o + 0x0800c1fe 0x0800c1fe 0x00000002 PAD + 0x0800c200 0x0800c200 0x00000058 Code RO 7463 i.osSemaphoreRelease cmsis_os2.o + 0x0800c258 0x0800c258 0x000000bc Code RO 7476 i.osThreadNew cmsis_os2.o + 0x0800c314 0x0800c314 0x00000060 Code RO 6852 i.prvAddCurrentTaskToDelayedList tasks.o + 0x0800c374 0x0800c374 0x00000088 Code RO 6853 i.prvAddNewTaskToReadyList tasks.o + 0x0800c3fc 0x0800c3fc 0x00000058 Code RO 7228 i.prvCheckForValidListAndQueue timers.o + 0x0800c454 0x0800c454 0x0000003c Code RO 6854 i.prvCheckTasksWaitingTermination tasks.o + 0x0800c490 0x0800c490 0x00000028 Code RO 6439 i.prvCopyDataFromQueue queue.o + 0x0800c4b8 0x0800c4b8 0x0000006e Code RO 6440 i.prvCopyDataToQueue queue.o + 0x0800c526 0x0800c526 0x00000040 Code RO 6855 i.prvDeleteTCB tasks.o + 0x0800c566 0x0800c566 0x00000014 Code RO 6441 i.prvGetDisinheritPriorityAfterTimeout queue.o + 0x0800c57a 0x0800c57a 0x00000002 PAD + 0x0800c57c 0x0800c57c 0x00000024 Code RO 7229 i.prvGetNextExpireTime timers.o + 0x0800c5a0 0x0800c5a0 0x0000004c Code RO 7937 i.prvHeapInit heap_4.o + 0x0800c5ec 0x0800c5ec 0x00000028 Code RO 6856 i.prvIdleTask tasks.o + 0x0800c614 0x0800c614 0x00000022 Code RO 6443 i.prvInitialiseNewQueue queue.o + 0x0800c636 0x0800c636 0x000000a8 Code RO 6857 i.prvInitialiseNewTask tasks.o + 0x0800c6de 0x0800c6de 0x00000002 PAD + 0x0800c6e0 0x0800c6e0 0x00000058 Code RO 6858 i.prvInitialiseTaskLists tasks.o + 0x0800c738 0x0800c738 0x00000054 Code RO 7938 i.prvInsertBlockIntoFreeList heap_4.o + 0x0800c78c 0x0800c78c 0x00000040 Code RO 7231 i.prvInsertTimerInActiveList timers.o + 0x0800c7cc 0x0800c7cc 0x0000001a Code RO 6444 i.prvIsQueueEmpty queue.o + 0x0800c7e6 0x0800c7e6 0x0000001e Code RO 6445 i.prvIsQueueFull queue.o + 0x0800c804 0x0800c804 0x00000068 Code RO 7232 i.prvProcessExpiredTimer timers.o + 0x0800c86c 0x0800c86c 0x000000fc Code RO 7233 i.prvProcessReceivedCommands timers.o + 0x0800c968 0x0800c968 0x0000006c Code RO 7234 i.prvProcessTimerOrBlockTask timers.o + 0x0800c9d4 0x0800c9d4 0x00000024 Code RO 6860 i.prvResetNextTaskUnblockTime tasks.o + 0x0800c9f8 0x0800c9f8 0x0000002c Code RO 7235 i.prvSampleTimeNow timers.o + 0x0800ca24 0x0800ca24 0x00000070 Code RO 7236 i.prvSwitchTimerLists timers.o + 0x0800ca94 0x0800ca94 0x0000002c Code RO 7993 i.prvTaskExitError port.o + 0x0800cac0 0x0800cac0 0x00000014 Code RO 7237 i.prvTimerTask timers.o + 0x0800cad4 0x0800cad4 0x0000006a Code RO 6446 i.prvUnlockQueue queue.o + 0x0800cb3e 0x0800cb3e 0x00000002 PAD + 0x0800cb40 0x0800cb40 0x000000dc Code RO 7939 i.pvPortMalloc heap_4.o + 0x0800cc1c 0x0800cc1c 0x00000018 Code RO 6863 i.pvTaskIncrementMutexHeldCount tasks.o + 0x0800cc34 0x0800cc34 0x00000024 Code RO 7994 i.pxPortInitialiseStack port.o + 0x0800cc58 0x0800cc58 0x0000006a Code RO 8587 i.sqrt m_wv.l(sqrt.o) + 0x0800ccc2 0x0800ccc2 0x00000026 Code RO 6399 i.uxListRemove list.o + 0x0800cce8 0x0800cce8 0x00000018 Code RO 7488 i.vApplicationGetIdleTaskMemory cmsis_os2.o + 0x0800cd00 0x0800cd00 0x00000018 Code RO 7489 i.vApplicationGetTimerTaskMemory cmsis_os2.o + 0x0800cd18 0x0800cd18 0x00000016 Code RO 6400 i.vListInitialise list.o + 0x0800cd2e 0x0800cd2e 0x00000006 Code RO 6401 i.vListInitialiseItem list.o + 0x0800cd34 0x0800cd34 0x00000030 Code RO 6402 i.vListInsert list.o + 0x0800cd64 0x0800cd64 0x00000018 Code RO 6403 i.vListInsertEnd list.o + 0x0800cd7c 0x0800cd7c 0x00000040 Code RO 7996 i.vPortEnterCritical port.o + 0x0800cdbc 0x0800cdbc 0x0000002c Code RO 7997 i.vPortExitCritical port.o + 0x0800cde8 0x0800cde8 0x00000064 Code RO 7940 i.vPortFree heap_4.o + 0x0800ce4c 0x0800ce4c 0x00000024 Code RO 7998 i.vPortSetupTimerInterrupt port.o + 0x0800ce70 0x0800ce70 0x00000054 Code RO 7999 i.vPortValidateInterruptPriority port.o + 0x0800cec4 0x0800cec4 0x00000024 Code RO 6452 i.vQueueAddToRegistry queue.o + 0x0800cee8 0x0800cee8 0x00000032 Code RO 6453 i.vQueueDelete queue.o + 0x0800cf1a 0x0800cf1a 0x00000002 PAD + 0x0800cf1c 0x0800cf1c 0x00000028 Code RO 6455 i.vQueueUnregisterQueue queue.o + 0x0800cf44 0x0800cf44 0x00000046 Code RO 6456 i.vQueueWaitForMessageRestricted queue.o + 0x0800cf8a 0x0800cf8a 0x00000002 PAD + 0x0800cf8c 0x0800cf8c 0x00000050 Code RO 6873 i.vTaskDelay tasks.o + 0x0800cfdc 0x0800cfdc 0x00000010 Code RO 6878 i.vTaskInternalSetTimeOutState tasks.o + 0x0800cfec 0x0800cfec 0x0000000c Code RO 6879 i.vTaskMissedYield tasks.o + 0x0800cff8 0x0800cff8 0x00000034 Code RO 6881 i.vTaskPlaceOnEventList tasks.o + 0x0800d02c 0x0800d02c 0x0000003c Code RO 6882 i.vTaskPlaceOnEventListRestricted tasks.o + 0x0800d068 0x0800d068 0x00000094 Code RO 6884 i.vTaskPriorityDisinheritAfterTimeout tasks.o + 0x0800d0fc 0x0800d0fc 0x00000090 Code RO 6890 i.vTaskStartScheduler tasks.o + 0x0800d18c 0x0800d18c 0x00000010 Code RO 6892 i.vTaskSuspendAll tasks.o + 0x0800d19c 0x0800d19c 0x00000068 Code RO 6893 i.vTaskSwitchContext tasks.o + 0x0800d204 0x0800d204 0x000000f4 Code RO 8000 i.xPortStartScheduler port.o + 0x0800d2f8 0x0800d2f8 0x0000002c Code RO 8001 i.xPortSysTickHandler port.o + 0x0800d324 0x0800d324 0x0000003c Code RO 6457 i.xQueueCreateCountingSemaphore queue.o + 0x0800d360 0x0800d360 0x00000042 Code RO 6458 i.xQueueCreateCountingSemaphoreStatic queue.o + 0x0800d3a2 0x0800d3a2 0x00000044 Code RO 6461 i.xQueueGenericCreate queue.o + 0x0800d3e6 0x0800d3e6 0x0000006c Code RO 6462 i.xQueueGenericCreateStatic queue.o + 0x0800d452 0x0800d452 0x00000002 PAD + 0x0800d454 0x0800d454 0x0000008c Code RO 6463 i.xQueueGenericReset queue.o + 0x0800d4e0 0x0800d4e0 0x00000164 Code RO 6464 i.xQueueGenericSend queue.o + 0x0800d644 0x0800d644 0x000000c0 Code RO 6465 i.xQueueGenericSendFromISR queue.o + 0x0800d704 0x0800d704 0x0000009e Code RO 6468 i.xQueueGiveFromISR queue.o + 0x0800d7a2 0x0800d7a2 0x00000002 PAD + 0x0800d7a4 0x0800d7a4 0x0000013c Code RO 6474 i.xQueueReceive queue.o + 0x0800d8e0 0x0800d8e0 0x0000009c Code RO 6475 i.xQueueReceiveFromISR queue.o + 0x0800d97c 0x0800d97c 0x0000017c Code RO 6476 i.xQueueSemaphoreTake queue.o + 0x0800daf8 0x0800daf8 0x0000007c Code RO 6895 i.xTaskCheckForTimeOut tasks.o + 0x0800db74 0x0800db74 0x00000064 Code RO 6896 i.xTaskCreate tasks.o + 0x0800dbd8 0x0800dbd8 0x0000005c Code RO 6897 i.xTaskCreateStatic tasks.o + 0x0800dc34 0x0800dc34 0x0000001c Code RO 6901 i.xTaskGetSchedulerState tasks.o + 0x0800dc50 0x0800dc50 0x0000000c Code RO 6902 i.xTaskGetTickCount tasks.o + 0x0800dc5c 0x0800dc5c 0x000000cc Code RO 6904 i.xTaskIncrementTick tasks.o + 0x0800dd28 0x0800dd28 0x0000007c Code RO 6907 i.xTaskPriorityDisinherit tasks.o + 0x0800dda4 0x0800dda4 0x0000007c Code RO 6908 i.xTaskPriorityInherit tasks.o + 0x0800de20 0x0800de20 0x00000078 Code RO 6909 i.xTaskRemoveFromEventList tasks.o + 0x0800de98 0x0800de98 0x000000c8 Code RO 6910 i.xTaskResumeAll tasks.o + 0x0800df60 0x0800df60 0x00000068 Code RO 7246 i.xTimerCreateTimerTask timers.o + 0x0800dfc8 0x0800dfc8 0x0000006c Code RO 7247 i.xTimerGenericCommand timers.o + 0x0800e034 0x0800e034 0x00000010 Code RO 8619 x$fpl$dcheck1 fz_wv.l(dcheck1.o) + 0x0800e044 0x0800e044 0x0000000a Code RO 8710 x$fpl$fpinit fz_wv.l(fpinit.o) + 0x0800e04e 0x0800e04e 0x00000064 Code RO 8638 x$fpl$retnan fz_wv.l(retnan.o) + 0x0800e0b2 0x0800e0b2 0x0000005c Code RO 8557 x$fpl$scalbn fz_wv.l(scalbn.o) + 0x0800e10e 0x0800e10e 0x00000030 Code RO 8693 x$fpl$trapveneer fz_wv.l(trapv.o) + 0x0800e13e 0x0800e13e 0x00000000 Code RO 8559 x$fpl$usenofp fz_wv.l(usenofp.o) + 0x0800e13e 0x0800e13e 0x00000002 PAD + 0x0800e140 0x0800e140 0x000005a4 Data RO 305 .constdata main.o + 0x0800e6e4 0x0800e6e4 0x00000010 Data RO 1129 .constdata system_stm32h7xx.o + 0x0800e6f4 0x0800e6f4 0x00000008 Data RO 3519 .constdata stm32h7xx_hal_dma.o + 0x0800e6fc 0x0800e6fc 0x00000018 Data RO 5793 .constdata stm32h7xx_hal_uart.o + 0x0800e714 0x0800e714 0x00000010 Data RO 6164 .constdata stm32h7xx_hal_uart_ex.o + 0x0800e724 0x0800e724 0x00000004 PAD + 0x0800e728 0x0800e728 0x00000088 Data RO 8539 .constdata m_wv.l(pow.o) + 0x0800e7b0 0x0800e7b0 0x00000008 Data RO 8584 .constdata m_wv.l(qnan.o) + 0x0800e7b8 0x0800e7b8 0x00000028 Data RO 306 .conststring main.o + 0x0800e7e0 0x0800e7e0 0x00000020 Data RO 8768 Region$$Table anon$$obj.o + + + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x0800e800, Size: 0x00000000, Max: 0x00020000, ABSOLUTE) + + **** No section assigned to this execution region **** + + + Execution Region RW_IRAM2 (Exec base: 0x24000000, Load base: 0x0800e800, Size: 0x000157b0, Max: 0x00080000, ABSOLUTE, COMPRESSED[0x000000dc]) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x24000000 COMPRESSED 0x00000008 Data RW 22 .data communicaion.o + 0x24000008 COMPRESSED 0x000000dc Data RW 307 .data main.o + 0x240000e4 COMPRESSED 0x00000008 Data RW 1130 .data system_stm32h7xx.o + 0x240000ec COMPRESSED 0x0000000c Data RW 4410 .data stm32h7xx_hal.o + 0x240000f8 COMPRESSED 0x0000003c Data RW 6913 .data tasks.o + 0x24000134 COMPRESSED 0x00000014 Data RW 7255 .data timers.o + 0x24000148 COMPRESSED 0x00000004 Data RW 7491 .data cmsis_os2.o + 0x2400014c COMPRESSED 0x00000020 Data RW 7946 .data heap_4.o + 0x2400016c COMPRESSED 0x0000000c Data RW 8002 .data port.o + 0x24000178 COMPRESSED 0x00000001 Data RW 8253 .data usbd_ctlreq.o + 0x24000179 COMPRESSED 0x00000003 PAD + 0x2400017c - 0x00000146 Zero RW 21 .bss communicaion.o + 0x240002c2 COMPRESSED 0x00000002 PAD + 0x240002c4 - 0x0000e7ec Zero RW 300 .bss main.o + 0x2400eab0 - 0x00000078 Zero RW 301 .bss main.o + 0x2400eb28 - 0x00000704 Zero RW 594 .bss usbd_conf.o + 0x2400f22c - 0x0000004c Zero RW 1091 .bss stm32h7xx_hal_timebase_tim.o + 0x2400f278 - 0x00000040 Zero RW 6478 .bss queue.o + 0x2400f2b8 - 0x000004c4 Zero RW 6912 .bss tasks.o + 0x2400f77c - 0x00000118 Zero RW 7254 .bss timers.o + 0x2400f894 - 0x000008b8 Zero RW 7490 .bss cmsis_os2.o + 0x2401014c - 0x00005000 Zero RW 7945 .bss heap_4.o + 0x2401514c - 0x00000060 Zero RW 8622 .bss c_w.l(libspace.o) + 0x240151ac COMPRESSED 0x00000004 PAD + 0x240151b0 - 0x00000200 Zero RW 2 HEAP startup_stm32h750xx.o + 0x240153b0 - 0x00000400 Zero RW 1 STACK startup_stm32h750xx.o + + +============================================================================== + +Image component sizes + + + Code (inc. data) RO Data RW Data ZI Data Debug Object Name + + 752 38 0 4 2232 72174 cmsis_os2.o + 1474 96 0 8 326 1363392 communicaion.o + 0 0 0 0 0 19920 event_groups.o + 480 26 0 32 20480 5675 heap_4.o + 138 0 0 0 0 4190 list.o + 7144 530 1484 220 59492 25683 main.o + 786 84 0 12 0 12577 port.o + 2562 28 0 0 64 30192 queue.o + 64 26 664 0 1536 840 startup_stm32h750xx.o + 148 36 0 12 0 23349 stm32h7xx_hal.o + 3170 262 0 0 0 79902 stm32h7xx_hal_adc.o + 164 8 0 0 0 62798 stm32h7xx_hal_adc_ex.o + 158 14 0 0 0 39374 stm32h7xx_hal_cortex.o + 6892 154 8 0 0 16458 stm32h7xx_hal_dma.o + 336 10 0 0 0 2505 stm32h7xx_hal_dma_ex.o + 562 50 0 0 0 2732 stm32h7xx_hal_gpio.o + 756 78 0 0 0 4175 stm32h7xx_hal_msp.o + 2266 14 0 0 0 12114 stm32h7xx_hal_pcd.o + 2 0 0 0 0 1301 stm32h7xx_hal_pcd_ex.o + 88 6 0 0 0 905 stm32h7xx_hal_pwr_ex.o + 2976 136 0 0 0 9433 stm32h7xx_hal_rcc.o + 6046 180 0 0 0 14967 stm32h7xx_hal_rcc_ex.o + 2830 292 0 0 0 21707 stm32h7xx_hal_tim.o + 306 36 0 0 0 4696 stm32h7xx_hal_tim_ex.o + 144 20 0 0 76 1727 stm32h7xx_hal_timebase_tim.o + 3536 140 24 0 0 38868 stm32h7xx_hal_uart.o + 374 6 16 0 0 7177 stm32h7xx_hal_uart_ex.o + 104 40 0 0 0 5529 stm32h7xx_it.o + 1752 88 0 0 0 17067 stm32h7xx_ll_usb.o + 0 0 0 0 0 472 stream_buffer.o + 220 42 16 8 0 1510 system_stm32h7xx.o + 2472 208 0 60 1220 33823 tasks.o + 1040 88 0 20 280 34907 timers.o + 374 4 0 0 1796 12682 usbd_conf.o + 864 0 0 0 0 14183 usbd_core.o + 1872 22 0 1 0 18007 usbd_ctlreq.o + 102 0 0 0 0 4396 usbd_ioreq.o + + ---------------------------------------------------------------------- + 53018 2762 2248 380 87504 2021407 Object Totals + 0 0 32 0 0 0 (incl. Generated) + 64 0 4 3 2 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + + 90 0 0 0 0 0 __dczerorl2.o + 8 0 0 0 0 68 __main.o + 0 0 0 0 0 0 __rtentry.o + 12 0 0 0 0 0 __rtentry2.o + 6 0 0 0 0 0 __rtentry4.o + 52 8 0 0 0 0 __scatter.o + 28 0 0 0 0 0 __scatter_zi.o + 22 0 0 0 0 100 _rserrno.o + 16 0 0 0 0 68 aeabi_memset.o + 18 0 0 0 0 80 exit.o + 6 0 0 0 0 152 heapauxi.o + 0 0 0 0 0 0 indicate_semi.o + 2 0 0 0 0 0 libinit.o + 6 0 0 0 0 0 libinit2.o + 2 0 0 0 0 0 libshutdown.o + 2 0 0 0 0 0 libshutdown2.o + 8 4 0 0 96 68 libspace.o + 238 0 0 0 0 100 lludivv7m.o + 8 4 0 0 0 68 rt_errno_addr_intlibspace.o + 68 0 0 0 0 68 rt_memclr.o + 78 0 0 0 0 80 rt_memclr_w.o + 138 0 0 0 0 68 rt_memcpy_v6.o + 100 0 0 0 0 80 rt_memcpy_w.o + 2 0 0 0 0 0 rtexit.o + 10 0 0 0 0 0 rtexit2.o + 12 4 0 0 0 68 sys_exit.o + 74 0 0 0 0 80 sys_stackheap_outer.o + 2 0 0 0 0 68 use_no_semi.o + 16 4 0 0 0 116 dcheck1.o + 10 0 0 0 0 116 fpinit.o + 100 0 0 0 0 116 retnan.o + 92 0 0 0 0 116 scalbn.o + 48 0 0 0 0 116 trapv.o + 0 0 0 0 0 0 usenofp.o + 110 60 0 0 0 580 dunder.o + 24 0 0 0 0 124 fabs.o + 48 0 0 0 0 124 fpclassify.o + 112 0 0 0 0 116 poly.o + 2296 304 136 0 0 320 pow.o + 0 0 8 0 0 0 qnan.o + 106 0 0 0 0 140 sqrt.o + + ---------------------------------------------------------------------- + 3982 388 144 0 100 3200 Library Totals + 12 0 0 0 4 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Name + + 1008 20 0 0 96 1216 c_w.l + 266 4 0 0 0 580 fz_wv.l + 2696 364 144 0 0 1404 m_wv.l + + ---------------------------------------------------------------------- + 3982 388 144 0 100 3200 Library Totals + + ---------------------------------------------------------------------- + +============================================================================== + + + Code (inc. data) RO Data RW Data ZI Data Debug + + 57000 3150 2392 380 87604 1989335 Grand Totals + 57000 3150 2392 220 87604 1989335 ELF Image Totals (compressed) + 57000 3150 2392 220 0 0 ROM Totals + +============================================================================== + + Total RO Size (Code + RO Data) 59392 ( 58.00kB) + Total RW Size (RW Data + ZI Data) 87984 ( 85.92kB) + Total ROM Size (Code + RO Data + RW Data) 59612 ( 58.21kB) + +============================================================================== + diff --git a/MDK-ARM/startup_stm32h750xx.s b/MDK-ARM/startup_stm32h750xx.s new file mode 100644 index 0000000..a654289 --- /dev/null +++ b/MDK-ARM/startup_stm32h750xx.s @@ -0,0 +1,611 @@ +;******************************************************************************** +;* File Name : startup_stm32h750xx.s +;* @author MCD Application Team +;* Description : STM32H7xx devices vector table for MDK-ARM toolchain. +;* This module performs: +;* - Set the initial SP +;* - Set the initial PC == Reset_Handler +;* - Set the vector table entries with the exceptions ISR address +;* - Branches to __main in the C library (which eventually +;* calls main()). +;* After Reset the Cortex-M processor is in Thread mode, +;* priority is Privileged, and the Stack is set to Main. +;* <<< Use Configuration Wizard in Context Menu >>> +;****************************************************************************** +;* @attention +;* +;* Copyright (c) 2018 STMicroelectronics. +;* All rights reserved. +;* +;* This software is licensed under terms that can be found in the LICENSE file +;* in the root directory of this software component. +;* If no LICENSE file comes with this software, it is provided AS-IS. +;* +;******************************************************************************* + +; Amount of memory (in bytes) allocated for Stack +; Tailor this value to your application needs +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x200 + + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; NMI Handler + DCD HardFault_Handler ; Hard Fault Handler + DCD MemManage_Handler ; MPU Fault Handler + DCD BusFault_Handler ; Bus Fault Handler + DCD UsageFault_Handler ; Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; SVCall Handler + DCD DebugMon_Handler ; Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; PendSV Handler + DCD SysTick_Handler ; SysTick Handler + + ; External Interrupts + DCD WWDG_IRQHandler ; Window WatchDog interrupt ( wwdg1_it) + DCD PVD_AVD_IRQHandler ; PVD/AVD through EXTI Line detection + DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line + DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line + DCD FLASH_IRQHandler ; FLASH + DCD RCC_IRQHandler ; RCC + DCD EXTI0_IRQHandler ; EXTI Line0 + DCD EXTI1_IRQHandler ; EXTI Line1 + DCD EXTI2_IRQHandler ; EXTI Line2 + DCD EXTI3_IRQHandler ; EXTI Line3 + DCD EXTI4_IRQHandler ; EXTI Line4 + DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 + DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 + DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 + DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 + DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 + DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 + DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 + DCD ADC_IRQHandler ; ADC1, ADC2 + DCD FDCAN1_IT0_IRQHandler ; FDCAN1 interrupt line 0 + DCD FDCAN2_IT0_IRQHandler ; FDCAN2 interrupt line 0 + DCD FDCAN1_IT1_IRQHandler ; FDCAN1 interrupt line 1 + DCD FDCAN2_IT1_IRQHandler ; FDCAN2 interrupt line 1 + DCD EXTI9_5_IRQHandler ; External Line[9:5]s + DCD TIM1_BRK_IRQHandler ; TIM1 Break interrupt + DCD TIM1_UP_IRQHandler ; TIM1 Update Interrupt + DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation Interrupt + DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare + DCD TIM2_IRQHandler ; TIM2 + DCD TIM3_IRQHandler ; TIM3 + DCD TIM4_IRQHandler ; TIM4 + DCD I2C1_EV_IRQHandler ; I2C1 Event + DCD I2C1_ER_IRQHandler ; I2C1 Error + DCD I2C2_EV_IRQHandler ; I2C2 Event + DCD I2C2_ER_IRQHandler ; I2C2 Error + DCD SPI1_IRQHandler ; SPI1 + DCD SPI2_IRQHandler ; SPI2 + DCD USART1_IRQHandler ; USART1 + DCD USART2_IRQHandler ; USART2 + DCD USART3_IRQHandler ; USART3 + DCD EXTI15_10_IRQHandler ; External Line[15:10] + DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line + DCD 0 ; Reserved + DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break Interrupt and TIM12 global interrupt + DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update Interrupt and TIM13 global interrupt + DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation Interrupt and TIM14 global interrupt + DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare Interrupt + DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 + DCD FMC_IRQHandler ; FMC + DCD SDMMC1_IRQHandler ; SDMMC1 + DCD TIM5_IRQHandler ; TIM5 + DCD SPI3_IRQHandler ; SPI3 + DCD UART4_IRQHandler ; UART4 + DCD UART5_IRQHandler ; UART5 + DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors + DCD TIM7_IRQHandler ; TIM7 + DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 + DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 + DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 + DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 + DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 + DCD ETH_IRQHandler ; Ethernet + DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line + DCD FDCAN_CAL_IRQHandler ; FDCAN calibration unit interrupt + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 + DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 + DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 + DCD USART6_IRQHandler ; USART6 + DCD I2C3_EV_IRQHandler ; I2C3 event + DCD I2C3_ER_IRQHandler ; I2C3 error + DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out + DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In + DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI + DCD OTG_HS_IRQHandler ; USB OTG HS + DCD DCMI_IRQHandler ; DCMI + DCD CRYP_IRQHandler ; CRYP crypto + DCD HASH_RNG_IRQHandler ; Hash and Rng + DCD FPU_IRQHandler ; FPU + DCD UART7_IRQHandler ; UART7 + DCD UART8_IRQHandler ; UART8 + DCD SPI4_IRQHandler ; SPI4 + DCD SPI5_IRQHandler ; SPI5 + DCD SPI6_IRQHandler ; SPI6 + DCD SAI1_IRQHandler ; SAI1 + DCD LTDC_IRQHandler ; LTDC + DCD LTDC_ER_IRQHandler ; LTDC error + DCD DMA2D_IRQHandler ; DMA2D + DCD SAI2_IRQHandler ; SAI2 + DCD QUADSPI_IRQHandler ; QUADSPI + DCD LPTIM1_IRQHandler ; LPTIM1 + DCD CEC_IRQHandler ; HDMI_CEC + DCD I2C4_EV_IRQHandler ; I2C4 Event + DCD I2C4_ER_IRQHandler ; I2C4 Error + DCD SPDIF_RX_IRQHandler ; SPDIF_RX + DCD OTG_FS_EP1_OUT_IRQHandler ; USB OTG FS End Point 1 Out + DCD OTG_FS_EP1_IN_IRQHandler ; USB OTG FS End Point 1 In + DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI + DCD OTG_FS_IRQHandler ; USB OTG FS + DCD DMAMUX1_OVR_IRQHandler ; DMAMUX1 Overrun interrupt + DCD HRTIM1_Master_IRQHandler ; HRTIM Master Timer global Interrupts + DCD HRTIM1_TIMA_IRQHandler ; HRTIM Timer A global Interrupt + DCD HRTIM1_TIMB_IRQHandler ; HRTIM Timer B global Interrupt + DCD HRTIM1_TIMC_IRQHandler ; HRTIM Timer C global Interrupt + DCD HRTIM1_TIMD_IRQHandler ; HRTIM Timer D global Interrupt + DCD HRTIM1_TIME_IRQHandler ; HRTIM Timer E global Interrupt + DCD HRTIM1_FLT_IRQHandler ; HRTIM Fault global Interrupt + DCD DFSDM1_FLT0_IRQHandler ; DFSDM Filter0 Interrupt + DCD DFSDM1_FLT1_IRQHandler ; DFSDM Filter1 Interrupt + DCD DFSDM1_FLT2_IRQHandler ; DFSDM Filter2 Interrupt + DCD DFSDM1_FLT3_IRQHandler ; DFSDM Filter3 Interrupt + DCD SAI3_IRQHandler ; SAI3 global Interrupt + DCD SWPMI1_IRQHandler ; Serial Wire Interface 1 global interrupt + DCD TIM15_IRQHandler ; TIM15 global Interrupt + DCD TIM16_IRQHandler ; TIM16 global Interrupt + DCD TIM17_IRQHandler ; TIM17 global Interrupt + DCD MDIOS_WKUP_IRQHandler ; MDIOS Wakeup Interrupt + DCD MDIOS_IRQHandler ; MDIOS global Interrupt + DCD JPEG_IRQHandler ; JPEG global Interrupt + DCD MDMA_IRQHandler ; MDMA global Interrupt + DCD 0 ; Reserved + DCD SDMMC2_IRQHandler ; SDMMC2 global Interrupt + DCD HSEM1_IRQHandler ; HSEM1 global Interrupt + DCD 0 ; Reserved + DCD ADC3_IRQHandler ; ADC3 global Interrupt + DCD DMAMUX2_OVR_IRQHandler ; DMAMUX Overrun interrupt + DCD BDMA_Channel0_IRQHandler ; BDMA Channel 0 global Interrupt + DCD BDMA_Channel1_IRQHandler ; BDMA Channel 1 global Interrupt + DCD BDMA_Channel2_IRQHandler ; BDMA Channel 2 global Interrupt + DCD BDMA_Channel3_IRQHandler ; BDMA Channel 3 global Interrupt + DCD BDMA_Channel4_IRQHandler ; BDMA Channel 4 global Interrupt + DCD BDMA_Channel5_IRQHandler ; BDMA Channel 5 global Interrupt + DCD BDMA_Channel6_IRQHandler ; BDMA Channel 6 global Interrupt + DCD BDMA_Channel7_IRQHandler ; BDMA Channel 7 global Interrupt + DCD COMP1_IRQHandler ; COMP1 global Interrupt + DCD LPTIM2_IRQHandler ; LP TIM2 global interrupt + DCD LPTIM3_IRQHandler ; LP TIM3 global interrupt + DCD LPTIM4_IRQHandler ; LP TIM4 global interrupt + DCD LPTIM5_IRQHandler ; LP TIM5 global interrupt + DCD LPUART1_IRQHandler ; LP UART1 interrupt + DCD 0 ; Reserved + DCD CRS_IRQHandler ; Clock Recovery Global Interrupt + DCD ECC_IRQHandler ; ECC diagnostic Global Interrupt + DCD SAI4_IRQHandler ; SAI4 global interrupt + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD WAKEUP_PIN_IRQHandler ; Interrupt for all 6 wake-up pins + + +__Vectors_End + +__Vectors_Size EQU __Vectors_End - __Vectors + + AREA |.text|, CODE, READONLY + +; Reset handler +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + +; Dummy Exception Handlers (infinite loops which can be modified) + +NMI_Handler PROC + EXPORT NMI_Handler [WEAK] + B . + ENDP +HardFault_Handler\ + PROC + EXPORT HardFault_Handler [WEAK] + B . + ENDP +MemManage_Handler\ + PROC + EXPORT MemManage_Handler [WEAK] + B . + ENDP +BusFault_Handler\ + PROC + EXPORT BusFault_Handler [WEAK] + B . + ENDP +UsageFault_Handler\ + PROC + EXPORT UsageFault_Handler [WEAK] + B . + ENDP +SVC_Handler PROC + EXPORT SVC_Handler [WEAK] + B . + ENDP +DebugMon_Handler\ + PROC + EXPORT DebugMon_Handler [WEAK] + B . + ENDP +PendSV_Handler PROC + EXPORT PendSV_Handler [WEAK] + B . + ENDP +SysTick_Handler PROC + EXPORT SysTick_Handler [WEAK] + B . + ENDP + +Default_Handler PROC + + EXPORT WWDG_IRQHandler [WEAK] + EXPORT PVD_AVD_IRQHandler [WEAK] + EXPORT TAMP_STAMP_IRQHandler [WEAK] + EXPORT RTC_WKUP_IRQHandler [WEAK] + EXPORT FLASH_IRQHandler [WEAK] + EXPORT RCC_IRQHandler [WEAK] + EXPORT EXTI0_IRQHandler [WEAK] + EXPORT EXTI1_IRQHandler [WEAK] + EXPORT EXTI2_IRQHandler [WEAK] + EXPORT EXTI3_IRQHandler [WEAK] + EXPORT EXTI4_IRQHandler [WEAK] + EXPORT DMA1_Stream0_IRQHandler [WEAK] + EXPORT DMA1_Stream1_IRQHandler [WEAK] + EXPORT DMA1_Stream2_IRQHandler [WEAK] + EXPORT DMA1_Stream3_IRQHandler [WEAK] + EXPORT DMA1_Stream4_IRQHandler [WEAK] + EXPORT DMA1_Stream5_IRQHandler [WEAK] + EXPORT DMA1_Stream6_IRQHandler [WEAK] + EXPORT DMA1_Stream7_IRQHandler [WEAK] + EXPORT ADC_IRQHandler [WEAK] + EXPORT FDCAN1_IT0_IRQHandler [WEAK] + EXPORT FDCAN2_IT0_IRQHandler [WEAK] + EXPORT FDCAN1_IT1_IRQHandler [WEAK] + EXPORT FDCAN2_IT1_IRQHandler [WEAK] + EXPORT EXTI9_5_IRQHandler [WEAK] + EXPORT TIM1_BRK_IRQHandler [WEAK] + EXPORT TIM1_UP_IRQHandler [WEAK] + EXPORT TIM1_TRG_COM_IRQHandler [WEAK] + EXPORT TIM1_CC_IRQHandler [WEAK] + EXPORT TIM2_IRQHandler [WEAK] + EXPORT TIM3_IRQHandler [WEAK] + EXPORT TIM4_IRQHandler [WEAK] + EXPORT I2C1_EV_IRQHandler [WEAK] + EXPORT I2C1_ER_IRQHandler [WEAK] + EXPORT I2C2_EV_IRQHandler [WEAK] + EXPORT I2C2_ER_IRQHandler [WEAK] + EXPORT SPI1_IRQHandler [WEAK] + EXPORT SPI2_IRQHandler [WEAK] + EXPORT USART1_IRQHandler [WEAK] + EXPORT USART2_IRQHandler [WEAK] + EXPORT USART3_IRQHandler [WEAK] + EXPORT EXTI15_10_IRQHandler [WEAK] + EXPORT RTC_Alarm_IRQHandler [WEAK] + EXPORT TIM8_BRK_TIM12_IRQHandler [WEAK] + EXPORT TIM8_UP_TIM13_IRQHandler [WEAK] + EXPORT TIM8_TRG_COM_TIM14_IRQHandler [WEAK] + EXPORT TIM8_CC_IRQHandler [WEAK] + EXPORT DMA1_Stream7_IRQHandler [WEAK] + EXPORT FMC_IRQHandler [WEAK] + EXPORT SDMMC1_IRQHandler [WEAK] + EXPORT TIM5_IRQHandler [WEAK] + EXPORT SPI3_IRQHandler [WEAK] + EXPORT UART4_IRQHandler [WEAK] + EXPORT UART5_IRQHandler [WEAK] + EXPORT TIM6_DAC_IRQHandler [WEAK] + EXPORT TIM7_IRQHandler [WEAK] + EXPORT DMA2_Stream0_IRQHandler [WEAK] + EXPORT DMA2_Stream1_IRQHandler [WEAK] + EXPORT DMA2_Stream2_IRQHandler [WEAK] + EXPORT DMA2_Stream3_IRQHandler [WEAK] + EXPORT DMA2_Stream4_IRQHandler [WEAK] + EXPORT ETH_IRQHandler [WEAK] + EXPORT ETH_WKUP_IRQHandler [WEAK] + EXPORT FDCAN_CAL_IRQHandler [WEAK] + EXPORT DMA2_Stream5_IRQHandler [WEAK] + EXPORT DMA2_Stream6_IRQHandler [WEAK] + EXPORT DMA2_Stream7_IRQHandler [WEAK] + EXPORT USART6_IRQHandler [WEAK] + EXPORT I2C3_EV_IRQHandler [WEAK] + EXPORT I2C3_ER_IRQHandler [WEAK] + EXPORT OTG_HS_EP1_OUT_IRQHandler [WEAK] + EXPORT OTG_HS_EP1_IN_IRQHandler [WEAK] + EXPORT OTG_HS_WKUP_IRQHandler [WEAK] + EXPORT OTG_HS_IRQHandler [WEAK] + EXPORT DCMI_IRQHandler [WEAK] + EXPORT CRYP_IRQHandler [WEAK] + EXPORT HASH_RNG_IRQHandler [WEAK] + EXPORT FPU_IRQHandler [WEAK] + EXPORT UART7_IRQHandler [WEAK] + EXPORT UART8_IRQHandler [WEAK] + EXPORT SPI4_IRQHandler [WEAK] + EXPORT SPI5_IRQHandler [WEAK] + EXPORT SPI6_IRQHandler [WEAK] + EXPORT SAI1_IRQHandler [WEAK] + EXPORT LTDC_IRQHandler [WEAK] + EXPORT LTDC_ER_IRQHandler [WEAK] + EXPORT DMA2D_IRQHandler [WEAK] + EXPORT SAI2_IRQHandler [WEAK] + EXPORT QUADSPI_IRQHandler [WEAK] + EXPORT LPTIM1_IRQHandler [WEAK] + EXPORT CEC_IRQHandler [WEAK] + EXPORT I2C4_EV_IRQHandler [WEAK] + EXPORT I2C4_ER_IRQHandler [WEAK] + EXPORT SPDIF_RX_IRQHandler [WEAK] + EXPORT OTG_FS_EP1_OUT_IRQHandler [WEAK] + EXPORT OTG_FS_EP1_IN_IRQHandler [WEAK] + EXPORT OTG_FS_WKUP_IRQHandler [WEAK] + EXPORT OTG_FS_IRQHandler [WEAK] + EXPORT DMAMUX1_OVR_IRQHandler [WEAK] + EXPORT HRTIM1_Master_IRQHandler [WEAK] + EXPORT HRTIM1_TIMA_IRQHandler [WEAK] + EXPORT HRTIM1_TIMB_IRQHandler [WEAK] + EXPORT HRTIM1_TIMC_IRQHandler [WEAK] + EXPORT HRTIM1_TIMD_IRQHandler [WEAK] + EXPORT HRTIM1_TIME_IRQHandler [WEAK] + EXPORT HRTIM1_FLT_IRQHandler [WEAK] + EXPORT DFSDM1_FLT0_IRQHandler [WEAK] + EXPORT DFSDM1_FLT1_IRQHandler [WEAK] + EXPORT DFSDM1_FLT2_IRQHandler [WEAK] + EXPORT DFSDM1_FLT3_IRQHandler [WEAK] + EXPORT SAI3_IRQHandler [WEAK] + EXPORT SWPMI1_IRQHandler [WEAK] + EXPORT TIM15_IRQHandler [WEAK] + EXPORT TIM16_IRQHandler [WEAK] + EXPORT TIM17_IRQHandler [WEAK] + EXPORT MDIOS_WKUP_IRQHandler [WEAK] + EXPORT MDIOS_IRQHandler [WEAK] + EXPORT JPEG_IRQHandler [WEAK] + EXPORT MDMA_IRQHandler [WEAK] + EXPORT SDMMC2_IRQHandler [WEAK] + EXPORT HSEM1_IRQHandler [WEAK] + EXPORT ADC3_IRQHandler [WEAK] + EXPORT DMAMUX2_OVR_IRQHandler [WEAK] + EXPORT BDMA_Channel0_IRQHandler [WEAK] + EXPORT BDMA_Channel1_IRQHandler [WEAK] + EXPORT BDMA_Channel2_IRQHandler [WEAK] + EXPORT BDMA_Channel3_IRQHandler [WEAK] + EXPORT BDMA_Channel4_IRQHandler [WEAK] + EXPORT BDMA_Channel5_IRQHandler [WEAK] + EXPORT BDMA_Channel6_IRQHandler [WEAK] + EXPORT BDMA_Channel7_IRQHandler [WEAK] + EXPORT COMP1_IRQHandler [WEAK] + EXPORT LPTIM2_IRQHandler [WEAK] + EXPORT LPTIM3_IRQHandler [WEAK] + EXPORT LPTIM4_IRQHandler [WEAK] + EXPORT LPTIM5_IRQHandler [WEAK] + EXPORT LPUART1_IRQHandler [WEAK] + EXPORT CRS_IRQHandler [WEAK] + EXPORT ECC_IRQHandler [WEAK] + EXPORT SAI4_IRQHandler [WEAK] + EXPORT WAKEUP_PIN_IRQHandler [WEAK] + + +WWDG_IRQHandler +PVD_AVD_IRQHandler +TAMP_STAMP_IRQHandler +RTC_WKUP_IRQHandler +FLASH_IRQHandler +RCC_IRQHandler +EXTI0_IRQHandler +EXTI1_IRQHandler +EXTI2_IRQHandler +EXTI3_IRQHandler +EXTI4_IRQHandler +DMA1_Stream0_IRQHandler +DMA1_Stream1_IRQHandler +DMA1_Stream2_IRQHandler +DMA1_Stream3_IRQHandler +DMA1_Stream4_IRQHandler +DMA1_Stream5_IRQHandler +DMA1_Stream6_IRQHandler +ADC_IRQHandler +FDCAN1_IT0_IRQHandler +FDCAN2_IT0_IRQHandler +FDCAN1_IT1_IRQHandler +FDCAN2_IT1_IRQHandler +EXTI9_5_IRQHandler +TIM1_BRK_IRQHandler +TIM1_UP_IRQHandler +TIM1_TRG_COM_IRQHandler +TIM1_CC_IRQHandler +TIM2_IRQHandler +TIM3_IRQHandler +TIM4_IRQHandler +I2C1_EV_IRQHandler +I2C1_ER_IRQHandler +I2C2_EV_IRQHandler +I2C2_ER_IRQHandler +SPI1_IRQHandler +SPI2_IRQHandler +USART1_IRQHandler +USART2_IRQHandler +USART3_IRQHandler +EXTI15_10_IRQHandler +RTC_Alarm_IRQHandler +TIM8_BRK_TIM12_IRQHandler +TIM8_UP_TIM13_IRQHandler +TIM8_TRG_COM_TIM14_IRQHandler +TIM8_CC_IRQHandler +DMA1_Stream7_IRQHandler +FMC_IRQHandler +SDMMC1_IRQHandler +TIM5_IRQHandler +SPI3_IRQHandler +UART4_IRQHandler +UART5_IRQHandler +TIM6_DAC_IRQHandler +TIM7_IRQHandler +DMA2_Stream0_IRQHandler +DMA2_Stream1_IRQHandler +DMA2_Stream2_IRQHandler +DMA2_Stream3_IRQHandler +DMA2_Stream4_IRQHandler +ETH_IRQHandler +ETH_WKUP_IRQHandler +FDCAN_CAL_IRQHandler +DMA2_Stream5_IRQHandler +DMA2_Stream6_IRQHandler +DMA2_Stream7_IRQHandler +USART6_IRQHandler +I2C3_EV_IRQHandler +I2C3_ER_IRQHandler +OTG_HS_EP1_OUT_IRQHandler +OTG_HS_EP1_IN_IRQHandler +OTG_HS_WKUP_IRQHandler +OTG_HS_IRQHandler +DCMI_IRQHandler +CRYP_IRQHandler +HASH_RNG_IRQHandler +FPU_IRQHandler +UART7_IRQHandler +UART8_IRQHandler +SPI4_IRQHandler +SPI5_IRQHandler +SPI6_IRQHandler +SAI1_IRQHandler +LTDC_IRQHandler +LTDC_ER_IRQHandler +DMA2D_IRQHandler +SAI2_IRQHandler +QUADSPI_IRQHandler +LPTIM1_IRQHandler +CEC_IRQHandler +I2C4_EV_IRQHandler +I2C4_ER_IRQHandler +SPDIF_RX_IRQHandler +OTG_FS_EP1_OUT_IRQHandler +OTG_FS_EP1_IN_IRQHandler +OTG_FS_WKUP_IRQHandler +OTG_FS_IRQHandler +DMAMUX1_OVR_IRQHandler +HRTIM1_Master_IRQHandler +HRTIM1_TIMA_IRQHandler +HRTIM1_TIMB_IRQHandler +HRTIM1_TIMC_IRQHandler +HRTIM1_TIMD_IRQHandler +HRTIM1_TIME_IRQHandler +HRTIM1_FLT_IRQHandler +DFSDM1_FLT0_IRQHandler +DFSDM1_FLT1_IRQHandler +DFSDM1_FLT2_IRQHandler +DFSDM1_FLT3_IRQHandler +SAI3_IRQHandler +SWPMI1_IRQHandler +TIM15_IRQHandler +TIM16_IRQHandler +TIM17_IRQHandler +MDIOS_WKUP_IRQHandler +MDIOS_IRQHandler +JPEG_IRQHandler +MDMA_IRQHandler +SDMMC2_IRQHandler +HSEM1_IRQHandler +ADC3_IRQHandler +DMAMUX2_OVR_IRQHandler +BDMA_Channel0_IRQHandler +BDMA_Channel1_IRQHandler +BDMA_Channel2_IRQHandler +BDMA_Channel3_IRQHandler +BDMA_Channel4_IRQHandler +BDMA_Channel5_IRQHandler +BDMA_Channel6_IRQHandler +BDMA_Channel7_IRQHandler +COMP1_IRQHandler +LPTIM2_IRQHandler +LPTIM3_IRQHandler +LPTIM4_IRQHandler +LPTIM5_IRQHandler +LPUART1_IRQHandler +CRS_IRQHandler +ECC_IRQHandler +SAI4_IRQHandler +WAKEUP_PIN_IRQHandler + + B . + + ENDP + + ALIGN + +;******************************************************************************* +; User Stack and Heap initialization +;******************************************************************************* + IF :DEF:__MICROLIB + + EXPORT __initial_sp + EXPORT __heap_base + EXPORT __heap_limit + + ELSE + + IMPORT __use_two_region_memory + EXPORT __user_initial_stackheap + +__user_initial_stackheap + + LDR R0, = Heap_Mem + LDR R1, =(Stack_Mem + Stack_Size) + LDR R2, = (Heap_Mem + Heap_Size) + LDR R3, = Stack_Mem + BX LR + + ALIGN + + ENDIF + + END + diff --git a/Src/Communicaion.c b/Src/Communicaion.c new file mode 100644 index 0000000..2728cbf --- /dev/null +++ b/Src/Communicaion.c @@ -0,0 +1,493 @@ + +#include "cmsis_os.h" +#include "cmsis_os2.h" +#include "main.h" +#include "stdio.h" +#include "usb_device.h" +#include +#include +#include + +typedef struct +{ + const char *cmd; + int cmd_id; +} CmdTable; + +/* +自定义协议 +帧头 0xAA 55 +帧长度 1字节 +帧序号 1字节 +帧类型 1字节 +数据域 N字节 +帧校验 1字节 + +| 帧头 | 命令 | 长度 | 帧号 | 数据 (128B) | CRC16 | +|--------|------|--------|------|-------------|--------| +| AA 55 | 01 | 00 80 | 01 | [0xXX...] | 2字节 | + +| 帧头 | 命令 | 长度 | 帧号 | 数据 (128B) | CRC16 | +|--------|------|--------|------|-------------|--------| +| AA 55 | 04 | 00 80 | FF | 00 | +*/ +// extern uint8_t Uart_ReadCache[128]; +// extern _Bool ReadFlag; +// uint8_t CPk = 0; // 当前包计数 +// void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) +// { +// UNUSED(huart); +// __HAL_UART_CLEAR_OREFLAG(huart); +// __HAL_UART_CLEAR_IDLEFLAG(huart); +// if(__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) != RESET) // +// 空闲中断标记被置位 +// { +// __HAL_UART_CLEAR_IDLEFLAG(huart); // 清除中断标记 +// HAL_UART_DMAStop(huart); // 停止DMA接收 +// CPk = __HAL_DMA_GET_COUNTER(huart->hdmarx); // 总数据量 +// HAL_UARTEx_ReceiveToIdle_DMA(huart, Uart_ReadCache, 128); // +// 重新启动DMA接收 +// } + +// // if ((Uart_ReadCache[0] == 'C') && (Uart_ReadCache[1] == 'M') && +// (Uart_ReadCache[2] == 'D')) +// // { +// // char buf[10]; +// // uint16_t i,j,k= 0; + +// // HAL_GPIO_WritePin( GPIOA, GPIO_PIN_8, GPIO_PIN_SET); +// // for( k = 0; k < 8; k ++ ) +// // { +// // for( i = 0; i < 3; i ++) +// // { +// // for( j = 0; j < 98; j ++) +// // { +// // sprintf( buf, "%.4f\r\n", OutPut1[k][i][j]); +// // HAL_UART_Transmit(&huart, (uint8_t +// *)buf,strlen(buf),0xFFFF); +// // while(HAL_UART_GetState(&huart) == +// HAL_UART_STATE_BUSY_TX);//锟斤拷锟経ART锟斤拷锟酵斤拷锟斤拷 +// // } +// // } +// // } +// // ReadFlag = 1; +// // HAL_GPIO_WritePin( GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); +// // } +// // HAL_UARTEx_ReceiveToIdle_IT(&huart1, (uint8_t *)&Uart_ReadCache, 100); +// //锟劫匡拷锟斤拷锟斤拷锟斤拷锟叫讹拷 + +// } + +// #include "command.h" +// 假设每个通道每个频率点4字节(float),每帧最大数据长度为120字节(30个float) +#define MAX_FRAME_DATA_LEN 120 +// 指令的最小长度 +#define COMMAND_MIN_LENGTH 4 +// 循环缓冲区大小 +#define BUFFER_SIZE 121 +// 循环缓冲区 +uint8_t buffer[BUFFER_SIZE]; +// 循环缓冲区读索引 +uint8_t readIndex = 0; +// 循环缓冲区写索引 +uint8_t writeIndex = 0; + +/** + * @brief 增加读索引 + * @param length 要增加的长度 + */ +void Command_AddReadIndex(uint8_t length) +{ + readIndex += length; + readIndex %= BUFFER_SIZE; +} + +/** + * @brief 读取第i位数据 超过缓存区长度自动循环 + * @param i 要读取的数据索引 + */ + +uint8_t Command_Read(uint8_t i) +{ + uint8_t index = i % BUFFER_SIZE; + return buffer[index]; +} + +/** + * @brief 计算未处理的数据长度 + * @return 未处理的数据长度 + * @retval 0 缓冲区为空 + * @retval 1~BUFFER_SIZE-1 未处理的数据长度 + * @retval BUFFER_SIZE 缓冲区已满 + */ +// uint8_t Command_GetLength() { +// // 读索引等于写索引时,缓冲区为空 +// if (readIndex == writeIndex) { +// return 0; +// } +// // 如果缓冲区已满,返回BUFFER_SIZE +// if (writeIndex + 1 == readIndex || (writeIndex == BUFFER_SIZE - 1 && +// readIndex == 0)) { +// return BUFFER_SIZE; +// } +// // 如果缓冲区未满,返回未处理的数据长度 +// if (readIndex <= writeIndex) { +// return writeIndex - readIndex; +// } else { +// return BUFFER_SIZE - readIndex + writeIndex; +// } +// } + +uint8_t Command_GetLength() { return (writeIndex + BUFFER_SIZE - readIndex) % BUFFER_SIZE; } + +/** + * @brief 计算缓冲区剩余空间 + * @return 剩余空间 + * @retval 0 缓冲区已满 + * @retval 1~BUFFER_SIZE-1 剩余空间 + * @retval BUFFER_SIZE 缓冲区为空 + */ +uint8_t Command_GetRemain() { return BUFFER_SIZE - Command_GetLength(); } + +/** + * @brief 向缓冲区写入数据 + * @param data 要写入的数据指针 + * @param length 要写入的数据长度 + * @return 写入的数据长度 + */ +uint8_t Command_Write(uint8_t *data, uint16_t length) +{ + // 如果缓冲区不足 则不写入数据 返回0 + if (Command_GetRemain() < length) + { + return 0; + } + // 使用memcpy函数将数据写入缓冲区 + if (writeIndex + length < BUFFER_SIZE) + { + memcpy(buffer + writeIndex, data, length); + writeIndex += length; + } + else + { + uint8_t firstLength = BUFFER_SIZE - writeIndex; + memcpy(buffer + writeIndex, data, firstLength); + memcpy(buffer, data + firstLength, length - firstLength); + writeIndex = length - firstLength; + } + return length; +} + +/** + * @brief 尝试获取一条指令 + * @param command 指令存放指针 + * @return 获取的指令长度 + * @retval 0 没有获取到指令 + */ +uint8_t Command_GetCommand(uint8_t *command) +{ + /* + | 帧头 | 命令 | 长度 | 帧号 | 数据 (128B) | CRC16 | + |--------|------|--------|------|-------------|--------| + | AA 55 | 04 | 80 | FF | 00 | + */ + // 寻找完整指令 + while (1) + { + // 如果缓冲区长度小于COMMAND_MIN_LENGTH 则不可能有完整的指令 + if (Command_GetLength() < COMMAND_MIN_LENGTH) + { + return 0; + } + // 如果不是包头 则跳过 重新开始寻找 + if (((Command_Read(readIndex) != 0xAA) || (Command_Read(readIndex + 1) != 0x55))) + { + Command_AddReadIndex(1); + continue; + } + // 如果缓冲区长度小于指令长度 则不可能有完整的指令 + uint8_t length = Command_Read(readIndex + 3); + if (Command_GetLength() < length) + { + return 0; + } + // 如果校验和不正确 则跳过 重新开始寻找 + uint16_t sum = 0; + for (uint8_t i = 0; i < length - 2; i++) + { + sum += Command_Read(readIndex + i); + } + if (sum != (Command_Read(readIndex + length - 2) << 8 | Command_Read(readIndex + length - 1))) + { + Command_AddReadIndex(1); + continue; + } + // 如果找到完整指令 则将指令写入command 返回指令长度 + for (uint8_t i = 0; i < length; i++) + { + command[i] = Command_Read(readIndex + i); + } + Command_AddReadIndex(length); + return length; + } +} +extern osSemaphoreId_t Command_Semaphore; +extern UART_HandleTypeDef huart1; +extern uint16_t CLKHZ[98]; +extern void CLKHZSET(uint16_t Deep); +extern float LineCheckF[32]; +union +{ + float ufloat; + uint32_t u32; + uint16_t u16[2]; + uint8_t u8[4]; +} uDataCover; + +uint16_t FramePack(uint8_t *buf, uint8_t cmd, uint8_t frameNum, uint8_t *data, uint16_t dataLength) +{ + uint8_t Lenth = 0; + uint16_t crcSum = 0; + memset(buf, 0, 128); + buf[0] = 0xAA; // 帧头 + buf[1] = 0x55; // 帧头 + buf[2] = cmd; // 命令 + buf[3] = 0x00; // 长度 + buf[4] = frameNum; // 帧号 + Lenth = 7; + + for (uint8_t i = 0; i < 5; i++) + { + crcSum += buf[i]; + } + for (uint8_t i = 0; i < dataLength; i++) + { + buf[i + 5] = data[i]; + crcSum += data[i]; + Lenth += 1; + } + buf[3] = Lenth; // 更新长度 + crcSum +=Lenth; + buf[Lenth - 2] = crcSum >> 8; // CRC高字节 + buf[Lenth - 1] = crcSum & 0xFF; // CRC低字节 + return Lenth; +} +struct uCommunication CommunicationData; +extern float OutPut1[8][4][98]; +extern float OutPut2[8][4][98]; +extern float OutPut3[8][4][98]; +extern float OutPut4[8][4][98]; +extern uint8_t Uart_ReadCache[128]; +uint8_t command[50]; +uint8_t SendBuf[128]; +int commandLength = 0; +uint8_t dtime = 10; +void Command_Deal(void) +{ + + osSemaphoreAcquire(Command_Semaphore, osWaitForever); // 等待命令信号量 + + + do + { + memset(command,0,50); + commandLength = Command_GetCommand(command); + if (commandLength == 0) + { + return; + } + uint8_t cmd = command[2]; // 获取命令 + uint8_t SenDataLenth = 0; + + switch (cmd) + { + case 1: // 开始测试命令 + HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_RESET); + osDelay(50); + HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_SET); + CommunicationData.MeasurementPrecision = 0; + CommunicationData.MeasurementFlag = 1; + break; + case 2: // 终止测试命令 + CommunicationData.MeasurementPrecision = 0; + CommunicationData.MeasurementFlag = 0; + break; + case 3: // 设定深度 + CommunicationData.Deep = (command[5] << 8) | command[6]; + CLKHZSET(CommunicationData.Deep); + break; + case 4: // 设置增益 + CommunicationData.Gain = command[5]; + break; + case 5: // 设定通道数量 + CommunicationData.ChannelNum = command[5]; + break; + case 6: // 道接地信号强度测试命令 + CommunicationData.SingelStrengthMeasurementFlag = 1; + CommunicationData.MeasurementPrecision = 0; + break; + case 7: // 获取通道接地信号强度 + if (CommunicationData.MeasurementPrecision == 100.0f) + { + SenDataLenth = FramePack(SendBuf, 0x07, 0x01, (uint8_t *)LineCheckF, 16 * 4); + + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET); + HAL_UART_Transmit(&huart1, SendBuf, SenDataLenth, HAL_MAX_DELAY); + while (HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX) + ; // 等待UART发送完成 + osDelay(50); + + SenDataLenth = FramePack(SendBuf, 0x07, 0xFF, (uint8_t *)(LineCheckF + 16), 16 * 4); + + HAL_UART_Transmit(&huart1, SendBuf, SenDataLenth, HAL_MAX_DELAY); + while (HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX) + ; + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); + osDelay(100); + HAL_UARTEx_ReceiveToIdle_DMA(&huart1, Uart_ReadCache, 128); // 重新启动DMA接收 + } + break; + case 8: // 获取测量进度 + { + SenDataLenth = FramePack(SendBuf, 0x08, 0xFF, (uint8_t *)&CommunicationData.MeasurementPrecision, 1); + + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET); + HAL_UART_Transmit(&huart1, SendBuf, SenDataLenth, HAL_MAX_DELAY); + while (HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX) + ; // 等待UART发送完成 + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); + break; + } + case 9: // 获取测量结果 + if (CommunicationData.MeasurementPrecision == 100.0f) + { + uint8_t totalChannels = CommunicationData.ChannelNum; + uint8_t totalFreqs = 0; + for (uint8_t i = 0; i < 98; i++) + { + if (CLKHZ[i] != 0) + totalFreqs++; + else + break; + } + uint32_t totalDataLen = totalChannels * totalFreqs * 4; + uint8_t frameNum = 1; + uint32_t sentLen = 0; + + while (sentLen < totalDataLen) + { + /** + * 根据剩余待发送数据长度,计算本次发送的数据长度,并组装数据帧。 + * + * 1. 计算本次发送的数据长度 sendLen,不超过 MAX_FRAME_DATA_LEN。 + * 2. 初始化数据缓冲区 dataBuf。 + * 3. 遍历每个待发送的 float 数据(每 4 字节为一个 float),根据 globalIdx 计算通道号 ch 和频点 freq。 + * 4. 根据通道号 ch 从对应的 OutPut 数组中获取数据 val。 + * - ch < 8: 从 OutPut1 取数据 + * - ch < 16: 从 OutPut2 取数据 + * - ch < 24: 从 OutPut3 取数据 + * - ch < 32: 从 OutPut4 取数据 + * 5. 将获取到的 float 数据 val 拷贝到 dataBuf 中,准备发送。 + * + * 参数说明: + * - totalDataLen: 总数据长度(字节) + * - sentLen: 已发送的数据长度(字节) + * - MAX_FRAME_DATA_LEN: 单帧最大数据长度(字节) + * - totalChannels: 总通道数 + * - OutPut1~4: 四组输出数据数组 + */ + uint32_t remain = totalDataLen - sentLen; + uint8_t sendLen = (remain > MAX_FRAME_DATA_LEN) ? MAX_FRAME_DATA_LEN : remain; + uint8_t dataBuf[MAX_FRAME_DATA_LEN]; + // 组装数据 + uint32_t dataIdx = 0; + uint32_t globalIdx = sentLen / 4; + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET); + osDelay(dtime); + for (uint8_t i = 0; i < sendLen / 4; i++) + { + uint8_t ch = (globalIdx % totalChannels); + uint8_t freq = (globalIdx / totalChannels); + float val = 0.0f; + if (ch < 8) + val = OutPut1[ch][0][freq]; + else if (ch < 16) + val = OutPut2[ch - 8][0][freq]; + else if (ch < 24) + val = OutPut3[ch - 16][0][freq]; + else if (ch < 32) + val = OutPut4[ch - 24][0][freq]; + memcpy(&dataBuf[dataIdx], &val, 4); + dataIdx += 4; + globalIdx++; + } + + uint8_t thisFrameNum = (sentLen + sendLen >= totalDataLen) ? 0xFF : frameNum; + SenDataLenth = FramePack(SendBuf, 0x09, thisFrameNum, dataBuf, sendLen); + + HAL_UART_Transmit(&huart1, SendBuf, SenDataLenth, HAL_MAX_DELAY); + while (HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX) + ; + sentLen += sendLen; + frameNum++; + } + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); + osDelay(100); + HAL_UARTEx_ReceiveToIdle_DMA(&huart1, Uart_ReadCache, 128); // 重新启动DMA接收 + + } + break; + case 10: // 获取电池电压 + SenDataLenth = FramePack(SendBuf, 0x0A, 0x01, (uint8_t *)&CommunicationData.BatteryVoltage, 4); + + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET); + HAL_UART_Transmit(&huart1, SendBuf, SenDataLenth, HAL_MAX_DELAY); + while (HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX) + ; // 等待UART发送完成 + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); + break; + case 11: // 获取电流 + SenDataLenth = FramePack(SendBuf, 0x0B, 0x01, (uint8_t *)&CommunicationData.BatteryCurrent, 4); + + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET); + HAL_UART_Transmit(&huart1, SendBuf, SenDataLenth, HAL_MAX_DELAY); + while (HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX) + ; // 等待UART发送完成 + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); + break; + } + } + while(commandLength != 0); +} + +/* + | 帧头 | 命令 | 长度 | 帧号 | 数据 (128B) | CRC16 | + |--------|------|--------|------|-------------|--------| + | AA 55 | 04 | 80 | FF | 00 | + +设定频率 +设置增益 +设定通道数量 +道接地信号强度测试命令 +获取通道接地信号强度 +开始测试命令 +终止测试命令 +获取测量进度 +获取测量结果 +获取电池电压 +获取电流 +CmdTable cmd_table[] = { + {"CMD_START", 1}, // 开始测试命令 + {"CMD_STOP", 2}, // 终止测试命令 + {"CMD_SET_FREQ", 3}, // 设定深度 + {"CMD_SET_GAIN", 4}, // 设置增益 + {"CMD_SET_CHANNELS", 5}, // 设定通道数量 + {"CMD_TEST_GROUND", 6}, // 道接地信号强度测试命令 + {"CMD_GET_GROUND", 7}, // 获取通道接地信号强度 + {"CMD_GET_PROGRESS", 8}, // 获取测量进度 + {"CMD_GET_RESULT", 9}, // 获取测量结果 + {"CMD_GET_BATTERY_VOLTAGE", 10}, // 获取电池电压 + {"CMD_GET_CURRENT", 11}, // 获取电流 + // ...更多命令 +}; +*/ diff --git a/Src/FlashRW.c b/Src/FlashRW.c new file mode 100644 index 0000000..2b1bc52 --- /dev/null +++ b/Src/FlashRW.c @@ -0,0 +1,53 @@ +#include "main.h" +#include "stm32h7xx_hal.h" + + + +void Store_Data_To_Flash(float *data, uint32_t size); +void Read_Data_From_Flash(float *data, uint32_t size); + + +void Store_Data_To_Flash(float *data, uint32_t size) +{ + HAL_StatusTypeDef status; + FLASH_EraseInitTypeDef erase_init; + uint32_t page_error; + + // Flash + HAL_FLASH_Unlock(); + + // ʼṹ +// erase_init.TypeErase = FLASH_TYPEERASE_SECTORS; + erase_init.Banks = FLASH_BANK_1; // For dual bank STM32H7 devices, select the appropriate bank + erase_init.Sector = FLASH_SECTOR_2; // Specify the starting sector + erase_init.NbSectors = (size * sizeof(float) + FLASH_SECTOR_SIZE - 1) / FLASH_SECTOR_SIZE; // ҪFlash + + // Flash + status = HAL_FLASHEx_Erase(&erase_init, &page_error); + if(status != HAL_OK) + { + // ʧܴ + } + + // дFlash + for (uint32_t i = 0; i < size; i++) + { + status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_FLASHWORD, FLASH_DATA_ADDRESS + i * sizeof(float), *((uint32_t *)(data + i))); + if(status != HAL_OK) + { + // дʧܴ + } + } + // Flash + HAL_FLASH_Lock(); +} + +void Read_Data_From_Flash(float *data, uint32_t size) +{ + // Flashжȡ + for (uint32_t i = 0; i < size; i ++) + { + data[i] = *(uint32_t *)(FLASH_DATA_ADDRESS + i); + } +} + diff --git a/Src/freertos.c b/Src/freertos.c new file mode 100644 index 0000000..4c1aa6f --- /dev/null +++ b/Src/freertos.c @@ -0,0 +1,59 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * File Name : freertos.c + * Description : Code for freertos applications + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "FreeRTOS.h" +#include "task.h" +#include "main.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN Variables */ + +/* USER CODE END Variables */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN FunctionPrototypes */ + +/* USER CODE END FunctionPrototypes */ + +/* Private application code --------------------------------------------------*/ +/* USER CODE BEGIN Application */ + +/* USER CODE END Application */ + diff --git a/Src/main.c b/Src/main.c new file mode 100644 index 0000000..67485b5 --- /dev/null +++ b/Src/main.c @@ -0,0 +1,1942 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "cmsis_os.h" +#include "usb_device.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +// #include "arm_math.h" +#include "stm32h7xx_hal_pwr.h" +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ +#include "stdio.h" +#include +#include + +#define ITM_PORT8(n) (*(volatile unsigned char *)(0xe0000000 + 4 * (n))) +#define ITM_PORT16(n) (*(volatile unsigned short *)(0xe0000000 + 4 * (n))) +#define ITM_PORT32(n) (*(volatile unsigned long *)(0xe0000000 + 4 * (n))) +#define DEMCR (*(volatile unsigned long *)(0xE000EDFC)) +#define TRCENA 0X01000000 + +int fputc(int ch, FILE *f) +{ + if (DEMCR & TRCENA) + { + while (ITM_PORT32(0) == 0) + ; + ITM_PORT8(0) = ch; + } + return ch; +} +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +ADC_HandleTypeDef hadc3; +DMA_HandleTypeDef hdma_adc3; + +TIM_HandleTypeDef htim1; +TIM_HandleTypeDef htim2; +TIM_HandleTypeDef htim4; + +UART_HandleTypeDef huart1; +DMA_HandleTypeDef hdma_usart1_rx; + +DMA_HandleTypeDef hdma_memtomem_dma2_stream0; +/* Definitions for defaultTask */ +osThreadId_t defaultTaskHandle; + +/* USER CODE BEGIN PV */ +const osThreadAttr_t defaultTask_attributes = { + .name = "defaultTask", + .stack_size = 4096, + .priority = (osPriority_t)osPriorityNormal, +}; +const osThreadAttr_t CommunicationResponeTask_attributes = { + .name = "CommunicationResponeTask", + .stack_size = 4096, + .priority = (osPriority_t)osPriorityNormal, +}; +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_BDMA_Init(void); +static void MX_DMA_Init(void); +static void MX_ADC3_Init(void); +static void MX_USART1_UART_Init(void); +static void MX_TIM2_Init(void); +static void MX_TIM1_Init(void); +static void MX_TIM4_Init(void); +void StartDefaultTask(void *argument); + +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ +//_Bool ADC1Finish = 1; +//_Bool ADC2Finish = 1; +_Bool ADC3Finish = 1; +// uint32_t ADC3DataBuf[1024 * 10 / 2] __attribute__((section(".ADC3DataBufAddr"))); +// uint32_t ADC3DataBufTrans[4096 * 10 / 2] __attribute__((section(".ADC3DataBufTransAddr"))); +#define ADC3DataBuf ((uint32_t *)(D3_SRAM_BASE + 0x1000)) +#define ADC3DataBufTrans ((uint32_t *)(D1_AXISRAM_BASE + 0x50000)) +void ExitRun0Mode(void) {} +_Bool StartFlag = 0; +static uint8_t HFk = 0; +static uint8_t CPk = 0; +void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc) +{ + __HAL_DMA_CLEAR_FLAG(hadc3.DMA_Handle, BDMA_FLAG_HT0); + if (StartFlag) + { + if (hadc->Instance == ADC3) + { + if (HFk < 4) + { + if (HAL_DMA_Init(&hdma_memtomem_dma2_stream0) != HAL_OK) + { + Error_Handler(); + } + HAL_DMA_Start(&hdma_memtomem_dma2_stream0, (uint32_t)(ADC3DataBuf), + (uint32_t)(ADC3DataBufTrans + 1024 * 10 * 2 * HFk / 4), 1024 * 10); + while (__HAL_DMA_GET_FLAG(&hdma_memtomem_dma2_stream0, DMA_FLAG_HTIF0_4) == RESET) + ; + __HAL_DMA_CLEAR_FLAG(&hdma_memtomem_dma2_stream0, DMA_FLAG_HTIF0_4); + __HAL_DMA_CLEAR_FLAG(&hdma_memtomem_dma2_stream0, DMA_FLAG_TCIF0_4); + HFk++; + } + else + { + HFk = 4; + } + } + } + else + { + HFk = 0; + } +} +void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) +{ + __HAL_DMA_CLEAR_FLAG(hadc3.DMA_Handle, BDMA_FLAG_TC0); + if (StartFlag) + { + + if (hadc->Instance == ADC3) + { + + if (CPk < 4) + { + if (HFk <= CPk) + return; + if (HAL_DMA_Init(&hdma_memtomem_dma2_stream0) != HAL_OK) + { + Error_Handler(); + } + HAL_DMA_Start(&hdma_memtomem_dma2_stream0, (uint32_t)(ADC3DataBuf + 1024 * 10 / 4), + (uint32_t)(ADC3DataBufTrans + 1024 * 10 / 4 + 1024 * 10 * 2 * CPk / 4), 1024 * 10); + while (__HAL_DMA_GET_FLAG(&hdma_memtomem_dma2_stream0, DMA_FLAG_TCIF0_4) == RESET) + ; + __HAL_DMA_CLEAR_FLAG(&hdma_memtomem_dma2_stream0, DMA_FLAG_HTIF0_4); + __HAL_DMA_CLEAR_FLAG(&hdma_memtomem_dma2_stream0, DMA_FLAG_TCIF0_4); + CPk++; + if (CPk == 4) + { + ADC3Finish = 1; + StartFlag = 0; + } + } + else + { + CPk = 4; + ADC3Finish = 1; + StartFlag = 0; + } + } + } + else + { + CPk = 0; + } +} + +/* FFT相关参数,默认使用4096点FFT + * 可选范围为: 16, 64, 256, 1024, 4096 + */ +#define FFT_LENGTH 4096 + +uint16_t fft_inputbuf[FFT_LENGTH]; /* FFT输入缓冲区 */ +uint8_t Uart_ReadCache[128]; +_Bool ReadFlag = 0; +uint8_t gain = 0; +void CommunicationResponse(void *P_grg); +osSemaphoreId_t Command_Semaphore; +osSemaphoreId_t CommandResponse_Semaphore; +extern uint8_t Command_Write(uint8_t *data, uint16_t length); +extern uint8_t Command_GetCommand(uint8_t *command); + +void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) +{ + UNUSED(huart); +//HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_RESET); +//osDelay(10); +//HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_SET); +// HAL_UART_DMAStop(huart); // 停止DMA接收 + if (Command_Write(Uart_ReadCache, Size) >= 4) + { + // 如果写入成功,释放信号量,允许其他线程获取 + osSemaphoreRelease(Command_Semaphore); + } + // 处理接收到的数据 +// HAL_UARTEx_ReceiveToIdle_DMA(huart, Uart_ReadCache, 128); // 重新启动DMA接收 +} + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + + /* USER CODE BEGIN 1 */ + /*************************************************************************************** */ + /*************************************************************************************** */ + /*************************************************************************************** */ + /*************************************************************************************** */ + /*************************************************************************************** */ + /*************************************************************************************** */ + /*************************************************************************************** */ + /*************************************************************************************** */ + /*************************************************************************************** */ + /*************************************************************************************** */ + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + /* Configure the system clock */ + SystemClock_Config(); + + /* USER CODE BEGIN SysInit */ + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_BDMA_Init(); + MX_DMA_Init(); + MX_ADC3_Init(); + MX_USART1_UART_Init(); + MX_TIM2_Init(); + MX_TIM1_Init(); + MX_TIM4_Init(); + /* USER CODE BEGIN 2 */ + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET); + + /* USER CODE END 2 */ + + /* Init scheduler */ + osKernelInitialize(); + + /* USER CODE BEGIN RTOS_MUTEX */ + /* add mutexes, ... */ + /* USER CODE END RTOS_MUTEX */ + + /* USER CODE BEGIN RTOS_SEMAPHORES */ + /* add semaphores, ... */ + /* USER CODE END RTOS_SEMAPHORES */ + + /* USER CODE BEGIN RTOS_TIMERS */ + /* start timers, add new ones, ... */ + /* USER CODE END RTOS_TIMERS */ + + /* USER CODE BEGIN RTOS_QUEUES */ + + /* USER CODE END RTOS_QUEUES */ + + /* Create the thread(s) */ + /* creation of defaultTask */ + + defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes); + + /* USER CODE BEGIN RTOS_THREADS */ + + + /* add threads, ... */ + /* USER CODE END RTOS_THREADS */ + + /* USER CODE BEGIN RTOS_EVENTS */ + /* add events, ... */ + /* USER CODE END RTOS_EVENTS */ + + /* Start scheduler */ + osKernelStart(); + + /* We should never get here as control is now taken by the scheduler */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Supply configuration update enable + */ + HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY); + + /** Configure the main internal regulator output voltage + */ + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0); + + while (!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) + { + } + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; + RCC_OscInitStruct.HSEState = RCC_HSE_ON; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + RCC_OscInitStruct.PLL.PLLM = 5; + RCC_OscInitStruct.PLL.PLLN = 192; + RCC_OscInitStruct.PLL.PLLP = 2; + RCC_OscInitStruct.PLL.PLLQ = 15; + RCC_OscInitStruct.PLL.PLLR = 2; + RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2; + RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; + RCC_OscInitStruct.PLL.PLLFRACN = 0; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | + RCC_CLOCKTYPE_PCLK2 | RCC_CLOCKTYPE_D3PCLK1 | RCC_CLOCKTYPE_D1PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief ADC3 Initialization Function + * @param None + * @retval None + */ +static void MX_ADC3_Init(void) +{ + + /* USER CODE BEGIN ADC3_Init 0 */ + + /* USER CODE END ADC3_Init 0 */ + + ADC_ChannelConfTypeDef sConfig = {0}; + + /* USER CODE BEGIN ADC3_Init 1 */ + + /* USER CODE END ADC3_Init 1 */ + + /** Common config + */ + hadc3.Instance = ADC3; + hadc3.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV4; + hadc3.Init.Resolution = ADC_RESOLUTION_16B; + hadc3.Init.ScanConvMode = ADC_SCAN_ENABLE; + hadc3.Init.EOCSelection = ADC_EOC_SEQ_CONV; + hadc3.Init.LowPowerAutoWait = DISABLE; + hadc3.Init.ContinuousConvMode = DISABLE; + hadc3.Init.NbrOfConversion = 10; + hadc3.Init.DiscontinuousConvMode = DISABLE; + hadc3.Init.ExternalTrigConv = ADC_EXTERNALTRIG_T4_TRGO; + hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING; + hadc3.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DMA_CIRCULAR; + hadc3.Init.Overrun = ADC_OVR_DATA_OVERWRITTEN; + hadc3.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE; + hadc3.Init.OversamplingMode = DISABLE; + hadc3.Init.Oversampling.Ratio = 1; + if (HAL_ADC_Init(&hadc3) != HAL_OK) + { + Error_Handler(); + } + + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_0; + sConfig.Rank = ADC_REGULAR_RANK_1; + sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5; + sConfig.SingleDiff = ADC_SINGLE_ENDED; + sConfig.OffsetNumber = ADC_OFFSET_NONE; + sConfig.Offset = 0; + sConfig.OffsetSignedSaturation = DISABLE; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_1; + sConfig.Rank = ADC_REGULAR_RANK_2; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_5; + sConfig.Rank = ADC_REGULAR_RANK_3; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + + /** Configure Regular Channel + */ + sConfig.Rank = ADC_REGULAR_RANK_4; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_10; + sConfig.Rank = ADC_REGULAR_RANK_5; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_11; + sConfig.Rank = ADC_REGULAR_RANK_6; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_13; + sConfig.Rank = ADC_REGULAR_RANK_7; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_14; + sConfig.Rank = ADC_REGULAR_RANK_8; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_15; + sConfig.Rank = ADC_REGULAR_RANK_9; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_16; + sConfig.Rank = ADC_REGULAR_RANK_10; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN ADC3_Init 2 */ + + /* USER CODE END ADC3_Init 2 */ +} + +/** + * @brief TIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM1_Init(void) +{ + + /* USER CODE BEGIN TIM1_Init 0 */ + + /* USER CODE END TIM1_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_OC_InitTypeDef sConfigOC = {0}; + TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0}; + + /* USER CODE BEGIN TIM1_Init 1 */ + + /* USER CODE END TIM1_Init 1 */ + htim1.Instance = TIM1; + htim1.Init.Prescaler = 240000000 / 1000000 - 1; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 100 - 1; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; + sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + sConfigOC.OCMode = TIM_OCMODE_PWM1; + sConfigOC.Pulse = 5; + sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH; + sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET; + sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET; + if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) + { + Error_Handler(); + } + sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE; + sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE; + sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF; + sBreakDeadTimeConfig.DeadTime = 0; + sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE; + sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH; + sBreakDeadTimeConfig.BreakFilter = 0; + sBreakDeadTimeConfig.Break2State = TIM_BREAK2_DISABLE; + sBreakDeadTimeConfig.Break2Polarity = TIM_BREAK2POLARITY_HIGH; + sBreakDeadTimeConfig.Break2Filter = 0; + sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE; + if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM1_Init 2 */ + + /* USER CODE END TIM1_Init 2 */ +} + +/** + * @brief TIM2 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM2_Init(void) +{ + + /* USER CODE BEGIN TIM2_Init 0 */ + + /* USER CODE END TIM2_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_OC_InitTypeDef sConfigOC = {0}; + + /* USER CODE BEGIN TIM2_Init 1 */ + + /* USER CODE END TIM2_Init 1 */ + htim2.Instance = TIM2; + htim2.Init.Prescaler = 240000000 / 1000000 - 1; + htim2.Init.CounterMode = TIM_COUNTERMODE_UP; + htim2.Init.Period = 100 - 1; + htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; + if (HAL_TIM_Base_Init(&htim2) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + sConfigOC.OCMode = TIM_OCMODE_PWM1; + sConfigOC.Pulse = 0; + sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM2_Init 2 */ + + /* USER CODE END TIM2_Init 2 */ + HAL_TIM_MspPostInit(&htim2); +} + +/** + * @brief TIM4 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM4_Init(void) +{ + + /* USER CODE BEGIN TIM4_Init 0 */ + + /* USER CODE END TIM4_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_OC_InitTypeDef sConfigOC = {0}; + + /* USER CODE BEGIN TIM4_Init 1 */ + + /* USER CODE END TIM4_Init 1 */ + htim4.Instance = TIM4; + htim4.Init.Prescaler = 240000000 / 1000000 - 1; + htim4.Init.CounterMode = TIM_COUNTERMODE_UP; + htim4.Init.Period = 100 - 1; + htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; + if (HAL_TIM_Base_Init(&htim4) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + sConfigOC.OCMode = TIM_OCMODE_PWM1; + sConfigOC.Pulse = 5; + sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM4_Init 2 */ + + /* USER CODE END TIM4_Init 2 */ +} + +/** + * @brief USART1 Initialization Function + * @param None + * @retval None + */ +static void MX_USART1_UART_Init(void) +{ + + /* USER CODE BEGIN USART1_Init 0 */ + + /* USER CODE END USART1_Init 0 */ + + /* USER CODE BEGIN USART1_Init 1 */ + + /* USER CODE END USART1_Init 1 */ + huart1.Instance = USART1; + huart1.Init.BaudRate = 115200; + huart1.Init.WordLength = UART_WORDLENGTH_8B; + huart1.Init.StopBits = UART_STOPBITS_1; + huart1.Init.Parity = UART_PARITY_NONE; + huart1.Init.Mode = UART_MODE_TX_RX; + huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart1.Init.OverSampling = UART_OVERSAMPLING_16; + huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; + huart1.Init.ClockPrescaler = UART_PRESCALER_DIV1; + huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; + if (HAL_UART_Init(&huart1) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_SetTxFifoThreshold(&huart1, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_SetRxFifoThreshold(&huart1, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_DisableFifoMode(&huart1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART1_Init 2 */ + + /* USER CODE END USART1_Init 2 */ +} + +/** + * Enable DMA controller clock + */ +static void MX_BDMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_BDMA_CLK_ENABLE(); + + /* DMA interrupt init */ + /* DMAMUX2_OVR_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMAMUX2_OVR_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(DMAMUX2_OVR_IRQn); + /* BDMA_Channel0_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(BDMA_Channel0_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(BDMA_Channel0_IRQn); +} + +/** + * Enable DMA controller clock + * Configure DMA for memory to memory transfers + * hdma_memtomem_dma2_stream0 + */ +static void MX_DMA_Init(void) +{ + + /* DMA controller clock enable */ + __HAL_RCC_DMA2_CLK_ENABLE(); + __HAL_RCC_DMA1_CLK_ENABLE(); + + /* Configure DMA request hdma_memtomem_dma2_stream0 on DMA2_Stream0 */ + hdma_memtomem_dma2_stream0.Instance = DMA2_Stream0; + hdma_memtomem_dma2_stream0.Init.Request = DMA_REQUEST_MEM2MEM; + hdma_memtomem_dma2_stream0.Init.Direction = DMA_MEMORY_TO_MEMORY; + hdma_memtomem_dma2_stream0.Init.PeriphInc = DMA_PINC_ENABLE; + hdma_memtomem_dma2_stream0.Init.MemInc = DMA_MINC_ENABLE; + hdma_memtomem_dma2_stream0.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_memtomem_dma2_stream0.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_memtomem_dma2_stream0.Init.Mode = DMA_NORMAL; + hdma_memtomem_dma2_stream0.Init.Priority = DMA_PRIORITY_LOW; + hdma_memtomem_dma2_stream0.Init.FIFOMode = DMA_FIFOMODE_ENABLE; + hdma_memtomem_dma2_stream0.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; + hdma_memtomem_dma2_stream0.Init.MemBurst = DMA_MBURST_SINGLE; + hdma_memtomem_dma2_stream0.Init.PeriphBurst = DMA_PBURST_SINGLE; + if (HAL_DMA_Init(&hdma_memtomem_dma2_stream0) != HAL_OK) + { + Error_Handler(); + } + + /* DMA interrupt init */ + /* DMA1_Stream5_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + /* USER CODE BEGIN MX_GPIO_Init_1 */ + /* USER CODE END MX_GPIO_Init_1 */ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_GPIOI_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOC, GPIO_PIN_11, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_7, + GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14, + GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_SET); + + /*Configure GPIO pin : PA8 */ + GPIO_InitStruct.Pin = GPIO_PIN_8; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /*Configure GPIO pin : PC11 */ + GPIO_InitStruct.Pin = GPIO_PIN_11; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : PD0 PD1 PD3 PD4 + PD5 */ + GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /*Configure GPIO pins : PD2 PD7 */ + GPIO_InitStruct.Pin = GPIO_PIN_2 | GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /*Configure GPIO pins : PG9 PG10 PG11 PG12 + PG13 PG14 */ + GPIO_InitStruct.Pin = GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); + + /*Configure GPIO pin : PI7 */ + GPIO_InitStruct.Pin = GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOI, &GPIO_InitStruct); + + /* USER CODE BEGIN MX_GPIO_Init_2 */ + /* USER CODE END MX_GPIO_Init_2 */ +} + +/* USER CODE BEGIN 4 */ +void LOWPower() +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Supply configuration update enable + */ + HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY); + + /** Configure the main internal regulator output voltage + */ + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + + while (!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) + { + } + + __HAL_RCC_SYSCFG_CLK_ENABLE(); + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0); + + while (!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) + { + } + + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; + RCC_OscInitStruct.HSEState = RCC_HSE_ON; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + RCC_OscInitStruct.PLL.PLLM = 5; + RCC_OscInitStruct.PLL.PLLN = 32; + RCC_OscInitStruct.PLL.PLLP = 2; + RCC_OscInitStruct.PLL.PLLQ = 15; + RCC_OscInitStruct.PLL.PLLR = 2; + RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2; + RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; + RCC_OscInitStruct.PLL.PLLFRACN = 0; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | + RCC_CLOCKTYPE_PCLK2 | RCC_CLOCKTYPE_D3PCLK1 | RCC_CLOCKTYPE_D1PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK) + { + Error_Handler(); + } + + MX_USART1_UART_Init(); +} + +uint16_t CLKHZ[98] = {5000, 4000, 3000, 2500, 2000, 1500, 1300, 1200, 1100, 1000, 900, 800, 700, 520, 460, 400, 350, + 300, 260, 230, 210, 190, 170, 160, 140, 130, 120, 110, 105, 90, 85, 80, 77, 75, + 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, + 55, 54, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, + 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, + 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; // 500mi +float BaseNiose[4]; +float BaseNioseGain[4]; +float OutPut1[8][4][98]; +float OutPut2[8][4][98]; +float OutPut3[8][4][98]; +float OutPut4[8][4][98]; +uint8_t CLKCount = 98; +float Datav; +void CLKHZSET(uint16_t Deep) +{ + switch (Deep) + { + case 150: + { + uint16_t HZ[98] = {5000, 4500, 4000, 3500, 3000, 2500, 2200, 2000, 1800, 1600, 1400, 1300, 1200, 1100, + 1000, 950, 900, 850, 800, 750, 700, 650, 600, 550, 500, 460, 400, 350, + 320, 300, 260, 230, 210, 190, 180, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // 500mi + memcpy(CLKHZ, HZ, sizeof(HZ)); + CLKCount = 36; + break; + } + case 600: + { + + uint16_t HZ[98] = {5000, 4000, 3000, 2500, 2000, 1500, 1300, 1200, 1100, 1000, 900, 800, 700, 520, 460, + 400, 350, 300, 260, 230, 210, 190, 170, 160, 140, 130, 120, 110, 105, 90, + 85, 80, 77, 75, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, + 61, 60, 59, 58, 57, 56, 55, 54, 45, 44, 43, 42, 41, 40, 39, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 + + }; + CLKCount = 60; + memcpy(CLKHZ, HZ, sizeof(HZ)); + break; + } + case 800: + { + uint16_t HZ[98] = { + 5000, 4000, 3000, 2500, 2000, 1500, 1300, 1200, 1100, 1000, 900, 800, 700, 520, 460, 400, 350, + 300, 260, 230, 210, 190, 170, 160, 140, 130, 120, 110, 105, 90, 85, 80, 77, 75, + 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, + 55, 54, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + CLKCount = 64; + memcpy(CLKHZ, HZ, sizeof(HZ)); + break; + } + case 1200: + { + uint16_t HZ[98] = { + 5000, 4000, 3000, 2500, 2000, 1500, 1300, 1200, 1100, 1000, 900, 800, 700, 520, 460, 400, 350, + 300, 260, 230, 210, 190, 170, 160, 140, 130, 120, 110, 105, 90, 85, 80, 77, 75, + 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, + 55, 54, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + CLKCount = 68; + memcpy(CLKHZ, HZ, sizeof(HZ)); + break; + } + case 1500: + { + uint16_t HZ[98] = { + 5000, 4000, 3000, 2500, 2000, 1500, 1300, 1200, 1100, 1000, 900, 800, 700, 520, 460, 400, 350, + 300, 260, 230, 210, 190, 170, 160, 140, 130, 120, 110, 105, 90, 85, 80, 77, 75, + 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, + 55, 54, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, + 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + CLKCount = 78; + memcpy(CLKHZ, HZ, sizeof(HZ)); + break; + } + case 2000: + { + uint16_t HZ[98] = { + 5000, 4000, 3000, 2500, 2000, 1500, 1300, 1200, 1100, 1000, 900, 800, 700, 520, 460, 400, 350, + 300, 260, 230, 210, 190, 170, 160, 140, 130, 120, 110, 105, 90, 85, 80, 77, 75, + 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, + 55, 54, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, + 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, + 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + CLKCount = 88; + memcpy(CLKHZ, HZ, sizeof(HZ)); + break; + } + default: + case 3000: + { + uint16_t HZ[98] = { + 5000, 4000, 3000, 2500, 2000, 1500, 1300, 1200, 1100, 1000, 900, 800, 700, 520, 460, 400, 350, + 300, 260, 230, 210, 190, 170, 160, 140, 130, 120, 110, 105, 90, 85, 80, 77, 75, + 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, + 55, 54, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, + 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, + 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, + }; + CLKCount = 98; + memcpy(CLKHZ, HZ, sizeof(HZ)); + break; + } + } +} + +_Bool CheckMaxV(uint16_t Vmv) +{ + uint8_t j, k = 0; + for (k = 0; k < 100; k++) + { + for (j = 0; j < 128; j++) + { + // for( i = 0; i < 14/2; i++) + // { + // if( ADC1DataBuf[i+j*7] /65535 *3300 > Vmv ) + // return 1; + // if( ADC1DataBuf[i+j*7]>>16 /65535 *3300 > Vmv ) + // return 1; + // } + // if( ADC2DataBuf[j] /65535 *3300 > Vmv ) + // return 1; + // if( ADC2DataBuf[j]>>16 /65535 *3300 > Vmv ) + // return 1; + // for( i = 0; i < 16/2; i++) + { + // if( ADC3DataBuf[7+j*8] /65535 *3300 > Vmv ) + // return 1; + Datav = (ADC3DataBuf[7 + j * 8] >> 16) / 65535.0f * 3300; + if (Datav > Vmv + 1650) + return 1; + Datav = (ADC3DataBuf[7 + j * 8] & 0x00FF) / 65535.0f * 3300; + if (Datav > Vmv + 1650) + return 1; + Datav = (ADC3DataBuf[6 + j * 8] >> 16) / 65535.0f * 3300; + if (Datav > Vmv + 1650) + return 1; + Datav = (ADC3DataBuf[6 + j * 8] & 0x00FF) / 65535.0f * 3300; + if (Datav > Vmv + 1650) + return 1; + Datav = (ADC3DataBuf[0 + j * 8] >> 16) / 65535.0f * 3300; + if (Datav > Vmv + 1650) + return 1; + } + } + } + return 0; +} + +void ChannelSelect(uint8_t Channel) +{ + switch (Channel) + { + default: + case 0: + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_12, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_11, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_10, GPIO_PIN_RESET); + break; + case 1: + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_12, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_11, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_10, GPIO_PIN_RESET); + break; + case 2: + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_12, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_11, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_10, GPIO_PIN_RESET); + break; + case 3: + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_12, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_11, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_10, GPIO_PIN_RESET); + break; + case 4: + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_12, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_11, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_10, GPIO_PIN_SET); + break; + case 5: + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_12, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_11, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_10, GPIO_PIN_SET); + break; + case 6: + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_12, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_11, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_10, GPIO_PIN_SET); + break; + case 7: + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_12, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_11, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_10, GPIO_PIN_SET); + break; + } +} +void SampleRate_Set(uint32_t Rate) +{ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_OC_InitTypeDef sConfigOC = {0}; + + /* USER CODE BEGIN TIM4_Init 1 */ + + /* USER CODE END TIM4_Init 1 */ + htim4.Instance = TIM4; + htim4.Init.Prescaler = 240000000 / Rate / 100 - 1; + htim4.Init.CounterMode = TIM_COUNTERMODE_UP; + htim4.Init.Period = 100 - 1; + htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; + if (HAL_TIM_Base_Init(&htim4) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + sConfigOC.OCMode = TIM_OCMODE_PWM1; + sConfigOC.Pulse = 5; + sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) + { + Error_Handler(); + } +} +void Clk_Set(uint16_t Clk) +{ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_OC_InitTypeDef sConfigOC = {0}; + htim2.Instance = TIM2; + if (Clk == 0) + { + HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1); + return; + } + + if (Clk < 5) + { + htim2.Init.Prescaler = 240000000 / (Clk * 100 * 100) - 1; + htim2.Init.Period = 100 - 1; + } + else + { + htim2.Init.Prescaler = 240000000 / (Clk * 10 * 100) - 1; + htim2.Init.Period = 10 - 1; + } + + htim2.Init.CounterMode = TIM_COUNTERMODE_UP; + htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; + if (HAL_TIM_Base_Init(&htim2) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + if (Clk < 5) + { + + sConfigOC.Pulse = 50; + } + else + { + sConfigOC.Pulse = 5; + } + sConfigOC.OCMode = TIM_OCMODE_PWM1; + sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) + { + Error_Handler(); + } + HAL_TIM_MspPostInit(&htim2); + + HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); +} +void SlopeSet(uint8_t Level) +{ + osDelay(100); + + switch (Level) + { + default: + case 0: // 1 + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_5, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_4, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_1, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_RESET); + break; + case 1: // 10 + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_5, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_4, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_1, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_RESET); + break; + case 2: // 100 + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_5, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_4, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_1, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_RESET); + break; + case 3: // 1000 + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_5, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_4, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_1, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_RESET); + break; + case 4: // 10000 + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_5, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_4, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_1, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_RESET); + break; + case 5: // 100000 + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_5, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_4, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_1, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_SET); + break; + } + HAL_GPIO_WritePin(GPIOC, GPIO_PIN_11, GPIO_PIN_SET); + osDelay(100); + HAL_GPIO_WritePin(GPIOC, GPIO_PIN_11, GPIO_PIN_RESET); +} +uint16_t i, j = 0; +union floattouint16_t +{ // 32位float与16位uint16的联合体 + float f; + uint32_t u32; + uint16_t u16[2]; + uint8_t u8[4]; +}; +union floattouint16_t FtU; + +// 计算一个数组的平均值 +float calculateAverage(uint16_t arr[], int size) +{ + double sum = 0.0; + + // 累加 + int i; + for (i = 0; i < size; i++) + { + sum += arr[i]; + } + + // 计算平均值 + double average = sum / size; + + return average / 65535.0f * 3300 * 2.828; +} + +_Bool LineCheckResult[32]; +float LineCheckF[32]; +char bufx[80]; +void LineCheck(void) +{ + uint16_t i, j, k = 0; + float TempCheck; + CommunicationData.MeasurementPrecision = 0; + SampleRate_Set(4096 * 2); + HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_RESET); + for (j = 0; j < 8; j++) + { + CommunicationData.MeasurementPrecision = 96 / 3 / 8 * j; + HAL_ADC_Stop_DMA(&hadc3); + HAL_ADC_Start_DMA(&hadc3, ADC3DataBuf, 1024 * 10); + ChannelSelect(j); + memset(ADC3DataBuf, 0, sizeof(ADC3DataBuf)); + HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); + osDelay(500); + HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_1); + for (k = 0; k < 1024; k++) + { + fft_inputbuf[k] = (uint16_t)(ADC3DataBuf[k * 5 + 2] >> 0); // CH1 + } + LineCheckF[j + 0] = calculateAverage(fft_inputbuf, 1024); + + for (k = 0; k < 1024; k++) + { + fft_inputbuf[k] = (uint16_t)(ADC3DataBuf[k * 5 + 2] >> 16); // CH2 + } + LineCheckF[j + 8] = calculateAverage(fft_inputbuf, 1024); + + for (k = 0; k < 1024; k++) + { + fft_inputbuf[k] = (uint16_t)(ADC3DataBuf[k * 5 + 0] >> 16); // CH3 + } + LineCheckF[j + 16] = calculateAverage(fft_inputbuf, 1024); + + for (k = 0; k < 1024; k++) + { + fft_inputbuf[k] = (uint16_t)(ADC3DataBuf[k * 5 + 0] >> 0); // CH4 + } + LineCheckF[j + 24] = calculateAverage(fft_inputbuf, 1024); + } + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_SET); + for (j = 0; j < 8; j++) + { + CommunicationData.MeasurementPrecision = 96 / 3 / 8 * j + 30; + HAL_ADC_Stop_DMA(&hadc3); + HAL_ADC_Start_DMA(&hadc3, ADC3DataBuf, 1024 * 10); + ChannelSelect(j); + memset(ADC3DataBuf, 0, sizeof(ADC3DataBuf)); + HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); + for (i = 0; i < 50; i++) + { + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_RESET); + osDelay(5); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_SET); + osDelay(5); + } + HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_1); + for (k = 0; k < 1024; k++) + { + fft_inputbuf[k] = (uint16_t)(ADC3DataBuf[k * 5 + 2] >> 0); // CH1 + } + TempCheck = calculateAverage(fft_inputbuf, 1024); + LineCheckF[j + 0] = (TempCheck > LineCheckF[j + 0] ? (TempCheck - LineCheckF[j + 0]) : 0); + if (LineCheckF[j + 0] > 100) + { + LineCheckResult[j + 0] = 1; + } + else + { + LineCheckResult[j + 0] = 0; + } + + for (k = 0; k < 1024; k++) + { + fft_inputbuf[k] = (uint16_t)(ADC3DataBuf[k * 5 + 0] >> 16); // CH3 + } + TempCheck = calculateAverage(fft_inputbuf, 1024); + LineCheckF[j + 16] = (TempCheck > LineCheckF[j + 16] ? (TempCheck - LineCheckF[j + 16]) : 0); + if (LineCheckF[j + 16] > 100) + { + LineCheckResult[j + 16] = 1; + } + else + { + LineCheckResult[j + 16] = 0; + } + } + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_SET); // A1 + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); // A0 + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13, GPIO_PIN_RESET); // A1 + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_SET); // A0 + for (j = 0; j < 8; j++) + { + CommunicationData.MeasurementPrecision = 96 / 3 / 8 * j + 60; + HAL_ADC_Stop_DMA(&hadc3); + HAL_ADC_Start_DMA(&hadc3, ADC3DataBuf, 1024 * 10); + ChannelSelect(j); + memset(ADC3DataBuf, 0, sizeof(ADC3DataBuf)); + HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); + for (i = 0; i < 50; i++) + { + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); + osDelay(5); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + osDelay(5); + } + HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_1); + for (k = 0; k < 1024; k++) + { + fft_inputbuf[k] = (uint16_t)(ADC3DataBuf[k * 5 + 2] >> 16); // CH2 + } + TempCheck = calculateAverage(fft_inputbuf, 1024); + LineCheckF[j + 8] = (TempCheck > LineCheckF[j + 8] ? (TempCheck - LineCheckF[j + 8]) : 0); + if (LineCheckF[j + 8] > 100) + { + LineCheckResult[j + 8] = 1; + } + else + { + LineCheckResult[j + 8] = 0; + } + + for (k = 0; k < 1024; k++) + { + fft_inputbuf[k] = (uint16_t)(ADC3DataBuf[k * 5 + 0] >> 0); // CH4 + } + TempCheck = calculateAverage(fft_inputbuf, 1024); + LineCheckF[j + 24] = (TempCheck > LineCheckF[j + 24] ? (TempCheck - LineCheckF[j + 24]) : 0); + if (LineCheckF[j + 24] > 100) + { + LineCheckResult[j + 24] = 1; + } + else + { + LineCheckResult[j + 24] = 0; + } + } + + HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1); +// HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET); +// osDelay(500); +// sprintf(bufx, "%s\r\n", "\r\n\r\n\r\n----------------------接线测试----------------------\r\n"); +// HAL_UART_Transmit(&huart1, (uint8_t *)bufx, strlen(bufx), 0xFFFF); +// while (HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX) +// ; // 等待UART发送完成 +// osDelay(3000); +// for (i = 0; i < 32; i++) +// { + +// sprintf(bufx, "通道%02d: %.1f\r\n", i + 1, LineCheckF[i]); +// HAL_UART_Transmit(&huart1, (uint8_t *)bufx, strlen(bufx), 0xFFFF); +// while (HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX) +// ; // 等待UART发送完成 +// } +// for (i = 0; i < 32; i++) +// { + +// sprintf(bufx, "通道%02d: %d\r\n", i + 1, LineCheckResult[i]); +// HAL_UART_Transmit(&huart1, (uint8_t *)bufx, strlen(bufx), 0xFFFF); +// while (HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX) +// ; // 等待UART发送完成 +// } + ReadFlag = 1; +// HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); +// HAL_UARTEx_ReceiveToIdle_IT(&huart1, (uint8_t *)&Uart_ReadCache, 100); // 锟劫匡拷锟斤拷锟斤拷锟斤拷锟叫讹拷 + HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_RESET); + osDelay(1000); + HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_RESET); + CommunicationData.MeasurementPrecision = 100; +} + +extern void Command_Deal(void); +float FindMaxValue(float *data, uint16_t length) +{ + float maxValue = data[0]; + for (uint16_t i = 1; i < length; i++) + { + if (data[i] > maxValue) + { + maxValue = data[i]; + } + } + if(maxValue < 0.05) + { + maxValue = data[2]; + + } + return maxValue; +} +void CommunicationResponse(void *P_grg) +{ + float FindmaxDatabuf[4]; + for (;;) + { + + osSemaphoreAcquire(CommandResponse_Semaphore, osWaitForever); + + if (CommunicationData.MeasurementFlag) + { + uint8_t l, m, n = 0; + CommunicationData.MeasurementPrecision = 0; + SampleRate_Set(4096 * 2); + HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); + HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_1); + HAL_ADC_Stop_DMA(&hadc3); + HAL_ADC_Start_DMA(&hadc3, ADC3DataBuf, 1024 * 10); + ChannelSelect(0); + Clk_Set(CLKHZ[0]); + osDelay(1000); // 10 + SlopeSet(2); +// HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET); + HFk = 0; + CPk = 0; + HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); + + for (l = 0; l < CLKCount; l++) + { + if (!CommunicationData.MeasurementFlag) + break; + CommunicationData.MeasurementPrecision = 100.0 / CLKCount * l; + + osDelay(10); // 10 + for (m = 0; m < 8; m++) + { + if (!CommunicationData.MeasurementFlag) + break; + for (n = 0; n < 3; n++) + { + if (!CommunicationData.MeasurementFlag) + break; + if (l >= 90) + osDelay(2000); // 10 + else + osDelay(200); // 10 + ADC3Finish = 0; + StartFlag = 1; + do + { + osDelay(30); + } while (!ADC3Finish); + + HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_1); + HAL_ADC_Stop_DMA(&hadc3); + HAL_ADC_Start_DMA(&hadc3, ADC3DataBuf, 1024 * 10); + if (n < 2) + { + SlopeSet(n + 3); + HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); + } + else + { + if ((m == 7) && (l < 97)) + { + Clk_Set(CLKHZ[l + 1]); + } + ChannelSelect(m + 1); + SlopeSet(2); + if ((m == 7) && (l < 97)) + { + } + HFk = 0; + CPk = 0; + if (l >= 90) + { + SampleRate_Set(4096 / 2); + osDelay(1500); // 10 + } + HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); + } + + int x = 0; + for (x = 0; x < FFT_LENGTH; x++) + { + fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 3] >> 0); // CH1 + } + OutPut1[m][n][l] = (calculateAverage(fft_inputbuf, FFT_LENGTH)) / pow(10, n + 2);// - BaseNioseGain[0]; + if (OutPut1[m][n][l] < 0) + OutPut1[m][n][l] = 0; + for (x = 0; x < FFT_LENGTH; x++) + { + fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 3] >> 16); // CH2 + } + OutPut2[m][n][l] = (calculateAverage(fft_inputbuf, FFT_LENGTH) ) / pow(10, n + 2);// - BaseNioseGain[1]; + if (OutPut2[m][n][l] < 0) + OutPut2[m][n][l] = 0; + for (x = 0; x < FFT_LENGTH; x++) + { + fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 4] >> 0); // CH3 + } + OutPut3[m][n][l] = (calculateAverage(fft_inputbuf, FFT_LENGTH) ) / pow(10, n + 2);// - BaseNioseGain[2]; + if (OutPut3[m][n][l] < 0) + OutPut3[m][n][l] = 0; + for (x = 0; x < FFT_LENGTH; x++) + { + fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 4] >> 16); // CH4 + } + OutPut4[m][n][l] = (calculateAverage(fft_inputbuf, FFT_LENGTH) ) / pow(10, n + 2);// - BaseNioseGain[3]; + if (OutPut4[m][n][l] < 0) + OutPut4[m][n][l] = 0; + } + } + } + for (l = 0; l < CLKCount; l++) + { + for (m = 0; m < 8; m++) + { + FindmaxDatabuf[0] = OutPut1[m][0][l]; + FindmaxDatabuf[1] = OutPut1[m][1][l]; + FindmaxDatabuf[2] = OutPut1[m][2][l]; +// FindmaxDatabuf[3] = OutPut1[m][3][l]; + OutPut1[m][0][l] = FindMaxValue(FindmaxDatabuf, 3); + FindmaxDatabuf[0] = OutPut2[m][0][l]; + FindmaxDatabuf[1] = OutPut2[m][1][l]; + FindmaxDatabuf[2] = OutPut2[m][2][l]; +// FindmaxDatabuf[3] = OutPut2[m][3][l]; + OutPut2[m][0][l] = FindMaxValue(FindmaxDatabuf, 3); + FindmaxDatabuf[0] = OutPut3[m][0][l]; + FindmaxDatabuf[1] = OutPut3[m][1][l]; + FindmaxDatabuf[2] = OutPut3[m][2][l]; +// FindmaxDatabuf[3] = OutPut3[m][3][l]; + OutPut3[m][0][l] = FindMaxValue(FindmaxDatabuf, 3); + FindmaxDatabuf[0] = OutPut4[m][0][l]; + FindmaxDatabuf[1] = OutPut4[m][1][l]; + FindmaxDatabuf[2] = OutPut4[m][2][l]; +// FindmaxDatabuf[3] = OutPut4[m][3][l]; + OutPut4[m][0][l] = FindMaxValue(FindmaxDatabuf, 3); + } + } + HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_1); + HAL_ADC_Stop_DMA(&hadc3); + + + HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_RESET); + osDelay(1500); + HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_SET); + if (!CommunicationData.MeasurementFlag) + { + CommunicationData.MeasurementPrecision = 0; + CommunicationData.MeasurementFlag = 0; + } + else + { + CommunicationData.MeasurementPrecision = 100; + CommunicationData.MeasurementFlag = 0; + } + } + if (CommunicationData.SingelStrengthMeasurementFlag) + { + LineCheck(); + CommunicationData.SingelStrengthMeasurementFlag = 0; + } + } +} +/* USER CODE END 4 */ + +/* USER CODE BEGIN Header_StartDefaultTask */ +/** + * @brief Function implementing the defaultTask thread. + * @param argument: Not used + * @retval None + */ +#include "usbd_cdc_if.h" +/* USER CODE END Header_StartDefaultTask */ +void StartDefaultTask(void *argument) +{ + /* init code for USB_DEVICE */ +// MX_USB_DEVICE_Init(); + /* USER CODE BEGIN 5 */ + /* Infinite loop */ + CommunicationData.Deep = 150; // 默认深度150 + CommunicationData.ChannelNum = 8; // 默认通道数8 + HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_RESET); + HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1); + SlopeSet(0); + Clk_Set(CLKHZ[0]); + HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1); + + osDelay(5000); // 10 + HAL_ADCEx_Calibration_Start(&hadc3, ADC_CALIB_OFFSET, ADC_SINGLE_ENDED); + HAL_ADCEx_Calibration_Start(&hadc3, ADC_CALIB_OFFSET_LINEARITY, ADC_SINGLE_ENDED); + HAL_ADC_Start_DMA(&hadc3, ADC3DataBuf, 1024 * 10); + HAL_UARTEx_ReceiveToIdle_DMA(&huart1, Uart_ReadCache, 128); // 开启DMA串口接收 + __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE); // 开启空闲中断 /* USER CODE END RTOS_EVENTS */ + __HAL_DMA_DISABLE_IT(&hdma_usart1_rx, DMA_IT_HT); // 禁止半传输完成中断 + CommandResponse_Semaphore = osSemaphoreNew(1, 0, NULL); // 创建命令响应信号量,初始值为0,最大值为1 + Command_Semaphore = osSemaphoreNew(1, 0, NULL); // 创建信号量,初始值为0,最大值为1 + // osThreadId_t communicationTaskHandle = + osThreadNew(CommunicationResponse, NULL, &CommunicationResponeTask_attributes); + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); + +// HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); +// osDelay(500); // 10 +// { +// ADC3Finish = 0; +// StartFlag = 1; +// do +// { +// osDelay(50); +// } while (!ADC3Finish); +// HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_1); +// int x = 0; + +// for (x = 0; x < FFT_LENGTH; x++) +// { +// fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 3] >> 0); // CH1 +// } +// BaseNiose[0] = calculateAverage(fft_inputbuf, FFT_LENGTH); +// for (x = 0; x < FFT_LENGTH; x++) +// { +// fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 3] >> 16); // CH2 +// } +// BaseNiose[1] = calculateAverage(fft_inputbuf, FFT_LENGTH); +// for (x = 0; x < FFT_LENGTH; x++) +// { +// fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 4] >> 0); // CH3 +// } +// BaseNiose[2] = calculateAverage(fft_inputbuf, FFT_LENGTH); +// for (x = 0; x < FFT_LENGTH; x++) +// { +// fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 4] >> 16); // CH4 +// } +// BaseNiose[3] = calculateAverage(fft_inputbuf, FFT_LENGTH); +// } + + + + +// +// SlopeSet(4); +// Clk_Set(CLKHZ[0]); +// osDelay(1000); // 10 + +// HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1); +// osDelay(500); // 10 +// { +// ADC3Finish = 0; +// StartFlag = 1; +// do +// { +// osDelay(50); +// } while (!ADC3Finish); +// HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_1); +// int x = 0; + +// for (x = 0; x < FFT_LENGTH; x++) +// { +// fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 3] >> 0); // CH1 +// } +// BaseNioseGain[0] = (calculateAverage(fft_inputbuf, FFT_LENGTH) - BaseNiose[0]) / 10000.0f; +// for (x = 0; x < FFT_LENGTH; x++) +// { +// fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 3] >> 16); // CH2 +// } +// BaseNioseGain[1] = (calculateAverage(fft_inputbuf, FFT_LENGTH) - BaseNiose[1]) / 10000.0f; +// for (x = 0; x < FFT_LENGTH; x++) +// { +// fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 4] >> 0); // CH3 +// } +// BaseNioseGain[2] = (calculateAverage(fft_inputbuf, FFT_LENGTH) - BaseNiose[2]) / 10000.0f; +// for (x = 0; x < FFT_LENGTH; x++) +// { +// fft_inputbuf[x] = (uint16_t)(ADC3DataBufTrans[x * 5 + 4] >> 16); // CH4 +// } +// BaseNioseGain[3] = (calculateAverage(fft_inputbuf, FFT_LENGTH) - BaseNiose[3]) / 10000.0f; +// } + + HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_RESET); + osDelay(500); + HAL_GPIO_WritePin(GPIOI, GPIO_PIN_7, GPIO_PIN_SET); + + + +// char buf[80]; + +// HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET); +// sprintf(buf, "%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,%.4f,\r\n", BaseNiose[0],BaseNiose[1],BaseNiose[2],BaseNiose[3],BaseNioseGain[0],BaseNioseGain[1],BaseNioseGain[2],BaseNioseGain[3]); +// HAL_UART_Transmit(&huart1, (uint8_t *)buf, strlen(buf), HAL_MAX_DELAY); +// while (HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX); +// HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET); + while (1) + { + + Command_Deal(); + osSemaphoreRelease(CommandResponse_Semaphore); + osDelay(300); // + } + + // LOWPower(); + + /* USER CODE END 5 */ +} + +/** + * @brief Period elapsed callback in non blocking mode + * @note This function is called when TIM7 interrupt took place, inside + * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment + * a global variable "uwTick" used as application time base. + * @param htim : TIM handle + * @retval None + */ +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + /* USER CODE BEGIN Callback 0 */ + + /* USER CODE END Callback 0 */ + if (htim->Instance == TIM7) + { + HAL_IncTick(); + } + /* USER CODE BEGIN Callback 1 */ + + /* USER CODE END Callback 1 */ +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + __disable_irq(); + while (1) + { + } + /* USER CODE END Error_Handler_Debug */ +} +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ diff --git a/Src/stm32h7xx_hal_msp.c b/Src/stm32h7xx_hal_msp.c new file mode 100644 index 0000000..e700cc1 --- /dev/null +++ b/Src/stm32h7xx_hal_msp.c @@ -0,0 +1,454 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32h7xx_hal_msp.c + * @brief This file provides code for the MSP Initialization + * and de-Initialization codes. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ +extern DMA_HandleTypeDef hdma_adc3; + +extern DMA_HandleTypeDef hdma_usart1_rx; + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN TD */ + +/* USER CODE END TD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN Define */ + +/* USER CODE END Define */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN Macro */ + +/* USER CODE END Macro */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* External functions --------------------------------------------------------*/ +/* USER CODE BEGIN ExternalFunctions */ + +/* USER CODE END ExternalFunctions */ + +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); + /** + * Initializes the Global MSP. + */ +void HAL_MspInit(void) +{ + + /* USER CODE BEGIN MspInit 0 */ + + /* USER CODE END MspInit 0 */ + + __HAL_RCC_SYSCFG_CLK_ENABLE(); + + /* System interrupt init*/ + /* PendSV_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(PendSV_IRQn, 15, 0); + + /* USER CODE BEGIN MspInit 1 */ + + /* USER CODE END MspInit 1 */ +} + +/** + * @brief ADC MSP Initialization + * This function configures the hardware resources used in this example + * @param hadc: ADC handle pointer + * @retval None + */ +void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + HAL_DMA_MuxSyncConfigTypeDef pSyncConfig; + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; + if(hadc->Instance==ADC3) + { + /* USER CODE BEGIN ADC3_MspInit 0 */ + + /* USER CODE END ADC3_MspInit 0 */ + + /** Initializes the peripherals clock + */ + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC; + PeriphClkInitStruct.PLL2.PLL2M = 5; + PeriphClkInitStruct.PLL2.PLL2N = 144; + PeriphClkInitStruct.PLL2.PLL2P = 10; + PeriphClkInitStruct.PLL2.PLL2Q = 2; + PeriphClkInitStruct.PLL2.PLL2R = 2; + PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_2; + PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE; + PeriphClkInitStruct.PLL2.PLL2FRACN = 0; + PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /* Peripheral clock enable */ + __HAL_RCC_ADC3_CLK_ENABLE(); + + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOH_CLK_ENABLE(); + /**ADC3 GPIO Configuration + PF3 ------> ADC3_INP5 + PC0 ------> ADC3_INP10 + PC1 ------> ADC3_INP11 + PC2_C ------> ADC3_INP0 + PC3_C ------> ADC3_INP1 + PH2 ------> ADC3_INP13 + PH3 ------> ADC3_INP14 + PH4 ------> ADC3_INP15 + PH5 ------> ADC3_INP16 + */ + GPIO_InitStruct.Pin = GPIO_PIN_3; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); + + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); + + HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC2, SYSCFG_SWITCH_PC2_OPEN); + + HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC3, SYSCFG_SWITCH_PC3_OPEN); + + /* ADC3 DMA Init */ + /* ADC3 Init */ + hdma_adc3.Instance = BDMA_Channel0; + hdma_adc3.Init.Request = BDMA_REQUEST_ADC3; + hdma_adc3.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_adc3.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_adc3.Init.MemInc = DMA_MINC_ENABLE; + hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; + hdma_adc3.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; + hdma_adc3.Init.Mode = DMA_CIRCULAR; + hdma_adc3.Init.Priority = DMA_PRIORITY_LOW; + if (HAL_DMA_Init(&hdma_adc3) != HAL_OK) + { + Error_Handler(); + } + + pSyncConfig.SyncSignalID = HAL_DMAMUX2_SYNC_EXTI0; + pSyncConfig.SyncPolarity = HAL_DMAMUX_SYNC_NO_EVENT; + pSyncConfig.SyncEnable = DISABLE; + pSyncConfig.EventEnable = ENABLE; + pSyncConfig.RequestNumber = 1; + if (HAL_DMAEx_ConfigMuxSync(&hdma_adc3, &pSyncConfig) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(hadc,DMA_Handle,hdma_adc3); + + /* USER CODE BEGIN ADC3_MspInit 1 */ + + /* USER CODE END ADC3_MspInit 1 */ + + } + +} + +/** + * @brief ADC MSP De-Initialization + * This function freeze the hardware resources used in this example + * @param hadc: ADC handle pointer + * @retval None + */ +void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) +{ + if(hadc->Instance==ADC3) + { + /* USER CODE BEGIN ADC3_MspDeInit 0 */ + + /* USER CODE END ADC3_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_ADC3_CLK_DISABLE(); + + /**ADC3 GPIO Configuration + PF3 ------> ADC3_INP5 + PC0 ------> ADC3_INP10 + PC1 ------> ADC3_INP11 + PC2_C ------> ADC3_INP0 + PC3_C ------> ADC3_INP1 + PH2 ------> ADC3_INP13 + PH3 ------> ADC3_INP14 + PH4 ------> ADC3_INP15 + PH5 ------> ADC3_INP16 + */ + HAL_GPIO_DeInit(GPIOF, GPIO_PIN_3); + + HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0|GPIO_PIN_1); + + HAL_GPIO_DeInit(GPIOH, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5); + + /* ADC3 DMA DeInit */ + HAL_DMA_DeInit(hadc->DMA_Handle); + /* USER CODE BEGIN ADC3_MspDeInit 1 */ + + /* USER CODE END ADC3_MspDeInit 1 */ + } + +} + +/** + * @brief TIM_Base MSP Initialization + * This function configures the hardware resources used in this example + * @param htim_base: TIM_Base handle pointer + * @retval None + */ +void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) +{ + if(htim_base->Instance==TIM1) + { + /* USER CODE BEGIN TIM1_MspInit 0 */ + + /* USER CODE END TIM1_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_TIM1_CLK_ENABLE(); + /* USER CODE BEGIN TIM1_MspInit 1 */ + + /* USER CODE END TIM1_MspInit 1 */ + } + else if(htim_base->Instance==TIM2) + { + /* USER CODE BEGIN TIM2_MspInit 0 */ + + /* USER CODE END TIM2_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_TIM2_CLK_ENABLE(); + /* USER CODE BEGIN TIM2_MspInit 1 */ + + /* USER CODE END TIM2_MspInit 1 */ + } + else if(htim_base->Instance==TIM4) + { + /* USER CODE BEGIN TIM4_MspInit 0 */ + + /* USER CODE END TIM4_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_TIM4_CLK_ENABLE(); + /* USER CODE BEGIN TIM4_MspInit 1 */ + + /* USER CODE END TIM4_MspInit 1 */ + } + +} + +void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + if(htim->Instance==TIM2) + { + /* USER CODE BEGIN TIM2_MspPostInit 0 */ + + /* USER CODE END TIM2_MspPostInit 0 */ + + __HAL_RCC_GPIOA_CLK_ENABLE(); + /**TIM2 GPIO Configuration + PA15 (JTDI) ------> TIM2_CH1 + */ + GPIO_InitStruct.Pin = GPIO_PIN_15; + GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF1_TIM2; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* USER CODE BEGIN TIM2_MspPostInit 1 */ + + /* USER CODE END TIM2_MspPostInit 1 */ + } + +} +/** + * @brief TIM_Base MSP De-Initialization + * This function freeze the hardware resources used in this example + * @param htim_base: TIM_Base handle pointer + * @retval None + */ +void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base) +{ + if(htim_base->Instance==TIM1) + { + /* USER CODE BEGIN TIM1_MspDeInit 0 */ + + /* USER CODE END TIM1_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM1_CLK_DISABLE(); + /* USER CODE BEGIN TIM1_MspDeInit 1 */ + + /* USER CODE END TIM1_MspDeInit 1 */ + } + else if(htim_base->Instance==TIM2) + { + /* USER CODE BEGIN TIM2_MspDeInit 0 */ + + /* USER CODE END TIM2_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM2_CLK_DISABLE(); + /* USER CODE BEGIN TIM2_MspDeInit 1 */ + + /* USER CODE END TIM2_MspDeInit 1 */ + } + else if(htim_base->Instance==TIM4) + { + /* USER CODE BEGIN TIM4_MspDeInit 0 */ + + /* USER CODE END TIM4_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM4_CLK_DISABLE(); + /* USER CODE BEGIN TIM4_MspDeInit 1 */ + + /* USER CODE END TIM4_MspDeInit 1 */ + } + +} + +/** + * @brief UART MSP Initialization + * This function configures the hardware resources used in this example + * @param huart: UART handle pointer + * @retval None + */ +void HAL_UART_MspInit(UART_HandleTypeDef* huart) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; + if(huart->Instance==USART1) + { + /* USER CODE BEGIN USART1_MspInit 0 */ + + /* USER CODE END USART1_MspInit 0 */ + + /** Initializes the peripherals clock + */ + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1; + PeriphClkInitStruct.Usart16ClockSelection = RCC_USART16CLKSOURCE_D2PCLK2; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /* Peripheral clock enable */ + __HAL_RCC_USART1_CLK_ENABLE(); + + __HAL_RCC_GPIOA_CLK_ENABLE(); + /**USART1 GPIO Configuration + PA9 ------> USART1_TX + PA10 ------> USART1_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF7_USART1; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* USART1 DMA Init */ + /* USART1_RX Init */ + hdma_usart1_rx.Instance = DMA1_Stream5; + hdma_usart1_rx.Init.Request = DMA_REQUEST_USART1_RX; + hdma_usart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_usart1_rx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart1_rx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart1_rx.Init.Mode = DMA_NORMAL; + hdma_usart1_rx.Init.Priority = DMA_PRIORITY_LOW; + hdma_usart1_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; + if (HAL_DMA_Init(&hdma_usart1_rx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(huart,hdmarx,hdma_usart1_rx); + + /* USART1 interrupt Init */ + HAL_NVIC_SetPriority(USART1_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(USART1_IRQn); + /* USER CODE BEGIN USART1_MspInit 1 */ + + /* USER CODE END USART1_MspInit 1 */ + + } + +} + +/** + * @brief UART MSP De-Initialization + * This function freeze the hardware resources used in this example + * @param huart: UART handle pointer + * @retval None + */ +void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) +{ + if(huart->Instance==USART1) + { + /* USER CODE BEGIN USART1_MspDeInit 0 */ + + /* USER CODE END USART1_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_USART1_CLK_DISABLE(); + + /**USART1 GPIO Configuration + PA9 ------> USART1_TX + PA10 ------> USART1_RX + */ + HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); + + /* USART1 DMA DeInit */ + HAL_DMA_DeInit(huart->hdmarx); + + /* USART1 interrupt DeInit */ + HAL_NVIC_DisableIRQ(USART1_IRQn); + /* USER CODE BEGIN USART1_MspDeInit 1 */ + + /* USER CODE END USART1_MspDeInit 1 */ + } + +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ diff --git a/Src/stm32h7xx_hal_timebase_tim.c b/Src/stm32h7xx_hal_timebase_tim.c new file mode 100644 index 0000000..6d550ba --- /dev/null +++ b/Src/stm32h7xx_hal_timebase_tim.c @@ -0,0 +1,130 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32h7xx_hal_timebase_TIM.c + * @brief HAL time base based on the hardware TIM. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx_hal.h" +#include "stm32h7xx_hal_tim.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +TIM_HandleTypeDef htim7; +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/** + * @brief This function configures the TIM7 as a time base source. + * The time source is configured to have 1ms time base with a dedicated + * Tick interrupt priority. + * @note This function is called automatically at the beginning of program after + * reset by HAL_Init() or at any time when clock is configured, by HAL_RCC_ClockConfig(). + * @param TickPriority: Tick interrupt priority. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) +{ + RCC_ClkInitTypeDef clkconfig; + uint32_t uwTimclock, uwAPB1Prescaler; + uint32_t uwPrescalerValue; + uint32_t pFLatency; + + /*Configure the TIM7 IRQ priority */ + if (TickPriority < (1UL << __NVIC_PRIO_BITS)) + { + HAL_NVIC_SetPriority(TIM7_IRQn, TickPriority ,0); + + /* Enable the TIM7 global Interrupt */ + HAL_NVIC_EnableIRQ(TIM7_IRQn); + uwTickPrio = TickPriority; + } + else + { + return HAL_ERROR; + } + + /* Enable TIM7 clock */ + __HAL_RCC_TIM7_CLK_ENABLE(); + + /* Get clock configuration */ + HAL_RCC_GetClockConfig(&clkconfig, &pFLatency); + + /* Get APB1 prescaler */ + uwAPB1Prescaler = clkconfig.APB1CLKDivider; + /* Compute TIM7 clock */ + if (uwAPB1Prescaler == RCC_HCLK_DIV1) + { + uwTimclock = HAL_RCC_GetPCLK1Freq(); + } + else + { + uwTimclock = 2UL * HAL_RCC_GetPCLK1Freq(); + } + + /* Compute the prescaler value to have TIM7 counter clock equal to 1MHz */ + uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000U) - 1U); + + /* Initialize TIM7 */ + htim7.Instance = TIM7; + + /* Initialize TIMx peripheral as follow: + * Period = [(TIM7CLK/1000) - 1]. to have a (1/1000) s time base. + * Prescaler = (uwTimclock/1000000 - 1) to have a 1MHz counter clock. + * ClockDivision = 0 + * Counter direction = Up + */ + htim7.Init.Period = (1000000U / 1000U) - 1U; + htim7.Init.Prescaler = uwPrescalerValue; + htim7.Init.ClockDivision = 0; + htim7.Init.CounterMode = TIM_COUNTERMODE_UP; + + if(HAL_TIM_Base_Init(&htim7) == HAL_OK) + { + /* Start the TIM time Base generation in interrupt mode */ + return HAL_TIM_Base_Start_IT(&htim7); + } + + /* Return function status */ + return HAL_ERROR; +} + +/** + * @brief Suspend Tick increment. + * @note Disable the tick increment by disabling TIM7 update interrupt. + * @param None + * @retval None + */ +void HAL_SuspendTick(void) +{ + /* Disable TIM7 update Interrupt */ + __HAL_TIM_DISABLE_IT(&htim7, TIM_IT_UPDATE); +} + +/** + * @brief Resume Tick increment. + * @note Enable the tick increment by Enabling TIM7 update interrupt. + * @param None + * @retval None + */ +void HAL_ResumeTick(void) +{ + /* Enable TIM7 Update interrupt */ + __HAL_TIM_ENABLE_IT(&htim7, TIM_IT_UPDATE); +} + diff --git a/Src/stm32h7xx_it.c b/Src/stm32h7xx_it.c new file mode 100644 index 0000000..81baaef --- /dev/null +++ b/Src/stm32h7xx_it.c @@ -0,0 +1,261 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32h7xx_it.c + * @brief Interrupt Service Routines. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "stm32h7xx_it.h" +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN TD */ + +/* USER CODE END TD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +/* External variables --------------------------------------------------------*/ +extern PCD_HandleTypeDef hpcd_USB_OTG_FS; +extern DMA_HandleTypeDef hdma_adc3; +extern DMA_HandleTypeDef hdma_usart1_rx; +extern UART_HandleTypeDef huart1; +extern TIM_HandleTypeDef htim7; + +/* USER CODE BEGIN EV */ +extern uint32_t ADC1DataBuf[1024*14/2]; +extern uint32_t ADC2DataBuf[1024*2/2]; +extern uint32_t ADC3DataBuf[1024*16/2]; +extern uint32_t ADC1DataBufTrans[4096*14/2]; +extern uint32_t ADC2DataBufTrans[4096*2/2]; +extern uint32_t ADC3DataBufTrans[4096*16/2]; +extern DMA_HandleTypeDef hdma_memtomem_dma2_stream0; +extern uint8_t Uart_ReadCache[128]; + +/* USER CODE END EV */ + +/******************************************************************************/ +/* Cortex Processor Interruption and Exception Handlers */ +/******************************************************************************/ +/** + * @brief This function handles Non maskable interrupt. + */ +void NMI_Handler(void) +{ + /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ + + /* USER CODE END NonMaskableInt_IRQn 0 */ + /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ + while (1) + { + } + /* USER CODE END NonMaskableInt_IRQn 1 */ +} + +/** + * @brief This function handles Hard fault interrupt. + */ +void HardFault_Handler(void) +{ + /* USER CODE BEGIN HardFault_IRQn 0 */ + + /* USER CODE END HardFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_HardFault_IRQn 0 */ + /* USER CODE END W1_HardFault_IRQn 0 */ + } +} + +/** + * @brief This function handles Memory management fault. + */ +void MemManage_Handler(void) +{ + /* USER CODE BEGIN MemoryManagement_IRQn 0 */ + + /* USER CODE END MemoryManagement_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */ + /* USER CODE END W1_MemoryManagement_IRQn 0 */ + } +} + +/** + * @brief This function handles Pre-fetch fault, memory access fault. + */ +void BusFault_Handler(void) +{ + /* USER CODE BEGIN BusFault_IRQn 0 */ + + /* USER CODE END BusFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_BusFault_IRQn 0 */ + /* USER CODE END W1_BusFault_IRQn 0 */ + } +} + +/** + * @brief This function handles Undefined instruction or illegal state. + */ +void UsageFault_Handler(void) +{ + /* USER CODE BEGIN UsageFault_IRQn 0 */ + + /* USER CODE END UsageFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_UsageFault_IRQn 0 */ + /* USER CODE END W1_UsageFault_IRQn 0 */ + } +} + +/** + * @brief This function handles Debug monitor. + */ +void DebugMon_Handler(void) +{ + /* USER CODE BEGIN DebugMonitor_IRQn 0 */ + + /* USER CODE END DebugMonitor_IRQn 0 */ + /* USER CODE BEGIN DebugMonitor_IRQn 1 */ + + /* USER CODE END DebugMonitor_IRQn 1 */ +} + +/******************************************************************************/ +/* STM32H7xx Peripheral Interrupt Handlers */ +/* Add here the Interrupt Handlers for the used peripherals. */ +/* For the available peripheral interrupt handler names, */ +/* please refer to the startup file (startup_stm32h7xx.s). */ +/******************************************************************************/ + +/** + * @brief This function handles DMA1 stream5 global interrupt. + */ +void DMA1_Stream5_IRQHandler(void) +{ + /* USER CODE BEGIN DMA1_Stream5_IRQn 0 */ + + /* USER CODE END DMA1_Stream5_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart1_rx); + /* USER CODE BEGIN DMA1_Stream5_IRQn 1 */ + + /* USER CODE END DMA1_Stream5_IRQn 1 */ +} + +/** + * @brief This function handles USART1 global interrupt. + */ +void USART1_IRQHandler(void) +{ + /* USER CODE BEGIN USART1_IRQn 0 */ + /* USER CODE END USART1_IRQn 0 */ + HAL_UART_IRQHandler(&huart1); + /* USER CODE BEGIN USART1_IRQn 1 */ +// HAL_UART_DMAStop(&huart1); // ֹͣDMA + HAL_UARTEx_ReceiveToIdle_DMA(&huart1, Uart_ReadCache, 128); // DMA + /* USER CODE END USART1_IRQn 1 */ +} + +/** + * @brief This function handles TIM7 global interrupt. + */ +void TIM7_IRQHandler(void) +{ + /* USER CODE BEGIN TIM7_IRQn 0 */ + + /* USER CODE END TIM7_IRQn 0 */ + HAL_TIM_IRQHandler(&htim7); + /* USER CODE BEGIN TIM7_IRQn 1 */ + + /* USER CODE END TIM7_IRQn 1 */ +} + +/** + * @brief This function handles USB On The Go FS global interrupt. + */ +void OTG_FS_IRQHandler(void) +{ + /* USER CODE BEGIN OTG_FS_IRQn 0 */ + + /* USER CODE END OTG_FS_IRQn 0 */ + HAL_PCD_IRQHandler(&hpcd_USB_OTG_FS); + /* USER CODE BEGIN OTG_FS_IRQn 1 */ + + /* USER CODE END OTG_FS_IRQn 1 */ +} + +/** + * @brief This function handles DMAMUX2 overrun interrupt. + */ +void DMAMUX2_OVR_IRQHandler(void) +{ + /* USER CODE BEGIN DMAMUX2_OVR_IRQn 0 */ + + /* USER CODE END DMAMUX2_OVR_IRQn 0 */ + // Handle BDMA_Channel0 + HAL_DMAEx_MUX_IRQHandler(&hdma_adc3); + /* USER CODE BEGIN DMAMUX2_OVR_IRQn 1 */ + + /* USER CODE END DMAMUX2_OVR_IRQn 1 */ +} + +/** + * @brief This function handles BDMA channel0 global interrupt. + */ +void BDMA_Channel0_IRQHandler(void) +{ + /* USER CODE BEGIN BDMA_Channel0_IRQn 0 */ + + /* USER CODE END BDMA_Channel0_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_adc3); + /* USER CODE BEGIN BDMA_Channel0_IRQn 1 */ + + /* USER CODE END BDMA_Channel0_IRQn 1 */ +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ diff --git a/Src/syscalls.c b/Src/syscalls.c new file mode 100644 index 0000000..e10d76f --- /dev/null +++ b/Src/syscalls.c @@ -0,0 +1,244 @@ +/** + ****************************************************************************** + * @file syscalls.c + * @author Auto-generated by STM32CubeMX + * @brief Minimal System calls file + * + * For more information about which c-functions + * need which of these lowlevel functions + * please consult the Newlib or Picolibc libc-manual + ****************************************************************************** + * @attention + * + * Copyright (c) 2020-2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + +/* Includes */ +#include +#include +#include +#include +#include +#include +#include +#include + + +/* Variables */ +extern int __io_putchar(int ch) __attribute__((weak)); +extern int __io_getchar(void) __attribute__((weak)); + + +char *__env[1] = { 0 }; +char **environ = __env; + + +/* Functions */ +void initialise_monitor_handles() +{ +} + +int _getpid(void) +{ + return 1; +} + +int _kill(int pid, int sig) +{ + (void)pid; + (void)sig; + errno = EINVAL; + return -1; +} + +void _exit (int status) +{ + _kill(status, -1); + while (1) {} /* Make sure we hang here */ +} + +__attribute__((weak)) int _read(int file, char *ptr, int len) +{ + (void)file; + int DataIdx; + + for (DataIdx = 0; DataIdx < len; DataIdx++) + { + *ptr++ = __io_getchar(); + } + + return len; +} + +__attribute__((weak)) int _write(int file, char *ptr, int len) +{ + (void)file; + int DataIdx; + + for (DataIdx = 0; DataIdx < len; DataIdx++) + { + __io_putchar(*ptr++); + } + return len; +} + +int _close(int file) +{ + (void)file; + return -1; +} + + +int _fstat(int file, struct stat *st) +{ + (void)file; + st->st_mode = S_IFCHR; + return 0; +} + +int _isatty(int file) +{ + (void)file; + return 1; +} + +int _lseek(int file, int ptr, int dir) +{ + (void)file; + (void)ptr; + (void)dir; + return 0; +} + +int _open(char *path, int flags, ...) +{ + (void)path; + (void)flags; + /* Pretend like we always fail */ + return -1; +} + +int _wait(int *status) +{ + (void)status; + errno = ECHILD; + return -1; +} + +int _unlink(char *name) +{ + (void)name; + errno = ENOENT; + return -1; +} + +clock_t _times(struct tms *buf) +{ + (void)buf; + return -1; +} + +int _stat(const char *file, struct stat *st) +{ + (void)file; + st->st_mode = S_IFCHR; + return 0; +} + +int _link(char *old, char *new) +{ + (void)old; + (void)new; + errno = EMLINK; + return -1; +} + +int _fork(void) +{ + errno = EAGAIN; + return -1; +} + +int _execve(char *name, char **argv, char **env) +{ + (void)name; + (void)argv; + (void)env; + errno = ENOMEM; + return -1; +} + +// --- Picolibc Specific Section --- +#if defined(__PICOLIBC__) + +/** + * @brief Picolibc helper function to output a character to a FILE stream. + * This redirects the output to the low-level __io_putchar function. + * @param c Character to write. + * @param file FILE stream pointer (ignored). + * @retval int The character written. + */ +static int starm_putc(char c, FILE *file) +{ + (void) file; + __io_putchar(c); + return c; +} + +/** + * @brief Picolibc helper function to input a character from a FILE stream. + * This redirects the input from the low-level __io_getchar function. + * @param file FILE stream pointer (ignored). + * @retval int The character read, cast to an unsigned char then int. + */ +static int starm_getc(FILE *file) +{ + unsigned char c; + (void) file; + c = __io_getchar(); + return c; +} + +// Define and initialize the standard I/O streams for Picolibc. +// FDEV_SETUP_STREAM connects the starm_putc and starm_getc helper functions to a FILE structure. +// _FDEV_SETUP_RW indicates the stream is for reading and writing. +static FILE __stdio = FDEV_SETUP_STREAM(starm_putc, + starm_getc, + NULL, + _FDEV_SETUP_RW); + +// Assign the standard stream pointers (stdin, stdout, stderr) to the initialized stream. +// Picolibc uses these pointers for standard I/O operations (printf, scanf, etc.). +FILE *const stdin = &__stdio; +__strong_reference(stdin, stdout); +__strong_reference(stdin, stderr); + +// Create strong aliases mapping standard C library function names (without underscore) +// to the implemented system call stubs (with underscore). Picolibc uses these +// standard names internally, so this linking is required. +__strong_reference(_read, read); +__strong_reference(_write, write); +__strong_reference(_times, times); +__strong_reference(_execve, execve); +__strong_reference(_fork, fork); +__strong_reference(_link, link); +__strong_reference(_unlink, unlink); +__strong_reference(_stat, stat); +__strong_reference(_wait, wait); +__strong_reference(_open, open); +__strong_reference(_close, close); +__strong_reference(_lseek, lseek); +__strong_reference(_isatty, isatty); +__strong_reference(_fstat, fstat); +__strong_reference(_exit, exit); +__strong_reference(_kill, kill); +__strong_reference(_getpid, getpid); + +#endif //__PICOLIBC__ diff --git a/Src/sysmem.c b/Src/sysmem.c new file mode 100644 index 0000000..a875d42 --- /dev/null +++ b/Src/sysmem.c @@ -0,0 +1,87 @@ +/** + ****************************************************************************** + * @file sysmem.c + * @author Generated by STM32CubeMX + * @brief System Memory calls file + * + * For more information about which C functions + * need which of these lowlevel functions + * please consult the Newlib or Picolibc libc manual + ****************************************************************************** + * @attention + * + * Copyright (c) 2025 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + +/* Includes */ +#include +#include +#include + +/** + * Pointer to the current high watermark of the heap usage + */ +static uint8_t *__sbrk_heap_end = NULL; + +/** + * @brief _sbrk() allocates memory to the newlib heap and is used by malloc + * and others from the C library + * + * @verbatim + * ############################################################################ + * # .data # .bss # newlib heap # MSP stack # + * # # # # Reserved by _Min_Stack_Size # + * ############################################################################ + * ^-- RAM start ^-- _end _estack, RAM end --^ + * @endverbatim + * + * This implementation starts allocating at the '_end' linker symbol + * The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack + * The implementation considers '_estack' linker symbol to be RAM end + * NOTE: If the MSP stack, at any point during execution, grows larger than the + * reserved size, please increase the '_Min_Stack_Size'. + * + * @param incr Memory size + * @return Pointer to allocated memory + */ +void *_sbrk(ptrdiff_t incr) +{ + extern uint8_t _end; /* Symbol defined in the linker script */ + extern uint8_t _estack; /* Symbol defined in the linker script */ + extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */ + const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size; + const uint8_t *max_heap = (uint8_t *)stack_limit; + uint8_t *prev_heap_end; + + /* Initialize heap end at first call */ + if (NULL == __sbrk_heap_end) + { + __sbrk_heap_end = &_end; + } + + /* Protect heap from growing into the reserved MSP stack */ + if (__sbrk_heap_end + incr > max_heap) + { + errno = ENOMEM; + return (void *)-1; + } + + prev_heap_end = __sbrk_heap_end; + __sbrk_heap_end += incr; + + return (void *)prev_heap_end; +} + +#if defined(__PICOLIBC__) + // Picolibc expects syscalls without the leading underscore. + // This creates a strong alias so that + // calls to `sbrk()` are resolved to our `_sbrk()` implementation. + __strong_reference(_sbrk, sbrk); +#endif diff --git a/Src/system_stm32h7xx.c b/Src/system_stm32h7xx.c new file mode 100644 index 0000000..f024f51 --- /dev/null +++ b/Src/system_stm32h7xx.c @@ -0,0 +1,450 @@ +/** + ****************************************************************************** + * @file system_stm32h7xx.c + * @author MCD Application Team + * @brief CMSIS Cortex-Mx Device Peripheral Access Layer System Source File. + * + * This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32h7xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock, it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * + ****************************************************************************** + * @attention + * + * Copyright (c) 2017 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32h7xx_system + * @{ + */ + +/** @addtogroup STM32H7xx_System_Private_Includes + * @{ + */ + +#include "stm32h7xx.h" +#include + +#if !defined (HSE_VALUE) +#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (CSI_VALUE) +#define CSI_VALUE ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* CSI_VALUE */ + +#if !defined (HSI_VALUE) +#define HSI_VALUE ((uint32_t)64000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_Defines + * @{ + */ + +/************************* Miscellaneous Configuration ************************/ +/*!< Uncomment the following line if you need to use initialized data in D2 domain SRAM (AHB SRAM) */ +/* #define DATA_IN_D2_SRAM */ + +/* Note: Following vector table addresses must be defined in line with linker + configuration. */ +/*!< Uncomment the following line if you need to relocate the vector table + anywhere in FLASH BANK1 or AXI SRAM, else the vector table is kept at the automatic + remap of boot address selected */ +/* #define USER_VECT_TAB_ADDRESS */ + +#if defined(USER_VECT_TAB_ADDRESS) +#if defined(DUAL_CORE) && defined(CORE_CM4) +/*!< Uncomment the following line if you need to relocate your vector Table + in D2 AXI SRAM else user remap will be done in FLASH BANK2. */ +/* #define VECT_TAB_SRAM */ +#if defined(VECT_TAB_SRAM) +#define VECT_TAB_BASE_ADDRESS D2_AXISRAM_BASE /*!< Vector Table base address field. + This value must be a multiple of 0x300. */ +#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. + This value must be a multiple of 0x300. */ +#else +#define VECT_TAB_BASE_ADDRESS FLASH_BANK2_BASE /*!< Vector Table base address field. + This value must be a multiple of 0x300. */ +#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. + This value must be a multiple of 0x300. */ +#endif /* VECT_TAB_SRAM */ +#else +/*!< Uncomment the following line if you need to relocate your vector Table + in D1 AXI SRAM else user remap will be done in FLASH BANK1. */ +/* #define VECT_TAB_SRAM */ +#if defined(VECT_TAB_SRAM) +#define VECT_TAB_BASE_ADDRESS D1_AXISRAM_BASE /*!< Vector Table base address field. + This value must be a multiple of 0x300. */ +#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. + This value must be a multiple of 0x300. */ +#else +#define VECT_TAB_BASE_ADDRESS FLASH_BANK1_BASE /*!< Vector Table base address field. + This value must be a multiple of 0x300. */ +#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. + This value must be a multiple of 0x300. */ +#endif /* VECT_TAB_SRAM */ +#endif /* DUAL_CORE && CORE_CM4 */ +#endif /* USER_VECT_TAB_ADDRESS */ +/******************************************************************************/ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_Variables + * @{ + */ +/* This variable is updated in three ways: + 1) by calling CMSIS function SystemCoreClockUpdate() + 2) by calling HAL API function HAL_RCC_GetHCLKFreq() + 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency + Note: If you use this function to configure the system clock; then there + is no need to call the 2 first functions listed above, since SystemCoreClock + variable is updated automatically. +*/ +uint32_t SystemCoreClock = 480000000; +uint32_t SystemD2Clock = 64000000; +const uint8_t D1CorePrescTable[16] = {0, 0, 0, 0, 1, 2, 3, 4, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_FunctionPrototypes + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32H7xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the FPU setting and vector table location + * configuration. + * @param None + * @retval None + */ +void SystemInit (void) +{ +#if defined (DATA_IN_D2_SRAM) + __IO uint32_t tmpreg; +#endif /* DATA_IN_D2_SRAM */ + + /* FPU settings ------------------------------------------------------------*/ +#if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << (10*2))|(3UL << (11*2))); /* set CP10 and CP11 Full Access */ +#endif + /* Reset the RCC clock configuration to the default reset state ------------*/ + + /* Increasing the CPU frequency */ + if(FLASH_LATENCY_DEFAULT > (READ_BIT((FLASH->ACR), FLASH_ACR_LATENCY))) + { + /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ + MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, (uint32_t)(FLASH_LATENCY_DEFAULT)); + } + + /* Set HSION bit */ + RCC->CR |= RCC_CR_HSION; + + /* Reset CFGR register */ + RCC->CFGR = 0x00000000; + + /* Reset HSEON, HSECSSON, CSION, HSI48ON, CSIKERON, PLL1ON, PLL2ON and PLL3ON bits */ + RCC->CR &= 0xEAF6ED7FU; + + /* Decreasing the number of wait states because of lower CPU frequency */ + if(FLASH_LATENCY_DEFAULT < (READ_BIT((FLASH->ACR), FLASH_ACR_LATENCY))) + { + /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ + MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, (uint32_t)(FLASH_LATENCY_DEFAULT)); + } + +#if defined(D3_SRAM_BASE) + /* Reset D1CFGR register */ + RCC->D1CFGR = 0x00000000; + + /* Reset D2CFGR register */ + RCC->D2CFGR = 0x00000000; + + /* Reset D3CFGR register */ + RCC->D3CFGR = 0x00000000; +#else + /* Reset CDCFGR1 register */ + RCC->CDCFGR1 = 0x00000000; + + /* Reset CDCFGR2 register */ + RCC->CDCFGR2 = 0x00000000; + + /* Reset SRDCFGR register */ + RCC->SRDCFGR = 0x00000000; +#endif + /* Reset PLLCKSELR register */ + RCC->PLLCKSELR = 0x02020200; + + /* Reset PLLCFGR register */ + RCC->PLLCFGR = 0x01FF0000; + /* Reset PLL1DIVR register */ + RCC->PLL1DIVR = 0x01010280; + /* Reset PLL1FRACR register */ + RCC->PLL1FRACR = 0x00000000; + + /* Reset PLL2DIVR register */ + RCC->PLL2DIVR = 0x01010280; + + /* Reset PLL2FRACR register */ + + RCC->PLL2FRACR = 0x00000000; + /* Reset PLL3DIVR register */ + RCC->PLL3DIVR = 0x01010280; + + /* Reset PLL3FRACR register */ + RCC->PLL3FRACR = 0x00000000; + + /* Reset HSEBYP bit */ + RCC->CR &= 0xFFFBFFFFU; + + /* Disable all interrupts */ + RCC->CIER = 0x00000000; + +#if (STM32H7_DEV_ID == 0x450UL) + /* dual core CM7 or single core line */ + if((DBGMCU->IDCODE & 0xFFFF0000U) < 0x20000000U) + { + /* if stm32h7 revY*/ + /* Change the switch matrix read issuing capability to 1 for the AXI SRAM target (Target 7) */ + *((__IO uint32_t*)0x51008108) = 0x000000001U; + } +#endif /* STM32H7_DEV_ID */ + +#if defined(DATA_IN_D2_SRAM) + /* in case of initialized data in D2 SRAM (AHB SRAM), enable the D2 SRAM clock (AHB SRAM clock) */ +#if defined(RCC_AHB2ENR_D2SRAM3EN) + RCC->AHB2ENR |= (RCC_AHB2ENR_D2SRAM1EN | RCC_AHB2ENR_D2SRAM2EN | RCC_AHB2ENR_D2SRAM3EN); +#elif defined(RCC_AHB2ENR_D2SRAM2EN) + RCC->AHB2ENR |= (RCC_AHB2ENR_D2SRAM1EN | RCC_AHB2ENR_D2SRAM2EN); +#else + RCC->AHB2ENR |= (RCC_AHB2ENR_AHBSRAM1EN | RCC_AHB2ENR_AHBSRAM2EN); +#endif /* RCC_AHB2ENR_D2SRAM3EN */ + + tmpreg = RCC->AHB2ENR; + (void) tmpreg; +#endif /* DATA_IN_D2_SRAM */ + +#if defined(DUAL_CORE) && defined(CORE_CM4) + /* Configure the Vector Table location add offset address for cortex-M4 ------------------*/ +#if defined(USER_VECT_TAB_ADDRESS) + SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal D2 AXI-RAM or in Internal FLASH */ +#endif /* USER_VECT_TAB_ADDRESS */ + +#else + /* + * Disable the FMC bank1 (enabled after reset). + * This, prevents CPU speculation access on this bank which blocks the use of FMC during + * 24us. During this time the others FMC master (such as LTDC) cannot use it! + */ + FMC_Bank1_R->BTCR[0] = 0x000030D2; + + /* Configure the Vector Table location -------------------------------------*/ +#if defined(USER_VECT_TAB_ADDRESS) + SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal D1 AXI-RAM or in Internal FLASH */ +#endif /* USER_VECT_TAB_ADDRESS */ + +#endif /*DUAL_CORE && CORE_CM4*/ +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock , it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is CSI, SystemCoreClock will contain the CSI_VALUE(*) + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**) + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***) + * - If SYSCLK source is PLL, SystemCoreClock will contain the CSI_VALUE(*), + * HSI_VALUE(**) or HSE_VALUE(***) multiplied/divided by the PLL factors. + * + * (*) CSI_VALUE is a constant defined in stm32h7xx_hal.h file (default value + * 4 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * (**) HSI_VALUE is a constant defined in stm32h7xx_hal.h file (default value + * 64 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (***)HSE_VALUE is a constant defined in stm32h7xx_hal.h file (default value + * 25 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t pllp, pllsource, pllm, pllfracen, hsivalue, tmp; + uint32_t common_system_clock; + float_t fracn1, pllvco; + + + /* Get SYSCLK source -------------------------------------------------------*/ + + switch (RCC->CFGR & RCC_CFGR_SWS) + { + case RCC_CFGR_SWS_HSI: /* HSI used as system clock source */ + common_system_clock = (uint32_t) (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3)); + break; + + case RCC_CFGR_SWS_CSI: /* CSI used as system clock source */ + common_system_clock = CSI_VALUE; + break; + + case RCC_CFGR_SWS_HSE: /* HSE used as system clock source */ + common_system_clock = HSE_VALUE; + break; + + case RCC_CFGR_SWS_PLL1: /* PLL1 used as system clock source */ + + /* PLL_VCO = (HSE_VALUE or HSI_VALUE or CSI_VALUE/ PLLM) * PLLN + SYSCLK = PLL_VCO / PLLR + */ + pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC); + pllm = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1)>> 4) ; + pllfracen = ((RCC->PLLCFGR & RCC_PLLCFGR_PLL1FRACEN)>>RCC_PLLCFGR_PLL1FRACEN_Pos); + fracn1 = (float_t)(uint32_t)(pllfracen* ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN1)>> 3)); + + if (pllm != 0U) + { + switch (pllsource) + { + case RCC_PLLCKSELR_PLLSRC_HSI: /* HSI used as PLL clock source */ + + hsivalue = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3)) ; + pllvco = ( (float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 ); + + break; + + case RCC_PLLCKSELR_PLLSRC_CSI: /* CSI used as PLL clock source */ + pllvco = ((float_t)CSI_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 ); + break; + + case RCC_PLLCKSELR_PLLSRC_HSE: /* HSE used as PLL clock source */ + pllvco = ((float_t)HSE_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 ); + break; + + default: + hsivalue = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3)) ; + pllvco = ((float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 ); + break; + } + pllp = (((RCC->PLL1DIVR & RCC_PLL1DIVR_P1) >>9) + 1U ) ; + common_system_clock = (uint32_t)(float_t)(pllvco/(float_t)pllp); + } + else + { + common_system_clock = 0U; + } + break; + + default: + common_system_clock = (uint32_t) (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3)); + break; + } + + /* Compute SystemClock frequency --------------------------------------------------*/ +#if defined (RCC_D1CFGR_D1CPRE) + tmp = D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos]; + + /* common_system_clock frequency : CM7 CPU frequency */ + common_system_clock >>= tmp; + + /* SystemD2Clock frequency : CM4 CPU, AXI and AHBs Clock frequency */ + SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU)); + +#else + tmp = D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_CDCPRE)>> RCC_CDCFGR1_CDCPRE_Pos]; + + /* common_system_clock frequency : CM7 CPU frequency */ + common_system_clock >>= tmp; + + /* SystemD2Clock frequency : AXI and AHBs Clock frequency */ + SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_HPRE)>> RCC_CDCFGR1_HPRE_Pos]) & 0x1FU)); + +#endif + +#if defined(DUAL_CORE) && defined(CORE_CM4) + SystemCoreClock = SystemD2Clock; +#else + SystemCoreClock = common_system_clock; +#endif /* DUAL_CORE && CORE_CM4 */ +} + + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ diff --git a/Src/usb_device.c b/Src/usb_device.c new file mode 100644 index 0000000..9a86291 --- /dev/null +++ b/Src/usb_device.c @@ -0,0 +1,101 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : usb_device.c + * @version : v1.0_Cube + * @brief : This file implements the USB Device + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ + +#include "usb_device.h" +#include "usbd_core.h" +#include "usbd_desc.h" +#include "usbd_cdc.h" +#include "usbd_cdc_if.h" + +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* USER CODE BEGIN PV */ +/* Private variables ---------------------------------------------------------*/ + +/* USER CODE END PV */ + +/* USER CODE BEGIN PFP */ +/* Private function prototypes -----------------------------------------------*/ + +/* USER CODE END PFP */ + +/* USB Device Core handle declaration. */ +USBD_HandleTypeDef hUsbDeviceFS; + +/* + * -- Insert your variables declaration here -- + */ +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +/* + * -- Insert your external function declaration here -- + */ +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ + +/** + * Init USB device Library, add supported class and start the library + * @retval None + */ +void MX_USB_DEVICE_Init(void) +{ + /* USER CODE BEGIN USB_DEVICE_Init_PreTreatment */ + + /* USER CODE END USB_DEVICE_Init_PreTreatment */ + + /* Init Device Library, add supported class and start the library. */ + if (USBD_Init(&hUsbDeviceFS, &FS_Desc, DEVICE_FS) != USBD_OK) + { + Error_Handler(); + } + if (USBD_RegisterClass(&hUsbDeviceFS, &USBD_CDC) != USBD_OK) + { + Error_Handler(); + } + if (USBD_CDC_RegisterInterface(&hUsbDeviceFS, &USBD_Interface_fops_FS) != USBD_OK) + { + Error_Handler(); + } + if (USBD_Start(&hUsbDeviceFS) != USBD_OK) + { + Error_Handler(); + } + + /* USER CODE BEGIN USB_DEVICE_Init_PostTreatment */ + HAL_PWREx_EnableUSBVoltageDetector(); + + /* USER CODE END USB_DEVICE_Init_PostTreatment */ +} + +/** + * @} + */ + +/** + * @} + */ + diff --git a/Src/usbd_cdc_if.c b/Src/usbd_cdc_if.c new file mode 100644 index 0000000..68f2cfb --- /dev/null +++ b/Src/usbd_cdc_if.c @@ -0,0 +1,328 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : usbd_cdc_if.c + * @version : v1.0_Cube + * @brief : Usb device for Virtual Com Port. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "usbd_cdc_if.h" + +/* USER CODE BEGIN INCLUDE */ + +/* USER CODE END INCLUDE */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ + +/* USER CODE BEGIN PV */ +/* Private variables ---------------------------------------------------------*/ + +/* USER CODE END PV */ + +/** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY + * @brief Usb device library. + * @{ + */ + +/** @addtogroup USBD_CDC_IF + * @{ + */ + +/** @defgroup USBD_CDC_IF_Private_TypesDefinitions USBD_CDC_IF_Private_TypesDefinitions + * @brief Private types. + * @{ + */ + +/* USER CODE BEGIN PRIVATE_TYPES */ + +/* USER CODE END PRIVATE_TYPES */ + +/** + * @} + */ + +/** @defgroup USBD_CDC_IF_Private_Defines USBD_CDC_IF_Private_Defines + * @brief Private defines. + * @{ + */ + +/* USER CODE BEGIN PRIVATE_DEFINES */ +/* USER CODE END PRIVATE_DEFINES */ + +/** + * @} + */ + +/** @defgroup USBD_CDC_IF_Private_Macros USBD_CDC_IF_Private_Macros + * @brief Private macros. + * @{ + */ + +/* USER CODE BEGIN PRIVATE_MACRO */ + +/* USER CODE END PRIVATE_MACRO */ + +/** + * @} + */ + +/** @defgroup USBD_CDC_IF_Private_Variables USBD_CDC_IF_Private_Variables + * @brief Private variables. + * @{ + */ +/* Create buffer for reception and transmission */ +/* It's up to user to redefine and/or remove those define */ +/** Received data over USB are stored in this buffer */ +uint8_t UserRxBufferFS[APP_RX_DATA_SIZE]; + +/** Data to send over USB CDC are stored in this buffer */ +uint8_t UserTxBufferFS[APP_TX_DATA_SIZE]; + +/* USER CODE BEGIN PRIVATE_VARIABLES */ + +/* USER CODE END PRIVATE_VARIABLES */ + +/** + * @} + */ + +/** @defgroup USBD_CDC_IF_Exported_Variables USBD_CDC_IF_Exported_Variables + * @brief Public variables. + * @{ + */ + +extern USBD_HandleTypeDef hUsbDeviceFS; + +/* USER CODE BEGIN EXPORTED_VARIABLES */ + +/* USER CODE END EXPORTED_VARIABLES */ + +/** + * @} + */ + +/** @defgroup USBD_CDC_IF_Private_FunctionPrototypes USBD_CDC_IF_Private_FunctionPrototypes + * @brief Private functions declaration. + * @{ + */ + +static int8_t CDC_Init_FS(void); +static int8_t CDC_DeInit_FS(void); +static int8_t CDC_Control_FS(uint8_t cmd, uint8_t* pbuf, uint16_t length); +static int8_t CDC_Receive_FS(uint8_t* pbuf, uint32_t *Len); +static int8_t CDC_TransmitCplt_FS(uint8_t *pbuf, uint32_t *Len, uint8_t epnum); + +/* USER CODE BEGIN PRIVATE_FUNCTIONS_DECLARATION */ + +/* USER CODE END PRIVATE_FUNCTIONS_DECLARATION */ + +/** + * @} + */ + +USBD_CDC_ItfTypeDef USBD_Interface_fops_FS = +{ + CDC_Init_FS, + CDC_DeInit_FS, + CDC_Control_FS, + CDC_Receive_FS, + CDC_TransmitCplt_FS +}; + +/* Private functions ---------------------------------------------------------*/ +/** + * @brief Initializes the CDC media low layer over the FS USB IP + * @retval USBD_OK if all operations are OK else USBD_FAIL + */ +static int8_t CDC_Init_FS(void) +{ + /* USER CODE BEGIN 3 */ + /* Set Application Buffers */ + USBD_CDC_SetTxBuffer(&hUsbDeviceFS, UserTxBufferFS, 0); + USBD_CDC_SetRxBuffer(&hUsbDeviceFS, UserRxBufferFS); + return (USBD_OK); + /* USER CODE END 3 */ +} + +/** + * @brief DeInitializes the CDC media low layer + * @retval USBD_OK if all operations are OK else USBD_FAIL + */ +static int8_t CDC_DeInit_FS(void) +{ + /* USER CODE BEGIN 4 */ + return (USBD_OK); + /* USER CODE END 4 */ +} + +/** + * @brief Manage the CDC class requests + * @param cmd: Command code + * @param pbuf: Buffer containing command data (request parameters) + * @param length: Number of data to be sent (in bytes) + * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL + */ +static int8_t CDC_Control_FS(uint8_t cmd, uint8_t* pbuf, uint16_t length) +{ + /* USER CODE BEGIN 5 */ + switch(cmd) + { + case CDC_SEND_ENCAPSULATED_COMMAND: + + break; + + case CDC_GET_ENCAPSULATED_RESPONSE: + + break; + + case CDC_SET_COMM_FEATURE: + + break; + + case CDC_GET_COMM_FEATURE: + + break; + + case CDC_CLEAR_COMM_FEATURE: + + break; + + /*******************************************************************************/ + /* Line Coding Structure */ + /*-----------------------------------------------------------------------------*/ + /* Offset | Field | Size | Value | Description */ + /* 0 | dwDTERate | 4 | Number |Data terminal rate, in bits per second*/ + /* 4 | bCharFormat | 1 | Number | Stop bits */ + /* 0 - 1 Stop bit */ + /* 1 - 1.5 Stop bits */ + /* 2 - 2 Stop bits */ + /* 5 | bParityType | 1 | Number | Parity */ + /* 0 - None */ + /* 1 - Odd */ + /* 2 - Even */ + /* 3 - Mark */ + /* 4 - Space */ + /* 6 | bDataBits | 1 | Number Data bits (5, 6, 7, 8 or 16). */ + /*******************************************************************************/ + case CDC_SET_LINE_CODING: + + break; + + case CDC_GET_LINE_CODING: + + break; + + case CDC_SET_CONTROL_LINE_STATE: + + break; + + case CDC_SEND_BREAK: + + break; + + default: + break; + } + + return (USBD_OK); + /* USER CODE END 5 */ +} + +/** + * @brief Data received over USB OUT endpoint are sent over CDC interface + * through this function. + * + * @note + * This function will issue a NAK packet on any OUT packet received on + * USB endpoint until exiting this function. If you exit this function + * before transfer is complete on CDC interface (ie. using DMA controller) + * it will result in receiving more data while previous ones are still + * not sent. + * + * @param Buf: Buffer of data to be received + * @param Len: Number of data received (in bytes) + * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL + */ +static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len) +{ + /* USER CODE BEGIN 6 */ + USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]); + USBD_CDC_ReceivePacket(&hUsbDeviceFS); + return (USBD_OK); + /* USER CODE END 6 */ +} + +/** + * @brief CDC_Transmit_FS + * Data to send over USB IN endpoint are sent over CDC interface + * through this function. + * @note + * + * + * @param Buf: Buffer of data to be sent + * @param Len: Number of data to be sent (in bytes) + * @retval USBD_OK if all operations are OK else USBD_FAIL or USBD_BUSY + */ +uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len) +{ + uint8_t result = USBD_OK; + /* USER CODE BEGIN 7 */ + USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef*)hUsbDeviceFS.pClassData; + if (hcdc->TxState != 0){ + return USBD_BUSY; + } + USBD_CDC_SetTxBuffer(&hUsbDeviceFS, Buf, Len); + result = USBD_CDC_TransmitPacket(&hUsbDeviceFS); + /* USER CODE END 7 */ + return result; +} + +/** + * @brief CDC_TransmitCplt_FS + * Data transmitted callback + * + * @note + * This function is IN transfer complete callback used to inform user that + * the submitted Data is successfully sent over USB. + * + * @param Buf: Buffer of data to be received + * @param Len: Number of data received (in bytes) + * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL + */ +static int8_t CDC_TransmitCplt_FS(uint8_t *Buf, uint32_t *Len, uint8_t epnum) +{ + uint8_t result = USBD_OK; + /* USER CODE BEGIN 13 */ + UNUSED(Buf); + UNUSED(Len); + UNUSED(epnum); + /* USER CODE END 13 */ + return result; +} + +/* USER CODE BEGIN PRIVATE_FUNCTIONS_IMPLEMENTATION */ + +/* USER CODE END PRIVATE_FUNCTIONS_IMPLEMENTATION */ + +/** + * @} + */ + +/** + * @} + */ diff --git a/Src/usbd_conf.c b/Src/usbd_conf.c new file mode 100644 index 0000000..7c5c926 --- /dev/null +++ b/Src/usbd_conf.c @@ -0,0 +1,693 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : usbd_conf.c + * @version : v1.0_Cube + * @brief : This file implements the board support package for the USB device library + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32h7xx.h" +#include "stm32h7xx_hal.h" +#include "usbd_def.h" +#include "usbd_core.h" +#include "usbd_cdc.h" + +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ + +/* USER CODE BEGIN PV */ +/* Private variables ---------------------------------------------------------*/ + +/* USER CODE END PV */ + +PCD_HandleTypeDef hpcd_USB_OTG_FS; +void Error_Handler(void); + +/* External functions --------------------------------------------------------*/ + +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +/* USER CODE BEGIN PFP */ +/* Private function prototypes -----------------------------------------------*/ +USBD_StatusTypeDef USBD_Get_USB_Status(HAL_StatusTypeDef hal_status); + +/* USER CODE END PFP */ + +/* Private functions ---------------------------------------------------------*/ + +/* USER CODE BEGIN 1 */ +/* USER CODE END 1 */ + +/******************************************************************************* + LL Driver Callbacks (PCD -> USB Device Library) +*******************************************************************************/ +/* MSP Init */ + +void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; + if(pcdHandle->Instance==USB_OTG_FS) + { + /* USER CODE BEGIN USB_OTG_FS_MspInit 0 */ + + /* USER CODE END USB_OTG_FS_MspInit 0 */ + + /** Initializes the peripherals clock + */ + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; + PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_PLL; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /** Enable USB Voltage detector + */ + HAL_PWREx_EnableUSBVoltageDetector(); + + __HAL_RCC_GPIOA_CLK_ENABLE(); + /**USB_OTG_FS GPIO Configuration + PA11 ------> USB_OTG_FS_DM + PA12 ------> USB_OTG_FS_DP + */ + GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF10_OTG1_FS; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* Peripheral clock enable */ + __HAL_RCC_USB_OTG_FS_CLK_ENABLE(); + + /* Peripheral interrupt init */ + HAL_NVIC_SetPriority(OTG_FS_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(OTG_FS_IRQn); + /* USER CODE BEGIN USB_OTG_FS_MspInit 1 */ + + /* USER CODE END USB_OTG_FS_MspInit 1 */ + } +} + +void HAL_PCD_MspDeInit(PCD_HandleTypeDef* pcdHandle) +{ + if(pcdHandle->Instance==USB_OTG_FS) + { + /* USER CODE BEGIN USB_OTG_FS_MspDeInit 0 */ + + /* USER CODE END USB_OTG_FS_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_USB_OTG_FS_CLK_DISABLE(); + + /**USB_OTG_FS GPIO Configuration + PA11 ------> USB_OTG_FS_DM + PA12 ------> USB_OTG_FS_DP + */ + HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12); + + /* Peripheral interrupt Deinit*/ + HAL_NVIC_DisableIRQ(OTG_FS_IRQn); + + /* USER CODE BEGIN USB_OTG_FS_MspDeInit 1 */ + + /* USER CODE END USB_OTG_FS_MspDeInit 1 */ + } +} + +/** + * @brief Setup stage callback + * @param hpcd: PCD handle + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) +#else +void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup); +} + +/** + * @brief Data Out stage callback. + * @param hpcd: PCD handle + * @param epnum: Endpoint number + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +#else +void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff); +} + +/** + * @brief Data In stage callback. + * @param hpcd: PCD handle + * @param epnum: Endpoint number + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +#else +void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff); +} + +/** + * @brief SOF callback. + * @param hpcd: PCD handle + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_SOFCallback(PCD_HandleTypeDef *hpcd) +#else +void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData); +} + +/** + * @brief Reset callback. + * @param hpcd: PCD handle + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_ResetCallback(PCD_HandleTypeDef *hpcd) +#else +void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + USBD_SpeedTypeDef speed = USBD_SPEED_FULL; + + if ( hpcd->Init.speed == PCD_SPEED_HIGH) + { + speed = USBD_SPEED_HIGH; + } + else if ( hpcd->Init.speed == PCD_SPEED_FULL) + { + speed = USBD_SPEED_FULL; + } + else + { + Error_Handler(); + } + /* Set Speed. */ + USBD_LL_SetSpeed((USBD_HandleTypeDef*)hpcd->pData, speed); + + /* Reset Device. */ + USBD_LL_Reset((USBD_HandleTypeDef*)hpcd->pData); +} + +/** + * @brief Suspend callback. + * When Low power mode is enabled the debug cannot be used (IAR, Keil doesn't support it) + * @param hpcd: PCD handle + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) +#else +void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + /* Inform USB library that core enters in suspend Mode. */ + USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData); + __HAL_PCD_GATE_PHYCLOCK(hpcd); + /* Enter in STOP mode. */ + /* USER CODE BEGIN 2 */ + if (hpcd->Init.low_power_enable) + { + /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */ + SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); + } + /* USER CODE END 2 */ +} + +/** + * @brief Resume callback. + * When Low power mode is enabled the debug cannot be used (IAR, Keil doesn't support it) + * @param hpcd: PCD handle + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) +#else +void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + /* USER CODE BEGIN 3 */ + + /* USER CODE END 3 */ + USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData); +} + +/** + * @brief ISOOUTIncomplete callback. + * @param hpcd: PCD handle + * @param epnum: Endpoint number + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +#else +void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + USBD_LL_IsoOUTIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); +} + +/** + * @brief ISOINIncomplete callback. + * @param hpcd: PCD handle + * @param epnum: Endpoint number + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +#else +void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + USBD_LL_IsoINIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); +} + +/** + * @brief Connect callback. + * @param hpcd: PCD handle + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) +#else +void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + USBD_LL_DevConnected((USBD_HandleTypeDef*)hpcd->pData); +} + +/** + * @brief Disconnect callback. + * @param hpcd: PCD handle + * @retval None + */ +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) +static void PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) +#else +void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ +{ + USBD_LL_DevDisconnected((USBD_HandleTypeDef*)hpcd->pData); +} + +/******************************************************************************* + LL Driver Interface (USB Device Library --> PCD) +*******************************************************************************/ + +/** + * @brief Initializes the low level portion of the device driver. + * @param pdev: Device handle + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev) +{ + /* Init USB Ip. */ + if (pdev->id == DEVICE_FS) { + /* Link the driver to the stack. */ + hpcd_USB_OTG_FS.pData = pdev; + pdev->pData = &hpcd_USB_OTG_FS; + + hpcd_USB_OTG_FS.Instance = USB_OTG_FS; + hpcd_USB_OTG_FS.Init.dev_endpoints = 9; + hpcd_USB_OTG_FS.Init.speed = PCD_SPEED_FULL; + hpcd_USB_OTG_FS.Init.dma_enable = DISABLE; + hpcd_USB_OTG_FS.Init.phy_itface = PCD_PHY_EMBEDDED; + hpcd_USB_OTG_FS.Init.Sof_enable = DISABLE; + hpcd_USB_OTG_FS.Init.low_power_enable = DISABLE; + hpcd_USB_OTG_FS.Init.lpm_enable = DISABLE; + hpcd_USB_OTG_FS.Init.battery_charging_enable = DISABLE; + hpcd_USB_OTG_FS.Init.vbus_sensing_enable = DISABLE; + hpcd_USB_OTG_FS.Init.use_dedicated_ep1 = DISABLE; + if (HAL_PCD_Init(&hpcd_USB_OTG_FS) != HAL_OK) + { + Error_Handler( ); + } + +#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) + /* Register USB PCD CallBacks */ + HAL_PCD_RegisterCallback(&hpcd_USB_OTG_FS, HAL_PCD_SOF_CB_ID, PCD_SOFCallback); + HAL_PCD_RegisterCallback(&hpcd_USB_OTG_FS, HAL_PCD_SETUPSTAGE_CB_ID, PCD_SetupStageCallback); + HAL_PCD_RegisterCallback(&hpcd_USB_OTG_FS, HAL_PCD_RESET_CB_ID, PCD_ResetCallback); + HAL_PCD_RegisterCallback(&hpcd_USB_OTG_FS, HAL_PCD_SUSPEND_CB_ID, PCD_SuspendCallback); + HAL_PCD_RegisterCallback(&hpcd_USB_OTG_FS, HAL_PCD_RESUME_CB_ID, PCD_ResumeCallback); + HAL_PCD_RegisterCallback(&hpcd_USB_OTG_FS, HAL_PCD_CONNECT_CB_ID, PCD_ConnectCallback); + HAL_PCD_RegisterCallback(&hpcd_USB_OTG_FS, HAL_PCD_DISCONNECT_CB_ID, PCD_DisconnectCallback); + + HAL_PCD_RegisterDataOutStageCallback(&hpcd_USB_OTG_FS, PCD_DataOutStageCallback); + HAL_PCD_RegisterDataInStageCallback(&hpcd_USB_OTG_FS, PCD_DataInStageCallback); + HAL_PCD_RegisterIsoOutIncpltCallback(&hpcd_USB_OTG_FS, PCD_ISOOUTIncompleteCallback); + HAL_PCD_RegisterIsoInIncpltCallback(&hpcd_USB_OTG_FS, PCD_ISOINIncompleteCallback); +#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ + /* USER CODE BEGIN TxRx_Configuration */ + HAL_PCDEx_SetRxFiFo(&hpcd_USB_OTG_FS, 0x80); + HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 0, 0x40); + HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 1, 0x80); + /* USER CODE END TxRx_Configuration */ + } + return USBD_OK; +} + +/** + * @brief De-Initializes the low level portion of the device driver. + * @param pdev: Device handle + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_DeInit(USBD_HandleTypeDef *pdev) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_DeInit(pdev->pData); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Starts the low level portion of the device driver. + * @param pdev: Device handle + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_Start(pdev->pData); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Stops the low level portion of the device driver. + * @param pdev: Device handle + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_Stop(USBD_HandleTypeDef *pdev) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_Stop(pdev->pData); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Opens an endpoint of the low level driver. + * @param pdev: Device handle + * @param ep_addr: Endpoint number + * @param ep_type: Endpoint type + * @param ep_mps: Endpoint max packet size + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t ep_type, uint16_t ep_mps) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Closes an endpoint of the low level driver. + * @param pdev: Device handle + * @param ep_addr: Endpoint number + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_EP_Close(pdev->pData, ep_addr); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Flushes an endpoint of the Low Level Driver. + * @param pdev: Device handle + * @param ep_addr: Endpoint number + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_EP_Flush(pdev->pData, ep_addr); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Sets a Stall condition on an endpoint of the Low Level Driver. + * @param pdev: Device handle + * @param ep_addr: Endpoint number + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_EP_SetStall(pdev->pData, ep_addr); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Clears a Stall condition on an endpoint of the Low Level Driver. + * @param pdev: Device handle + * @param ep_addr: Endpoint number + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_EP_ClrStall(pdev->pData, ep_addr); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Returns Stall condition. + * @param pdev: Device handle + * @param ep_addr: Endpoint number + * @retval Stall (1: Yes, 0: No) + */ +uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) +{ + PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData; + + if((ep_addr & 0x80) == 0x80) + { + return hpcd->IN_ep[ep_addr & 0x7F].is_stall; + } + else + { + return hpcd->OUT_ep[ep_addr & 0x7F].is_stall; + } +} + +/** + * @brief Assigns a USB address to the device. + * @param pdev: Device handle + * @param dev_addr: Device address + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_SetAddress(pdev->pData, dev_addr); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Transmits data over an endpoint. + * @param pdev: Device handle + * @param ep_addr: Endpoint number + * @param pbuf: Pointer to data to be sent + * @param size: Data size + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint32_t size) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Prepares an endpoint for reception. + * @param pdev: Device handle + * @param ep_addr: Endpoint number + * @param pbuf: Pointer to data to be received + * @param size: Data size + * @retval USBD status + */ +USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint32_t size) +{ + HAL_StatusTypeDef hal_status = HAL_OK; + USBD_StatusTypeDef usb_status = USBD_OK; + + hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size); + + usb_status = USBD_Get_USB_Status(hal_status); + + return usb_status; +} + +/** + * @brief Returns the last transferred packet size. + * @param pdev: Device handle + * @param ep_addr: Endpoint number + * @retval Received Data Size + */ +uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr) +{ + return HAL_PCD_EP_GetRxCount((PCD_HandleTypeDef*) pdev->pData, ep_addr); +} + +#ifdef USBD_HS_TESTMODE_ENABLE +/** + * @brief Set High speed Test mode. + * @param pdev: Device handle + * @param testmode: test mode + * @retval USBD Status + */ +USBD_StatusTypeDef USBD_LL_SetTestMode(USBD_HandleTypeDef *pdev, uint8_t testmode) +{ + UNUSED(pdev); + UNUSED(testmode); + + return USBD_OK; +} +#endif /* USBD_HS_TESTMODE_ENABLE */ +/** + * @brief Static single allocation. + * @param size: Size of allocated memory + * @retval None + */ +void *USBD_static_malloc(uint32_t size) +{ + UNUSED(size); + static uint32_t mem[(sizeof(USBD_CDC_HandleTypeDef)/4)+1];/* On 32-bit boundary */ + return mem; +} + +/** + * @brief Dummy memory free + * @param p: Pointer to allocated memory address + * @retval None + */ +void USBD_static_free(void *p) +{ + UNUSED(p); +} + +/** + * @brief Delays routine for the USB device library. + * @param Delay: Delay in ms + * @retval None + */ +void USBD_LL_Delay(uint32_t Delay) +{ + HAL_Delay(Delay); +} + +/** + * @brief Returns the USB status depending on the HAL status: + * @param hal_status: HAL status + * @retval USB status + */ +USBD_StatusTypeDef USBD_Get_USB_Status(HAL_StatusTypeDef hal_status) +{ + USBD_StatusTypeDef usb_status = USBD_OK; + + switch (hal_status) + { + case HAL_OK : + usb_status = USBD_OK; + break; + case HAL_ERROR : + usb_status = USBD_FAIL; + break; + case HAL_BUSY : + usb_status = USBD_BUSY; + break; + case HAL_TIMEOUT : + usb_status = USBD_FAIL; + break; + default : + usb_status = USBD_FAIL; + break; + } + return usb_status; +} diff --git a/Src/usbd_desc.c b/Src/usbd_desc.c new file mode 100644 index 0000000..65692b7 --- /dev/null +++ b/Src/usbd_desc.c @@ -0,0 +1,418 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : usbd_desc.c + * @version : v1.0_Cube + * @brief : This file implements the USB device descriptors. + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "usbd_core.h" +#include "usbd_desc.h" +#include "usbd_conf.h" + +/* USER CODE BEGIN INCLUDE */ + +/* USER CODE END INCLUDE */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ + +/* USER CODE BEGIN PV */ +/* Private variables ---------------------------------------------------------*/ + +/* USER CODE END PV */ + +/** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY + * @{ + */ + +/** @addtogroup USBD_DESC + * @{ + */ + +/** @defgroup USBD_DESC_Private_TypesDefinitions USBD_DESC_Private_TypesDefinitions + * @brief Private types. + * @{ + */ + +/* USER CODE BEGIN PRIVATE_TYPES */ + +/* USER CODE END PRIVATE_TYPES */ + +/** + * @} + */ + +/** @defgroup USBD_DESC_Private_Defines USBD_DESC_Private_Defines + * @brief Private defines. + * @{ + */ + +#define USBD_VID 1155 +#define USBD_LANGID_STRING 1033 +#define USBD_MANUFACTURER_STRING "STMicroelectronics" +#define USBD_PID_FS 22336 +#define USBD_PRODUCT_STRING_FS "STM32 Virtual ComPort" +#define USBD_CONFIGURATION_STRING_FS "CDC Config" +#define USBD_INTERFACE_STRING_FS "CDC Interface" + +#define USB_SIZ_BOS_DESC 0x0C + +/* USER CODE BEGIN PRIVATE_DEFINES */ + +/* USER CODE END PRIVATE_DEFINES */ + +/** + * @} + */ + +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +/** @defgroup USBD_DESC_Private_Macros USBD_DESC_Private_Macros + * @brief Private macros. + * @{ + */ + +/* USER CODE BEGIN PRIVATE_MACRO */ + +/* USER CODE END PRIVATE_MACRO */ + +/** + * @} + */ + +/** @defgroup USBD_DESC_Private_FunctionPrototypes USBD_DESC_Private_FunctionPrototypes + * @brief Private functions declaration. + * @{ + */ + +static void Get_SerialNum(void); +static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len); + +/** + * @} + */ + +/** @defgroup USBD_DESC_Private_FunctionPrototypes USBD_DESC_Private_FunctionPrototypes + * @brief Private functions declaration for FS. + * @{ + */ + +uint8_t * USBD_FS_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length); +uint8_t * USBD_FS_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length); +uint8_t * USBD_FS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length); +uint8_t * USBD_FS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length); +uint8_t * USBD_FS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length); +uint8_t * USBD_FS_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length); +uint8_t * USBD_FS_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length); + +/** + * @} + */ + +/** @defgroup USBD_DESC_Private_Variables USBD_DESC_Private_Variables + * @brief Private variables. + * @{ + */ + +USBD_DescriptorsTypeDef FS_Desc = +{ + USBD_FS_DeviceDescriptor +, USBD_FS_LangIDStrDescriptor +, USBD_FS_ManufacturerStrDescriptor +, USBD_FS_ProductStrDescriptor +, USBD_FS_SerialStrDescriptor +, USBD_FS_ConfigStrDescriptor +, USBD_FS_InterfaceStrDescriptor +}; + +#if defined ( __ICCARM__ ) /* IAR Compiler */ + #pragma data_alignment=4 +#endif /* defined ( __ICCARM__ ) */ +/** USB standard device descriptor. */ +__ALIGN_BEGIN uint8_t USBD_FS_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END = +{ + 0x12, /*bLength */ + USB_DESC_TYPE_DEVICE, /*bDescriptorType*/ + 0x00, /*bcdUSB */ + 0x02, + 0x02, /*bDeviceClass*/ + 0x02, /*bDeviceSubClass*/ + 0x00, /*bDeviceProtocol*/ + USB_MAX_EP0_SIZE, /*bMaxPacketSize*/ + LOBYTE(USBD_VID), /*idVendor*/ + HIBYTE(USBD_VID), /*idVendor*/ + LOBYTE(USBD_PID_FS), /*idProduct*/ + HIBYTE(USBD_PID_FS), /*idProduct*/ + 0x00, /*bcdDevice rel. 2.00*/ + 0x02, + USBD_IDX_MFC_STR, /*Index of manufacturer string*/ + USBD_IDX_PRODUCT_STR, /*Index of product string*/ + USBD_IDX_SERIAL_STR, /*Index of serial number string*/ + USBD_MAX_NUM_CONFIGURATION /*bNumConfigurations*/ +}; + +/* USB_DeviceDescriptor */ +/** BOS descriptor. */ +#if (USBD_LPM_ENABLED == 1) +#if defined ( __ICCARM__ ) /* IAR Compiler */ + #pragma data_alignment=4 +#endif /* defined ( __ICCARM__ ) */ +__ALIGN_BEGIN uint8_t USBD_FS_BOSDesc[USB_SIZ_BOS_DESC] __ALIGN_END = +{ + 0x5, + USB_DESC_TYPE_BOS, + 0xC, + 0x0, + 0x1, /* 1 device capability*/ + /* device capability*/ + 0x7, + USB_DEVICE_CAPABITY_TYPE, + 0x2, + 0x2, /* LPM capability bit set*/ + 0x0, + 0x0, + 0x0 +}; +#endif /* (USBD_LPM_ENABLED == 1) */ + +/** + * @} + */ + +/** @defgroup USBD_DESC_Private_Variables USBD_DESC_Private_Variables + * @brief Private variables. + * @{ + */ + +#if defined ( __ICCARM__ ) /* IAR Compiler */ + #pragma data_alignment=4 +#endif /* defined ( __ICCARM__ ) */ + +/** USB lang identifier descriptor. */ +__ALIGN_BEGIN uint8_t USBD_LangIDDesc[USB_LEN_LANGID_STR_DESC] __ALIGN_END = +{ + USB_LEN_LANGID_STR_DESC, + USB_DESC_TYPE_STRING, + LOBYTE(USBD_LANGID_STRING), + HIBYTE(USBD_LANGID_STRING) +}; + +#if defined ( __ICCARM__ ) /* IAR Compiler */ + #pragma data_alignment=4 +#endif /* defined ( __ICCARM__ ) */ +/* Internal string descriptor. */ +__ALIGN_BEGIN uint8_t USBD_StrDesc[USBD_MAX_STR_DESC_SIZ] __ALIGN_END; + +#if defined ( __ICCARM__ ) /*!< IAR Compiler */ + #pragma data_alignment=4 +#endif +__ALIGN_BEGIN uint8_t USBD_StringSerial[USB_SIZ_STRING_SERIAL] __ALIGN_END = { + USB_SIZ_STRING_SERIAL, + USB_DESC_TYPE_STRING, +}; + +/** + * @} + */ + +/** @defgroup USBD_DESC_Private_Functions USBD_DESC_Private_Functions + * @brief Private functions. + * @{ + */ + +/** + * @brief Return the device descriptor + * @param speed : Current device speed + * @param length : Pointer to data length variable + * @retval Pointer to descriptor buffer + */ +uint8_t * USBD_FS_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) +{ + UNUSED(speed); + *length = sizeof(USBD_FS_DeviceDesc); + return USBD_FS_DeviceDesc; +} + +/** + * @brief Return the LangID string descriptor + * @param speed : Current device speed + * @param length : Pointer to data length variable + * @retval Pointer to descriptor buffer + */ +uint8_t * USBD_FS_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) +{ + UNUSED(speed); + *length = sizeof(USBD_LangIDDesc); + return USBD_LangIDDesc; +} + +/** + * @brief Return the product string descriptor + * @param speed : Current device speed + * @param length : Pointer to data length variable + * @retval Pointer to descriptor buffer + */ +uint8_t * USBD_FS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) +{ + if(speed == 0) + { + USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length); + } + else + { + USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length); + } + return USBD_StrDesc; +} + +/** + * @brief Return the manufacturer string descriptor + * @param speed : Current device speed + * @param length : Pointer to data length variable + * @retval Pointer to descriptor buffer + */ +uint8_t * USBD_FS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) +{ + UNUSED(speed); + USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length); + return USBD_StrDesc; +} + +/** + * @brief Return the serial number string descriptor + * @param speed : Current device speed + * @param length : Pointer to data length variable + * @retval Pointer to descriptor buffer + */ +uint8_t * USBD_FS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) +{ + UNUSED(speed); + *length = USB_SIZ_STRING_SERIAL; + + /* Update the serial number string descriptor with the data from the unique + * ID */ + Get_SerialNum(); + /* USER CODE BEGIN USBD_FS_SerialStrDescriptor */ + + /* USER CODE END USBD_FS_SerialStrDescriptor */ + return (uint8_t *) USBD_StringSerial; +} + +/** + * @brief Return the configuration string descriptor + * @param speed : Current device speed + * @param length : Pointer to data length variable + * @retval Pointer to descriptor buffer + */ +uint8_t * USBD_FS_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) +{ + if(speed == USBD_SPEED_HIGH) + { + USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_FS, USBD_StrDesc, length); + } + else + { + USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_FS, USBD_StrDesc, length); + } + return USBD_StrDesc; +} + +/** + * @brief Return the interface string descriptor + * @param speed : Current device speed + * @param length : Pointer to data length variable + * @retval Pointer to descriptor buffer + */ +uint8_t * USBD_FS_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) +{ + if(speed == 0) + { + USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_FS, USBD_StrDesc, length); + } + else + { + USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_FS, USBD_StrDesc, length); + } + return USBD_StrDesc; +} + +/** + * @brief Create the serial number string descriptor + * @param None + * @retval None + */ +static void Get_SerialNum(void) +{ + uint32_t deviceserial0; + uint32_t deviceserial1; + uint32_t deviceserial2; + + deviceserial0 = *(uint32_t *) DEVICE_ID1; + deviceserial1 = *(uint32_t *) DEVICE_ID2; + deviceserial2 = *(uint32_t *) DEVICE_ID3; + + deviceserial0 += deviceserial2; + + if (deviceserial0 != 0) + { + IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8); + IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4); + } +} + +/** + * @brief Convert Hex 32Bits value into char + * @param value: value to convert + * @param pbuf: pointer to the buffer + * @param len: buffer length + * @retval None + */ +static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len) +{ + uint8_t idx = 0; + + for (idx = 0; idx < len; idx++) + { + if (((value >> 28)) < 0xA) + { + pbuf[2 * idx] = (value >> 28) + '0'; + } + else + { + pbuf[2 * idx] = (value >> 28) + 'A' - 10; + } + + value = value << 4; + + pbuf[2 * idx + 1] = 0; + } +} +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + diff --git a/WTZS32-2.ioc b/WTZS32-2.ioc new file mode 100644 index 0000000..5ed3a25 --- /dev/null +++ b/WTZS32-2.ioc @@ -0,0 +1,549 @@ +#MicroXplorer Configuration settings - do not modify +ADC3.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_0 +ADC3.Channel-10\#ChannelRegularConversion=ADC_CHANNEL_16 +ADC3.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_1 +ADC3.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_5 +ADC3.Channel-4\#ChannelRegularConversion=ADC_CHANNEL_5 +ADC3.Channel-5\#ChannelRegularConversion=ADC_CHANNEL_10 +ADC3.Channel-6\#ChannelRegularConversion=ADC_CHANNEL_11 +ADC3.Channel-7\#ChannelRegularConversion=ADC_CHANNEL_13 +ADC3.Channel-8\#ChannelRegularConversion=ADC_CHANNEL_14 +ADC3.Channel-9\#ChannelRegularConversion=ADC_CHANNEL_15 +ADC3.ClockPrescaler=ADC_CLOCK_ASYNC_DIV4 +ADC3.ClockPrescalerADC3=ADC_CLOCK_ASYNC_DIV4 +ADC3.ContinuousConvMode=DISABLE +ADC3.ConversionDataManagement=ADC_CONVERSIONDATA_DMA_CIRCULAR +ADC3.EOCSelection=ADC_EOC_SEQ_CONV +ADC3.EnableRegularConversion=ENABLE +ADC3.ExternalTrigConv=ADC_EXTERNALTRIG_T4_TRGO +ADC3.ExternalTrigConvEdge=ADC_EXTERNALTRIGCONVEDGE_RISING +ADC3.IPParameters=ClockPrescaler,ClockPrescalerADC3,ConversionDataManagement,ContinuousConvMode,Overrun,EnableRegularConversion,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,OffsetNumber-1\#ChannelRegularConversion,OffsetSignedSaturation-1\#ChannelRegularConversion,NbrOfConversionFlag,OversamplingMode,ExternalTrigConv,EOCSelection,NbrOfConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,OffsetSignedSaturation-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,OffsetNumber-3\#ChannelRegularConversion,OffsetSignedSaturation-3\#ChannelRegularConversion,Rank-4\#ChannelRegularConversion,Channel-4\#ChannelRegularConversion,SamplingTime-4\#ChannelRegularConversion,OffsetNumber-4\#ChannelRegularConversion,OffsetSignedSaturation-4\#ChannelRegularConversion,Rank-5\#ChannelRegularConversion,Channel-5\#ChannelRegularConversion,SamplingTime-5\#ChannelRegularConversion,OffsetNumber-5\#ChannelRegularConversion,OffsetSignedSaturation-5\#ChannelRegularConversion,Rank-6\#ChannelRegularConversion,Channel-6\#ChannelRegularConversion,SamplingTime-6\#ChannelRegularConversion,OffsetNumber-6\#ChannelRegularConversion,OffsetSignedSaturation-6\#ChannelRegularConversion,Rank-7\#ChannelRegularConversion,Channel-7\#ChannelRegularConversion,SamplingTime-7\#ChannelRegularConversion,OffsetNumber-7\#ChannelRegularConversion,OffsetSignedSaturation-7\#ChannelRegularConversion,Rank-8\#ChannelRegularConversion,Channel-8\#ChannelRegularConversion,SamplingTime-8\#ChannelRegularConversion,OffsetNumber-8\#ChannelRegularConversion,OffsetSignedSaturation-8\#ChannelRegularConversion,Rank-9\#ChannelRegularConversion,Channel-9\#ChannelRegularConversion,SamplingTime-9\#ChannelRegularConversion,OffsetNumber-9\#ChannelRegularConversion,OffsetSignedSaturation-9\#ChannelRegularConversion,ExternalTrigConvEdge,Rank-10\#ChannelRegularConversion,Channel-10\#ChannelRegularConversion,SamplingTime-10\#ChannelRegularConversion,OffsetNumber-10\#ChannelRegularConversion,OffsetSignedSaturation-10\#ChannelRegularConversion +ADC3.NbrOfConversion=10 +ADC3.NbrOfConversionFlag=1 +ADC3.OffsetNumber-1\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC3.OffsetNumber-10\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC3.OffsetNumber-2\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC3.OffsetNumber-3\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC3.OffsetNumber-4\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC3.OffsetNumber-5\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC3.OffsetNumber-6\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC3.OffsetNumber-7\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC3.OffsetNumber-8\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC3.OffsetNumber-9\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC3.OffsetSignedSaturation-1\#ChannelRegularConversion=DISABLE +ADC3.OffsetSignedSaturation-10\#ChannelRegularConversion=DISABLE +ADC3.OffsetSignedSaturation-2\#ChannelRegularConversion=DISABLE +ADC3.OffsetSignedSaturation-3\#ChannelRegularConversion=DISABLE +ADC3.OffsetSignedSaturation-4\#ChannelRegularConversion=DISABLE +ADC3.OffsetSignedSaturation-5\#ChannelRegularConversion=DISABLE +ADC3.OffsetSignedSaturation-6\#ChannelRegularConversion=DISABLE +ADC3.OffsetSignedSaturation-7\#ChannelRegularConversion=DISABLE +ADC3.OffsetSignedSaturation-8\#ChannelRegularConversion=DISABLE +ADC3.OffsetSignedSaturation-9\#ChannelRegularConversion=DISABLE +ADC3.Overrun=ADC_OVR_DATA_OVERWRITTEN +ADC3.OversamplingMode=DISABLE +ADC3.Rank-1\#ChannelRegularConversion=1 +ADC3.Rank-10\#ChannelRegularConversion=10 +ADC3.Rank-2\#ChannelRegularConversion=2 +ADC3.Rank-3\#ChannelRegularConversion=3 +ADC3.Rank-4\#ChannelRegularConversion=4 +ADC3.Rank-5\#ChannelRegularConversion=5 +ADC3.Rank-6\#ChannelRegularConversion=6 +ADC3.Rank-7\#ChannelRegularConversion=7 +ADC3.Rank-8\#ChannelRegularConversion=8 +ADC3.Rank-9\#ChannelRegularConversion=9 +ADC3.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +ADC3.SamplingTime-10\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +ADC3.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +ADC3.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +ADC3.SamplingTime-4\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +ADC3.SamplingTime-5\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +ADC3.SamplingTime-6\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +ADC3.SamplingTime-7\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +ADC3.SamplingTime-8\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +ADC3.SamplingTime-9\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +Bdma.ADC3.0.Direction=DMA_PERIPH_TO_MEMORY +Bdma.ADC3.0.EventEnable=ENABLE +Bdma.ADC3.0.Instance=BDMA_Channel0 +Bdma.ADC3.0.MemDataAlignment=DMA_MDATAALIGN_HALFWORD +Bdma.ADC3.0.MemInc=DMA_MINC_ENABLE +Bdma.ADC3.0.Mode=DMA_CIRCULAR +Bdma.ADC3.0.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD +Bdma.ADC3.0.PeriphInc=DMA_PINC_DISABLE +Bdma.ADC3.0.Polarity=HAL_DMAMUX_REQ_GEN_RISING +Bdma.ADC3.0.Priority=DMA_PRIORITY_LOW +Bdma.ADC3.0.RequestNumber=1 +Bdma.ADC3.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber +Bdma.ADC3.0.SignalID=NONE +Bdma.ADC3.0.SyncEnable=DISABLE +Bdma.ADC3.0.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT +Bdma.ADC3.0.SyncRequestNumber=1 +Bdma.ADC3.0.SyncSignalID=NONE +Bdma.Request0=ADC3 +Bdma.RequestsNb=1 +CAD.formats= +CAD.pinconfig= +CAD.provider= +CORTEX_M7.BaseAddress_Spec=0x24000000 +CORTEX_M7.CPU_DCache=Disabled +CORTEX_M7.CPU_ICache=Disabled +CORTEX_M7.DisableExec_Spec=MPU_INSTRUCTION_ACCESS_ENABLE +CORTEX_M7.IPParameters=default_mode_Activation,CPU_ICache,CPU_DCache,BaseAddress_Spec,Size_Spec,TypeExtField_Spec,DisableExec_Spec,IsShareable_Spec +CORTEX_M7.IsShareable_Spec=MPU_ACCESS_NOT_SHAREABLE +CORTEX_M7.Size_Spec=MPU_REGION_SIZE_512KB +CORTEX_M7.TypeExtField_Spec=MPU_TEX_LEVEL1 +CORTEX_M7.default_mode_Activation=0 +Dma.MEMTOMEM.0.Direction=DMA_MEMORY_TO_MEMORY +Dma.MEMTOMEM.0.EventEnable=DISABLE +Dma.MEMTOMEM.0.FIFOMode=DMA_FIFOMODE_ENABLE +Dma.MEMTOMEM.0.FIFOThreshold=DMA_FIFO_THRESHOLD_FULL +Dma.MEMTOMEM.0.Instance=DMA2_Stream0 +Dma.MEMTOMEM.0.MemBurst=DMA_MBURST_SINGLE +Dma.MEMTOMEM.0.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.MEMTOMEM.0.MemInc=DMA_MINC_ENABLE +Dma.MEMTOMEM.0.Mode=DMA_NORMAL +Dma.MEMTOMEM.0.PeriphBurst=DMA_PBURST_SINGLE +Dma.MEMTOMEM.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +Dma.MEMTOMEM.0.PeriphInc=DMA_PINC_ENABLE +Dma.MEMTOMEM.0.Polarity=HAL_DMAMUX_REQ_GEN_RISING +Dma.MEMTOMEM.0.Priority=DMA_PRIORITY_LOW +Dma.MEMTOMEM.0.RequestNumber=1 +Dma.MEMTOMEM.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,FIFOThreshold,MemBurst,PeriphBurst,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber +Dma.MEMTOMEM.0.SignalID=NONE +Dma.MEMTOMEM.0.SyncEnable=DISABLE +Dma.MEMTOMEM.0.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT +Dma.MEMTOMEM.0.SyncRequestNumber=1 +Dma.MEMTOMEM.0.SyncSignalID=NONE +Dma.Request0=MEMTOMEM +Dma.Request1=USART1_RX +Dma.RequestsNb=2 +Dma.USART1_RX.1.Direction=DMA_PERIPH_TO_MEMORY +Dma.USART1_RX.1.EventEnable=DISABLE +Dma.USART1_RX.1.FIFOMode=DMA_FIFOMODE_DISABLE +Dma.USART1_RX.1.Instance=DMA1_Stream5 +Dma.USART1_RX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.USART1_RX.1.MemInc=DMA_MINC_ENABLE +Dma.USART1_RX.1.Mode=DMA_NORMAL +Dma.USART1_RX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +Dma.USART1_RX.1.PeriphInc=DMA_PINC_DISABLE +Dma.USART1_RX.1.Polarity=HAL_DMAMUX_REQ_GEN_RISING +Dma.USART1_RX.1.Priority=DMA_PRIORITY_LOW +Dma.USART1_RX.1.RequestNumber=1 +Dma.USART1_RX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber +Dma.USART1_RX.1.SignalID=NONE +Dma.USART1_RX.1.SyncEnable=DISABLE +Dma.USART1_RX.1.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT +Dma.USART1_RX.1.SyncRequestNumber=1 +Dma.USART1_RX.1.SyncSignalID=NONE +FREERTOS.FootprintOK=true +FREERTOS.IPParameters=Tasks01,FootprintOK +FREERTOS.Tasks01=defaultTask,24,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL +File.Version=6 +GPIO.groupedBy=Group By Peripherals +KeepUserPlacement=false +MMTAppReg1.MEMORYMAP.AppRegionName=DTCMRAM +MMTAppReg1.MEMORYMAP.ContextName=Cortex-M7NS +MMTAppReg1.MEMORYMAP.CoreName=ARM Cortex-M7 +MMTAppReg1.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,ContextName,Name +MMTAppReg1.MEMORYMAP.Name=DTCMRAM +MMTAppReg1.MEMORYMAP.Size=131072 +MMTAppReg1.MEMORYMAP.StartAddress=0x20000000 +MMTAppReg2.MEMORYMAP.AppRegionName=RAM +MMTAppReg2.MEMORYMAP.ContextName=Cortex-M7NS +MMTAppReg2.MEMORYMAP.CoreName=ARM Cortex-M7 +MMTAppReg2.MEMORYMAP.DefaultDataRegion=true +MMTAppReg2.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,ContextName,Name,DefaultDataRegion +MMTAppReg2.MEMORYMAP.Name=RAM +MMTAppReg2.MEMORYMAP.Size=524288 +MMTAppReg2.MEMORYMAP.StartAddress=0x24000000 +MMTAppReg3.MEMORYMAP.AppRegionName=RAM_D2 +MMTAppReg3.MEMORYMAP.ContextName=Cortex-M7NS +MMTAppReg3.MEMORYMAP.CoreName=ARM Cortex-M7 +MMTAppReg3.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,ContextName,Name +MMTAppReg3.MEMORYMAP.Name=RAM_D2 +MMTAppReg3.MEMORYMAP.Size=294912 +MMTAppReg3.MEMORYMAP.StartAddress=0x30000000 +MMTAppReg4.MEMORYMAP.AppRegionName=RAM_D3 +MMTAppReg4.MEMORYMAP.ContextName=Cortex-M7NS +MMTAppReg4.MEMORYMAP.CoreName=ARM Cortex-M7 +MMTAppReg4.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,ContextName,Name +MMTAppReg4.MEMORYMAP.Name=RAM_D3 +MMTAppReg4.MEMORYMAP.Size=65536 +MMTAppReg4.MEMORYMAP.StartAddress=0x38000000 +MMTAppReg5.MEMORYMAP.AppRegionName=ITCMRAM +MMTAppReg5.MEMORYMAP.Cacheability=WTRA +MMTAppReg5.MEMORYMAP.ContextName=Cortex-M7NS +MMTAppReg5.MEMORYMAP.CoreName=ARM Cortex-M7 +MMTAppReg5.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,ContextName,Name,Cacheability +MMTAppReg5.MEMORYMAP.Name=ITCMRAM +MMTAppReg5.MEMORYMAP.Size=65536 +MMTAppReg5.MEMORYMAP.StartAddress=0x00000000 +MMTAppReg6.MEMORYMAP.AP=RO_priv_only +MMTAppReg6.MEMORYMAP.AppRegionName=FLASH +MMTAppReg6.MEMORYMAP.Cacheability=WTRA +MMTAppReg6.MEMORYMAP.ContextName=Cortex-M7NS +MMTAppReg6.MEMORYMAP.CoreName=ARM Cortex-M7 +MMTAppReg6.MEMORYMAP.DefaultCodeRegion=true +MMTAppReg6.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,MemType,ContextName,Name,AP,Cacheability,DefaultCodeRegion,ISRRegion,RootBootRegion +MMTAppReg6.MEMORYMAP.ISRRegion=true +MMTAppReg6.MEMORYMAP.MemType=ROM +MMTAppReg6.MEMORYMAP.Name=FLASH +MMTAppReg6.MEMORYMAP.RootBootRegion=true +MMTAppReg6.MEMORYMAP.Size=131072 +MMTAppReg6.MEMORYMAP.StartAddress=0x08000000 +MMTAppRegionsCount=6 +MMTConfigApplied=false +Mcu.CPN=STM32H750IBT6 +Mcu.Family=STM32H7 +Mcu.IP0=ADC3 +Mcu.IP1=BDMA +Mcu.IP10=TIM2 +Mcu.IP11=TIM4 +Mcu.IP12=USART1 +Mcu.IP13=USB_DEVICE +Mcu.IP14=USB_OTG_FS +Mcu.IP2=CORTEX_M7 +Mcu.IP3=DMA +Mcu.IP4=FREERTOS +Mcu.IP5=MEMORYMAP +Mcu.IP6=NVIC +Mcu.IP7=RCC +Mcu.IP8=SYS +Mcu.IP9=TIM1 +Mcu.IPNb=15 +Mcu.Name=STM32H750IBTx +Mcu.Package=LQFP176 +Mcu.Pin0=PF3 +Mcu.Pin1=PH0-OSC_IN (PH0) +Mcu.Pin10=PH5 +Mcu.Pin11=PA8 +Mcu.Pin12=PA9 +Mcu.Pin13=PA10 +Mcu.Pin14=PA11 +Mcu.Pin15=PA12 +Mcu.Pin16=PA15 (JTDI) +Mcu.Pin17=PC11 +Mcu.Pin18=PD0 +Mcu.Pin19=PD1 +Mcu.Pin2=PH1-OSC_OUT (PH1) +Mcu.Pin20=PD2 +Mcu.Pin21=PD3 +Mcu.Pin22=PD4 +Mcu.Pin23=PD5 +Mcu.Pin24=PD7 +Mcu.Pin25=PG9 +Mcu.Pin26=PG10 +Mcu.Pin27=PG11 +Mcu.Pin28=PG12 +Mcu.Pin29=PG13 +Mcu.Pin3=PC0 +Mcu.Pin30=PG14 +Mcu.Pin31=PI7 +Mcu.Pin32=VP_FREERTOS_VS_CMSIS_V2 +Mcu.Pin33=VP_SYS_VS_tim7 +Mcu.Pin34=VP_TIM1_VS_ClockSourceINT +Mcu.Pin35=VP_TIM1_VS_no_output1 +Mcu.Pin36=VP_TIM2_VS_ClockSourceINT +Mcu.Pin37=VP_TIM4_VS_ClockSourceINT +Mcu.Pin38=VP_TIM4_VS_no_output1 +Mcu.Pin39=VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS +Mcu.Pin4=PC1 +Mcu.Pin40=VP_MEMORYMAP_VS_MEMORYMAP +Mcu.Pin5=PC2_C +Mcu.Pin6=PC3_C +Mcu.Pin7=PH2 +Mcu.Pin8=PH3 +Mcu.Pin9=PH4 +Mcu.PinsNb=41 +Mcu.ThirdPartyNb=0 +Mcu.UserConstants= +Mcu.UserName=STM32H750IBTx +MxCube.Version=6.15.0 +MxDb.Version=DB.6.0.150 +NVIC.BDMA_Channel0_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true +NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false +NVIC.DMA1_Stream5_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true +NVIC.DMAMUX2_OVR_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true +NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false +NVIC.ForceEnableDMAVector=true +NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false +NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false +NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false +NVIC.OTG_FS_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true +NVIC.PendSV_IRQn=true\:15\:0\:false\:false\:false\:true\:false\:false\:false +NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 +NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:false\:false +NVIC.SavedPendsvIrqHandlerGenerated=true +NVIC.SavedSvcallIrqHandlerGenerated=true +NVIC.SavedSystickIrqHandlerGenerated=true +NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:false\:true\:false\:true\:false +NVIC.TIM7_IRQn=true\:15\:0\:false\:false\:true\:false\:false\:true\:true +NVIC.TimeBase=TIM7_IRQn +NVIC.TimeBaseIP=TIM7 +NVIC.USART1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true +NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false +PA10.Locked=true +PA10.Mode=Asynchronous +PA10.Signal=USART1_RX +PA11.Mode=Device_Only +PA11.Signal=USB_OTG_FS_DM +PA12.Mode=Device_Only +PA12.Signal=USB_OTG_FS_DP +PA15\ (JTDI).GPIOParameters=GPIO_ModeDefaultPP +PA15\ (JTDI).GPIO_ModeDefaultPP=GPIO_MODE_AF_OD +PA15\ (JTDI).Locked=true +PA15\ (JTDI).Signal=S_TIM2_CH1_ETR +PA8.Locked=true +PA8.Signal=GPIO_Output +PA9.Locked=true +PA9.Mode=Asynchronous +PA9.Signal=USART1_TX +PC0.Signal=ADCx_INP10 +PC1.Signal=ADCx_INP11 +PC11.GPIOParameters=PinState,GPIO_PuPd,GPIO_ModeDefaultOutputPP +PC11.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_OD +PC11.GPIO_PuPd=GPIO_NOPULL +PC11.Locked=true +PC11.PinState=GPIO_PIN_RESET +PC11.Signal=GPIO_Output +PC2_C.Mode=IN0-Single-Ended +PC2_C.Signal=ADC3_INP0 +PC3_C.Mode=IN1-Single-Ended +PC3_C.Signal=ADC3_INP1 +PD0.GPIOParameters=GPIO_PuPd,GPIO_ModeDefaultOutputPP +PD0.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_OD +PD0.GPIO_PuPd=GPIO_NOPULL +PD0.Locked=true +PD0.Signal=GPIO_Output +PD1.GPIOParameters=GPIO_PuPd,GPIO_ModeDefaultOutputPP +PD1.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_OD +PD1.GPIO_PuPd=GPIO_NOPULL +PD1.Locked=true +PD1.Signal=GPIO_Output +PD2.Locked=true +PD2.Signal=GPIO_Output +PD3.GPIOParameters=GPIO_PuPd,GPIO_ModeDefaultOutputPP +PD3.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_OD +PD3.GPIO_PuPd=GPIO_NOPULL +PD3.Locked=true +PD3.Signal=GPIO_Output +PD4.GPIOParameters=GPIO_PuPd,GPIO_ModeDefaultOutputPP +PD4.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_OD +PD4.GPIO_PuPd=GPIO_NOPULL +PD4.Locked=true +PD4.Signal=GPIO_Output +PD5.GPIOParameters=GPIO_PuPd,GPIO_ModeDefaultOutputPP +PD5.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_OD +PD5.GPIO_PuPd=GPIO_NOPULL +PD5.Locked=true +PD5.Signal=GPIO_Output +PD7.Locked=true +PD7.Signal=GPIO_Output +PF3.Mode=IN5-Single-Ended +PF3.Signal=ADC3_INP5 +PG10.Locked=true +PG10.Signal=GPIO_Output +PG11.Locked=true +PG11.Signal=GPIO_Output +PG12.Locked=true +PG12.Signal=GPIO_Output +PG13.Locked=true +PG13.Signal=GPIO_Output +PG14.Locked=true +PG14.Signal=GPIO_Output +PG9.Locked=true +PG9.Signal=GPIO_Output +PH0-OSC_IN\ (PH0).Mode=HSE-External-Oscillator +PH0-OSC_IN\ (PH0).Signal=RCC_OSC_IN +PH1-OSC_OUT\ (PH1).Locked=true +PH1-OSC_OUT\ (PH1).Mode=HSE-External-Oscillator +PH1-OSC_OUT\ (PH1).Signal=RCC_OSC_OUT +PH2.Mode=IN13-Single-Ended +PH2.Signal=ADC3_INP13 +PH3.Mode=IN14-Single-Ended +PH3.Signal=ADC3_INP14 +PH4.Mode=IN15-Single-Ended +PH4.Signal=ADC3_INP15 +PH5.Mode=IN16-Single-Ended +PH5.Signal=ADC3_INP16 +PI7.GPIOParameters=PinState +PI7.Locked=true +PI7.PinState=GPIO_PIN_SET +PI7.Signal=GPIO_Output +PinOutPanel.RotationAngle=0 +ProjectManager.AskForMigrate=true +ProjectManager.BackupPrevious=false +ProjectManager.CompilerLinker=GCC +ProjectManager.CompilerOptimize=6 +ProjectManager.ComputerToolchain=false +ProjectManager.CoupleFile=false +ProjectManager.CustomerFirmwarePackage= +ProjectManager.DefaultFWLocation=true +ProjectManager.DeletePrevious=true +ProjectManager.DeviceId=STM32H750IBTx +ProjectManager.FirmwarePackage=STM32Cube FW_H7 V1.12.1 +ProjectManager.FreePins=false +ProjectManager.HalAssertFull=false +ProjectManager.HeapSize=0x200 +ProjectManager.KeepUserCode=true +ProjectManager.LastFirmware=true +ProjectManager.LibraryCopy=2 +ProjectManager.MainLocation=Src +ProjectManager.NoMain=false +ProjectManager.PreviousToolchain= +ProjectManager.ProjectBuild=false +ProjectManager.ProjectFileName=WTZS32-2.ioc +ProjectManager.ProjectName=WTZS32-2 +ProjectManager.ProjectStructure= +ProjectManager.RegisterCallBack= +ProjectManager.StackSize=0x400 +ProjectManager.TargetToolchain=CMake +ProjectManager.ToolChainLocation= +ProjectManager.UAScriptAfterPath= +ProjectManager.UAScriptBeforePath= +ProjectManager.UnderRoot=false +ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_BDMA_Init-BDMA-false-HAL-true,4-MX_DMA_Init-DMA-false-HAL-true,5-MX_ADC3_Init-ADC3-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true,7-MX_TIM2_Init-TIM2-false-HAL-true,8-MX_TIM1_Init-TIM1-false-HAL-true,9-MX_TIM4_Init-TIM4-false-HAL-true,10-MX_USB_DEVICE_Init-USB_DEVICE-false-HAL-false,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true +RCC.ADCFreq_Value=72000000 +RCC.AHB12Freq_Value=240000000 +RCC.AHB4Freq_Value=240000000 +RCC.APB1Freq_Value=120000000 +RCC.APB2Freq_Value=120000000 +RCC.APB3Freq_Value=120000000 +RCC.APB4Freq_Value=120000000 +RCC.AXIClockFreq_Value=240000000 +RCC.CECFreq_Value=32000 +RCC.CKPERFreq_Value=25000000 +RCC.CKPERSourceSelection=RCC_CLKPSOURCE_HSE +RCC.CortexFreq_Value=480000000 +RCC.CpuClockFreq_Value=480000000 +RCC.D1CPREFreq_Value=480000000 +RCC.D1PPRE=RCC_APB3_DIV2 +RCC.D2PPRE1=RCC_APB1_DIV2 +RCC.D2PPRE2=RCC_APB2_DIV2 +RCC.D3PPRE=RCC_APB4_DIV2 +RCC.DFSDMACLkFreq_Value=64000000 +RCC.DFSDMFreq_Value=120000000 +RCC.DIVM1=5 +RCC.DIVM2=5 +RCC.DIVM3=5 +RCC.DIVN1=192 +RCC.DIVN2=144 +RCC.DIVN3=192 +RCC.DIVP1Freq_Value=480000000 +RCC.DIVP2=10 +RCC.DIVP2Freq_Value=72000000 +RCC.DIVP3Freq_Value=480000000 +RCC.DIVQ1=15 +RCC.DIVQ1Freq_Value=64000000 +RCC.DIVQ2Freq_Value=360000000 +RCC.DIVQ3Freq_Value=480000000 +RCC.DIVR1Freq_Value=480000000 +RCC.DIVR2Freq_Value=360000000 +RCC.DIVR3Freq_Value=480000000 +RCC.FDCANFreq_Value=64000000 +RCC.FMCFreq_Value=240000000 +RCC.FamilyName=M +RCC.HCLK3ClockFreq_Value=240000000 +RCC.HCLKFreq_Value=240000000 +RCC.HPRE=RCC_HCLK_DIV2 +RCC.HRTIMFreq_Value=240000000 +RCC.HSE_VALUE=25000000 +RCC.I2C123Freq_Value=120000000 +RCC.I2C4Freq_Value=120000000 +RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CKPERSourceSelection,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,D1PPRE,D2PPRE1,D2PPRE2,D3PPRE,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1,DIVQ1Freq_Value,DIVQ2Freq_Value,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3Freq_Value,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HRTIMFreq_Value,HSE_VALUE,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLLFRACN,PLLSourceVirtual,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SAI23Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16Freq_Value,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value +RCC.LPTIM1Freq_Value=120000000 +RCC.LPTIM2Freq_Value=120000000 +RCC.LPTIM345Freq_Value=120000000 +RCC.LPUART1Freq_Value=120000000 +RCC.LTDCFreq_Value=480000000 +RCC.MCO1PinFreq_Value=64000000 +RCC.MCO2PinFreq_Value=480000000 +RCC.PLL2FRACN=0 +RCC.PLLFRACN=0 +RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE +RCC.QSPIFreq_Value=240000000 +RCC.RNGFreq_Value=48000000 +RCC.RTCFreq_Value=32000 +RCC.SAI1Freq_Value=64000000 +RCC.SAI23Freq_Value=64000000 +RCC.SAI4AFreq_Value=64000000 +RCC.SAI4BFreq_Value=64000000 +RCC.SDMMCFreq_Value=64000000 +RCC.SPDIFRXFreq_Value=64000000 +RCC.SPI123Freq_Value=64000000 +RCC.SPI45Freq_Value=120000000 +RCC.SPI6Freq_Value=120000000 +RCC.SWPMI1Freq_Value=120000000 +RCC.SYSCLKFreq_VALUE=480000000 +RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK +RCC.Tim1OutputFreq_Value=240000000 +RCC.Tim2OutputFreq_Value=240000000 +RCC.TraceFreq_Value=64000000 +RCC.USART16Freq_Value=120000000 +RCC.USART234578Freq_Value=120000000 +RCC.USBFreq_Value=64000000 +RCC.VCO1OutputFreq_Value=960000000 +RCC.VCO2OutputFreq_Value=720000000 +RCC.VCO3OutputFreq_Value=960000000 +RCC.VCOInput1Freq_Value=5000000 +RCC.VCOInput2Freq_Value=5000000 +RCC.VCOInput3Freq_Value=5000000 +SH.ADCx_INP10.0=ADC3_INP10,IN10-Single-Ended +SH.ADCx_INP10.ConfNb=1 +SH.ADCx_INP11.0=ADC3_INP11,IN11-Single-Ended +SH.ADCx_INP11.ConfNb=1 +SH.S_TIM2_CH1_ETR.0=TIM2_CH1,PWM Generation1 CH1 +SH.S_TIM2_CH1_ETR.ConfNb=1 +TIM1.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE +TIM1.Channel-PWM\ Generation1\ No\ Output=TIM_CHANNEL_1 +TIM1.IPParameters=Prescaler,Period,AutoReloadPreload,Channel-PWM Generation1 No Output,TIM_MasterSlaveMode,TIM_MasterOutputTrigger,Pulse-PWM Generation1 No Output +TIM1.Period=100-1 +TIM1.Prescaler=240000000 / 1000000-1 +TIM1.Pulse-PWM\ Generation1\ No\ Output=5 +TIM1.TIM_MasterOutputTrigger=TIM_TRGO_UPDATE +TIM1.TIM_MasterSlaveMode=TIM_MASTERSLAVEMODE_ENABLE +TIM2.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE +TIM2.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 +TIM2.IPParameters=Prescaler,Period,AutoReloadPreload,TIM_MasterSlaveMode,TIM_MasterOutputTrigger,Channel-PWM Generation1 CH1 +TIM2.Period=100-1 +TIM2.Prescaler=240000000 / 1000000-1 +TIM2.TIM_MasterOutputTrigger=TIM_TRGO_UPDATE +TIM2.TIM_MasterSlaveMode=TIM_MASTERSLAVEMODE_ENABLE +TIM4.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE +TIM4.Channel-PWM\ Generation1\ No\ Output=TIM_CHANNEL_1 +TIM4.IPParameters=Channel-PWM Generation1 No Output,Prescaler,Period,AutoReloadPreload,TIM_MasterSlaveMode,TIM_MasterOutputTrigger,Pulse-PWM Generation1 No Output +TIM4.Period=100-1 +TIM4.Prescaler=240000000 / 1000000-1 +TIM4.Pulse-PWM\ Generation1\ No\ Output=5 +TIM4.TIM_MasterOutputTrigger=TIM_TRGO_UPDATE +TIM4.TIM_MasterSlaveMode=TIM_MASTERSLAVEMODE_ENABLE +USART1.DMADisableonRxErrorParam=ADVFEATURE_DMA_ENABLEONRXERROR +USART1.IPParameters=VirtualMode-Asynchronous,DMADisableonRxErrorParam,OverrunDisableParam +USART1.OverrunDisableParam=ADVFEATURE_OVERRUN_ENABLE +USART1.VirtualMode-Asynchronous=VM_ASYNC +USB_DEVICE.CLASS_NAME_FS=CDC +USB_DEVICE.IPParameters=VirtualMode-CDC_FS,VirtualModeFS,CLASS_NAME_FS +USB_DEVICE.VirtualMode-CDC_FS=Cdc +USB_DEVICE.VirtualModeFS=Cdc_FS +USB_OTG_FS.IPParameters=VirtualMode +USB_OTG_FS.VirtualMode=Device_Only +VP_FREERTOS_VS_CMSIS_V2.Mode=CMSIS_V2 +VP_FREERTOS_VS_CMSIS_V2.Signal=FREERTOS_VS_CMSIS_V2 +VP_MEMORYMAP_VS_MEMORYMAP.Mode=CurAppReg +VP_MEMORYMAP_VS_MEMORYMAP.Signal=MEMORYMAP_VS_MEMORYMAP +VP_SYS_VS_tim7.Mode=TIM7 +VP_SYS_VS_tim7.Signal=SYS_VS_tim7 +VP_TIM1_VS_ClockSourceINT.Mode=Internal +VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT +VP_TIM1_VS_no_output1.Mode=PWM Generation1 No Output +VP_TIM1_VS_no_output1.Signal=TIM1_VS_no_output1 +VP_TIM2_VS_ClockSourceINT.Mode=Internal +VP_TIM2_VS_ClockSourceINT.Signal=TIM2_VS_ClockSourceINT +VP_TIM4_VS_ClockSourceINT.Mode=Internal +VP_TIM4_VS_ClockSourceINT.Signal=TIM4_VS_ClockSourceINT +VP_TIM4_VS_no_output1.Mode=PWM Generation1 No Output +VP_TIM4_VS_no_output1.Signal=TIM4_VS_no_output1 +VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Mode=CDC_FS +VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Signal=USB_DEVICE_VS_USB_DEVICE_CDC_FS +board=custom +rtos.0.ip=FREERTOS diff --git a/cmake/gcc-arm-none-eabi.cmake b/cmake/gcc-arm-none-eabi.cmake new file mode 100644 index 0000000..481dbd1 --- /dev/null +++ b/cmake/gcc-arm-none-eabi.cmake @@ -0,0 +1,43 @@ +set(CMAKE_SYSTEM_NAME Generic) +set(CMAKE_SYSTEM_PROCESSOR arm) + +set(CMAKE_C_COMPILER_ID GNU) +set(CMAKE_CXX_COMPILER_ID GNU) + +# Some default GCC settings +# arm-none-eabi- must be part of path environment +set(TOOLCHAIN_PREFIX arm-none-eabi-) + +set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc) +set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) +set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g++) +set(CMAKE_LINKER ${TOOLCHAIN_PREFIX}g++) +set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy) +set(CMAKE_SIZE ${TOOLCHAIN_PREFIX}size) + +set(CMAKE_EXECUTABLE_SUFFIX_ASM ".elf") +set(CMAKE_EXECUTABLE_SUFFIX_C ".elf") +set(CMAKE_EXECUTABLE_SUFFIX_CXX ".elf") + +set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) + +# MCU specific flags +set(TARGET_FLAGS "-mcpu=cortex-m7 -mfpu=fpv5-d16 -mfloat-abi=hard ") + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TARGET_FLAGS}") +set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -x assembler-with-cpp -MMD -MP") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fdata-sections -ffunction-sections") + +set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") +set(CMAKE_C_FLAGS_RELEASE "-Os -g0") +set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3") +set(CMAKE_CXX_FLAGS_RELEASE "-Os -g0") + +set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -fno-rtti -fno-exceptions -fno-threadsafe-statics") + +set(CMAKE_EXE_LINKER_FLAGS "${TARGET_FLAGS}") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -T \"${CMAKE_SOURCE_DIR}/STM32H750XX_FLASH.ld\"") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --specs=nano.specs") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Map=${CMAKE_PROJECT_NAME}.map -Wl,--gc-sections") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--print-memory-usage") +set(TOOLCHAIN_LINK_LIBRARIES "m") diff --git a/cmake/starm-clang.cmake b/cmake/starm-clang.cmake new file mode 100644 index 0000000..a7698da --- /dev/null +++ b/cmake/starm-clang.cmake @@ -0,0 +1,65 @@ +set(CMAKE_SYSTEM_NAME Generic) +set(CMAKE_SYSTEM_PROCESSOR arm) + +set(CMAKE_C_COMPILER_ID Clang) +set(CMAKE_CXX_COMPILER_ID Clang) + +# Some default llvm settings +set(TOOLCHAIN_PREFIX starm-) + +set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}clang) +set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) +set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}clang++) +set(CMAKE_LINKER ${TOOLCHAIN_PREFIX}clang) +set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy) +set(CMAKE_SIZE ${TOOLCHAIN_PREFIX}size) + +set(CMAKE_EXECUTABLE_SUFFIX_ASM ".elf") +set(CMAKE_EXECUTABLE_SUFFIX_C ".elf") +set(CMAKE_EXECUTABLE_SUFFIX_CXX ".elf") + +set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) + +# STARM_TOOLCHAIN_CONFIG allows you to choose the toolchain configuration. +# Possible values are: +# "STARM_HYBRID" : Hybrid configuration using starm-clang Assemler and Compiler and GNU Linker +# "STARM_NEWLIB" : starm-clang toolchain with NEWLIB C library +# "STARM_PICOLIBC" : starm-clang toolchain with PICOLIBC C library +set(STARM_TOOLCHAIN_CONFIG "STARM_HYBRID") + +if(STARM_TOOLCHAIN_CONFIG STREQUAL "STARM_HYBRID") + set(TOOLCHAIN_MULTILIBS "--multi-lib-config=\"$ENV{CLANG_GCC_CMSIS_COMPILER}/multilib.gnu_tools_for_stm32.yaml\" --gcc-toolchain=\"$ENV{GCC_TOOLCHAIN_ROOT}/..\"") +elseif (STARM_TOOLCHAIN_CONFIG STREQUAL "STARM_NEWLIB") + set(TOOLCHAIN_MULTILIBS "--config=newlib.cfg") +endif() + +# MCU specific flags +set(TARGET_FLAGS "-mcpu=cortex-m7 -mfpu=fpv5-d16 -mfloat-abi=hard ${TOOLCHAIN_MULTILIBS}") + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TARGET_FLAGS}") +set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -x assembler-with-cpp -MP") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fdata-sections -ffunction-sections") + +set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") +set(CMAKE_C_FLAGS_RELEASE "-Os -g0") +set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3") +set(CMAKE_CXX_FLAGS_RELEASE "-Os -g0") + +set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -fno-rtti -fno-exceptions -fno-threadsafe-statics") + +set(CMAKE_EXE_LINKER_FLAGS "${TARGET_FLAGS}") + +if (STARM_TOOLCHAIN_CONFIG STREQUAL "STARM_HYBRID") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --gcc-specs=nano.specs") + set(TOOLCHAIN_LINK_LIBRARIES "m") +elseif(STARM_TOOLCHAIN_CONFIG STREQUAL "STARM_NEWLIB") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lcrt0-nosys") +elseif(STARM_TOOLCHAIN_CONFIG STREQUAL "STARM_PICOLIBC") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lcrt0-hosted") + +endif() + +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -T \"${CMAKE_SOURCE_DIR}/STM32H750XX_FLASH.ld\"") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Map=${CMAKE_PROJECT_NAME}.map -Wl,--gc-sections") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -z noexecstack") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--print-memory-usage ") diff --git a/cmake/stm32cubemx/CMakeLists.txt b/cmake/stm32cubemx/CMakeLists.txt new file mode 100644 index 0000000..8c654cb --- /dev/null +++ b/cmake/stm32cubemx/CMakeLists.txt @@ -0,0 +1,140 @@ +cmake_minimum_required(VERSION 3.22) +# Enable CMake support for ASM and C languages +enable_language(C ASM) +# STM32CubeMX generated symbols (macros) +set(MX_Defines_Syms + USE_PWR_LDO_SUPPLY + USE_HAL_DRIVER + STM32H750xx + $<$:DEBUG> +) + +# STM32CubeMX generated include paths +set(MX_Include_Dirs + ${CMAKE_CURRENT_SOURCE_DIR}/../../Inc + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Inc + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Inc/Legacy + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/include + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Inc + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/CMSIS/Device/ST/STM32H7xx/Include + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/CMSIS/Include +) + +# STM32CubeMX generated application sources +set(MX_Application_Src + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/main.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/freertos.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/usb_device.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/usbd_conf.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/usbd_desc.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/usbd_cdc_if.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/stm32h7xx_it.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/stm32h7xx_hal_msp.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/stm32h7xx_hal_timebase_tim.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/sysmem.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/syscalls.c + ${CMAKE_CURRENT_SOURCE_DIR}/../../startup_stm32h750xx.s +) + +# STM32 HAL/LL Drivers +set(STM32_Drivers_Src + ${CMAKE_CURRENT_SOURCE_DIR}/../../Src/system_stm32h7xx.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c +) + +# Drivers Midllewares + + +set(USB_Device_Library_Src + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c +) +set(FreeRTOS_Src + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/croutine.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/list.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/queue.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/tasks.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/timers.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c + C:/Users/70659/STM32Cube/Repository/STM32Cube_FW_H7_V1.12.1/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c +) + +# Link directories setup +set(MX_LINK_DIRS + +) +# Project static libraries +set(MX_LINK_LIBS + STM32_Drivers + ${TOOLCHAIN_LINK_LIBRARIES} + USB_Device_Library FreeRTOS +) +# Interface library for includes and symbols +add_library(stm32cubemx INTERFACE) +target_include_directories(stm32cubemx INTERFACE ${MX_Include_Dirs}) +target_compile_definitions(stm32cubemx INTERFACE ${MX_Defines_Syms}) + +# Create STM32_Drivers static library +add_library(STM32_Drivers OBJECT) +target_sources(STM32_Drivers PRIVATE ${STM32_Drivers_Src}) +target_link_libraries(STM32_Drivers PUBLIC stm32cubemx) + + +# Create USB_Device_Library static library +add_library(USB_Device_Library OBJECT) +target_sources(USB_Device_Library PRIVATE ${USB_Device_Library_Src}) +target_link_libraries(USB_Device_Library PUBLIC stm32cubemx) + +# Create FreeRTOS static library +add_library(FreeRTOS OBJECT) +target_sources(FreeRTOS PRIVATE ${FreeRTOS_Src}) +target_link_libraries(FreeRTOS PUBLIC stm32cubemx) + +# Add STM32CubeMX generated application sources to the project +target_sources(${CMAKE_PROJECT_NAME} PRIVATE ${MX_Application_Src}) + +# Link directories setup +target_link_directories(${CMAKE_PROJECT_NAME} PRIVATE ${MX_LINK_DIRS}) + +# Add libraries to the project +target_link_libraries(${CMAKE_PROJECT_NAME} ${MX_LINK_LIBS}) + +# Add the map file to the list of files to be removed with 'clean' target +set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES ADDITIONAL_CLEAN_FILES ${CMAKE_PROJECT_NAME}.map) + +# Validate that STM32CubeMX code is compatible with C standard +if((CMAKE_C_STANDARD EQUAL 90) OR (CMAKE_C_STANDARD EQUAL 99)) + message(ERROR "Generated code requires C11 or higher") +endif() diff --git a/startup_stm32h750xx.s b/startup_stm32h750xx.s new file mode 100644 index 0000000..0290118 --- /dev/null +++ b/startup_stm32h750xx.s @@ -0,0 +1,755 @@ +/** + ****************************************************************************** + * @file startup_stm32h750xx.s + * @author MCD Application Team + * @brief STM32H750xx Devices vector table for GCC based toolchain. + * This module performs: + * - Set the initial SP + * - Set the initial PC == Reset_Handler, + * - Set the vector table entries with the exceptions ISR address + * - Branches to main in the C library (which eventually + * calls main()). + * After Reset the Cortex-M processor is in Thread mode, + * priority is Privileged, and the Stack is set to Main. + ****************************************************************************** + * @attention + * + * Copyright (c) 2018 STMicroelectronics. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ + + .syntax unified + .cpu cortex-m7 + .fpu softvfp + .thumb + +.global g_pfnVectors +.global Default_Handler + +/* start address for the initialization values of the .data section. +defined in linker script */ +.word _sidata +/* start address for the .data section. defined in linker script */ +.word _sdata +/* end address for the .data section. defined in linker script */ +.word _edata +/* start address for the .bss section. defined in linker script */ +.word _sbss +/* end address for the .bss section. defined in linker script */ +.word _ebss +/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ + +/** + * @brief This is the code that gets called when the processor first + * starts execution following a reset event. Only the absolutely + * necessary set is performed, after which the application + * supplied main() routine is called. + * @param None + * @retval : None +*/ + + .section .text.Reset_Handler + .weak Reset_Handler + .type Reset_Handler, %function +Reset_Handler: + ldr sp, =_estack /* set stack pointer */ + +/* Call the ExitRun0Mode function to configure the power supply */ + bl ExitRun0Mode +/* Call the clock system initialization function.*/ + bl SystemInit + +/* Copy the data segment initializers from flash to SRAM */ + ldr r0, =_sdata + ldr r1, =_edata + ldr r2, =_sidata + movs r3, #0 + b LoopCopyDataInit + +CopyDataInit: + ldr r4, [r2, r3] + str r4, [r0, r3] + adds r3, r3, #4 + +LoopCopyDataInit: + adds r4, r0, r3 + cmp r4, r1 + bcc CopyDataInit +/* Zero fill the bss segment. */ + ldr r2, =_sbss + ldr r4, =_ebss + movs r3, #0 + b LoopFillZerobss + +FillZerobss: + str r3, [r2] + adds r2, r2, #4 + +LoopFillZerobss: + cmp r2, r4 + bcc FillZerobss + +/* Call static constructors */ + bl __libc_init_array +/* Call the application's entry point.*/ + bl main + bx lr +.size Reset_Handler, .-Reset_Handler + +/** + * @brief This is the code that gets called when the processor receives an + * unexpected interrupt. This simply enters an infinite loop, preserving + * the system state for examination by a debugger. + * @param None + * @retval None +*/ + .section .text.Default_Handler,"ax",%progbits +Default_Handler: +Infinite_Loop: + b Infinite_Loop + .size Default_Handler, .-Default_Handler +/****************************************************************************** +* +* The minimal vector table for a Cortex M. Note that the proper constructs +* must be placed on this to ensure that it ends up at physical address +* 0x0000.0000. +* +*******************************************************************************/ + .section .isr_vector,"a",%progbits + .type g_pfnVectors, %object + + +g_pfnVectors: + .word _estack + .word Reset_Handler + + .word NMI_Handler + .word HardFault_Handler + .word MemManage_Handler + .word BusFault_Handler + .word UsageFault_Handler + .word 0 + .word 0 + .word 0 + .word 0 + .word SVC_Handler + .word DebugMon_Handler + .word 0 + .word PendSV_Handler + .word SysTick_Handler + + /* External Interrupts */ + .word WWDG_IRQHandler /* Window WatchDog */ + .word PVD_AVD_IRQHandler /* PVD/AVD through EXTI Line detection */ + .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ + .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ + .word FLASH_IRQHandler /* FLASH */ + .word RCC_IRQHandler /* RCC */ + .word EXTI0_IRQHandler /* EXTI Line0 */ + .word EXTI1_IRQHandler /* EXTI Line1 */ + .word EXTI2_IRQHandler /* EXTI Line2 */ + .word EXTI3_IRQHandler /* EXTI Line3 */ + .word EXTI4_IRQHandler /* EXTI Line4 */ + .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ + .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ + .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ + .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ + .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ + .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ + .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ + .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ + .word FDCAN1_IT0_IRQHandler /* FDCAN1 interrupt line 0 */ + .word FDCAN2_IT0_IRQHandler /* FDCAN2 interrupt line 0 */ + .word FDCAN1_IT1_IRQHandler /* FDCAN1 interrupt line 1 */ + .word FDCAN2_IT1_IRQHandler /* FDCAN2 interrupt line 1 */ + .word EXTI9_5_IRQHandler /* External Line[9:5]s */ + .word TIM1_BRK_IRQHandler /* TIM1 Break interrupt */ + .word TIM1_UP_IRQHandler /* TIM1 Update interrupt */ + .word TIM1_TRG_COM_IRQHandler /* TIM1 Trigger and Commutation interrupt */ + .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ + .word TIM2_IRQHandler /* TIM2 */ + .word TIM3_IRQHandler /* TIM3 */ + .word TIM4_IRQHandler /* TIM4 */ + .word I2C1_EV_IRQHandler /* I2C1 Event */ + .word I2C1_ER_IRQHandler /* I2C1 Error */ + .word I2C2_EV_IRQHandler /* I2C2 Event */ + .word I2C2_ER_IRQHandler /* I2C2 Error */ + .word SPI1_IRQHandler /* SPI1 */ + .word SPI2_IRQHandler /* SPI2 */ + .word USART1_IRQHandler /* USART1 */ + .word USART2_IRQHandler /* USART2 */ + .word USART3_IRQHandler /* USART3 */ + .word EXTI15_10_IRQHandler /* External Line[15:10]s */ + .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ + .word 0 /* Reserved */ + .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ + .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ + .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ + .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ + .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ + .word FMC_IRQHandler /* FMC */ + .word SDMMC1_IRQHandler /* SDMMC1 */ + .word TIM5_IRQHandler /* TIM5 */ + .word SPI3_IRQHandler /* SPI3 */ + .word UART4_IRQHandler /* UART4 */ + .word UART5_IRQHandler /* UART5 */ + .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ + .word TIM7_IRQHandler /* TIM7 */ + .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ + .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ + .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ + .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ + .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ + .word ETH_IRQHandler /* Ethernet */ + .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ + .word FDCAN_CAL_IRQHandler /* FDCAN calibration unit interrupt*/ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ + .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ + .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ + .word USART6_IRQHandler /* USART6 */ + .word I2C3_EV_IRQHandler /* I2C3 event */ + .word I2C3_ER_IRQHandler /* I2C3 error */ + .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ + .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ + .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ + .word OTG_HS_IRQHandler /* USB OTG HS */ + .word DCMI_IRQHandler /* DCMI */ + .word CRYP_IRQHandler /* Crypto */ + .word HASH_RNG_IRQHandler /* Hash and Rng */ + .word FPU_IRQHandler /* FPU */ + .word UART7_IRQHandler /* UART7 */ + .word UART8_IRQHandler /* UART8 */ + .word SPI4_IRQHandler /* SPI4 */ + .word SPI5_IRQHandler /* SPI5 */ + .word SPI6_IRQHandler /* SPI6 */ + .word SAI1_IRQHandler /* SAI1 */ + .word LTDC_IRQHandler /* LTDC */ + .word LTDC_ER_IRQHandler /* LTDC error */ + .word DMA2D_IRQHandler /* DMA2D */ + .word SAI2_IRQHandler /* SAI2 */ + .word QUADSPI_IRQHandler /* QUADSPI */ + .word LPTIM1_IRQHandler /* LPTIM1 */ + .word CEC_IRQHandler /* HDMI_CEC */ + .word I2C4_EV_IRQHandler /* I2C4 Event */ + .word I2C4_ER_IRQHandler /* I2C4 Error */ + .word SPDIF_RX_IRQHandler /* SPDIF_RX */ + .word OTG_FS_EP1_OUT_IRQHandler /* USB OTG FS End Point 1 Out */ + .word OTG_FS_EP1_IN_IRQHandler /* USB OTG FS End Point 1 In */ + .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI */ + .word OTG_FS_IRQHandler /* USB OTG FS */ + .word DMAMUX1_OVR_IRQHandler /* DMAMUX1 Overrun interrupt */ + .word HRTIM1_Master_IRQHandler /* HRTIM Master Timer global Interrupt */ + .word HRTIM1_TIMA_IRQHandler /* HRTIM Timer A global Interrupt */ + .word HRTIM1_TIMB_IRQHandler /* HRTIM Timer B global Interrupt */ + .word HRTIM1_TIMC_IRQHandler /* HRTIM Timer C global Interrupt */ + .word HRTIM1_TIMD_IRQHandler /* HRTIM Timer D global Interrupt */ + .word HRTIM1_TIME_IRQHandler /* HRTIM Timer E global Interrupt */ + .word HRTIM1_FLT_IRQHandler /* HRTIM Fault global Interrupt */ + .word DFSDM1_FLT0_IRQHandler /* DFSDM Filter0 Interrupt */ + .word DFSDM1_FLT1_IRQHandler /* DFSDM Filter1 Interrupt */ + .word DFSDM1_FLT2_IRQHandler /* DFSDM Filter2 Interrupt */ + .word DFSDM1_FLT3_IRQHandler /* DFSDM Filter3 Interrupt */ + .word SAI3_IRQHandler /* SAI3 global Interrupt */ + .word SWPMI1_IRQHandler /* Serial Wire Interface 1 global interrupt */ + .word TIM15_IRQHandler /* TIM15 global Interrupt */ + .word TIM16_IRQHandler /* TIM16 global Interrupt */ + .word TIM17_IRQHandler /* TIM17 global Interrupt */ + .word MDIOS_WKUP_IRQHandler /* MDIOS Wakeup Interrupt */ + .word MDIOS_IRQHandler /* MDIOS global Interrupt */ + .word JPEG_IRQHandler /* JPEG global Interrupt */ + .word MDMA_IRQHandler /* MDMA global Interrupt */ + .word 0 /* Reserved */ + .word SDMMC2_IRQHandler /* SDMMC2 global Interrupt */ + .word HSEM1_IRQHandler /* HSEM1 global Interrupt */ + .word 0 /* Reserved */ + .word ADC3_IRQHandler /* ADC3 global Interrupt */ + .word DMAMUX2_OVR_IRQHandler /* DMAMUX Overrun interrupt */ + .word BDMA_Channel0_IRQHandler /* BDMA Channel 0 global Interrupt */ + .word BDMA_Channel1_IRQHandler /* BDMA Channel 1 global Interrupt */ + .word BDMA_Channel2_IRQHandler /* BDMA Channel 2 global Interrupt */ + .word BDMA_Channel3_IRQHandler /* BDMA Channel 3 global Interrupt */ + .word BDMA_Channel4_IRQHandler /* BDMA Channel 4 global Interrupt */ + .word BDMA_Channel5_IRQHandler /* BDMA Channel 5 global Interrupt */ + .word BDMA_Channel6_IRQHandler /* BDMA Channel 6 global Interrupt */ + .word BDMA_Channel7_IRQHandler /* BDMA Channel 7 global Interrupt */ + .word COMP1_IRQHandler /* COMP1 global Interrupt */ + .word LPTIM2_IRQHandler /* LP TIM2 global interrupt */ + .word LPTIM3_IRQHandler /* LP TIM3 global interrupt */ + .word LPTIM4_IRQHandler /* LP TIM4 global interrupt */ + .word LPTIM5_IRQHandler /* LP TIM5 global interrupt */ + .word LPUART1_IRQHandler /* LP UART1 interrupt */ + .word 0 /* Reserved */ + .word CRS_IRQHandler /* Clock Recovery Global Interrupt */ + .word ECC_IRQHandler /* ECC diagnostic Global Interrupt */ + .word SAI4_IRQHandler /* SAI4 global interrupt */ + .word 0 /* Reserved */ + .word 0 /* Reserved */ + .word WAKEUP_PIN_IRQHandler /* Interrupt for all 6 wake-up pins */ + + .size g_pfnVectors, .-g_pfnVectors + +/******************************************************************************* +* +* Provide weak aliases for each Exception handler to the Default_Handler. +* As they are weak aliases, any function with the same name will override +* this definition. +* +*******************************************************************************/ + .weak NMI_Handler + .thumb_set NMI_Handler,Default_Handler + + .weak HardFault_Handler + .thumb_set HardFault_Handler,Default_Handler + + .weak MemManage_Handler + .thumb_set MemManage_Handler,Default_Handler + + .weak BusFault_Handler + .thumb_set BusFault_Handler,Default_Handler + + .weak UsageFault_Handler + .thumb_set UsageFault_Handler,Default_Handler + + .weak SVC_Handler + .thumb_set SVC_Handler,Default_Handler + + .weak DebugMon_Handler + .thumb_set DebugMon_Handler,Default_Handler + + .weak PendSV_Handler + .thumb_set PendSV_Handler,Default_Handler + + .weak SysTick_Handler + .thumb_set SysTick_Handler,Default_Handler + + .weak WWDG_IRQHandler + .thumb_set WWDG_IRQHandler,Default_Handler + + .weak PVD_AVD_IRQHandler + .thumb_set PVD_AVD_IRQHandler,Default_Handler + + .weak TAMP_STAMP_IRQHandler + .thumb_set TAMP_STAMP_IRQHandler,Default_Handler + + .weak RTC_WKUP_IRQHandler + .thumb_set RTC_WKUP_IRQHandler,Default_Handler + + .weak FLASH_IRQHandler + .thumb_set FLASH_IRQHandler,Default_Handler + + .weak RCC_IRQHandler + .thumb_set RCC_IRQHandler,Default_Handler + + .weak EXTI0_IRQHandler + .thumb_set EXTI0_IRQHandler,Default_Handler + + .weak EXTI1_IRQHandler + .thumb_set EXTI1_IRQHandler,Default_Handler + + .weak EXTI2_IRQHandler + .thumb_set EXTI2_IRQHandler,Default_Handler + + .weak EXTI3_IRQHandler + .thumb_set EXTI3_IRQHandler,Default_Handler + + .weak EXTI4_IRQHandler + .thumb_set EXTI4_IRQHandler,Default_Handler + + .weak DMA1_Stream0_IRQHandler + .thumb_set DMA1_Stream0_IRQHandler,Default_Handler + + .weak DMA1_Stream1_IRQHandler + .thumb_set DMA1_Stream1_IRQHandler,Default_Handler + + .weak DMA1_Stream2_IRQHandler + .thumb_set DMA1_Stream2_IRQHandler,Default_Handler + + .weak DMA1_Stream3_IRQHandler + .thumb_set DMA1_Stream3_IRQHandler,Default_Handler + + .weak DMA1_Stream4_IRQHandler + .thumb_set DMA1_Stream4_IRQHandler,Default_Handler + + .weak DMA1_Stream5_IRQHandler + .thumb_set DMA1_Stream5_IRQHandler,Default_Handler + + .weak DMA1_Stream6_IRQHandler + .thumb_set DMA1_Stream6_IRQHandler,Default_Handler + + .weak ADC_IRQHandler + .thumb_set ADC_IRQHandler,Default_Handler + + .weak FDCAN1_IT0_IRQHandler + .thumb_set FDCAN1_IT0_IRQHandler,Default_Handler + + .weak FDCAN2_IT0_IRQHandler + .thumb_set FDCAN2_IT0_IRQHandler,Default_Handler + + .weak FDCAN1_IT1_IRQHandler + .thumb_set FDCAN1_IT1_IRQHandler,Default_Handler + + .weak FDCAN2_IT1_IRQHandler + .thumb_set FDCAN2_IT1_IRQHandler,Default_Handler + + .weak EXTI9_5_IRQHandler + .thumb_set EXTI9_5_IRQHandler,Default_Handler + + .weak TIM1_BRK_IRQHandler + .thumb_set TIM1_BRK_IRQHandler,Default_Handler + + .weak TIM1_UP_IRQHandler + .thumb_set TIM1_UP_IRQHandler,Default_Handler + + .weak TIM1_TRG_COM_IRQHandler + .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler + + .weak TIM1_CC_IRQHandler + .thumb_set TIM1_CC_IRQHandler,Default_Handler + + .weak TIM2_IRQHandler + .thumb_set TIM2_IRQHandler,Default_Handler + + .weak TIM3_IRQHandler + .thumb_set TIM3_IRQHandler,Default_Handler + + .weak TIM4_IRQHandler + .thumb_set TIM4_IRQHandler,Default_Handler + + .weak I2C1_EV_IRQHandler + .thumb_set I2C1_EV_IRQHandler,Default_Handler + + .weak I2C1_ER_IRQHandler + .thumb_set I2C1_ER_IRQHandler,Default_Handler + + .weak I2C2_EV_IRQHandler + .thumb_set I2C2_EV_IRQHandler,Default_Handler + + .weak I2C2_ER_IRQHandler + .thumb_set I2C2_ER_IRQHandler,Default_Handler + + .weak SPI1_IRQHandler + .thumb_set SPI1_IRQHandler,Default_Handler + + .weak SPI2_IRQHandler + .thumb_set SPI2_IRQHandler,Default_Handler + + .weak USART1_IRQHandler + .thumb_set USART1_IRQHandler,Default_Handler + + .weak USART2_IRQHandler + .thumb_set USART2_IRQHandler,Default_Handler + + .weak USART3_IRQHandler + .thumb_set USART3_IRQHandler,Default_Handler + + .weak EXTI15_10_IRQHandler + .thumb_set EXTI15_10_IRQHandler,Default_Handler + + .weak RTC_Alarm_IRQHandler + .thumb_set RTC_Alarm_IRQHandler,Default_Handler + + .weak TIM8_BRK_TIM12_IRQHandler + .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler + + .weak TIM8_UP_TIM13_IRQHandler + .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler + + .weak TIM8_TRG_COM_TIM14_IRQHandler + .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler + + .weak TIM8_CC_IRQHandler + .thumb_set TIM8_CC_IRQHandler,Default_Handler + + .weak DMA1_Stream7_IRQHandler + .thumb_set DMA1_Stream7_IRQHandler,Default_Handler + + .weak FMC_IRQHandler + .thumb_set FMC_IRQHandler,Default_Handler + + .weak SDMMC1_IRQHandler + .thumb_set SDMMC1_IRQHandler,Default_Handler + + .weak TIM5_IRQHandler + .thumb_set TIM5_IRQHandler,Default_Handler + + .weak SPI3_IRQHandler + .thumb_set SPI3_IRQHandler,Default_Handler + + .weak UART4_IRQHandler + .thumb_set UART4_IRQHandler,Default_Handler + + .weak UART5_IRQHandler + .thumb_set UART5_IRQHandler,Default_Handler + + .weak TIM6_DAC_IRQHandler + .thumb_set TIM6_DAC_IRQHandler,Default_Handler + + .weak TIM7_IRQHandler + .thumb_set TIM7_IRQHandler,Default_Handler + + .weak DMA2_Stream0_IRQHandler + .thumb_set DMA2_Stream0_IRQHandler,Default_Handler + + .weak DMA2_Stream1_IRQHandler + .thumb_set DMA2_Stream1_IRQHandler,Default_Handler + + .weak DMA2_Stream2_IRQHandler + .thumb_set DMA2_Stream2_IRQHandler,Default_Handler + + .weak DMA2_Stream3_IRQHandler + .thumb_set DMA2_Stream3_IRQHandler,Default_Handler + + .weak DMA2_Stream4_IRQHandler + .thumb_set DMA2_Stream4_IRQHandler,Default_Handler + + .weak ETH_IRQHandler + .thumb_set ETH_IRQHandler,Default_Handler + + .weak ETH_WKUP_IRQHandler + .thumb_set ETH_WKUP_IRQHandler,Default_Handler + + .weak FDCAN_CAL_IRQHandler + .thumb_set FDCAN_CAL_IRQHandler,Default_Handler + + .weak DMA2_Stream5_IRQHandler + .thumb_set DMA2_Stream5_IRQHandler,Default_Handler + + .weak DMA2_Stream6_IRQHandler + .thumb_set DMA2_Stream6_IRQHandler,Default_Handler + + .weak DMA2_Stream7_IRQHandler + .thumb_set DMA2_Stream7_IRQHandler,Default_Handler + + .weak USART6_IRQHandler + .thumb_set USART6_IRQHandler,Default_Handler + + .weak I2C3_EV_IRQHandler + .thumb_set I2C3_EV_IRQHandler,Default_Handler + + .weak I2C3_ER_IRQHandler + .thumb_set I2C3_ER_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_OUT_IRQHandler + .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_HS_EP1_IN_IRQHandler + .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_HS_WKUP_IRQHandler + .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler + + .weak OTG_HS_IRQHandler + .thumb_set OTG_HS_IRQHandler,Default_Handler + + .weak DCMI_IRQHandler + .thumb_set DCMI_IRQHandler,Default_Handler + + .weak CRYP_IRQHandler + .thumb_set CRYP_IRQHandler,Default_Handler + + .weak HASH_RNG_IRQHandler + .thumb_set HASH_RNG_IRQHandler,Default_Handler + + .weak FPU_IRQHandler + .thumb_set FPU_IRQHandler,Default_Handler + + .weak UART7_IRQHandler + .thumb_set UART7_IRQHandler,Default_Handler + + .weak UART8_IRQHandler + .thumb_set UART8_IRQHandler,Default_Handler + + .weak SPI4_IRQHandler + .thumb_set SPI4_IRQHandler,Default_Handler + + .weak SPI5_IRQHandler + .thumb_set SPI5_IRQHandler,Default_Handler + + .weak SPI6_IRQHandler + .thumb_set SPI6_IRQHandler,Default_Handler + + .weak SAI1_IRQHandler + .thumb_set SAI1_IRQHandler,Default_Handler + + .weak LTDC_IRQHandler + .thumb_set LTDC_IRQHandler,Default_Handler + + .weak LTDC_ER_IRQHandler + .thumb_set LTDC_ER_IRQHandler,Default_Handler + + .weak DMA2D_IRQHandler + .thumb_set DMA2D_IRQHandler,Default_Handler + + .weak SAI2_IRQHandler + .thumb_set SAI2_IRQHandler,Default_Handler + + .weak QUADSPI_IRQHandler + .thumb_set QUADSPI_IRQHandler,Default_Handler + + .weak LPTIM1_IRQHandler + .thumb_set LPTIM1_IRQHandler,Default_Handler + + .weak CEC_IRQHandler + .thumb_set CEC_IRQHandler,Default_Handler + + .weak I2C4_EV_IRQHandler + .thumb_set I2C4_EV_IRQHandler,Default_Handler + + .weak I2C4_ER_IRQHandler + .thumb_set I2C4_ER_IRQHandler,Default_Handler + + .weak SPDIF_RX_IRQHandler + .thumb_set SPDIF_RX_IRQHandler,Default_Handler + + .weak OTG_FS_EP1_OUT_IRQHandler + .thumb_set OTG_FS_EP1_OUT_IRQHandler,Default_Handler + + .weak OTG_FS_EP1_IN_IRQHandler + .thumb_set OTG_FS_EP1_IN_IRQHandler,Default_Handler + + .weak OTG_FS_WKUP_IRQHandler + .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler + + .weak OTG_FS_IRQHandler + .thumb_set OTG_FS_IRQHandler,Default_Handler + + .weak DMAMUX1_OVR_IRQHandler + .thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler + + .weak HRTIM1_Master_IRQHandler + .thumb_set HRTIM1_Master_IRQHandler,Default_Handler + + .weak HRTIM1_TIMA_IRQHandler + .thumb_set HRTIM1_TIMA_IRQHandler,Default_Handler + + .weak HRTIM1_TIMB_IRQHandler + .thumb_set HRTIM1_TIMB_IRQHandler,Default_Handler + + .weak HRTIM1_TIMC_IRQHandler + .thumb_set HRTIM1_TIMC_IRQHandler,Default_Handler + + .weak HRTIM1_TIMD_IRQHandler + .thumb_set HRTIM1_TIMD_IRQHandler,Default_Handler + + .weak HRTIM1_TIME_IRQHandler + .thumb_set HRTIM1_TIME_IRQHandler,Default_Handler + + .weak HRTIM1_FLT_IRQHandler + .thumb_set HRTIM1_FLT_IRQHandler,Default_Handler + + .weak DFSDM1_FLT0_IRQHandler + .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler + + .weak DFSDM1_FLT1_IRQHandler + .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler + + .weak DFSDM1_FLT2_IRQHandler + .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler + + .weak DFSDM1_FLT3_IRQHandler + .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler + + .weak SAI3_IRQHandler + .thumb_set SAI3_IRQHandler,Default_Handler + + .weak SWPMI1_IRQHandler + .thumb_set SWPMI1_IRQHandler,Default_Handler + + .weak TIM15_IRQHandler + .thumb_set TIM15_IRQHandler,Default_Handler + + .weak TIM16_IRQHandler + .thumb_set TIM16_IRQHandler,Default_Handler + + .weak TIM17_IRQHandler + .thumb_set TIM17_IRQHandler,Default_Handler + + .weak MDIOS_WKUP_IRQHandler + .thumb_set MDIOS_WKUP_IRQHandler,Default_Handler + + .weak MDIOS_IRQHandler + .thumb_set MDIOS_IRQHandler,Default_Handler + + .weak JPEG_IRQHandler + .thumb_set JPEG_IRQHandler,Default_Handler + + .weak MDMA_IRQHandler + .thumb_set MDMA_IRQHandler,Default_Handler + + .weak SDMMC2_IRQHandler + .thumb_set SDMMC2_IRQHandler,Default_Handler + + .weak HSEM1_IRQHandler + .thumb_set HSEM1_IRQHandler,Default_Handler + + .weak ADC3_IRQHandler + .thumb_set ADC3_IRQHandler,Default_Handler + + .weak DMAMUX2_OVR_IRQHandler + .thumb_set DMAMUX2_OVR_IRQHandler,Default_Handler + + .weak BDMA_Channel0_IRQHandler + .thumb_set BDMA_Channel0_IRQHandler,Default_Handler + + .weak BDMA_Channel1_IRQHandler + .thumb_set BDMA_Channel1_IRQHandler,Default_Handler + + .weak BDMA_Channel2_IRQHandler + .thumb_set BDMA_Channel2_IRQHandler,Default_Handler + + .weak BDMA_Channel3_IRQHandler + .thumb_set BDMA_Channel3_IRQHandler,Default_Handler + + .weak BDMA_Channel4_IRQHandler + .thumb_set BDMA_Channel4_IRQHandler,Default_Handler + + .weak BDMA_Channel5_IRQHandler + .thumb_set BDMA_Channel5_IRQHandler,Default_Handler + + .weak BDMA_Channel6_IRQHandler + .thumb_set BDMA_Channel6_IRQHandler,Default_Handler + + .weak BDMA_Channel7_IRQHandler + .thumb_set BDMA_Channel7_IRQHandler,Default_Handler + + .weak COMP1_IRQHandler + .thumb_set COMP1_IRQHandler,Default_Handler + + .weak LPTIM2_IRQHandler + .thumb_set LPTIM2_IRQHandler,Default_Handler + + .weak LPTIM3_IRQHandler + .thumb_set LPTIM3_IRQHandler,Default_Handler + + .weak LPTIM4_IRQHandler + .thumb_set LPTIM4_IRQHandler,Default_Handler + + .weak LPTIM5_IRQHandler + .thumb_set LPTIM5_IRQHandler,Default_Handler + + .weak LPUART1_IRQHandler + .thumb_set LPUART1_IRQHandler,Default_Handler + + .weak CRS_IRQHandler + .thumb_set CRS_IRQHandler,Default_Handler + + .weak ECC_IRQHandler + .thumb_set ECC_IRQHandler,Default_Handler + + .weak SAI4_IRQHandler + .thumb_set SAI4_IRQHandler,Default_Handler + + .weak WAKEUP_PIN_IRQHandler + .thumb_set WAKEUP_PIN_IRQHandler,Default_Handler + +