diff --git a/.cproject b/.cproject
new file mode 100644
index 0000000..9eb0ce2
--- /dev/null
+++ b/.cproject
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.mxproject b/.mxproject
new file mode 100644
index 0000000..88e7693
--- /dev/null
+++ b/.mxproject
@@ -0,0 +1,33 @@
+[PreviousLibFiles]
+LibFiles=Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_bus.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_rcc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_crs.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_system.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_utils.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_gpio.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_hsem.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_dma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_dmamux.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_pwr.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_cortex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h;Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_exti.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_tim.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_lpuart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_adc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_bus.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_rcc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_crs.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_system.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_utils.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_gpio.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_hsem.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_dma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_dmamux.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_pwr.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_cortex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h;Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_exti.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_tim_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_tim.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_lpuart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h743xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Drivers/CMSIS/Include/core_armv81mml.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm35p.h;Drivers/CMSIS/Include/cmsis_armclang_ltm.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/cmsis_version.h;
+
+[PreviousUsedCubeIDEFiles]
+SourceFiles=Core/Src/main.c;Core/Src/gpio.c;Core/Src/adc.c;Core/Src/tim.c;Core/Src/usart.c;Core/Src/stm32h7xx_it.c;Core/Src/stm32h7xx_hal_msp.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Core/Src/system_stm32h7xx.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Core/Src/system_stm32h7xx.c;;;
+HeaderPath=Drivers/STM32H7xx_HAL_Driver/Inc;Drivers/STM32H7xx_HAL_Driver/Inc/Legacy;Drivers/CMSIS/Device/ST/STM32H7xx/Include;Drivers/CMSIS/Include;Core/Inc;
+CDefines=USE_PWR_LDO_SUPPLY;USE_PWR_LDO_SUPPLY;USE_PWR_LDO_SUPPLY;USE_HAL_DRIVER;STM32H743xx;USE_HAL_DRIVER;USE_HAL_DRIVER;
+
+[PreviousGenFiles]
+AdvancedFolderStructure=true
+HeaderFileListSize=7
+HeaderFiles#0=../Core/Inc/gpio.h
+HeaderFiles#1=../Core/Inc/adc.h
+HeaderFiles#2=../Core/Inc/tim.h
+HeaderFiles#3=../Core/Inc/usart.h
+HeaderFiles#4=../Core/Inc/stm32h7xx_it.h
+HeaderFiles#5=../Core/Inc/stm32h7xx_hal_conf.h
+HeaderFiles#6=../Core/Inc/main.h
+HeaderFolderListSize=1
+HeaderPath#0=../Core/Inc
+HeaderFiles=;
+SourceFileListSize=7
+SourceFiles#0=../Core/Src/gpio.c
+SourceFiles#1=../Core/Src/adc.c
+SourceFiles#2=../Core/Src/tim.c
+SourceFiles#3=../Core/Src/usart.c
+SourceFiles#4=../Core/Src/stm32h7xx_it.c
+SourceFiles#5=../Core/Src/stm32h7xx_hal_msp.c
+SourceFiles#6=../Core/Src/main.c
+SourceFolderListSize=1
+SourcePath#0=../Core/Src
+SourceFiles=;
+
diff --git a/.project b/.project
new file mode 100644
index 0000000..eba0179
--- /dev/null
+++ b/.project
@@ -0,0 +1,32 @@
+
+
+ ST-LAB-H7
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ com.st.stm32cube.ide.mcu.MCUProjectNature
+ com.st.stm32cube.ide.mcu.MCUCubeProjectNature
+ org.eclipse.cdt.core.cnature
+ com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature
+ com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature
+ com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature
+ com.st.stm32cube.ide.mcu.MCURootProjectNature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
new file mode 100644
index 0000000..640f47b
--- /dev/null
+++ b/.settings/language.settings.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/.settings/stm32cubeide.project.prefs b/.settings/stm32cubeide.project.prefs
new file mode 100644
index 0000000..e587901
--- /dev/null
+++ b/.settings/stm32cubeide.project.prefs
@@ -0,0 +1,5 @@
+635E684B79701B039C64EA45C3F84D30=2A3413AE9AE1613EC74DC9D449319093
+66BE74F758C12D739921AEA421D593D3=1
+8DF89ED150041C4CBC7CB9A9CAA90856=FFA422F9F08E3D18D1E1275AB4E4DDA5
+DC22A860405A8BF2F2C095E5B6529F12=FFA422F9F08E3D18D1E1275AB4E4DDA5
+eclipse.preferences.version=1
diff --git a/Core/Inc/adc.h b/Core/Inc/adc.h
new file mode 100644
index 0000000..0d0f6e6
--- /dev/null
+++ b/Core/Inc/adc.h
@@ -0,0 +1,52 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file adc.h
+ * @brief This file contains all the function prototypes for
+ * the adc.c file
+ ******************************************************************************
+ * @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.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __ADC_H__
+#define __ADC_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+extern ADC_HandleTypeDef hadc3;
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_ADC3_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __ADC_H__ */
+
diff --git a/Core/Inc/gpio.h b/Core/Inc/gpio.h
new file mode 100644
index 0000000..8ba7de1
--- /dev/null
+++ b/Core/Inc/gpio.h
@@ -0,0 +1,49 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file gpio.h
+ * @brief This file contains all the function prototypes for
+ * the gpio.c file
+ ******************************************************************************
+ * @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.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __GPIO_H__
+#define __GPIO_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_GPIO_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__ GPIO_H__ */
+
diff --git a/Core/Inc/main.h b/Core/Inc/main.h
new file mode 100644
index 0000000..4d64b5f
--- /dev/null
+++ b/Core/Inc/main.h
@@ -0,0 +1,85 @@
+/* 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) 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.
+ *
+ ******************************************************************************
+ */
+/* 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 */
+
+/* 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 Error_Handler(void);
+
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+/* Private defines -----------------------------------------------------------*/
+#define B1_Pin GPIO_PIN_13
+#define B1_GPIO_Port GPIOC
+#define LD1_Pin GPIO_PIN_0
+#define LD1_GPIO_Port GPIOB
+#define LD3_Pin GPIO_PIN_14
+#define LD3_GPIO_Port GPIOB
+#define STLINK_RX_Pin GPIO_PIN_8
+#define STLINK_RX_GPIO_Port GPIOD
+#define STLINK_TX_Pin GPIO_PIN_9
+#define STLINK_TX_GPIO_Port GPIOD
+#define JTMS_Pin GPIO_PIN_13
+#define JTMS_GPIO_Port GPIOA
+#define JTCK_Pin GPIO_PIN_14
+#define JTCK_GPIO_Port GPIOA
+#define LD2_Pin GPIO_PIN_1
+#define LD2_GPIO_Port GPIOE
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MAIN_H */
diff --git a/Core/Inc/pansi.h b/Core/Inc/pansi.h
new file mode 100644
index 0000000..63e7948
--- /dev/null
+++ b/Core/Inc/pansi.h
@@ -0,0 +1,95 @@
+/*
+ * pansi.h
+ *
+ * Created on: Nov 13, 2025
+ * Author: pansi21
+ */
+
+#ifndef INC_PANSI_H_
+#define INC_PANSI_H_
+
+#include "main.h"
+#include "stm32h743xx.h"
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+/**
+ Protezione dal cambiamento e dall'uso non raccomandato.
+ Membri interni della struttura. Rende il membro solo lettura e genera un
+ warning se usato da codice esterno.
+ */
+#define __rdon const
+#define __rdwr
+#define __prv8 __attribute__(( deprecated("Questo campo è PRIVATO. Non usarlo. Usa i metodi adatti alla manipolazione o controlla la tua implementazione"))) const
+
+/**
+ Protezione dal linking esterno.
+ Funzioni e variabili globali in un file .c. Limita la funzione/variabile al solo
+ file in cui è definita (visibilità "privata" al file).
+ */
+#define READONLY const
+#define PUBLIC
+#define PRIVATE static
+
+/// Variabile esterna condivisa con una Interrupt Service Routine.
+#define EXT_ISR_VAR extern volatile
+/// Dichiarazione della variabile nel file di definizione (es. .c).
+#define ISR_VAR volatile
+/// Variabile globale condivisa ma non usata negli interrupt
+#define EXT_GLOBAL extern
+
+/// MY DEBUG 1 = debug | 0 = no my debug
+#define MY_DEBUG 1
+#define NO_HAL_IT 0 // 0 disable 1 enable
+
+// ====== USART ================
+
+/**
+ * @brief Inizializza la periferica USART3.
+ * @note Questa implementazione assume PD8=TX, PD9=RX (AF7).
+ * @param pclk_freq La frequenza del clock della periferica (PCLK1 per USART3).
+ * @param baudRate Il baud rate desiderato (es. 115200).
+ */
+PUBLIC void Pansi_USART3_Init(uint32_t pclk_freq, uint32_t baudRate);
+
+/**
+ * @brief Invia un singolo carattere su USART3 (bloccante).
+ * @param c Il carattere da inviare.
+ */
+PUBLIC void Pansi_USART3_SendChar(char c);
+
+/**
+ * @brief Invia una stringa (terminata da null) su USART3.
+ * @param str La stringa da inviare.
+ */
+PUBLIC void Pansi_USART3_SendString(const char *str);
+
+/**
+ * @brief Riceve un singolo carattere da USART3 (bloccante).
+ * @return Il carattere ricevuto.
+ */
+PUBLIC char Pansi_USART3_ReceiveChar(void);
+// ====== END USART ============
+
+// ====== TIM6 =================
+
+// ====== END TIM6 =============
+
+/**
+ * @brief Funzione di Accensione onBoard
+ *
+ * Permette di far accendere e spegnere contemporaneamente tutti i leg
+ * presenti sulla board.
+ */
+void MOTD_init(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* INC_PANSI_H_ */
diff --git a/Core/Inc/stm32h7xx_hal_conf.h b/Core/Inc/stm32h7xx_hal_conf.h
new file mode 100644
index 0000000..4fbe6c2
--- /dev/null
+++ b/Core/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 (0UL) /*!< 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/Core/Inc/stm32h7xx_it.h b/Core/Inc/stm32h7xx_it.h
new file mode 100644
index 0000000..eda8988
--- /dev/null
+++ b/Core/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) 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.
+ *
+ ******************************************************************************
+ */
+/* 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 SVC_Handler(void);
+void DebugMon_Handler(void);
+void PendSV_Handler(void);
+void SysTick_Handler(void);
+void USART3_IRQHandler(void);
+void TIM6_DAC_IRQHandler(void);
+void ADC3_IRQHandler(void);
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32H7xx_IT_H */
diff --git a/Core/Inc/tim.h b/Core/Inc/tim.h
new file mode 100644
index 0000000..fd839c4
--- /dev/null
+++ b/Core/Inc/tim.h
@@ -0,0 +1,52 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tim.h
+ * @brief This file contains all the function prototypes for
+ * the tim.c file
+ ******************************************************************************
+ * @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.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __TIM_H__
+#define __TIM_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+extern TIM_HandleTypeDef htim6;
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_TIM6_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TIM_H__ */
+
diff --git a/Core/Inc/usart.h b/Core/Inc/usart.h
new file mode 100644
index 0000000..b1258f7
--- /dev/null
+++ b/Core/Inc/usart.h
@@ -0,0 +1,52 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file usart.h
+ * @brief This file contains all the function prototypes for
+ * the usart.c file
+ ******************************************************************************
+ * @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.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USART_H__
+#define __USART_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+extern UART_HandleTypeDef huart3;
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_USART3_UART_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USART_H__ */
+
diff --git a/Core/Src/adc.c b/Core/Src/adc.c
new file mode 100644
index 0000000..32f2d33
--- /dev/null
+++ b/Core/Src/adc.c
@@ -0,0 +1,126 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file adc.c
+ * @brief This file provides code for the configuration
+ * of the ADC instances.
+ ******************************************************************************
+ * @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.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "adc.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+ADC_HandleTypeDef hadc3;
+
+/* ADC3 init function */
+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_DIV1;
+ hadc3.Init.Resolution = ADC_RESOLUTION_16B;
+ hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE;
+ hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
+ hadc3.Init.LowPowerAutoWait = DISABLE;
+ hadc3.Init.ContinuousConvMode = DISABLE;
+ hadc3.Init.NbrOfConversion = 1;
+ hadc3.Init.DiscontinuousConvMode = DISABLE;
+ hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START;
+ hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
+ hadc3.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR;
+ hadc3.Init.Overrun = ADC_OVR_DATA_PRESERVED;
+ 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_TEMPSENSOR;
+ 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();
+ }
+ /* USER CODE BEGIN ADC3_Init 2 */
+
+ /* USER CODE END ADC3_Init 2 */
+
+}
+
+void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
+{
+
+ if(adcHandle->Instance==ADC3)
+ {
+ /* USER CODE BEGIN ADC3_MspInit 0 */
+
+ /* USER CODE END ADC3_MspInit 0 */
+ /* ADC3 clock enable */
+ __HAL_RCC_ADC3_CLK_ENABLE();
+
+ /* ADC3 interrupt Init */
+ HAL_NVIC_SetPriority(ADC3_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(ADC3_IRQn);
+ /* USER CODE BEGIN ADC3_MspInit 1 */
+
+ /* USER CODE END ADC3_MspInit 1 */
+ }
+}
+
+void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle)
+{
+
+ if(adcHandle->Instance==ADC3)
+ {
+ /* USER CODE BEGIN ADC3_MspDeInit 0 */
+
+ /* USER CODE END ADC3_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_ADC3_CLK_DISABLE();
+
+ /* ADC3 interrupt Deinit */
+ HAL_NVIC_DisableIRQ(ADC3_IRQn);
+ /* USER CODE BEGIN ADC3_MspDeInit 1 */
+
+ /* USER CODE END ADC3_MspDeInit 1 */
+ }
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c
new file mode 100644
index 0000000..e9beb50
--- /dev/null
+++ b/Core/Src/gpio.c
@@ -0,0 +1,86 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file gpio.c
+ * @brief This file provides code for the configuration
+ * of all used GPIO pins.
+ ******************************************************************************
+ * @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.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "gpio.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*----------------------------------------------------------------------------*/
+/* Configure GPIO */
+/*----------------------------------------------------------------------------*/
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/** Configure pins
+ PC14-OSC32_IN (OSC32_IN) ------> RCC_OSC32_IN
+ PC15-OSC32_OUT (OSC32_OUT) ------> RCC_OSC32_OUT
+ PH0-OSC_IN (PH0) ------> RCC_OSC_IN
+ PH1-OSC_OUT (PH1) ------> RCC_OSC_OUT
+ PA13 (JTMS/SWDIO) ------> DEBUG_JTMS-SWDIO
+ PA14 (JTCK/SWCLK) ------> DEBUG_JTCK-SWCLK
+*/
+void MX_GPIO_Init(void)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOH_CLK_ENABLE();
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOE_CLK_ENABLE();
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOB, LD1_Pin|LD3_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin : B1_Pin */
+ GPIO_InitStruct.Pin = B1_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : LD1_Pin LD3_Pin */
+ GPIO_InitStruct.Pin = LD1_Pin|LD3_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : LD2_Pin */
+ GPIO_InitStruct.Pin = LD2_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(LD2_GPIO_Port, &GPIO_InitStruct);
+
+}
+
+/* USER CODE BEGIN 2 */
+
+/* USER CODE END 2 */
diff --git a/Core/Src/main.c b/Core/Src/main.c
new file mode 100644
index 0000000..5a3f9c5
--- /dev/null
+++ b/Core/Src/main.c
@@ -0,0 +1,268 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.c
+ * @brief : Main program body
+ ******************************************************************************
+ * @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.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "adc.h"
+#include "tim.h"
+#include "usart.h"
+#include "gpio.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+#include
+#include "pansi.h"
+/* 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 PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+void SystemClock_Config(void);
+void PeriphCommonClock_Config(void);
+static void MPU_Config(void);
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+// test printf SWV
+//int _write(int file, char *ptr, int len) {
+// for (int i = 0; i < len; ++i) {
+// ITM_SendChar(*ptr++);
+// }
+// return len;
+//}
+/* USER CODE END 0 */
+
+/**
+ * @brief The application entry point.
+ * @retval int
+ */
+int main(void) {
+
+ /* USER CODE BEGIN 1 */
+
+ /* USER CODE END 1 */
+
+ /* MPU Configuration--------------------------------------------------------*/
+ MPU_Config();
+
+ /* 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();
+
+ /* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
+ /* USER CODE BEGIN SysInit */
+
+ /* USER CODE END SysInit */
+
+ /* Initialize all configured peripherals */
+ MX_GPIO_Init();
+ MX_ADC3_Init();
+ MX_TIM6_Init();
+ MX_USART3_UART_Init();
+ /* USER CODE BEGIN 2 */
+
+ /* USER CODE END 2 */
+
+ /* Infinite loop */
+ /* USER CODE BEGIN WHILE */
+ while (1) {
+ /* USER CODE END WHILE */
+
+ /* USER CODE BEGIN 3 */
+ __rdon char *hello = "Welcome to Test\r\n";
+
+ MOTD_init();
+ }
+ /* 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_BYPASS;
+ 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 = 2;
+ 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 Peripherals Common Clock Configuration
+ * @retval None
+ */
+void PeriphCommonClock_Config(void) {
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 };
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC
+ | RCC_PERIPHCLK_USART3;
+ PeriphClkInitStruct.PLL2.PLL2M = 2;
+ PeriphClkInitStruct.PLL2.PLL2N = 12;
+ PeriphClkInitStruct.PLL2.PLL2P = 2;
+ PeriphClkInitStruct.PLL2.PLL2Q = 2;
+ PeriphClkInitStruct.PLL2.PLL2R = 2;
+ PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3;
+ PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOMEDIUM;
+ PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
+ PeriphClkInitStruct.Usart234578ClockSelection =
+ RCC_USART234578CLKSOURCE_PLL2;
+ PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) {
+ Error_Handler();
+ }
+}
+
+/* USER CODE BEGIN 4 */
+
+/* USER CODE END 4 */
+
+/* MPU Configuration */
+
+void MPU_Config(void) {
+ MPU_Region_InitTypeDef MPU_InitStruct = { 0 };
+
+ /* Disables the MPU */
+ HAL_MPU_Disable();
+
+ /** Initializes and configures the Region and the memory to be protected
+ */
+ MPU_InitStruct.Enable = MPU_REGION_ENABLE;
+ MPU_InitStruct.Number = MPU_REGION_NUMBER0;
+ MPU_InitStruct.BaseAddress = 0x0;
+ MPU_InitStruct.Size = MPU_REGION_SIZE_4GB;
+ MPU_InitStruct.SubRegionDisable = 0x87;
+ MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;
+ MPU_InitStruct.AccessPermission = MPU_REGION_NO_ACCESS;
+ MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE;
+ MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE;
+ MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;
+ MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
+
+ HAL_MPU_ConfigRegion(&MPU_InitStruct);
+ /* Enables the MPU */
+ HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);
+
+}
+
+/**
+ * @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/Core/Src/pansi.c b/Core/Src/pansi.c
new file mode 100644
index 0000000..2667c3b
--- /dev/null
+++ b/Core/Src/pansi.c
@@ -0,0 +1,52 @@
+/*
+ * pansi.c
+ *
+ * Created on: Nov 13, 2025
+ * Author: pansi21
+ * Copyright (c) 2025 PANSI21.xyz.
+ * All rights reserved.
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "pansi.h"
+#include
+
+// ================= USART =======================
+
+// =============== END USART =====================
+
+
+// ================= TIM6 ========================
+
+// =============== END TIM6 =====================
+
+
+// ================= ADC-TEMP =======================
+
+// =============== END ADC-TEMP =====================
+
+
+// ================= ADC-IN =======================
+
+// =============== END ADC-IN =====================
+
+// ================== UTILS =======================
+
+/**
+ * @brief Funzione di Accensione onBoard
+ *
+ * Permette di far accendere e spegnere contemporaneamente tutti i leg
+ * presenti sulla board.
+ */
+void MOTD_init(void) {
+ HAL_Delay(500);
+ GPIOB->BSRR |= GPIO_BSRR_BS0;
+ GPIOB->BSRR |= GPIO_BSRR_BS14;
+ GPIOE->BSRR |= GPIO_BSRR_BS1;
+ HAL_Delay(500);
+ GPIOB->BSRR |= GPIO_BSRR_BR0;
+ GPIOB->BSRR |= GPIO_BSRR_BR14;
+ GPIOE->BSRR |= GPIO_BSRR_BR1;
+}
+
+// ================== END UTILS ===================
diff --git a/Core/Src/stm32h7xx_hal_msp.c b/Core/Src/stm32h7xx_hal_msp.c
new file mode 100644
index 0000000..0953794
--- /dev/null
+++ b/Core/Src/stm32h7xx_hal_msp.c
@@ -0,0 +1,81 @@
+/* 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) 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.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* 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 */
+/**
+ * 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*/
+
+ /* USER CODE BEGIN MspInit 1 */
+
+ /* USER CODE END MspInit 1 */
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Core/Src/stm32h7xx_it.c b/Core/Src/stm32h7xx_it.c
new file mode 100644
index 0000000..108f349
--- /dev/null
+++ b/Core/Src/stm32h7xx_it.c
@@ -0,0 +1,233 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32h7xx_it.c
+ * @brief Interrupt Service Routines.
+ ******************************************************************************
+ * @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.
+ *
+ ******************************************************************************
+ */
+/* 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 ADC_HandleTypeDef hadc3;
+extern TIM_HandleTypeDef htim6;
+extern UART_HandleTypeDef huart3;
+/* USER CODE BEGIN EV */
+
+/* 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 System service call via SWI instruction.
+ */
+void SVC_Handler(void) {
+ /* USER CODE BEGIN SVCall_IRQn 0 */
+
+ /* USER CODE END SVCall_IRQn 0 */
+ /* USER CODE BEGIN SVCall_IRQn 1 */
+
+ /* USER CODE END SVCall_IRQn 1 */
+}
+
+/**
+ * @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 */
+}
+
+/**
+ * @brief This function handles Pendable request for system service.
+ */
+void PendSV_Handler(void) {
+ /* USER CODE BEGIN PendSV_IRQn 0 */
+
+ /* USER CODE END PendSV_IRQn 0 */
+ /* USER CODE BEGIN PendSV_IRQn 1 */
+
+ /* USER CODE END PendSV_IRQn 1 */
+}
+
+/**
+ * @brief This function handles System tick timer.
+ */
+void SysTick_Handler(void) {
+ /* USER CODE BEGIN SysTick_IRQn 0 */
+
+ /* USER CODE END SysTick_IRQn 0 */
+ HAL_IncTick();
+ /* USER CODE BEGIN SysTick_IRQn 1 */
+
+ /* USER CODE END SysTick_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 USART3 global interrupt.
+ */
+void USART3_IRQHandler(void) {
+ /* USER CODE BEGIN USART3_IRQn 0 */
+
+#if NO_HAL_IT
+ /* USER CODE END USART3_IRQn 0 */
+ HAL_UART_IRQHandler(&huart3);
+ /* USER CODE BEGIN USART3_IRQn 1 */
+#endif
+ /* USER CODE END USART3_IRQn 1 */
+}
+
+/**
+ * @brief This function handles TIM6 global interrupt, DAC1_CH1 and DAC1_CH2 underrun error interrupts.
+ */
+void TIM6_DAC_IRQHandler(void) {
+ /* USER CODE BEGIN TIM6_DAC_IRQn 0 */
+
+#if NO_HAL_IT
+ /* USER CODE END TIM6_DAC_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim6);
+ /* USER CODE BEGIN TIM6_DAC_IRQn 1 */
+#endif
+ /* USER CODE END TIM6_DAC_IRQn 1 */
+}
+
+/**
+ * @brief This function handles ADC3 global interrupt.
+ */
+void ADC3_IRQHandler(void) {
+ /* USER CODE BEGIN ADC3_IRQn 0 */
+
+#if NO_HAL_IT
+ /* USER CODE END ADC3_IRQn 0 */
+ HAL_ADC_IRQHandler(&hadc3);
+ /* USER CODE BEGIN ADC3_IRQn 1 */
+#endif
+ /* USER CODE END ADC3_IRQn 1 */
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Core/Src/syscalls.c b/Core/Src/syscalls.c
new file mode 100644
index 0000000..8884b5a
--- /dev/null
+++ b/Core/Src/syscalls.c
@@ -0,0 +1,176 @@
+/**
+ ******************************************************************************
+ * @file syscalls.c
+ * @author Auto-generated by STM32CubeIDE
+ * @brief STM32CubeIDE Minimal System calls file
+ *
+ * For more information about which c-functions
+ * need which of these lowlevel functions
+ * please consult the Newlib 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;
+}
+
+int _times(struct tms *buf)
+{
+ (void)buf;
+ return -1;
+}
+
+int _stat(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;
+}
diff --git a/Core/Src/sysmem.c b/Core/Src/sysmem.c
new file mode 100644
index 0000000..5d9f7e6
--- /dev/null
+++ b/Core/Src/sysmem.c
@@ -0,0 +1,79 @@
+/**
+ ******************************************************************************
+ * @file sysmem.c
+ * @author Generated by STM32CubeIDE
+ * @brief STM32CubeIDE System Memory calls file
+ *
+ * For more information about which C functions
+ * need which of these lowlevel functions
+ * please consult the newlib 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
+
+/**
+ * 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;
+}
diff --git a/Core/Src/system_stm32h7xx.c b/Core/Src/system_stm32h7xx.c
new file mode 100644
index 0000000..197d15c
--- /dev/null
+++ b/Core/Src/system_stm32h7xx.c
@@ -0,0 +1,556 @@
+/**
+ ******************************************************************************
+ * @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:
+ * - ExitRun0Mode(): Specifies the Power Supply source. This function is
+ * called at startup just after reset and before the call
+ * of SystemInit(). This call is made inside
+ * the "startup_stm32h7xx.s" file.
+ *
+ * - 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 0x400. */
+#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field.
+ This value must be a multiple of 0x400. */
+#else
+#define VECT_TAB_BASE_ADDRESS FLASH_BANK2_BASE /*!< Vector Table base address field.
+ This value must be a multiple of 0x400. */
+#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field.
+ This value must be a multiple of 0x400. */
+#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 0x400. */
+#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field.
+ This value must be a multiple of 0x400. */
+#else
+#define VECT_TAB_BASE_ADDRESS FLASH_BANK1_BASE /*!< Vector Table base address field.
+ This value must be a multiple of 0x400. */
+#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field.
+ This value must be a multiple of 0x400. */
+#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 = 64000000;
+ 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
+ if(READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN) == 0U)
+ {
+ /* Enable the FMC interface clock */
+ SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);
+
+ /*
+ * 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;
+
+ /* Disable the FMC interface clock */
+ CLEAR_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);
+ }
+
+ /* 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 */
+}
+
+/**
+ * @brief Exit Run* mode and Configure the system Power Supply
+ *
+ * @note This function exits the Run* mode and configures the system power supply
+ * according to the definition to be used at compilation preprocessing level.
+ * The application shall set one of the following configuration option:
+ * - PWR_LDO_SUPPLY
+ * - PWR_DIRECT_SMPS_SUPPLY
+ * - PWR_EXTERNAL_SOURCE_SUPPLY
+ * - PWR_SMPS_1V8_SUPPLIES_LDO
+ * - PWR_SMPS_2V5_SUPPLIES_LDO
+ * - PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO
+ * - PWR_SMPS_2V5_SUPPLIES_EXT_AND_LDO
+ * - PWR_SMPS_1V8_SUPPLIES_EXT
+ * - PWR_SMPS_2V5_SUPPLIES_EXT
+ *
+ * @note The function modifies the PWR->CR3 register to enable or disable specific
+ * power supply modes and waits until the voltage level flag is set, indicating
+ * that the power supply configuration is stable.
+ *
+ * @param None
+ * @retval None
+ */
+void ExitRun0Mode(void)
+{
+#if defined(USE_PWR_LDO_SUPPLY)
+ #if defined(SMPS)
+ /* Exit Run* mode by disabling SMPS and enabling LDO */
+ PWR->CR3 = (PWR->CR3 & ~PWR_CR3_SMPSEN) | PWR_CR3_LDOEN;
+ #else
+ /* Enable LDO mode */
+ PWR->CR3 |= PWR_CR3_LDOEN;
+ #endif /* SMPS */
+ /* Wait till voltage level flag is set */
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ {}
+#elif defined(USE_PWR_EXTERNAL_SOURCE_SUPPLY)
+ #if defined(SMPS)
+ /* Exit Run* mode */
+ PWR->CR3 = (PWR->CR3 & ~(PWR_CR3_SMPSEN | PWR_CR3_LDOEN)) | PWR_CR3_BYPASS;
+ #else
+ PWR->CR3 = (PWR->CR3 & ~(PWR_CR3_LDOEN)) | PWR_CR3_BYPASS;
+ #endif /* SMPS */
+ /* Wait till voltage level flag is set */
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ {}
+#elif defined(USE_PWR_DIRECT_SMPS_SUPPLY) && defined(SMPS)
+ /* Exit Run* mode */
+ PWR->CR3 &= ~(PWR_CR3_LDOEN);
+ /* Wait till voltage level flag is set */
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ {}
+#elif defined(USE_PWR_SMPS_1V8_SUPPLIES_LDO) && defined(SMPS)
+ /* Exit Run* mode */
+ PWR->CR3 |= PWR_CR3_SMPSLEVEL_0 | PWR_CR3_SMPSEN | PWR_CR3_LDOEN;
+ /* Wait till voltage level flag is set */
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ {}
+#elif defined(USE_PWR_SMPS_2V5_SUPPLIES_LDO) && defined(SMPS)
+ /* Exit Run* mode */
+ PWR->CR3 |= PWR_CR3_SMPSLEVEL_1 | PWR_CR3_SMPSEN | PWR_CR3_LDOEN;
+ /* Wait till voltage level flag is set */
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ {}
+#elif defined(USE_PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO) && defined(SMPS)
+ /* Exit Run* mode */
+ PWR->CR3 |= PWR_CR3_SMPSLEVEL_0 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_LDOEN;
+ /* Wait till voltage level flag is set */
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ {}
+#elif defined(USE_PWR_SMPS_2V5_SUPPLIES_EXT_AND_LDO) && defined(SMPS)
+ /* Exit Run* mode */
+ PWR->CR3 |= PWR_CR3_SMPSLEVEL_1 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_LDOEN;
+ /* Wait till voltage level flag is set */
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ {}
+#elif defined(USE_PWR_SMPS_1V8_SUPPLIES_EXT) && defined(SMPS)
+ /* Exit Run* mode */
+ PWR->CR3 = (PWR->CR3 & ~(PWR_CR3_LDOEN)) | PWR_CR3_SMPSLEVEL_0 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_BYPASS;
+ /* Wait till voltage level flag is set */
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ {}
+#elif defined(USE_PWR_SMPS_2V5_SUPPLIES_EXT) && defined(SMPS)
+ /* Exit Run* mode */
+ PWR->CR3 = (PWR->CR3 & ~(PWR_CR3_LDOEN)) | PWR_CR3_SMPSLEVEL_1 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_BYPASS;
+ /* Wait till voltage level flag is set */
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ {}
+#else
+ /* No system power supply configuration is selected at exit Run* mode */
+#endif /* USE_PWR_LDO_SUPPLY */
+}
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
diff --git a/Core/Src/tim.c b/Core/Src/tim.c
new file mode 100644
index 0000000..f29f311
--- /dev/null
+++ b/Core/Src/tim.c
@@ -0,0 +1,104 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tim.c
+ * @brief This file provides code for the configuration
+ * of the TIM instances.
+ ******************************************************************************
+ * @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.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "tim.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+TIM_HandleTypeDef htim6;
+
+/* TIM6 init function */
+void MX_TIM6_Init(void)
+{
+
+ /* USER CODE BEGIN TIM6_Init 0 */
+
+ /* USER CODE END TIM6_Init 0 */
+
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+
+ /* USER CODE BEGIN TIM6_Init 1 */
+
+ /* USER CODE END TIM6_Init 1 */
+ htim6.Instance = TIM6;
+ htim6.Init.Prescaler = 0;
+ htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim6.Init.Period = 65535;
+ htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN TIM6_Init 2 */
+
+ /* USER CODE END TIM6_Init 2 */
+
+}
+
+void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
+{
+
+ if(tim_baseHandle->Instance==TIM6)
+ {
+ /* USER CODE BEGIN TIM6_MspInit 0 */
+
+ /* USER CODE END TIM6_MspInit 0 */
+ /* TIM6 clock enable */
+ __HAL_RCC_TIM6_CLK_ENABLE();
+
+ /* TIM6 interrupt Init */
+ HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn);
+ /* USER CODE BEGIN TIM6_MspInit 1 */
+
+ /* USER CODE END TIM6_MspInit 1 */
+ }
+}
+
+void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
+{
+
+ if(tim_baseHandle->Instance==TIM6)
+ {
+ /* USER CODE BEGIN TIM6_MspDeInit 0 */
+
+ /* USER CODE END TIM6_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_TIM6_CLK_DISABLE();
+
+ /* TIM6 interrupt Deinit */
+ HAL_NVIC_DisableIRQ(TIM6_DAC_IRQn);
+ /* USER CODE BEGIN TIM6_MspDeInit 1 */
+
+ /* USER CODE END TIM6_MspDeInit 1 */
+ }
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Core/Src/usart.c b/Core/Src/usart.c
new file mode 100644
index 0000000..3644705
--- /dev/null
+++ b/Core/Src/usart.c
@@ -0,0 +1,134 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file usart.c
+ * @brief This file provides code for the configuration
+ * of the USART instances.
+ ******************************************************************************
+ * @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.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "usart.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+UART_HandleTypeDef huart3;
+
+/* USART3 init function */
+
+void MX_USART3_UART_Init(void)
+{
+
+ /* USER CODE BEGIN USART3_Init 0 */
+
+ /* USER CODE END USART3_Init 0 */
+
+ /* USER CODE BEGIN USART3_Init 1 */
+
+ /* USER CODE END USART3_Init 1 */
+ huart3.Instance = USART3;
+ huart3.Init.BaudRate = 115200;
+ huart3.Init.WordLength = UART_WORDLENGTH_8B;
+ huart3.Init.StopBits = UART_STOPBITS_1;
+ huart3.Init.Parity = UART_PARITY_NONE;
+ huart3.Init.Mode = UART_MODE_TX_RX;
+ huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ huart3.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ huart3.Init.ClockPrescaler = UART_PRESCALER_DIV1;
+ huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart3) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ if (HAL_UARTEx_SetTxFifoThreshold(&huart3, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ if (HAL_UARTEx_SetRxFifoThreshold(&huart3, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ if (HAL_UARTEx_DisableFifoMode(&huart3) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN USART3_Init 2 */
+
+ /* USER CODE END USART3_Init 2 */
+
+}
+
+void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(uartHandle->Instance==USART3)
+ {
+ /* USER CODE BEGIN USART3_MspInit 0 */
+
+ /* USER CODE END USART3_MspInit 0 */
+ /* USART3 clock enable */
+ __HAL_RCC_USART3_CLK_ENABLE();
+
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ /**USART3 GPIO Configuration
+ PD8 ------> USART3_TX
+ PD9 ------> USART3_RX
+ */
+ GPIO_InitStruct.Pin = STLINK_RX_Pin|STLINK_TX_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /* USART3 interrupt Init */
+ HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(USART3_IRQn);
+ /* USER CODE BEGIN USART3_MspInit 1 */
+
+ /* USER CODE END USART3_MspInit 1 */
+ }
+}
+
+void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
+{
+
+ if(uartHandle->Instance==USART3)
+ {
+ /* USER CODE BEGIN USART3_MspDeInit 0 */
+
+ /* USER CODE END USART3_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USART3_CLK_DISABLE();
+
+ /**USART3 GPIO Configuration
+ PD8 ------> USART3_TX
+ PD9 ------> USART3_RX
+ */
+ HAL_GPIO_DeInit(GPIOD, STLINK_RX_Pin|STLINK_TX_Pin);
+
+ /* USART3 interrupt Deinit */
+ HAL_NVIC_DisableIRQ(USART3_IRQn);
+ /* USER CODE BEGIN USART3_MspDeInit 1 */
+
+ /* USER CODE END USART3_MspDeInit 1 */
+ }
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Core/Startup/startup_stm32h743zitx.s b/Core/Startup/startup_stm32h743zitx.s
new file mode 100644
index 0000000..2663d53
--- /dev/null
+++ b/Core/Startup/startup_stm32h743zitx.s
@@ -0,0 +1,752 @@
+/**
+ ******************************************************************************
+ * @file startup_stm32h743xx.s
+ * @author MCD Application Team
+ * @brief STM32H743xx 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) 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.
+ *
+ ******************************************************************************
+ */
+
+ .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 0 /* Reserved */
+ .word RNG_IRQHandler /* 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 RNG_IRQHandler
+ .thumb_set 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
+
+
diff --git a/Debug/Core/Src/adc.cyclo b/Debug/Core/Src/adc.cyclo
new file mode 100644
index 0000000..7baac25
--- /dev/null
+++ b/Debug/Core/Src/adc.cyclo
@@ -0,0 +1,3 @@
+../Core/Src/adc.c:30:6:MX_ADC3_Init 3
+../Core/Src/adc.c:85:6:HAL_ADC_MspInit 2
+../Core/Src/adc.c:105:6:HAL_ADC_MspDeInit 2
diff --git a/Debug/Core/Src/gpio.cyclo b/Debug/Core/Src/gpio.cyclo
new file mode 100644
index 0000000..41e42c4
--- /dev/null
+++ b/Debug/Core/Src/gpio.cyclo
@@ -0,0 +1 @@
+../Core/Src/gpio.c:43:6:MX_GPIO_Init 1
diff --git a/Debug/Core/Src/main.cyclo b/Debug/Core/Src/main.cyclo
new file mode 100644
index 0000000..6d8fcc5
--- /dev/null
+++ b/Debug/Core/Src/main.cyclo
@@ -0,0 +1,4 @@
+../Core/Src/main.c:130:6:SystemClock_Config 4
+../Core/Src/main.c:186:6:PeriphCommonClock_Config 2
+../Core/Src/main.c:76:5:main 1
+../Core/Src/main.c:245:6:Error_Handler 1
diff --git a/Debug/Core/Src/pansi.cyclo b/Debug/Core/Src/pansi.cyclo
new file mode 100644
index 0000000..91fb8fd
--- /dev/null
+++ b/Debug/Core/Src/pansi.cyclo
@@ -0,0 +1 @@
+../Core/Src/pansi.c:41:6:MOTD_init 1
diff --git a/Debug/Core/Src/stm32h7xx_hal_msp.cyclo b/Debug/Core/Src/stm32h7xx_hal_msp.cyclo
new file mode 100644
index 0000000..17fe7d1
--- /dev/null
+++ b/Debug/Core/Src/stm32h7xx_hal_msp.cyclo
@@ -0,0 +1 @@
+../Core/Src/stm32h7xx_hal_msp.c:63:6:HAL_MspInit 1
diff --git a/Debug/Core/Src/stm32h7xx_it.cyclo b/Debug/Core/Src/stm32h7xx_it.cyclo
new file mode 100644
index 0000000..c023bf4
--- /dev/null
+++ b/Debug/Core/Src/stm32h7xx_it.cyclo
@@ -0,0 +1,12 @@
+../Core/Src/stm32h7xx_it.c:71:6:NMI_Handler 1
+../Core/Src/stm32h7xx_it.c:86:6:HardFault_Handler 1
+../Core/Src/stm32h7xx_it.c:101:6:MemManage_Handler 1
+../Core/Src/stm32h7xx_it.c:116:6:BusFault_Handler 1
+../Core/Src/stm32h7xx_it.c:131:6:UsageFault_Handler 1
+../Core/Src/stm32h7xx_it.c:146:6:SVC_Handler 1
+../Core/Src/stm32h7xx_it.c:159:6:DebugMon_Handler 1
+../Core/Src/stm32h7xx_it.c:172:6:PendSV_Handler 1
+../Core/Src/stm32h7xx_it.c:185:6:SysTick_Handler 1
+../Core/Src/stm32h7xx_it.c:206:6:USART3_IRQHandler 1
+../Core/Src/stm32h7xx_it.c:220:6:TIM6_DAC_IRQHandler 1
+../Core/Src/stm32h7xx_it.c:234:6:ADC3_IRQHandler 1
diff --git a/Debug/Core/Src/subdir.mk b/Debug/Core/Src/subdir.mk
new file mode 100644
index 0000000..a339574
--- /dev/null
+++ b/Debug/Core/Src/subdir.mk
@@ -0,0 +1,57 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+# Toolchain: GNU Tools for STM32 (13.3.rel1)
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../Core/Src/adc.c \
+../Core/Src/gpio.c \
+../Core/Src/main.c \
+../Core/Src/pansi.c \
+../Core/Src/stm32h7xx_hal_msp.c \
+../Core/Src/stm32h7xx_it.c \
+../Core/Src/syscalls.c \
+../Core/Src/sysmem.c \
+../Core/Src/system_stm32h7xx.c \
+../Core/Src/tim.c \
+../Core/Src/usart.c
+
+OBJS += \
+./Core/Src/adc.o \
+./Core/Src/gpio.o \
+./Core/Src/main.o \
+./Core/Src/pansi.o \
+./Core/Src/stm32h7xx_hal_msp.o \
+./Core/Src/stm32h7xx_it.o \
+./Core/Src/syscalls.o \
+./Core/Src/sysmem.o \
+./Core/Src/system_stm32h7xx.o \
+./Core/Src/tim.o \
+./Core/Src/usart.o
+
+C_DEPS += \
+./Core/Src/adc.d \
+./Core/Src/gpio.d \
+./Core/Src/main.d \
+./Core/Src/pansi.d \
+./Core/Src/stm32h7xx_hal_msp.d \
+./Core/Src/stm32h7xx_it.d \
+./Core/Src/syscalls.d \
+./Core/Src/sysmem.d \
+./Core/Src/system_stm32h7xx.d \
+./Core/Src/tim.d \
+./Core/Src/usart.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+Core/Src/%.o Core/Src/%.su Core/Src/%.cyclo: ../Core/Src/%.c Core/Src/subdir.mk
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_PWR_LDO_SUPPLY -DUSE_HAL_DRIVER -DSTM32H743xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O3 -ffunction-sections -fdata-sections -Wall -Wextra -pedantic -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+
+clean: clean-Core-2f-Src
+
+clean-Core-2f-Src:
+ -$(RM) ./Core/Src/adc.cyclo ./Core/Src/adc.d ./Core/Src/adc.o ./Core/Src/adc.su ./Core/Src/gpio.cyclo ./Core/Src/gpio.d ./Core/Src/gpio.o ./Core/Src/gpio.su ./Core/Src/main.cyclo ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/pansi.cyclo ./Core/Src/pansi.d ./Core/Src/pansi.o ./Core/Src/pansi.su ./Core/Src/stm32h7xx_hal_msp.cyclo ./Core/Src/stm32h7xx_hal_msp.d ./Core/Src/stm32h7xx_hal_msp.o ./Core/Src/stm32h7xx_hal_msp.su ./Core/Src/stm32h7xx_it.cyclo ./Core/Src/stm32h7xx_it.d ./Core/Src/stm32h7xx_it.o ./Core/Src/stm32h7xx_it.su ./Core/Src/syscalls.cyclo ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.cyclo ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32h7xx.cyclo ./Core/Src/system_stm32h7xx.d ./Core/Src/system_stm32h7xx.o ./Core/Src/system_stm32h7xx.su ./Core/Src/tim.cyclo ./Core/Src/tim.d ./Core/Src/tim.o ./Core/Src/tim.su ./Core/Src/usart.cyclo ./Core/Src/usart.d ./Core/Src/usart.o ./Core/Src/usart.su
+
+.PHONY: clean-Core-2f-Src
+
diff --git a/Debug/Core/Src/syscalls.cyclo b/Debug/Core/Src/syscalls.cyclo
new file mode 100644
index 0000000..8f7c086
--- /dev/null
+++ b/Debug/Core/Src/syscalls.cyclo
@@ -0,0 +1,18 @@
+../Core/Src/syscalls.c:44:6:initialise_monitor_handles 1
+../Core/Src/syscalls.c:48:5:_getpid 1
+../Core/Src/syscalls.c:53:5:_kill 1
+../Core/Src/syscalls.c:61:6:_exit 1
+../Core/Src/syscalls.c:67:27:_read 3
+../Core/Src/syscalls.c:80:27:_write 3
+../Core/Src/syscalls.c:92:5:_close 1
+../Core/Src/syscalls.c:99:5:_fstat 1
+../Core/Src/syscalls.c:106:5:_isatty 1
+../Core/Src/syscalls.c:112:5:_lseek 1
+../Core/Src/syscalls.c:120:5:_open 1
+../Core/Src/syscalls.c:128:5:_wait 1
+../Core/Src/syscalls.c:135:5:_unlink 1
+../Core/Src/syscalls.c:142:5:_times 1
+../Core/Src/syscalls.c:148:5:_stat 1
+../Core/Src/syscalls.c:155:5:_link 1
+../Core/Src/syscalls.c:163:5:_fork 1
+../Core/Src/syscalls.c:169:5:_execve 1
diff --git a/Debug/Core/Src/sysmem.cyclo b/Debug/Core/Src/sysmem.cyclo
new file mode 100644
index 0000000..0090c10
--- /dev/null
+++ b/Debug/Core/Src/sysmem.cyclo
@@ -0,0 +1 @@
+../Core/Src/sysmem.c:53:7:_sbrk 3
diff --git a/Debug/Core/Src/system_stm32h7xx.cyclo b/Debug/Core/Src/system_stm32h7xx.cyclo
new file mode 100644
index 0000000..63241c6
--- /dev/null
+++ b/Debug/Core/Src/system_stm32h7xx.cyclo
@@ -0,0 +1,3 @@
+../Core/Src/system_stm32h7xx.c:180:6:SystemInit 5
+../Core/Src/system_stm32h7xx.c:354:6:SystemCoreClockUpdate 9
+../Core/Src/system_stm32h7xx.c:476:6:ExitRun0Mode 2
diff --git a/Debug/Core/Src/tim.cyclo b/Debug/Core/Src/tim.cyclo
new file mode 100644
index 0000000..58f0850
--- /dev/null
+++ b/Debug/Core/Src/tim.cyclo
@@ -0,0 +1,3 @@
+../Core/Src/tim.c:30:6:MX_TIM6_Init 3
+../Core/Src/tim.c:63:6:HAL_TIM_Base_MspInit 2
+../Core/Src/tim.c:83:6:HAL_TIM_Base_MspDeInit 2
diff --git a/Debug/Core/Src/usart.cyclo b/Debug/Core/Src/usart.cyclo
new file mode 100644
index 0000000..7610e45
--- /dev/null
+++ b/Debug/Core/Src/usart.cyclo
@@ -0,0 +1,3 @@
+../Core/Src/usart.c:31:6:MX_USART3_UART_Init 5
+../Core/Src/usart.c:74:6:HAL_UART_MspInit 2
+../Core/Src/usart.c:107:6:HAL_UART_MspDeInit 2
diff --git a/Debug/Core/Startup/subdir.mk b/Debug/Core/Startup/subdir.mk
new file mode 100644
index 0000000..b61820b
--- /dev/null
+++ b/Debug/Core/Startup/subdir.mk
@@ -0,0 +1,27 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+# Toolchain: GNU Tools for STM32 (13.3.rel1)
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+S_SRCS += \
+../Core/Startup/startup_stm32h743zitx.s
+
+OBJS += \
+./Core/Startup/startup_stm32h743zitx.o
+
+S_DEPS += \
+./Core/Startup/startup_stm32h743zitx.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+Core/Startup/%.o: ../Core/Startup/%.s Core/Startup/subdir.mk
+ arm-none-eabi-gcc -mcpu=cortex-m7 -g3 -DDEBUG -c -x assembler-with-cpp -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@" "$<"
+
+clean: clean-Core-2f-Startup
+
+clean-Core-2f-Startup:
+ -$(RM) ./Core/Startup/startup_stm32h743zitx.d ./Core/Startup/startup_stm32h743zitx.o
+
+.PHONY: clean-Core-2f-Startup
+
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.cyclo
new file mode 100644
index 0000000..13c0ba4
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.cyclo
@@ -0,0 +1,48 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:228:13:HAL_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:239:13:HAL_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:187:19:HAL_DeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:262:26:HAL_InitTick 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:134:19:HAL_Init 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:327:13:HAL_IncTick 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:338:17:HAL_GetTick 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:347:10:HAL_GetTickPrio 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:356:19:HAL_SetTickFreq 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:389:21:HAL_GetTickFreq 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:405:13:HAL_Delay 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:431:13:HAL_SuspendTick 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:447:13:HAL_ResumeTick 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:457:10:HAL_GetHalVersion 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:466:10:HAL_GetREVID 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:475:10:HAL_GetDEVID 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:484:10:HAL_GetUIDw0 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:493:10:HAL_GetUIDw1 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:502:10:HAL_GetUIDw2 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:521:6:HAL_SYSCFG_VREFBUF_VoltageScalingConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:537:6:HAL_SYSCFG_VREFBUF_HighImpedanceConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:549:6:HAL_SYSCFG_VREFBUF_TrimmingConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:561:19:HAL_SYSCFG_EnableVREFBUF 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:587:6:HAL_SYSCFG_DisableVREFBUF 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:601:6:HAL_SYSCFG_ETHInterfaceSelect 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:631:6:HAL_SYSCFG_AnalogSwitchConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:649:6:HAL_SYSCFG_EnableBOOST 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:661:6:HAL_SYSCFG_DisableBOOST 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:677:6:HAL_SYSCFG_CM7BootAddConfig 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:776:6:HAL_EnableCompensationCell 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:787:6:HAL_DisableCompensationCell 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:800:6:HAL_SYSCFG_EnableIOSpeedOptimize 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:816:6:HAL_SYSCFG_DisableIOSpeedOptimize 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:833:6:HAL_SYSCFG_CompensationCodeSelect 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:850:6:HAL_SYSCFG_CompensationCodeConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:912:6:HAL_DBGMCU_EnableDBGSleepMode 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:921:6:HAL_DBGMCU_DisableDBGSleepMode 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:931:6:HAL_DBGMCU_EnableDBGStopMode 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:940:6:HAL_DBGMCU_DisableDBGStopMode 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:949:6:HAL_DBGMCU_EnableDBGStandbyMode 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:958:6:HAL_DBGMCU_DisableDBGStandbyMode 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:1065:6:HAL_SetFMCMemorySwappingConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:1077:10:HAL_GetFMCMemorySwappingConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:1094:6:HAL_EXTI_EdgeConfig 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:1120:6:HAL_EXTI_GenerateSWInterrupt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:1135:6:HAL_EXTI_D1_ClearFlag 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:1170:6:HAL_EXTI_D1_EventInputConfig 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:1264:6:HAL_EXTI_D3_EventInputConfig 3
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.cyclo
new file mode 100644
index 0000000..e4de1f6
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.cyclo
@@ -0,0 +1,29 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1095:13:HAL_ADC_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1112:13:HAL_ADC_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1572:19:HAL_ADC_PollForConversion 21
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1735:19:HAL_ADC_PollForEvent 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2344:10:HAL_ADC_GetValue 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2721:13:HAL_ADC_ConvCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2736:13:HAL_ADC_ConvHalfCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3891:6:ADC_DMAHalfConvCplt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2751:13:HAL_ADC_LevelOutOfWindowCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2773:13:HAL_ADC_ErrorCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2361:6:HAL_ADC_IRQHandler 48
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3813:6:ADC_DMAConvCplt 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3909:6:ADC_DMAError 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2819:19:HAL_ADC_ConfigChannel 56
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3132:19:HAL_ADC_AnalogWDGConfig 41
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3494:10:HAL_ADC_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3508:10:HAL_ADC_GetError 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3538:19:ADC_ConversionStop 23
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3672:19:ADC_Enable 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1397:19:HAL_ADC_Start 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1884:19:HAL_ADC_Start_IT 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2112:19:HAL_ADC_Start_DMA 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3751:19:ADC_Disable 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:842:19:HAL_ADC_DeInit 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1518:19:HAL_ADC_Stop 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2059:19:HAL_ADC_Stop_IT 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2259:19:HAL_ADC_Stop_DMA 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3935:6:ADC_ConfigureBoostMode 28
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:407:19:HAL_ADC_Init 24
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.cyclo
new file mode 100644
index 0000000..13940ac
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.cyclo
@@ -0,0 +1,30 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:126:19:HAL_ADCEx_Calibration_Start 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:200:10:HAL_ADCEx_Calibration_GetValue 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:216:19:HAL_ADCEx_LinearCalibration_GetValue 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:263:19:HAL_ADCEx_Calibration_SetValue 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:326:19:HAL_ADCEx_LinearCalibration_SetValue 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:417:19:HAL_ADCEx_LinearCalibration_FactorLoad 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:463:19:HAL_ADCEx_InjectedStart 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:600:19:HAL_ADCEx_InjectedStop 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:655:19:HAL_ADCEx_InjectedPollForConversion 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:789:19:HAL_ADCEx_InjectedStart_IT 16
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:950:19:HAL_ADCEx_InjectedStop_IT 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1019:19:HAL_ADCEx_MultiModeStart_DMA 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1156:19:HAL_ADCEx_MultiModeStop_DMA 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1280:10:HAL_ADCEx_MultiModeGetValue 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1326:10:HAL_ADCEx_InjectedGetValue 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1361:13:HAL_ADCEx_InjectedConvCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1380:13:HAL_ADCEx_InjectedQueueOverflowCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1395:13:HAL_ADCEx_LevelOutOfWindow2Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1410:13:HAL_ADCEx_LevelOutOfWindow3Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1426:13:HAL_ADCEx_EndOfSamplingCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1443:19:HAL_ADCEx_RegularStop 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1501:19:HAL_ADCEx_RegularStop_IT 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1561:19:HAL_ADCEx_RegularStop_DMA 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1647:19:HAL_ADCEx_RegularMultiModeStop_DMA 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1831:19:HAL_ADCEx_InjectedConfigChannel 79
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:2394:19:HAL_ADCEx_MultiModeConfigChannel 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:2507:19:HAL_ADCEx_EnableInjectedQueue 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:2548:19:HAL_ADCEx_DisableInjectedQueue 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:2585:19:HAL_ADCEx_DisableVoltageRegulator 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:2622:19:HAL_ADCEx_EnterADCDeepPowerDownMode 2
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.cyclo
new file mode 100644
index 0000000..c71973f
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.cyclo
@@ -0,0 +1,21 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:142:6:HAL_NVIC_SetPriorityGrouping 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:164:6:HAL_NVIC_SetPriority 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:186:6:HAL_NVIC_EnableIRQ 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:202:6:HAL_NVIC_DisableIRQ 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:215:6:HAL_NVIC_SystemReset 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:228:10:HAL_SYSTICK_Config 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:256:6:HAL_MPU_Disable 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:279:6:HAL_MPU_Enable 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:296:6:HAL_MPU_EnableRegion 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:312:6:HAL_MPU_DisableRegion 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:330:6:HAL_MPU_ConfigRegion 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:368:10:HAL_NVIC_GetPriorityGrouping 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:395:6:HAL_NVIC_GetPriority 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:410:6:HAL_NVIC_SetPendingIRQ 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:428:10:HAL_NVIC_GetPendingIRQ 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:444:6:HAL_NVIC_ClearPendingIRQ 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:461:10:HAL_NVIC_GetActive 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:478:6:HAL_SYSTICK_CLKSourceConfig 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:505:13:HAL_SYSTICK_Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:496:6:HAL_SYSTICK_IRQHandler 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:536:10:HAL_GetCurrentCPUID 1
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.cyclo
new file mode 100644
index 0000000..9bdbfcd
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.cyclo
@@ -0,0 +1,14 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1860:17:DMA_CalcBaseAndBitshift 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1990:13:DMA_CalcDMAMUXChannelBaseAndMask 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:216:19:HAL_DMA_Init 38
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:468:19:HAL_DMA_DeInit 24
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:625:19:HAL_DMA_Start 37
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:681:19:HAL_DMA_Start_IT 70
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:781:19:HAL_DMA_Abort 48
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:897:19:HAL_DMA_Abort_IT 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:981:19:HAL_DMA_PollForTransfer 37
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1208:6:HAL_DMA_IRQHandler 62
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1578:19:HAL_DMA_RegisterCallback 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1645:19:HAL_DMA_UnRegisterCallback 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1736:22:HAL_DMA_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1747:10:HAL_DMA_GetError 1
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.cyclo
new file mode 100644
index 0000000..9edc18a
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.cyclo
@@ -0,0 +1,9 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:648:13:DMA_MultiBufferSetConfig 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:120:19:HAL_DMAEx_MultiBufferStart 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:217:19:HAL_DMAEx_MultiBufferStart_IT 25
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:357:19:HAL_DMAEx_ChangeMemory 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:396:19:HAL_DMAEx_ConfigMuxSync 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:464:19:HAL_DMAEx_ConfigMuxRequestGenerator 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:530:19:HAL_DMAEx_EnableMuxRequestGenerator 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:556:19:HAL_DMAEx_DisableMuxRequestGenerator 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:582:6:HAL_DMAEx_MUX_IRQHandler 6
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.cyclo
new file mode 100644
index 0000000..57d936c
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.cyclo
@@ -0,0 +1,9 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c:170:19:HAL_EXTI_SetConfigLine 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c:374:19:HAL_EXTI_GetConfigLine 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c:512:19:HAL_EXTI_ClearConfigLine 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c:612:19:HAL_EXTI_RegisterCallback 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c:644:19:HAL_EXTI_GetHandle 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c:685:6:HAL_EXTI_IRQHandler 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c:737:10:HAL_EXTI_GetPending 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c:788:6:HAL_EXTI_ClearPending 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c:830:6:HAL_EXTI_GenerateSWI 1
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.cyclo
new file mode 100644
index 0000000..b058a2a
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.cyclo
@@ -0,0 +1,15 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:1070:19:FLASH_WaitForLastOperation.constprop 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:154:19:HAL_FLASH_Program 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:319:19:HAL_FLASH_Program_IT 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:810:13:HAL_FLASH_EndOfOperationCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:828:13:HAL_FLASH_OperationErrorCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:475:6:HAL_FLASH_IRQHandler 22
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:861:19:HAL_FLASH_Unlock 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:898:19:HAL_FLASH_Lock 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:927:19:HAL_FLASH_OB_Unlock 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:949:19:HAL_FLASH_OB_Lock 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:967:19:HAL_FLASH_OB_Launch 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:1045:10:HAL_FLASH_GetError 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:1070:19:FLASH_WaitForLastOperation 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:1154:19:FLASH_OB_WaitForLastOperation 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:1193:19:FLASH_CRC_WaitForLastOperation 14
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.cyclo
new file mode 100644
index 0000000..5a9ff86
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.cyclo
@@ -0,0 +1,11 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1103:13:FLASH_MassErase 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:186:19:HAL_FLASHEx_Erase 19
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:303:19:HAL_FLASHEx_Erase_IT 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:424:19:HAL_FLASHEx_OBProgram 31
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:567:6:HAL_FLASHEx_OBGetConfig 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:635:19:HAL_FLASHEx_Unlock_Bank1 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:657:19:HAL_FLASHEx_Lock_Bank1 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:669:19:HAL_FLASHEx_Unlock_Bank2 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:691:19:HAL_FLASHEx_Lock_Bank2 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:710:19:HAL_FLASHEx_ComputeCRC 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1180:6:FLASH_Erase_Sector 3
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.cyclo
new file mode 100644
index 0000000..8f66614
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.cyclo
@@ -0,0 +1,8 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:165:6:HAL_GPIO_Init 32
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:302:6:HAL_GPIO_DeInit 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:389:15:HAL_GPIO_ReadPin 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:423:6:HAL_GPIO_WritePin 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:445:6:HAL_GPIO_TogglePin 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:470:19:HAL_GPIO_LockPin 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:528:13:HAL_GPIO_EXTI_Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:505:6:HAL_GPIO_EXTI_IRQHandler 2
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.cyclo
new file mode 100644
index 0000000..a64850f
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.cyclo
@@ -0,0 +1,11 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:159:20:HAL_HSEM_Take 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:196:19:HAL_HSEM_FastTake 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:225:10:HAL_HSEM_IsSemTaken 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:237:7:HAL_HSEM_Release 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:258:6:HAL_HSEM_ReleaseAll 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:290:7:HAL_HSEM_SetClearKey 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:302:10:HAL_HSEM_GetClearKey 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:329:6:HAL_HSEM_ActivateNotification 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:353:6:HAL_HSEM_DeactivateNotification 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:422:13:HAL_HSEM_FreeCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:376:6:HAL_HSEM_IRQHandler 1
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.cyclo
new file mode 100644
index 0000000..44e0889
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.cyclo
@@ -0,0 +1,71 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6990:26:I2C_WaitOnFlagUntilTimeout.constprop 23
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7030:26:I2C_WaitOnTXISFlagUntilTimeout 30
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6990:26:I2C_WaitOnFlagUntilTimeout 30
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7071:26:I2C_WaitOnSTOPFlagUntilTimeout 30
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7109:26:I2C_WaitOnRXNEFlagUntilTimeout 39
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:696:13:HAL_I2C_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:535:19:HAL_I2C_Init 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:712:13:HAL_I2C_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:650:19:HAL_I2C_DeInit 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1119:19:HAL_I2C_Master_Transmit 41
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1260:19:HAL_I2C_Master_Receive 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1378:19:HAL_I2C_Slave_Transmit 26
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1565:19:HAL_I2C_Slave_Receive 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1695:19:HAL_I2C_Master_Transmit_IT 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1785:19:HAL_I2C_Master_Receive_IT 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1854:19:HAL_I2C_Slave_Transmit_IT 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1918:19:HAL_I2C_Slave_Receive_IT 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1970:19:HAL_I2C_Master_Transmit_DMA 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:2133:19:HAL_I2C_Master_Receive_DMA 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:2278:19:HAL_I2C_Slave_Transmit_DMA 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:2414:19:HAL_I2C_Slave_Receive_DMA 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:2523:19:HAL_I2C_Mem_Write 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:2660:19:HAL_I2C_Mem_Read 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:2797:19:HAL_I2C_Mem_Write_IT 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:2885:19:HAL_I2C_Mem_Read_IT 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:2972:19:HAL_I2C_Mem_Write_DMA 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:3118:19:HAL_I2C_Mem_Read_DMA 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:3263:19:HAL_I2C_IsDeviceReady 23
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:3418:19:HAL_I2C_Master_Seq_Transmit_IT 16
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:3532:19:HAL_I2C_Master_Seq_Transmit_DMA 19
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:3729:19:HAL_I2C_Master_Seq_Receive_IT 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:3816:19:HAL_I2C_Master_Seq_Receive_DMA 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:3982:19:HAL_I2C_Slave_Seq_Transmit_IT 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4082:19:HAL_I2C_Slave_Seq_Transmit_DMA 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4266:19:HAL_I2C_Slave_Seq_Receive_IT 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4366:19:HAL_I2C_Slave_Seq_Receive_DMA 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4546:19:HAL_I2C_EnableListen_IT 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4570:19:HAL_I2C_DisableListen_IT 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4603:19:HAL_I2C_Master_Abort_IT 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4667:6:HAL_I2C_EV_IRQHandler 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4738:13:HAL_I2C_MasterTxCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4754:13:HAL_I2C_MasterRxCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4769:13:HAL_I2C_SlaveTxCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4785:13:HAL_I2C_SlaveRxCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6086:13:I2C_ITSlaveSeqCplt 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6891:13:I2C_DMASlaveReceiveCplt 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6811:13:I2C_DMASlaveTransmitCplt 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4803:13:HAL_I2C_AddrCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5938:13:I2C_ITAddrCplt.part.0.constprop 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4821:13:HAL_I2C_ListenCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4837:13:HAL_I2C_MemTxCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4853:13:HAL_I2C_MemRxCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4869:13:HAL_I2C_ErrorCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4885:13:HAL_I2C_AbortCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6960:13:I2C_DMAAbort 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6570:13:I2C_ITError 22
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6160:13:I2C_ITMasterCplt 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4968:26:I2C_Master_ISR_IT 29
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5542:26:I2C_Mem_ISR_DMA 21
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5402:26:I2C_Master_ISR_DMA 24
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6920:13:I2C_DMAError 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6760:13:I2C_DMAMasterTransmitCplt 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6840:13:I2C_DMAMasterReceiveCplt 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5119:26:I2C_Mem_ISR_IT 21
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4686:6:HAL_I2C_ER_IRQHandler 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6303:13:I2C_ITSlaveCplt.constprop 31
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5690:26:I2C_Slave_ISR_DMA 37
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5262:26:I2C_Slave_ISR_IT 28
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4920:22:HAL_I2C_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4932:21:HAL_I2C_GetMode 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4943:10:HAL_I2C_GetError 1
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.cyclo
new file mode 100644
index 0000000..a259241
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.cyclo
@@ -0,0 +1,6 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c:96:19:HAL_I2CEx_ConfigAnalogFilter 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c:140:19:HAL_I2CEx_ConfigDigitalFilter 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c:208:19:HAL_I2CEx_EnableWakeUp 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c:247:19:HAL_I2CEx_DisableWakeUp 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c:316:6:HAL_I2CEx_EnableFastModePlus 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c:347:6:HAL_I2CEx_DisableFastModePlus 1
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.cyclo
new file mode 100644
index 0000000..a893250
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.cyclo
@@ -0,0 +1,19 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:218:19:HAL_MDMA_Init 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:294:19:HAL_MDMA_DeInit 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:347:19:HAL_MDMA_ConfigPostRequestMask 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:409:19:HAL_MDMA_RegisterCallback 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:474:19:HAL_MDMA_UnRegisterCallback 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:568:19:HAL_MDMA_LinkedList_CreateNode 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:711:19:HAL_MDMA_LinkedList_AddNode 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:844:19:HAL_MDMA_LinkedList_RemoveNode 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:957:19:HAL_MDMA_LinkedList_EnableCircularMode 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1001:19:HAL_MDMA_LinkedList_DisableCircularMode 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1072:19:HAL_MDMA_Start 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1132:19:HAL_MDMA_Start_IT 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1215:19:HAL_MDMA_Abort 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1280:19:HAL_MDMA_Abort_IT 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1315:19:HAL_MDMA_PollForTransfer 26
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1462:19:HAL_MDMA_GenerateSWRequest 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1504:6:HAL_MDMA_IRQHandler 28
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1722:23:HAL_MDMA_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1733:10:HAL_MDMA_GetError 1
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.cyclo
new file mode 100644
index 0000000..51ebd50
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.cyclo
@@ -0,0 +1,17 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:225:6:HAL_PWR_DeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:236:6:HAL_PWR_EnableBkUpAccess 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:249:6:HAL_PWR_DisableBkUpAccess 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:415:6:HAL_PWR_ConfigPVD 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:470:6:HAL_PWR_EnablePVD 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:480:6:HAL_PWR_DisablePVD 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:507:6:HAL_PWR_EnableWakeUpPin 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:536:6:HAL_PWR_DisableWakeUpPin 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:564:6:HAL_PWR_EnterSLEEPMode 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:618:6:HAL_PWR_EnterSTOPMode 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:689:6:HAL_PWR_EnterSTANDBYMode 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:741:6:HAL_PWR_EnableSleepOnExit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:754:6:HAL_PWR_DisableSleepOnExit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:767:6:HAL_PWR_EnableSEVOnPend 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:779:6:HAL_PWR_DisableSEVOnPend 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:853:13:HAL_PWR_PVDCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:808:6:HAL_PWR_PVD_IRQHandler 2
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.cyclo
new file mode 100644
index 0000000..7331460
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.cyclo
@@ -0,0 +1,40 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:317:19:HAL_PWREx_ConfigSupply 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:389:10:HAL_PWREx_GetSupplyConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:417:19:HAL_PWREx_ControlVoltageScaling 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:516:10:HAL_PWREx_GetVoltageRange 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:542:19:HAL_PWREx_ControlStopModeVoltageScaling 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:557:10:HAL_PWREx_GetStopModeVoltageRange 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:820:6:HAL_PWREx_EnterSTOPMode 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:943:6:HAL_PWREx_ClearPendingEvent 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:990:6:HAL_PWREx_EnterSTANDBYMode 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1085:6:HAL_PWREx_ConfigD3Domain 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1216:6:HAL_PWREx_EnableFlashPowerDown 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1230:6:HAL_PWREx_DisableFlashPowerDown 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1306:6:HAL_PWREx_EnableWakeUpPin 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1348:6:HAL_PWREx_DisableWakeUpPin 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1373:10:HAL_PWREx_GetWakeupFlag 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1398:19:HAL_PWREx_ClearWakeupFlag 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1481:13:HAL_PWREx_WKUP1_Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1492:13:HAL_PWREx_WKUP2_Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1504:13:HAL_PWREx_WKUP3_Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1516:13:HAL_PWREx_WKUP4_Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1528:13:HAL_PWREx_WKUP5_Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1540:13:HAL_PWREx_WKUP6_Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1420:6:HAL_PWREx_WAKEUP_PIN_IRQHandler 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1629:19:HAL_PWREx_EnableBkUpReg 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1655:19:HAL_PWREx_DisableBkUpReg 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1681:19:HAL_PWREx_EnableUSBReg 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1707:19:HAL_PWREx_DisableUSBReg 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1733:6:HAL_PWREx_EnableUSBVoltageDetector 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1743:6:HAL_PWREx_DisableUSBVoltageDetector 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1759:6:HAL_PWREx_EnableBatteryCharging 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1775:6:HAL_PWREx_DisableBatteryCharging 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1865:6:HAL_PWREx_EnableMonitoring 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1875:6:HAL_PWREx_DisableMonitoring 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1886:10:HAL_PWREx_GetTemperatureLevel 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1917:10:HAL_PWREx_GetVBATLevel 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1980:6:HAL_PWREx_ConfigAVD 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:2029:6:HAL_PWREx_EnableAVD 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:2039:6:HAL_PWREx_DisableAVD 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:2135:13:HAL_PWREx_AVDCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:2050:6:HAL_PWREx_PVD_AVD_IRQHandler 7
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.cyclo
new file mode 100644
index 0000000..085ea66
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.cyclo
@@ -0,0 +1,15 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1388:10:HAL_RCC_GetSysClockFreq.part.0 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:188:19:HAL_RCC_DeInit 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:405:26:HAL_RCC_OscConfig 87
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1286:6:HAL_RCC_MCOConfig 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1340:6:HAL_RCC_EnableCSS 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1349:6:HAL_RCC_DisableCSS 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1388:10:HAL_RCC_GetSysClockFreq 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:922:19:HAL_RCC_ClockConfig 37
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1485:10:HAL_RCC_GetHCLKFreq 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1517:10:HAL_RCC_GetPCLK1Freq 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1535:10:HAL_RCC_GetPCLK2Freq 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1552:6:HAL_RCC_GetOscConfig 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1718:6:HAL_RCC_GetClockConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1791:13:HAL_RCC_CSSCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1774:6:HAL_RCC_NMI_IRQHandler 2
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.cyclo
new file mode 100644
index 0000000..e9d1cb7
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.cyclo
@@ -0,0 +1,28 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3693:26:RCCEx_PLL2_Config.part.0 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3798:26:RCCEx_PLL3_Config.part.0 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:105:19:HAL_RCCEx_PeriphCLKConfig 219
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:1692:6:HAL_RCCEx_GetPeriphCLKConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:2904:10:HAL_RCCEx_GetD1PCLK1Freq 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:2921:10:HAL_RCCEx_GetD3PCLK1Freq 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:2945:6:HAL_RCCEx_GetPLL2ClockFreq 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3014:6:HAL_RCCEx_GetPLL3ClockFreq 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3082:6:HAL_RCCEx_GetPLL1ClockFreq 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:1881:10:HAL_RCCEx_GetPeriphCLKFreq 125
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3143:10:HAL_RCCEx_GetD1SysClockFreq 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3183:6:HAL_RCCEx_EnableLSECSS 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3193:6:HAL_RCCEx_DisableLSECSS 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3205:6:HAL_RCCEx_EnableLSECSS_IT 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3232:6:HAL_RCCEx_WakeUpStopCLKConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3247:6:HAL_RCCEx_KerWakeUpStopCLKConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3301:6:HAL_RCCEx_WWDGxSysResetConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3382:6:HAL_RCCEx_CRSConfig 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3432:6:HAL_RCCEx_CRSSoftwareSynchronizationGenerate 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3442:6:HAL_RCCEx_CRSGetSynchronizationInfo 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3475:10:HAL_RCCEx_CRSWaitSynchronization 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3624:13:HAL_RCCEx_CRS_SyncOkCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3635:13:HAL_RCCEx_CRS_SyncWarnCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3646:13:HAL_RCCEx_CRS_ExpectedSyncCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3662:13:HAL_RCCEx_CRS_ErrorCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3559:6:HAL_RCCEx_CRS_IRQHandler 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3914:13:HAL_RCCEx_LSECSS_Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3895:6:HAL_RCCEx_LSECSS_IRQHandler 2
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.cyclo
new file mode 100644
index 0000000..1b7f8cb
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.cyclo
@@ -0,0 +1,111 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6987:13:TIM_OC1_SetConfig 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7139:13:TIM_OC3_SetConfig 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:372:13:HAL_TIM_Base_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:269:19:HAL_TIM_Base_Init 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:387:13:HAL_TIM_Base_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:329:19:HAL_TIM_Base_DeInit 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:403:19:HAL_TIM_Base_Start 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:442:19:HAL_TIM_Base_Stop 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:462:19:HAL_TIM_Base_Start_IT 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:504:19:HAL_TIM_Base_Stop_IT 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:529:19:HAL_TIM_Base_Start_DMA 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:598:19:HAL_TIM_Base_Stop_DMA 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:756:13:HAL_TIM_OC_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:653:19:HAL_TIM_OC_Init 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:771:13:HAL_TIM_OC_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:713:19:HAL_TIM_OC_DeInit 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:794:19:HAL_TIM_OC_Start 27
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:850:19:HAL_TIM_OC_Stop 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:885:19:HAL_TIM_OC_Start_IT 27
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:978:19:HAL_TIM_OC_Stop_IT 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1055:19:HAL_TIM_OC_Start_DMA 53
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1219:19:HAL_TIM_OC_Stop_DMA 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1425:13:HAL_TIM_PWM_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1322:19:HAL_TIM_PWM_Init 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1440:13:HAL_TIM_PWM_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1382:19:HAL_TIM_PWM_DeInit 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1463:19:HAL_TIM_PWM_Start 27
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1519:19:HAL_TIM_PWM_Stop 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1554:19:HAL_TIM_PWM_Start_IT 27
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1647:19:HAL_TIM_PWM_Stop_IT 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1724:19:HAL_TIM_PWM_Start_DMA 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1887:19:HAL_TIM_PWM_Stop_DMA 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2093:13:HAL_TIM_IC_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1990:19:HAL_TIM_IC_Init 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2108:13:HAL_TIM_IC_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2050:19:HAL_TIM_IC_DeInit 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2129:19:HAL_TIM_IC_Start 26
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2181:19:HAL_TIM_IC_Stop 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2211:19:HAL_TIM_IC_Start_IT 26
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2303:19:HAL_TIM_IC_Stop_IT 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2375:19:HAL_TIM_IC_Start_DMA 28
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2534:19:HAL_TIM_IC_Stop_DMA 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2753:13:HAL_TIM_OnePulse_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2639:19:HAL_TIM_OnePulse_Init 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2768:13:HAL_TIM_OnePulse_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2708:19:HAL_TIM_OnePulse_DeInit 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2788:19:HAL_TIM_OnePulse_Start 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2845:19:HAL_TIM_OnePulse_Stop 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2888:19:HAL_TIM_OnePulse_Start_IT 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2951:19:HAL_TIM_OnePulse_Stop_IT 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3190:13:HAL_TIM_Encoder_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3030:19:HAL_TIM_Encoder_Init 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3205:13:HAL_TIM_Encoder_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3145:19:HAL_TIM_Encoder_DeInit 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3225:19:HAL_TIM_Encoder_Start 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3319:19:HAL_TIM_Encoder_Stop 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3379:19:HAL_TIM_Encoder_Start_IT 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3479:19:HAL_TIM_Encoder_Stop_IT 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3544:19:HAL_TIM_Encoder_Start_DMA 29
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3757:19:HAL_TIM_Encoder_Stop_DMA 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4167:19:HAL_TIM_IC_ConfigChannel 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4571:19:HAL_TIM_DMABurst_WriteStart 20
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4631:19:HAL_TIM_DMABurst_MultiWriteStart 20
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4815:19:HAL_TIM_DMABurst_WriteStop 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4923:19:HAL_TIM_DMABurst_ReadStart 20
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4981:19:HAL_TIM_DMABurst_MultiReadStart 20
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5165:19:HAL_TIM_DMABurst_ReadStop 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5249:19:HAL_TIM_GenerateEvent 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5288:19:HAL_TIM_ConfigOCrefClear 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5446:19:HAL_TIM_ConfigClockSource 20
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5605:19:HAL_TIM_ConfigTI1Input 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5637:19:HAL_TIM_SlaveConfigSynchro 25
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5677:19:HAL_TIM_SlaveConfigSynchro_IT 25
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5720:10:HAL_TIM_ReadCapturedValue 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5804:13:HAL_TIM_PeriodElapsedCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6860:13:TIM_DMAPeriodElapsedCplt 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5819:13:HAL_TIM_PeriodElapsedHalfCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6881:13:TIM_DMAPeriodElapsedHalfCplt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5834:13:HAL_TIM_OC_DelayElapsedCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5849:13:HAL_TIM_IC_CaptureCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6758:6:TIM_DMACaptureCplt 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5864:13:HAL_TIM_IC_CaptureHalfCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6821:6:TIM_DMACaptureHalfCplt 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5879:13:HAL_TIM_PWM_PulseFinishedCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6660:13:TIM_DMADelayPulseCplt 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5894:13:HAL_TIM_PWM_PulseFinishedHalfCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6719:6:TIM_DMADelayPulseHalfCplt 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5909:13:HAL_TIM_TriggerCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3834:6:HAL_TIM_IRQHandler 24
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6897:13:TIM_DMATriggerCplt 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5924:13:HAL_TIM_TriggerHalfCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6918:13:TIM_DMATriggerHalfCplt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5939:13:HAL_TIM_ErrorCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6617:6:TIM_DMAError 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6497:22:HAL_TIM_Base_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6507:22:HAL_TIM_OC_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6517:22:HAL_TIM_PWM_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6527:22:HAL_TIM_IC_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6537:22:HAL_TIM_OnePulse_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6547:22:HAL_TIM_Encoder_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6557:23:HAL_TIM_GetActiveChannel 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6575:29:HAL_TIM_GetChannelState 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6592:30:HAL_TIM_DMABurstState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6935:6:TIM_Base_SetConfig 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7063:6:TIM_OC2_SetConfig 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4068:19:HAL_TIM_OC_ConfigChannel 20
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4268:19:HAL_TIM_PWM_ConfigChannel 20
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4416:19:HAL_TIM_OnePulse_ConfigChannel 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7528:6:TIM_TI1_SetConfig 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7835:6:TIM_ETR_SetConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7867:6:TIM_CCxChannelCmd 1
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.cyclo
new file mode 100644
index 0000000..4e4595c
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.cyclo
@@ -0,0 +1,45 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2853:13:TIM_DMAErrorCCxN 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2803:13:TIM_DMADelayPulseNCplt 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:299:13:HAL_TIMEx_HallSensor_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:152:19:HAL_TIMEx_HallSensor_Init 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:314:13:HAL_TIMEx_HallSensor_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:254:19:HAL_TIMEx_HallSensor_DeInit 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:329:19:HAL_TIMEx_HallSensor_Start 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:383:19:HAL_TIMEx_HallSensor_Stop 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:411:19:HAL_TIMEx_HallSensor_Start_IT 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:468:19:HAL_TIMEx_HallSensor_Stop_IT 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:501:19:HAL_TIMEx_HallSensor_Start_DMA 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:577:19:HAL_TIMEx_HallSensor_Stop_DMA 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:639:19:HAL_TIMEx_OCN_Start 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:690:19:HAL_TIMEx_OCN_Stop 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:722:19:HAL_TIMEx_OCN_Start_IT 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:809:19:HAL_TIMEx_OCN_Stop_IT 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:884:19:HAL_TIMEx_OCN_Start_DMA 27
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1022:19:HAL_TIMEx_OCN_Stop_DMA 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1112:19:HAL_TIMEx_PWMN_Start 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1162:19:HAL_TIMEx_PWMN_Stop 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1194:19:HAL_TIMEx_PWMN_Start_IT 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1280:19:HAL_TIMEx_PWMN_Stop_IT 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1355:19:HAL_TIMEx_PWMN_Start_DMA 27
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1493:19:HAL_TIMEx_PWMN_Stop_DMA 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1584:19:HAL_TIMEx_OnePulseN_Start 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1633:19:HAL_TIMEx_OnePulseN_Stop 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1672:19:HAL_TIMEx_OnePulseN_Start_IT 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1727:19:HAL_TIMEx_OnePulseN_Stop_IT 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1813:19:HAL_TIMEx_ConfigCommutEvent 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1875:19:HAL_TIMEx_ConfigCommutEvent_IT 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1938:19:HAL_TIMEx_ConfigCommutEvent_DMA 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1988:19:HAL_TIMEx_MasterConfigSynchronization 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2061:19:HAL_TIMEx_ConfigBreakDeadTime 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2138:19:HAL_TIMEx_ConfigBreakInput 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2321:19:HAL_TIMEx_RemapConfig 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2415:20:HAL_TIMEx_TISelection 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2460:19:HAL_TIMEx_GroupChannel5 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2643:13:HAL_TIMEx_CommutCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2764:6:TIMEx_DMACommutationCplt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2657:13:HAL_TIMEx_CommutHalfCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2783:6:TIMEx_DMACommutationHalfCplt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2672:13:HAL_TIMEx_BreakCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2687:13:HAL_TIMEx_Break2Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2720:22:HAL_TIMEx_HallSensor_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2735:29:HAL_TIMEx_GetChannelNState 4
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.cyclo
new file mode 100644
index 0000000..c6966b5
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.cyclo
@@ -0,0 +1,69 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3649:13:UART_EndRxTransfer 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4090:13:UART_TxISR_16BIT 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4162:13:UART_TxISR_16BIT_FIFOEN 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4061:13:UART_TxISR_8BIT 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4122:13:UART_TxISR_8BIT_FIFOEN 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:679:13:HAL_UART_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:694:13:HAL_UART_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:632:19:HAL_UART_DeInit 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1120:19:HAL_UART_Transmit 23
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1210:19:HAL_UART_Receive 33
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1294:19:HAL_UART_Transmit_IT 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1362:19:HAL_UART_Receive_IT 25
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1403:19:HAL_UART_Transmit_DMA 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1509:19:HAL_UART_DMAPause 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1539:19:HAL_UART_DMAResume 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1570:19:HAL_UART_DMAStop 21
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1645:19:HAL_UART_Abort 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1748:19:HAL_UART_AbortTransmit 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1807:19:HAL_UART_AbortReceive 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2564:13:HAL_UART_TxCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3675:13:UART_DMATransmitCplt 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2579:13:HAL_UART_TxHalfCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3709:13:UART_DMATxHalfCplt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2594:13:HAL_UART_RxCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2609:13:HAL_UART_RxHalfCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2624:13:HAL_UART_ErrorCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3826:13:UART_DMAError 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3866:13:UART_DMAAbortOnError 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2639:13:HAL_UART_AbortCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1875:19:HAL_UART_Abort_IT 24
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3943:13:UART_DMARxAbortCallback 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3888:13:UART_DMATxAbortCallback 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2654:13:HAL_UART_AbortTransmitCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2028:19:HAL_UART_AbortTransmit_IT 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3995:13:UART_DMATxOnlyAbortCallback 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2669:13:HAL_UART_AbortReceiveCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2119:19:HAL_UART_AbortReceive_IT 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4028:13:UART_DMARxOnlyAbortCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2686:13:HAL_UARTEx_RxEventCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2212:6:HAL_UART_IRQHandler 70
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4228:13:UART_RxISR_8BIT.part.0 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4319:13:UART_RxISR_16BIT 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4228:13:UART_RxISR_8BIT 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4412:13:UART_RxISR_8BIT_FIFOEN 32
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4575:13:UART_RxISR_16BIT_FIFOEN 32
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3788:13:UART_DMARxHalfCplt 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3727:13:UART_DMAReceiveCplt 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2734:6:HAL_UART_ReceiverTimeout_Config 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2749:19:HAL_UART_EnableReceiverTimeout 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2787:19:HAL_UART_DisableReceiverTimeout 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2865:6:HAL_MultiProcessor_EnterMuteMode 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2875:19:HAL_HalfDuplex_EnableTransmitter 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2898:19:HAL_HalfDuplex_EnableReceiver 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2922:19:HAL_LIN_SendBreak 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2967:23:HAL_UART_GetState 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2983:10:HAL_UART_GetError 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3029:19:UART_SetConfig 88
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3293:6:UART_AdvFeatureConfig 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3367:19:UART_CheckIdleState 39
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:307:19:HAL_UART_Init 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:382:19:HAL_HalfDuplex_Init 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:457:19:HAL_LIN_Init 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:556:19:HAL_MultiProcessor_Init 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2825:19:HAL_MultiProcessor_EnableMuteMode 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2845:19:HAL_MultiProcessor_DisableMuteMode 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3436:19:UART_WaitOnFlagUntilTimeout 21
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3504:19:UART_Start_Receive_IT 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3576:19:UART_Start_Receive_DMA 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1473:19:HAL_UART_Receive_DMA 8
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.cyclo b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.cyclo
new file mode 100644
index 0000000..3305751
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.cyclo
@@ -0,0 +1,16 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:166:19:HAL_RS485Ex_Init 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:274:13:HAL_UARTEx_WakeupCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:289:13:HAL_UARTEx_RxFifoFullCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:304:13:HAL_UARTEx_TxFifoEmptyCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:389:19:HAL_MultiProcessorEx_AddressLength_Set 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:427:19:HAL_UARTEx_StopModeWakeUpSourceConfig 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:482:19:HAL_UARTEx_EnableStopMode 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:501:19:HAL_UARTEx_DisableStopMode 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:520:19:HAL_UARTEx_EnableFifoMode 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:561:19:HAL_UARTEx_DisableFifoMode 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:607:19:HAL_UARTEx_SetTxFifoThreshold 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:656:19:HAL_UARTEx_SetRxFifoThreshold 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:713:19:HAL_UARTEx_ReceiveToIdle 24
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:836:19:HAL_UARTEx_ReceiveToIdle_IT 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:893:19:HAL_UARTEx_ReceiveToIdle_DMA 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:961:29:HAL_UARTEx_GetRxEventType 1
diff --git a/Debug/Drivers/STM32H7xx_HAL_Driver/Src/subdir.mk b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/subdir.mk
new file mode 100644
index 0000000..269694a
--- /dev/null
+++ b/Debug/Drivers/STM32H7xx_HAL_Driver/Src/subdir.mk
@@ -0,0 +1,90 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+# Toolchain: GNU Tools for STM32 (13.3.rel1)
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c \
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c
+
+OBJS += \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.o \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.o
+
+C_DEPS += \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.d \
+./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+Drivers/STM32H7xx_HAL_Driver/Src/%.o Drivers/STM32H7xx_HAL_Driver/Src/%.su Drivers/STM32H7xx_HAL_Driver/Src/%.cyclo: ../Drivers/STM32H7xx_HAL_Driver/Src/%.c Drivers/STM32H7xx_HAL_Driver/Src/subdir.mk
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_PWR_LDO_SUPPLY -DUSE_HAL_DRIVER -DSTM32H743xx -c -I../Core/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../Drivers/CMSIS/Include -O3 -ffunction-sections -fdata-sections -Wall -Wextra -pedantic -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+
+clean: clean-Drivers-2f-STM32H7xx_HAL_Driver-2f-Src
+
+clean-Drivers-2f-STM32H7xx_HAL_Driver-2f-Src:
+ -$(RM) ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.su ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.cyclo ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.d ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.o ./Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.su
+
+.PHONY: clean-Drivers-2f-STM32H7xx_HAL_Driver-2f-Src
+
diff --git a/Debug/ST-LAB-H7.list b/Debug/ST-LAB-H7.list
new file mode 100644
index 0000000..a388056
--- /dev/null
+++ b/Debug/ST-LAB-H7.list
@@ -0,0 +1,12121 @@
+
+ST-LAB-H7.elf: file format elf32-littlearm
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 .isr_vector 00000298 08000000 08000000 00001000 2**0
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 1 .text 00005380 08000298 08000298 00001298 2**3
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 2 .rodata 00000038 08005618 08005618 00006618 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 3 .ARM 00000008 08005650 08005650 00006650 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 4 .init_array 00000004 08005658 08005658 00006658 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 5 .fini_array 00000004 0800565c 0800565c 0000665c 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 6 .data 00000010 24000000 08005660 00007000 2**2
+ CONTENTS, ALLOC, LOAD, DATA
+ 7 .bss 00000168 24000010 08005670 00007010 2**3
+ ALLOC
+ 8 ._user_heap_stack 00000600 24000178 08005670 00007178 2**0
+ ALLOC
+ 9 .ARM.attributes 0000002e 00000000 00000000 00007010 2**0
+ CONTENTS, READONLY
+ 10 .debug_info 00025c7c 00000000 00000000 0000703e 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 11 .debug_abbrev 00003d8b 00000000 00000000 0002ccba 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 12 .debug_loclists 0001376a 00000000 00000000 00030a45 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 13 .debug_aranges 00001200 00000000 00000000 000441b0 2**3
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 14 .debug_rnglists 00002166 00000000 00000000 000453b0 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 15 .debug_macro 0003a1df 00000000 00000000 00047516 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 16 .debug_line 00027c93 00000000 00000000 000816f5 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 17 .debug_str 00178733 00000000 00000000 000a9388 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 18 .comment 00000043 00000000 00000000 00221abb 2**0
+ CONTENTS, READONLY
+ 19 .debug_frame 00003424 00000000 00000000 00221b00 2**2
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 20 .debug_line_str 00000060 00000000 00000000 00224f24 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+
+Disassembly of section .text:
+
+08000298 <__do_global_dtors_aux>:
+ 8000298: b510 push {r4, lr}
+ 800029a: 4c05 ldr r4, [pc, #20] @ (80002b0 <__do_global_dtors_aux+0x18>)
+ 800029c: 7823 ldrb r3, [r4, #0]
+ 800029e: b933 cbnz r3, 80002ae <__do_global_dtors_aux+0x16>
+ 80002a0: 4b04 ldr r3, [pc, #16] @ (80002b4 <__do_global_dtors_aux+0x1c>)
+ 80002a2: b113 cbz r3, 80002aa <__do_global_dtors_aux+0x12>
+ 80002a4: 4804 ldr r0, [pc, #16] @ (80002b8 <__do_global_dtors_aux+0x20>)
+ 80002a6: f3af 8000 nop.w
+ 80002aa: 2301 movs r3, #1
+ 80002ac: 7023 strb r3, [r4, #0]
+ 80002ae: bd10 pop {r4, pc}
+ 80002b0: 24000010 .word 0x24000010
+ 80002b4: 00000000 .word 0x00000000
+ 80002b8: 08005600 .word 0x08005600
+
+080002bc :
+ 80002bc: b508 push {r3, lr}
+ 80002be: 4b03 ldr r3, [pc, #12] @ (80002cc )
+ 80002c0: b11b cbz r3, 80002ca
+ 80002c2: 4903 ldr r1, [pc, #12] @ (80002d0 )
+ 80002c4: 4803 ldr r0, [pc, #12] @ (80002d4 )
+ 80002c6: f3af 8000 nop.w
+ 80002ca: bd08 pop {r3, pc}
+ 80002cc: 00000000 .word 0x00000000
+ 80002d0: 24000014 .word 0x24000014
+ 80002d4: 08005600 .word 0x08005600
+
+080002d8 <__aeabi_uldivmod>:
+ 80002d8: b953 cbnz r3, 80002f0 <__aeabi_uldivmod+0x18>
+ 80002da: b94a cbnz r2, 80002f0 <__aeabi_uldivmod+0x18>
+ 80002dc: 2900 cmp r1, #0
+ 80002de: bf08 it eq
+ 80002e0: 2800 cmpeq r0, #0
+ 80002e2: bf1c itt ne
+ 80002e4: f04f 31ff movne.w r1, #4294967295 @ 0xffffffff
+ 80002e8: f04f 30ff movne.w r0, #4294967295 @ 0xffffffff
+ 80002ec: f000 b988 b.w 8000600 <__aeabi_idiv0>
+ 80002f0: f1ad 0c08 sub.w ip, sp, #8
+ 80002f4: e96d ce04 strd ip, lr, [sp, #-16]!
+ 80002f8: f000 f806 bl 8000308 <__udivmoddi4>
+ 80002fc: f8dd e004 ldr.w lr, [sp, #4]
+ 8000300: e9dd 2302 ldrd r2, r3, [sp, #8]
+ 8000304: b004 add sp, #16
+ 8000306: 4770 bx lr
+
+08000308 <__udivmoddi4>:
+ 8000308: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
+ 800030c: 9d08 ldr r5, [sp, #32]
+ 800030e: 468e mov lr, r1
+ 8000310: 4604 mov r4, r0
+ 8000312: 4688 mov r8, r1
+ 8000314: 2b00 cmp r3, #0
+ 8000316: d14a bne.n 80003ae <__udivmoddi4+0xa6>
+ 8000318: 428a cmp r2, r1
+ 800031a: 4617 mov r7, r2
+ 800031c: d962 bls.n 80003e4 <__udivmoddi4+0xdc>
+ 800031e: fab2 f682 clz r6, r2
+ 8000322: b14e cbz r6, 8000338 <__udivmoddi4+0x30>
+ 8000324: f1c6 0320 rsb r3, r6, #32
+ 8000328: fa01 f806 lsl.w r8, r1, r6
+ 800032c: fa20 f303 lsr.w r3, r0, r3
+ 8000330: 40b7 lsls r7, r6
+ 8000332: ea43 0808 orr.w r8, r3, r8
+ 8000336: 40b4 lsls r4, r6
+ 8000338: ea4f 4e17 mov.w lr, r7, lsr #16
+ 800033c: fa1f fc87 uxth.w ip, r7
+ 8000340: fbb8 f1fe udiv r1, r8, lr
+ 8000344: 0c23 lsrs r3, r4, #16
+ 8000346: fb0e 8811 mls r8, lr, r1, r8
+ 800034a: ea43 4308 orr.w r3, r3, r8, lsl #16
+ 800034e: fb01 f20c mul.w r2, r1, ip
+ 8000352: 429a cmp r2, r3
+ 8000354: d909 bls.n 800036a <__udivmoddi4+0x62>
+ 8000356: 18fb adds r3, r7, r3
+ 8000358: f101 30ff add.w r0, r1, #4294967295 @ 0xffffffff
+ 800035c: f080 80ea bcs.w 8000534 <__udivmoddi4+0x22c>
+ 8000360: 429a cmp r2, r3
+ 8000362: f240 80e7 bls.w 8000534 <__udivmoddi4+0x22c>
+ 8000366: 3902 subs r1, #2
+ 8000368: 443b add r3, r7
+ 800036a: 1a9a subs r2, r3, r2
+ 800036c: b2a3 uxth r3, r4
+ 800036e: fbb2 f0fe udiv r0, r2, lr
+ 8000372: fb0e 2210 mls r2, lr, r0, r2
+ 8000376: ea43 4302 orr.w r3, r3, r2, lsl #16
+ 800037a: fb00 fc0c mul.w ip, r0, ip
+ 800037e: 459c cmp ip, r3
+ 8000380: d909 bls.n 8000396 <__udivmoddi4+0x8e>
+ 8000382: 18fb adds r3, r7, r3
+ 8000384: f100 32ff add.w r2, r0, #4294967295 @ 0xffffffff
+ 8000388: f080 80d6 bcs.w 8000538 <__udivmoddi4+0x230>
+ 800038c: 459c cmp ip, r3
+ 800038e: f240 80d3 bls.w 8000538 <__udivmoddi4+0x230>
+ 8000392: 443b add r3, r7
+ 8000394: 3802 subs r0, #2
+ 8000396: ea40 4001 orr.w r0, r0, r1, lsl #16
+ 800039a: eba3 030c sub.w r3, r3, ip
+ 800039e: 2100 movs r1, #0
+ 80003a0: b11d cbz r5, 80003aa <__udivmoddi4+0xa2>
+ 80003a2: 40f3 lsrs r3, r6
+ 80003a4: 2200 movs r2, #0
+ 80003a6: e9c5 3200 strd r3, r2, [r5]
+ 80003aa: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
+ 80003ae: 428b cmp r3, r1
+ 80003b0: d905 bls.n 80003be <__udivmoddi4+0xb6>
+ 80003b2: b10d cbz r5, 80003b8 <__udivmoddi4+0xb0>
+ 80003b4: e9c5 0100 strd r0, r1, [r5]
+ 80003b8: 2100 movs r1, #0
+ 80003ba: 4608 mov r0, r1
+ 80003bc: e7f5 b.n 80003aa <__udivmoddi4+0xa2>
+ 80003be: fab3 f183 clz r1, r3
+ 80003c2: 2900 cmp r1, #0
+ 80003c4: d146 bne.n 8000454 <__udivmoddi4+0x14c>
+ 80003c6: 4573 cmp r3, lr
+ 80003c8: d302 bcc.n 80003d0 <__udivmoddi4+0xc8>
+ 80003ca: 4282 cmp r2, r0
+ 80003cc: f200 8105 bhi.w 80005da <__udivmoddi4+0x2d2>
+ 80003d0: 1a84 subs r4, r0, r2
+ 80003d2: eb6e 0203 sbc.w r2, lr, r3
+ 80003d6: 2001 movs r0, #1
+ 80003d8: 4690 mov r8, r2
+ 80003da: 2d00 cmp r5, #0
+ 80003dc: d0e5 beq.n 80003aa <__udivmoddi4+0xa2>
+ 80003de: e9c5 4800 strd r4, r8, [r5]
+ 80003e2: e7e2 b.n 80003aa <__udivmoddi4+0xa2>
+ 80003e4: 2a00 cmp r2, #0
+ 80003e6: f000 8090 beq.w 800050a <__udivmoddi4+0x202>
+ 80003ea: fab2 f682 clz r6, r2
+ 80003ee: 2e00 cmp r6, #0
+ 80003f0: f040 80a4 bne.w 800053c <__udivmoddi4+0x234>
+ 80003f4: 1a8a subs r2, r1, r2
+ 80003f6: 0c03 lsrs r3, r0, #16
+ 80003f8: ea4f 4e17 mov.w lr, r7, lsr #16
+ 80003fc: b280 uxth r0, r0
+ 80003fe: b2bc uxth r4, r7
+ 8000400: 2101 movs r1, #1
+ 8000402: fbb2 fcfe udiv ip, r2, lr
+ 8000406: fb0e 221c mls r2, lr, ip, r2
+ 800040a: ea43 4302 orr.w r3, r3, r2, lsl #16
+ 800040e: fb04 f20c mul.w r2, r4, ip
+ 8000412: 429a cmp r2, r3
+ 8000414: d907 bls.n 8000426 <__udivmoddi4+0x11e>
+ 8000416: 18fb adds r3, r7, r3
+ 8000418: f10c 38ff add.w r8, ip, #4294967295 @ 0xffffffff
+ 800041c: d202 bcs.n 8000424 <__udivmoddi4+0x11c>
+ 800041e: 429a cmp r2, r3
+ 8000420: f200 80e0 bhi.w 80005e4 <__udivmoddi4+0x2dc>
+ 8000424: 46c4 mov ip, r8
+ 8000426: 1a9b subs r3, r3, r2
+ 8000428: fbb3 f2fe udiv r2, r3, lr
+ 800042c: fb0e 3312 mls r3, lr, r2, r3
+ 8000430: ea40 4303 orr.w r3, r0, r3, lsl #16
+ 8000434: fb02 f404 mul.w r4, r2, r4
+ 8000438: 429c cmp r4, r3
+ 800043a: d907 bls.n 800044c <__udivmoddi4+0x144>
+ 800043c: 18fb adds r3, r7, r3
+ 800043e: f102 30ff add.w r0, r2, #4294967295 @ 0xffffffff
+ 8000442: d202 bcs.n 800044a <__udivmoddi4+0x142>
+ 8000444: 429c cmp r4, r3
+ 8000446: f200 80ca bhi.w 80005de <__udivmoddi4+0x2d6>
+ 800044a: 4602 mov r2, r0
+ 800044c: 1b1b subs r3, r3, r4
+ 800044e: ea42 400c orr.w r0, r2, ip, lsl #16
+ 8000452: e7a5 b.n 80003a0 <__udivmoddi4+0x98>
+ 8000454: f1c1 0620 rsb r6, r1, #32
+ 8000458: 408b lsls r3, r1
+ 800045a: fa22 f706 lsr.w r7, r2, r6
+ 800045e: 431f orrs r7, r3
+ 8000460: fa0e f401 lsl.w r4, lr, r1
+ 8000464: fa20 f306 lsr.w r3, r0, r6
+ 8000468: fa2e fe06 lsr.w lr, lr, r6
+ 800046c: ea4f 4917 mov.w r9, r7, lsr #16
+ 8000470: 4323 orrs r3, r4
+ 8000472: fa00 f801 lsl.w r8, r0, r1
+ 8000476: fa1f fc87 uxth.w ip, r7
+ 800047a: fbbe f0f9 udiv r0, lr, r9
+ 800047e: 0c1c lsrs r4, r3, #16
+ 8000480: fb09 ee10 mls lr, r9, r0, lr
+ 8000484: ea44 440e orr.w r4, r4, lr, lsl #16
+ 8000488: fb00 fe0c mul.w lr, r0, ip
+ 800048c: 45a6 cmp lr, r4
+ 800048e: fa02 f201 lsl.w r2, r2, r1
+ 8000492: d909 bls.n 80004a8 <__udivmoddi4+0x1a0>
+ 8000494: 193c adds r4, r7, r4
+ 8000496: f100 3aff add.w sl, r0, #4294967295 @ 0xffffffff
+ 800049a: f080 809c bcs.w 80005d6 <__udivmoddi4+0x2ce>
+ 800049e: 45a6 cmp lr, r4
+ 80004a0: f240 8099 bls.w 80005d6 <__udivmoddi4+0x2ce>
+ 80004a4: 3802 subs r0, #2
+ 80004a6: 443c add r4, r7
+ 80004a8: eba4 040e sub.w r4, r4, lr
+ 80004ac: fa1f fe83 uxth.w lr, r3
+ 80004b0: fbb4 f3f9 udiv r3, r4, r9
+ 80004b4: fb09 4413 mls r4, r9, r3, r4
+ 80004b8: ea4e 4404 orr.w r4, lr, r4, lsl #16
+ 80004bc: fb03 fc0c mul.w ip, r3, ip
+ 80004c0: 45a4 cmp ip, r4
+ 80004c2: d908 bls.n 80004d6 <__udivmoddi4+0x1ce>
+ 80004c4: 193c adds r4, r7, r4
+ 80004c6: f103 3eff add.w lr, r3, #4294967295 @ 0xffffffff
+ 80004ca: f080 8082 bcs.w 80005d2 <__udivmoddi4+0x2ca>
+ 80004ce: 45a4 cmp ip, r4
+ 80004d0: d97f bls.n 80005d2 <__udivmoddi4+0x2ca>
+ 80004d2: 3b02 subs r3, #2
+ 80004d4: 443c add r4, r7
+ 80004d6: ea43 4000 orr.w r0, r3, r0, lsl #16
+ 80004da: eba4 040c sub.w r4, r4, ip
+ 80004de: fba0 ec02 umull lr, ip, r0, r2
+ 80004e2: 4564 cmp r4, ip
+ 80004e4: 4673 mov r3, lr
+ 80004e6: 46e1 mov r9, ip
+ 80004e8: d362 bcc.n 80005b0 <__udivmoddi4+0x2a8>
+ 80004ea: d05f beq.n 80005ac <__udivmoddi4+0x2a4>
+ 80004ec: b15d cbz r5, 8000506 <__udivmoddi4+0x1fe>
+ 80004ee: ebb8 0203 subs.w r2, r8, r3
+ 80004f2: eb64 0409 sbc.w r4, r4, r9
+ 80004f6: fa04 f606 lsl.w r6, r4, r6
+ 80004fa: fa22 f301 lsr.w r3, r2, r1
+ 80004fe: 431e orrs r6, r3
+ 8000500: 40cc lsrs r4, r1
+ 8000502: e9c5 6400 strd r6, r4, [r5]
+ 8000506: 2100 movs r1, #0
+ 8000508: e74f b.n 80003aa <__udivmoddi4+0xa2>
+ 800050a: fbb1 fcf2 udiv ip, r1, r2
+ 800050e: 0c01 lsrs r1, r0, #16
+ 8000510: ea41 410e orr.w r1, r1, lr, lsl #16
+ 8000514: b280 uxth r0, r0
+ 8000516: ea40 4201 orr.w r2, r0, r1, lsl #16
+ 800051a: 463b mov r3, r7
+ 800051c: 4638 mov r0, r7
+ 800051e: 463c mov r4, r7
+ 8000520: 46b8 mov r8, r7
+ 8000522: 46be mov lr, r7
+ 8000524: 2620 movs r6, #32
+ 8000526: fbb1 f1f7 udiv r1, r1, r7
+ 800052a: eba2 0208 sub.w r2, r2, r8
+ 800052e: ea41 410c orr.w r1, r1, ip, lsl #16
+ 8000532: e766 b.n 8000402 <__udivmoddi4+0xfa>
+ 8000534: 4601 mov r1, r0
+ 8000536: e718 b.n 800036a <__udivmoddi4+0x62>
+ 8000538: 4610 mov r0, r2
+ 800053a: e72c b.n 8000396 <__udivmoddi4+0x8e>
+ 800053c: f1c6 0220 rsb r2, r6, #32
+ 8000540: fa2e f302 lsr.w r3, lr, r2
+ 8000544: 40b7 lsls r7, r6
+ 8000546: 40b1 lsls r1, r6
+ 8000548: fa20 f202 lsr.w r2, r0, r2
+ 800054c: ea4f 4e17 mov.w lr, r7, lsr #16
+ 8000550: 430a orrs r2, r1
+ 8000552: fbb3 f8fe udiv r8, r3, lr
+ 8000556: b2bc uxth r4, r7
+ 8000558: fb0e 3318 mls r3, lr, r8, r3
+ 800055c: 0c11 lsrs r1, r2, #16
+ 800055e: ea41 4103 orr.w r1, r1, r3, lsl #16
+ 8000562: fb08 f904 mul.w r9, r8, r4
+ 8000566: 40b0 lsls r0, r6
+ 8000568: 4589 cmp r9, r1
+ 800056a: ea4f 4310 mov.w r3, r0, lsr #16
+ 800056e: b280 uxth r0, r0
+ 8000570: d93e bls.n 80005f0 <__udivmoddi4+0x2e8>
+ 8000572: 1879 adds r1, r7, r1
+ 8000574: f108 3cff add.w ip, r8, #4294967295 @ 0xffffffff
+ 8000578: d201 bcs.n 800057e <__udivmoddi4+0x276>
+ 800057a: 4589 cmp r9, r1
+ 800057c: d81f bhi.n 80005be <__udivmoddi4+0x2b6>
+ 800057e: eba1 0109 sub.w r1, r1, r9
+ 8000582: fbb1 f9fe udiv r9, r1, lr
+ 8000586: fb09 f804 mul.w r8, r9, r4
+ 800058a: fb0e 1119 mls r1, lr, r9, r1
+ 800058e: b292 uxth r2, r2
+ 8000590: ea42 4201 orr.w r2, r2, r1, lsl #16
+ 8000594: 4542 cmp r2, r8
+ 8000596: d229 bcs.n 80005ec <__udivmoddi4+0x2e4>
+ 8000598: 18ba adds r2, r7, r2
+ 800059a: f109 31ff add.w r1, r9, #4294967295 @ 0xffffffff
+ 800059e: d2c4 bcs.n 800052a <__udivmoddi4+0x222>
+ 80005a0: 4542 cmp r2, r8
+ 80005a2: d2c2 bcs.n 800052a <__udivmoddi4+0x222>
+ 80005a4: f1a9 0102 sub.w r1, r9, #2
+ 80005a8: 443a add r2, r7
+ 80005aa: e7be b.n 800052a <__udivmoddi4+0x222>
+ 80005ac: 45f0 cmp r8, lr
+ 80005ae: d29d bcs.n 80004ec <__udivmoddi4+0x1e4>
+ 80005b0: ebbe 0302 subs.w r3, lr, r2
+ 80005b4: eb6c 0c07 sbc.w ip, ip, r7
+ 80005b8: 3801 subs r0, #1
+ 80005ba: 46e1 mov r9, ip
+ 80005bc: e796 b.n 80004ec <__udivmoddi4+0x1e4>
+ 80005be: eba7 0909 sub.w r9, r7, r9
+ 80005c2: 4449 add r1, r9
+ 80005c4: f1a8 0c02 sub.w ip, r8, #2
+ 80005c8: fbb1 f9fe udiv r9, r1, lr
+ 80005cc: fb09 f804 mul.w r8, r9, r4
+ 80005d0: e7db b.n 800058a <__udivmoddi4+0x282>
+ 80005d2: 4673 mov r3, lr
+ 80005d4: e77f b.n 80004d6 <__udivmoddi4+0x1ce>
+ 80005d6: 4650 mov r0, sl
+ 80005d8: e766 b.n 80004a8 <__udivmoddi4+0x1a0>
+ 80005da: 4608 mov r0, r1
+ 80005dc: e6fd b.n 80003da <__udivmoddi4+0xd2>
+ 80005de: 443b add r3, r7
+ 80005e0: 3a02 subs r2, #2
+ 80005e2: e733 b.n 800044c <__udivmoddi4+0x144>
+ 80005e4: f1ac 0c02 sub.w ip, ip, #2
+ 80005e8: 443b add r3, r7
+ 80005ea: e71c b.n 8000426 <__udivmoddi4+0x11e>
+ 80005ec: 4649 mov r1, r9
+ 80005ee: e79c b.n 800052a <__udivmoddi4+0x222>
+ 80005f0: eba1 0109 sub.w r1, r1, r9
+ 80005f4: 46c4 mov ip, r8
+ 80005f6: fbb1 f9fe udiv r9, r1, lr
+ 80005fa: fb09 f804 mul.w r8, r9, r4
+ 80005fe: e7c4 b.n 800058a <__udivmoddi4+0x282>
+
+08000600 <__aeabi_idiv0>:
+ 8000600: 4770 bx lr
+ 8000602: bf00 nop
+
+08000604 :
+
+ADC_HandleTypeDef hadc3;
+
+/* ADC3 init function */
+void MX_ADC3_Init(void)
+{
+ 8000604: b510 push {r4, lr}
+
+ /* USER CODE BEGIN ADC3_Init 0 */
+
+ /* USER CODE END ADC3_Init 0 */
+
+ ADC_ChannelConfTypeDef sConfig = {0};
+ 8000606: 2300 movs r3, #0
+{
+ 8000608: b088 sub sp, #32
+
+ /* USER CODE END ADC3_Init 1 */
+
+ /** Common config
+ */
+ hadc3.Instance = ADC3;
+ 800060a: 481d ldr r0, [pc, #116] @ (8000680 )
+ hadc3.Init.Resolution = ADC_RESOLUTION_16B;
+ hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE;
+ hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
+ hadc3.Init.LowPowerAutoWait = DISABLE;
+ hadc3.Init.ContinuousConvMode = DISABLE;
+ hadc3.Init.NbrOfConversion = 1;
+ 800060c: 2201 movs r2, #1
+ hadc3.Instance = ADC3;
+ 800060e: 4c1d ldr r4, [pc, #116] @ (8000684 )
+ hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
+ 8000610: 2104 movs r1, #4
+ ADC_ChannelConfTypeDef sConfig = {0};
+ 8000612: 9301 str r3, [sp, #4]
+ hadc3.Instance = ADC3;
+ 8000614: 6004 str r4, [r0, #0]
+ hadc3.Init.LowPowerAutoWait = DISABLE;
+ 8000616: 8283 strh r3, [r0, #20]
+ hadc3.Init.NbrOfConversion = 1;
+ 8000618: 6182 str r2, [r0, #24]
+ hadc3.Init.DiscontinuousConvMode = DISABLE;
+ 800061a: 7703 strb r3, [r0, #28]
+ hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START;
+ hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
+ hadc3.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR;
+ hadc3.Init.Overrun = ADC_OVR_DATA_PRESERVED;
+ hadc3.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE;
+ 800061c: 6343 str r3, [r0, #52] @ 0x34
+ hadc3.Init.OversamplingMode = DISABLE;
+ 800061e: f880 3038 strb.w r3, [r0, #56] @ 0x38
+ hadc3.Init.Oversampling.Ratio = 1;
+ 8000622: 63c2 str r2, [r0, #60] @ 0x3c
+ hadc3.Init.Resolution = ADC_RESOLUTION_16B;
+ 8000624: e9c0 3301 strd r3, r3, [r0, #4]
+ hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
+ 8000628: e9c0 3103 strd r3, r1, [r0, #12]
+ hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
+ 800062c: e9c0 3309 strd r3, r3, [r0, #36] @ 0x24
+ hadc3.Init.Overrun = ADC_OVR_DATA_PRESERVED;
+ 8000630: e9c0 330b strd r3, r3, [r0, #44] @ 0x2c
+ ADC_ChannelConfTypeDef sConfig = {0};
+ 8000634: e9cd 3302 strd r3, r3, [sp, #8]
+ 8000638: e9cd 3304 strd r3, r3, [sp, #16]
+ 800063c: e9cd 3306 strd r3, r3, [sp, #24]
+ if (HAL_ADC_Init(&hadc3) != HAL_OK)
+ 8000640: f000 ffe8 bl 8001614
+ 8000644: b9a0 cbnz r0, 8000670
+ Error_Handler();
+ }
+
+ /** Configure Regular Channel
+ */
+ sConfig.Channel = ADC_CHANNEL_TEMPSENSOR;
+ 8000646: 4810 ldr r0, [pc, #64] @ (8000688 )
+ sConfig.Rank = ADC_REGULAR_RANK_1;
+ 8000648: 2206 movs r2, #6
+ sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
+ 800064a: 2300 movs r3, #0
+ sConfig.SingleDiff = ADC_SINGLE_ENDED;
+ 800064c: f240 74ff movw r4, #2047 @ 0x7ff
+ sConfig.OffsetNumber = ADC_OFFSET_NONE;
+ sConfig.Offset = 0;
+ sConfig.OffsetSignedSaturation = DISABLE;
+ if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
+ 8000650: a901 add r1, sp, #4
+ sConfig.OffsetSignedSaturation = DISABLE;
+ 8000652: f88d 301d strb.w r3, [sp, #29]
+ sConfig.Rank = ADC_REGULAR_RANK_1;
+ 8000656: e9cd 0201 strd r0, r2, [sp, #4]
+ sConfig.OffsetNumber = ADC_OFFSET_NONE;
+ 800065a: 2204 movs r2, #4
+ if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
+ 800065c: 4808 ldr r0, [pc, #32] @ (8000680 )
+ sConfig.SingleDiff = ADC_SINGLE_ENDED;
+ 800065e: e9cd 3403 strd r3, r4, [sp, #12]
+ sConfig.Offset = 0;
+ 8000662: e9cd 2305 strd r2, r3, [sp, #20]
+ if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
+ 8000666: f000 fd17 bl 8001098
+ 800066a: b920 cbnz r0, 8000676
+ }
+ /* USER CODE BEGIN ADC3_Init 2 */
+
+ /* USER CODE END ADC3_Init 2 */
+
+}
+ 800066c: b008 add sp, #32
+ 800066e: bd10 pop {r4, pc}
+ Error_Handler();
+ 8000670: f000 f968 bl 8000944
+ 8000674: e7e7 b.n 8000646
+ Error_Handler();
+ 8000676: f000 f965 bl 8000944
+}
+ 800067a: b008 add sp, #32
+ 800067c: bd10 pop {r4, pc}
+ 800067e: bf00 nop
+ 8000680: 2400002c .word 0x2400002c
+ 8000684: 58026000 .word 0x58026000
+ 8000688: cb840000 .word 0xcb840000
+
+0800068c :
+
+void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
+{
+
+ if(adcHandle->Instance==ADC3)
+ 800068c: 4b0f ldr r3, [pc, #60] @ (80006cc )
+ 800068e: 6802 ldr r2, [r0, #0]
+ 8000690: 429a cmp r2, r3
+ 8000692: d000 beq.n 8000696
+ 8000694: 4770 bx lr
+ {
+ /* USER CODE BEGIN ADC3_MspInit 0 */
+
+ /* USER CODE END ADC3_MspInit 0 */
+ /* ADC3 clock enable */
+ __HAL_RCC_ADC3_CLK_ENABLE();
+ 8000696: f5a3 53e0 sub.w r3, r3, #7168 @ 0x1c00
+
+ /* ADC3 interrupt Init */
+ HAL_NVIC_SetPriority(ADC3_IRQn, 0, 0);
+ 800069a: 2200 movs r2, #0
+ 800069c: 207f movs r0, #127 @ 0x7f
+ 800069e: 4611 mov r1, r2
+{
+ 80006a0: b510 push {r4, lr}
+ __HAL_RCC_ADC3_CLK_ENABLE();
+ 80006a2: f8d3 40e0 ldr.w r4, [r3, #224] @ 0xe0
+{
+ 80006a6: b082 sub sp, #8
+ __HAL_RCC_ADC3_CLK_ENABLE();
+ 80006a8: f044 7480 orr.w r4, r4, #16777216 @ 0x1000000
+ 80006ac: f8c3 40e0 str.w r4, [r3, #224] @ 0xe0
+ 80006b0: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 80006b4: f003 7380 and.w r3, r3, #16777216 @ 0x1000000
+ 80006b8: 9301 str r3, [sp, #4]
+ 80006ba: 9b01 ldr r3, [sp, #4]
+ HAL_NVIC_SetPriority(ADC3_IRQn, 0, 0);
+ 80006bc: f001 f8d2 bl 8001864
+ HAL_NVIC_EnableIRQ(ADC3_IRQn);
+ 80006c0: 207f movs r0, #127 @ 0x7f
+ /* USER CODE BEGIN ADC3_MspInit 1 */
+
+ /* USER CODE END ADC3_MspInit 1 */
+ }
+}
+ 80006c2: b002 add sp, #8
+ 80006c4: e8bd 4010 ldmia.w sp!, {r4, lr}
+ HAL_NVIC_EnableIRQ(ADC3_IRQn);
+ 80006c8: f001 b908 b.w 80018dc
+ 80006cc: 58026000 .word 0x58026000
+
+080006d0 :
+ PH1-OSC_OUT (PH1) ------> RCC_OSC_OUT
+ PA13 (JTMS/SWDIO) ------> DEBUG_JTMS-SWDIO
+ PA14 (JTCK/SWCLK) ------> DEBUG_JTCK-SWCLK
+*/
+void MX_GPIO_Init(void)
+{
+ 80006d0: b570 push {r4, r5, r6, lr}
+
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ 80006d2: 4b3e ldr r3, [pc, #248] @ (80007cc )
+{
+ 80006d4: b08c sub sp, #48 @ 0x30
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 80006d6: 2400 movs r4, #0
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOE_CLK_ENABLE();
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOB, LD1_Pin|LD3_Pin, GPIO_PIN_RESET);
+ 80006d8: 4d3d ldr r5, [pc, #244] @ (80007d0 )
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
+ 80006da: 4e3e ldr r6, [pc, #248] @ (80007d4 )
+ HAL_GPIO_WritePin(GPIOB, LD1_Pin|LD3_Pin, GPIO_PIN_RESET);
+ 80006dc: f244 0101 movw r1, #16385 @ 0x4001
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 80006e0: 940a str r4, [sp, #40] @ 0x28
+ HAL_GPIO_WritePin(GPIOB, LD1_Pin|LD3_Pin, GPIO_PIN_RESET);
+ 80006e2: 4628 mov r0, r5
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 80006e4: e9cd 4406 strd r4, r4, [sp, #24]
+ 80006e8: e9cd 4408 strd r4, r4, [sp, #32]
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ 80006ec: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 80006f0: f042 0204 orr.w r2, r2, #4
+ 80006f4: f8c3 20e0 str.w r2, [r3, #224] @ 0xe0
+ 80006f8: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 80006fc: f002 0204 and.w r2, r2, #4
+ 8000700: 9200 str r2, [sp, #0]
+ 8000702: 9a00 ldr r2, [sp, #0]
+ __HAL_RCC_GPIOH_CLK_ENABLE();
+ 8000704: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 8000708: f042 0280 orr.w r2, r2, #128 @ 0x80
+ 800070c: f8c3 20e0 str.w r2, [r3, #224] @ 0xe0
+ 8000710: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 8000714: f002 0280 and.w r2, r2, #128 @ 0x80
+ 8000718: 9201 str r2, [sp, #4]
+ 800071a: 9a01 ldr r2, [sp, #4]
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ 800071c: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 8000720: f042 0202 orr.w r2, r2, #2
+ 8000724: f8c3 20e0 str.w r2, [r3, #224] @ 0xe0
+ 8000728: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 800072c: f002 0202 and.w r2, r2, #2
+ 8000730: 9202 str r2, [sp, #8]
+ 8000732: 9a02 ldr r2, [sp, #8]
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ 8000734: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 8000738: f042 0208 orr.w r2, r2, #8
+ 800073c: f8c3 20e0 str.w r2, [r3, #224] @ 0xe0
+ 8000740: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 8000744: f002 0208 and.w r2, r2, #8
+ 8000748: 9203 str r2, [sp, #12]
+ 800074a: 9a03 ldr r2, [sp, #12]
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ 800074c: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 8000750: f042 0201 orr.w r2, r2, #1
+ 8000754: f8c3 20e0 str.w r2, [r3, #224] @ 0xe0
+ 8000758: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 800075c: f002 0201 and.w r2, r2, #1
+ 8000760: 9204 str r2, [sp, #16]
+ 8000762: 9a04 ldr r2, [sp, #16]
+ __HAL_RCC_GPIOE_CLK_ENABLE();
+ 8000764: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 8000768: f042 0210 orr.w r2, r2, #16
+ 800076c: f8c3 20e0 str.w r2, [r3, #224] @ 0xe0
+ HAL_GPIO_WritePin(GPIOB, LD1_Pin|LD3_Pin, GPIO_PIN_RESET);
+ 8000770: 4622 mov r2, r4
+ __HAL_RCC_GPIOE_CLK_ENABLE();
+ 8000772: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000776: f003 0310 and.w r3, r3, #16
+ 800077a: 9305 str r3, [sp, #20]
+ 800077c: 9b05 ldr r3, [sp, #20]
+ HAL_GPIO_WritePin(GPIOB, LD1_Pin|LD3_Pin, GPIO_PIN_RESET);
+ 800077e: f001 fda5 bl 80022cc
+ HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
+ 8000782: 4622 mov r2, r4
+ 8000784: 4630 mov r0, r6
+ 8000786: 2102 movs r1, #2
+ 8000788: f001 fda0 bl 80022cc
+
+ /*Configure GPIO pin : B1_Pin */
+ GPIO_InitStruct.Pin = B1_Pin;
+ 800078c: f44f 5200 mov.w r2, #8192 @ 0x2000
+ 8000790: 2300 movs r3, #0
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct);
+ 8000792: a906 add r1, sp, #24
+ 8000794: 4810 ldr r0, [pc, #64] @ (80007d8 )
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000796: 9408 str r4, [sp, #32]
+ GPIO_InitStruct.Pin = B1_Pin;
+ 8000798: e9cd 2306 strd r2, r3, [sp, #24]
+ HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct);
+ 800079c: f001 fb90 bl 8001ec0
+
+ /*Configure GPIO pins : LD1_Pin LD3_Pin */
+ GPIO_InitStruct.Pin = LD1_Pin|LD3_Pin;
+ 80007a0: f244 0301 movw r3, #16385 @ 0x4001
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 80007a4: 4628 mov r0, r5
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 80007a6: 2501 movs r5, #1
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 80007a8: a906 add r1, sp, #24
+ GPIO_InitStruct.Pin = LD1_Pin|LD3_Pin;
+ 80007aa: 9306 str r3, [sp, #24]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 80007ac: 9408 str r4, [sp, #32]
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 80007ae: 9409 str r4, [sp, #36] @ 0x24
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 80007b0: 9507 str r5, [sp, #28]
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 80007b2: f001 fb85 bl 8001ec0
+
+ /*Configure GPIO pin : LD2_Pin */
+ GPIO_InitStruct.Pin = LD2_Pin;
+ 80007b6: 2302 movs r3, #2
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(LD2_GPIO_Port, &GPIO_InitStruct);
+ 80007b8: a906 add r1, sp, #24
+ 80007ba: 4630 mov r0, r6
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 80007bc: e9cd 3506 strd r3, r5, [sp, #24]
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 80007c0: e9cd 4408 strd r4, r4, [sp, #32]
+ HAL_GPIO_Init(LD2_GPIO_Port, &GPIO_InitStruct);
+ 80007c4: f001 fb7c bl 8001ec0
+
+}
+ 80007c8: b00c add sp, #48 @ 0x30
+ 80007ca: bd70 pop {r4, r5, r6, pc}
+ 80007cc: 58024400 .word 0x58024400
+ 80007d0: 58020400 .word 0x58020400
+ 80007d4: 58021000 .word 0x58021000
+ 80007d8: 58020800 .word 0x58020800
+
+080007dc :
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void) {
+ 80007dc: b510 push {r4, lr}
+ 80007de: b09e sub sp, #120 @ 0x78
+ RCC_OscInitTypeDef RCC_OscInitStruct = { 0 };
+ 80007e0: 224c movs r2, #76 @ 0x4c
+ 80007e2: 2100 movs r1, #0
+ 80007e4: a80a add r0, sp, #40 @ 0x28
+ 80007e6: f004 fedf bl 80055a8
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 };
+ 80007ea: 2220 movs r2, #32
+ 80007ec: 2100 movs r1, #0
+ 80007ee: a802 add r0, sp, #8
+ 80007f0: f004 feda bl 80055a8
+
+ /** Supply configuration update enable
+ */
+ HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
+ 80007f4: 2002 movs r0, #2
+ 80007f6: f001 fd6d bl 80022d4
+
+ /** Configure the main internal regulator output voltage
+ */
+ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);
+ 80007fa: 4a24 ldr r2, [pc, #144] @ (800088c )
+ 80007fc: 2100 movs r1, #0
+ 80007fe: 4b24 ldr r3, [pc, #144] @ (8000890 )
+ 8000800: 9101 str r1, [sp, #4]
+ 8000802: 6991 ldr r1, [r2, #24]
+ 8000804: f441 4140 orr.w r1, r1, #49152 @ 0xc000
+ 8000808: 6191 str r1, [r2, #24]
+ 800080a: 6991 ldr r1, [r2, #24]
+ 800080c: f401 4140 and.w r1, r1, #49152 @ 0xc000
+ 8000810: 9101 str r1, [sp, #4]
+ 8000812: 6ad9 ldr r1, [r3, #44] @ 0x2c
+ 8000814: f041 0101 orr.w r1, r1, #1
+ 8000818: 62d9 str r1, [r3, #44] @ 0x2c
+ 800081a: 6adb ldr r3, [r3, #44] @ 0x2c
+ 800081c: f003 0301 and.w r3, r3, #1
+ 8000820: 9301 str r3, [sp, #4]
+ 8000822: 9b01 ldr r3, [sp, #4]
+
+ while (!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {
+ 8000824: 6993 ldr r3, [r2, #24]
+ 8000826: 049b lsls r3, r3, #18
+ 8000828: d5fc bpl.n 8000824
+ }
+
+ /** Initializes the RCC Oscillators according to the specified parameters
+ * in the RCC_OscInitTypeDef structure.
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
+ 800082a: 2001 movs r0, #1
+ 800082c: f44f 21a0 mov.w r1, #327680 @ 0x50000
+ RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
+ 8000830: 2302 movs r3, #2
+ RCC_OscInitStruct.PLL.PLLN = 192;
+ RCC_OscInitStruct.PLL.PLLP = 2;
+ RCC_OscInitStruct.PLL.PLLQ = 2;
+ RCC_OscInitStruct.PLL.PLLR = 2;
+ RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
+ RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
+ 8000832: 2200 movs r2, #0
+ RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
+ 8000834: 2408 movs r4, #8
+ RCC_OscInitStruct.PLL.PLLR = 2;
+ 8000836: 9319 str r3, [sp, #100] @ 0x64
+ RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
+ 8000838: 941a str r4, [sp, #104] @ 0x68
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
+ 800083a: e9cd 010a strd r0, r1, [sp, #40] @ 0x28
+ RCC_OscInitStruct.PLL.PLLM = 5;
+ 800083e: 2105 movs r1, #5
+ RCC_OscInitStruct.PLL.PLLFRACN = 0;
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
+ 8000840: a80a add r0, sp, #40 @ 0x28
+ RCC_OscInitStruct.PLL.PLLM = 5;
+ 8000842: 9115 str r1, [sp, #84] @ 0x54
+ RCC_OscInitStruct.PLL.PLLN = 192;
+ 8000844: 21c0 movs r1, #192 @ 0xc0
+ RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
+ 8000846: e9cd 3313 strd r3, r3, [sp, #76] @ 0x4c
+ RCC_OscInitStruct.PLL.PLLQ = 2;
+ 800084a: e9cd 3317 strd r3, r3, [sp, #92] @ 0x5c
+ RCC_OscInitStruct.PLL.PLLN = 192;
+ 800084e: 9116 str r1, [sp, #88] @ 0x58
+ RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
+ 8000850: e9cd 221b strd r2, r2, [sp, #108] @ 0x6c
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
+ 8000854: f001 fdd4 bl 8002400
+ 8000858: 4603 mov r3, r0
+ 800085a: b108 cbz r0, 8000860
+ \details Disables IRQ interrupts by setting the I-bit in the CPSR.
+ Can only be executed in Privileged modes.
+ */
+__STATIC_FORCEINLINE void __disable_irq(void)
+{
+ __ASM volatile ("cpsid i" : : : "memory");
+ 800085c: b672 cpsid i
+ */
+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) {
+ 800085e: e7fe b.n 800085e
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
+ 8000860: 213f movs r1, #63 @ 0x3f
+ RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
+ 8000862: 2240 movs r2, #64 @ 0x40
+ RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
+ 8000864: 9304 str r3, [sp, #16]
+ RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2;
+ 8000866: f44f 6380 mov.w r3, #1024 @ 0x400
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
+ 800086a: 9102 str r1, [sp, #8]
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
+ 800086c: 2103 movs r1, #3
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK) {
+ 800086e: a802 add r0, sp, #8
+ RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2;
+ 8000870: 9207 str r2, [sp, #28]
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
+ 8000872: 9103 str r1, [sp, #12]
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK) {
+ 8000874: 2104 movs r1, #4
+ RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
+ 8000876: e9cd 4205 strd r4, r2, [sp, #20]
+ RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2;
+ 800087a: e9cd 3208 strd r3, r2, [sp, #32]
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK) {
+ 800087e: f002 f93b bl 8002af8
+ 8000882: b108 cbz r0, 8000888
+ 8000884: b672 cpsid i
+ while (1) {
+ 8000886: e7fe b.n 8000886
+}
+ 8000888: b01e add sp, #120 @ 0x78
+ 800088a: bd10 pop {r4, pc}
+ 800088c: 58024800 .word 0x58024800
+ 8000890: 58000400 .word 0x58000400
+ 8000894: 00000000 .word 0x00000000
+
+08000898 :
+void PeriphCommonClock_Config(void) {
+ 8000898: b500 push {lr}
+ 800089a: b0b1 sub sp, #196 @ 0xc4
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 };
+ 800089c: 229c movs r2, #156 @ 0x9c
+ 800089e: 2100 movs r1, #0
+ 80008a0: a809 add r0, sp, #36 @ 0x24
+ 80008a2: f004 fe81 bl 80055a8
+ PeriphClkInitStruct.PLL2.PLL2M = 2;
+ 80008a6: 2302 movs r3, #2
+ PeriphClkInitStruct.PLL2.PLL2N = 12;
+ 80008a8: 210c movs r1, #12
+ PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOMEDIUM;
+ 80008aa: 2220 movs r2, #32
+ PeriphClkInitStruct.PLL2.PLL2M = 2;
+ 80008ac: 9302 str r3, [sp, #8]
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) {
+ 80008ae: 4668 mov r0, sp
+ PeriphClkInitStruct.PLL2.PLL2P = 2;
+ 80008b0: 9304 str r3, [sp, #16]
+ PeriphClkInitStruct.PLL2.PLL2Q = 2;
+ 80008b2: 9305 str r3, [sp, #20]
+ PeriphClkInitStruct.Usart234578ClockSelection =
+ 80008b4: 2301 movs r3, #1
+ PeriphClkInitStruct.PLL2.PLL2N = 12;
+ 80008b6: 9103 str r1, [sp, #12]
+ PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOMEDIUM;
+ 80008b8: 9208 str r2, [sp, #32]
+ PeriphClkInitStruct.Usart234578ClockSelection =
+ 80008ba: 931e str r3, [sp, #120] @ 0x78
+ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC
+ 80008bc: ed9f 7b08 vldr d7, [pc, #32] @ 80008e0
+ 80008c0: ed8d 7b00 vstr d7, [sp]
+ PeriphClkInitStruct.PLL2.PLL2R = 2;
+ 80008c4: ed9f 7b08 vldr d7, [pc, #32] @ 80008e8
+ 80008c8: ed8d 7b06 vstr d7, [sp, #24]
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) {
+ 80008cc: f002 fbee bl 80030ac
+ 80008d0: b108 cbz r0, 80008d6
+ 80008d2: b672 cpsid i
+ while (1) {
+ 80008d4: e7fe b.n 80008d4
+}
+ 80008d6: b031 add sp, #196 @ 0xc4
+ 80008d8: f85d fb04 ldr.w pc, [sp], #4
+ 80008dc: f3af 8000 nop.w
+ 80008e0: 00080002 .word 0x00080002
+ 80008e4: 00000000 .word 0x00000000
+ 80008e8: 00000002 .word 0x00000002
+ 80008ec: 000000c0 .word 0x000000c0
+
+080008f0 :
+int main(void) {
+ 80008f0: b510 push {r4, lr}
+ MPU_Region_InitTypeDef MPU_InitStruct = { 0 };
+ 80008f2: 2400 movs r4, #0
+int main(void) {
+ 80008f4: b084 sub sp, #16
+ MPU_Region_InitTypeDef MPU_InitStruct = { 0 };
+ 80008f6: e9cd 4400 strd r4, r4, [sp]
+ 80008fa: e9cd 4402 strd r4, r4, [sp, #8]
+ HAL_MPU_Disable();
+ 80008fe: f001 f811 bl 8001924
+ MPU_InitStruct.Enable = MPU_REGION_ENABLE;
+ 8000902: 2101 movs r1, #1
+ MPU_InitStruct.Size = MPU_REGION_SIZE_4GB;
+ 8000904: f248 721f movw r2, #34591 @ 0x871f
+ 8000908: f240 1301 movw r3, #257 @ 0x101
+ HAL_MPU_ConfigRegion(&MPU_InitStruct);
+ 800090c: 4668 mov r0, sp
+ MPU_InitStruct.Enable = MPU_REGION_ENABLE;
+ 800090e: f8ad 1000 strh.w r1, [sp]
+ MPU_InitStruct.Size = MPU_REGION_SIZE_4GB;
+ 8000912: 9303 str r3, [sp, #12]
+ 8000914: e9cd 4201 strd r4, r2, [sp, #4]
+ HAL_MPU_ConfigRegion(&MPU_InitStruct);
+ 8000918: f001 f822 bl 8001960
+ HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);
+ 800091c: 2004 movs r0, #4
+ 800091e: f001 f80f bl 8001940
+ HAL_Init();
+ 8000922: f000 fa1d bl 8000d60
+ SystemClock_Config();
+ 8000926: f7ff ff59 bl 80007dc
+ PeriphCommonClock_Config();
+ 800092a: f7ff ffb5 bl 8000898
+ MX_GPIO_Init();
+ 800092e: f7ff fecf bl 80006d0
+ MX_ADC3_Init();
+ 8000932: f7ff fe67 bl 8000604
+ MX_TIM6_Init();
+ 8000936: f000 f8e7 bl 8000b08
+ MX_USART3_UART_Init();
+ 800093a: f000 f933 bl 8000ba4
+ MOTD_init();
+ 800093e: f000 f803 bl 8000948
+ while (1) {
+ 8000942: e7fc b.n 800093e
+
+08000944 :
+ 8000944: b672 cpsid i
+ while (1) {
+ 8000946: e7fe b.n 8000946
+
+08000948 :
+ * @brief Funzione di Accensione onBoard
+ *
+ * Permette di far accendere e spegnere contemporaneamente tutti i leg
+ * presenti sulla board.
+ */
+void MOTD_init(void) {
+ 8000948: b538 push {r3, r4, r5, lr}
+ HAL_Delay(1000);
+ GPIOB->BSRR |= GPIO_BSRR_BS0;
+ 800094a: 4c11 ldr r4, [pc, #68] @ (8000990 )
+ HAL_Delay(1000);
+ 800094c: f44f 707a mov.w r0, #1000 @ 0x3e8
+ 8000950: f000 fa48 bl 8000de4
+ GPIOB->BSRR |= GPIO_BSRR_BS14;
+ GPIOE->BSRR |= GPIO_BSRR_BS1;
+ 8000954: 4d0f ldr r5, [pc, #60] @ (8000994 )
+ GPIOB->BSRR |= GPIO_BSRR_BS0;
+ 8000956: 69a3 ldr r3, [r4, #24]
+ HAL_Delay(1000);
+ 8000958: f44f 707a mov.w r0, #1000 @ 0x3e8
+ GPIOB->BSRR |= GPIO_BSRR_BS0;
+ 800095c: f043 0301 orr.w r3, r3, #1
+ 8000960: 61a3 str r3, [r4, #24]
+ GPIOB->BSRR |= GPIO_BSRR_BS14;
+ 8000962: 69a3 ldr r3, [r4, #24]
+ 8000964: f443 4380 orr.w r3, r3, #16384 @ 0x4000
+ 8000968: 61a3 str r3, [r4, #24]
+ GPIOE->BSRR |= GPIO_BSRR_BS1;
+ 800096a: 69ab ldr r3, [r5, #24]
+ 800096c: f043 0302 orr.w r3, r3, #2
+ 8000970: 61ab str r3, [r5, #24]
+ HAL_Delay(1000);
+ 8000972: f000 fa37 bl 8000de4
+ GPIOB->BSRR |= GPIO_BSRR_BR0;
+ 8000976: 69a3 ldr r3, [r4, #24]
+ 8000978: f443 3380 orr.w r3, r3, #65536 @ 0x10000
+ 800097c: 61a3 str r3, [r4, #24]
+ GPIOB->BSRR |= GPIO_BSRR_BR14;
+ 800097e: 69a3 ldr r3, [r4, #24]
+ 8000980: f043 4380 orr.w r3, r3, #1073741824 @ 0x40000000
+ 8000984: 61a3 str r3, [r4, #24]
+ GPIOE->BSRR |= GPIO_BSRR_BR1;
+ 8000986: 69ab ldr r3, [r5, #24]
+ 8000988: f443 3300 orr.w r3, r3, #131072 @ 0x20000
+ 800098c: 61ab str r3, [r5, #24]
+}
+ 800098e: bd38 pop {r3, r4, r5, pc}
+ 8000990: 58020400 .word 0x58020400
+ 8000994: 58021000 .word 0x58021000
+
+08000998 :
+
+ /* USER CODE BEGIN MspInit 0 */
+
+ /* USER CODE END MspInit 0 */
+
+ __HAL_RCC_SYSCFG_CLK_ENABLE();
+ 8000998: 4b07 ldr r3, [pc, #28] @ (80009b8 )
+{
+ 800099a: b082 sub sp, #8
+ __HAL_RCC_SYSCFG_CLK_ENABLE();
+ 800099c: f8d3 20f4 ldr.w r2, [r3, #244] @ 0xf4
+ 80009a0: f042 0202 orr.w r2, r2, #2
+ 80009a4: f8c3 20f4 str.w r2, [r3, #244] @ 0xf4
+ 80009a8: f8d3 30f4 ldr.w r3, [r3, #244] @ 0xf4
+ 80009ac: f003 0302 and.w r3, r3, #2
+ 80009b0: 9301 str r3, [sp, #4]
+ 80009b2: 9b01 ldr r3, [sp, #4]
+ /* System interrupt init*/
+
+ /* USER CODE BEGIN MspInit 1 */
+
+ /* USER CODE END MspInit 1 */
+}
+ 80009b4: b002 add sp, #8
+ 80009b6: 4770 bx lr
+ 80009b8: 58024400 .word 0x58024400
+
+080009bc :
+{
+ /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
+
+ /* USER CODE END NonMaskableInt_IRQn 0 */
+ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+ while (1)
+ 80009bc: e7fe b.n 80009bc
+ 80009be: bf00 nop
+
+080009c0 :
+void HardFault_Handler(void)
+{
+ /* USER CODE BEGIN HardFault_IRQn 0 */
+
+ /* USER CODE END HardFault_IRQn 0 */
+ while (1)
+ 80009c0: e7fe b.n 80009c0
+ 80009c2: bf00 nop
+
+080009c4 :
+void MemManage_Handler(void)
+{
+ /* USER CODE BEGIN MemoryManagement_IRQn 0 */
+
+ /* USER CODE END MemoryManagement_IRQn 0 */
+ while (1)
+ 80009c4: e7fe b.n 80009c4
+ 80009c6: bf00 nop
+
+080009c8 :
+void BusFault_Handler(void)
+{
+ /* USER CODE BEGIN BusFault_IRQn 0 */
+
+ /* USER CODE END BusFault_IRQn 0 */
+ while (1)
+ 80009c8: e7fe b.n 80009c8
+ 80009ca: bf00 nop
+
+080009cc :
+void UsageFault_Handler(void)
+{
+ /* USER CODE BEGIN UsageFault_IRQn 0 */
+
+ /* USER CODE END UsageFault_IRQn 0 */
+ while (1)
+ 80009cc: e7fe b.n 80009cc
+ 80009ce: bf00 nop
+
+080009d0 :
+
+ /* USER CODE END SVCall_IRQn 0 */
+ /* USER CODE BEGIN SVCall_IRQn 1 */
+
+ /* USER CODE END SVCall_IRQn 1 */
+}
+ 80009d0: 4770 bx lr
+ 80009d2: bf00 nop
+
+080009d4 :
+
+/**
+ * @brief This function handles Debug monitor.
+ */
+void DebugMon_Handler(void)
+ 80009d4: 4770 bx lr
+ 80009d6: bf00 nop
+
+080009d8 :
+}
+
+/**
+ * @brief This function handles Pendable request for system service.
+ */
+void PendSV_Handler(void)
+ 80009d8: 4770 bx lr
+ 80009da: bf00 nop
+
+080009dc :
+void SysTick_Handler(void)
+{
+ /* USER CODE BEGIN SysTick_IRQn 0 */
+
+ /* USER CODE END SysTick_IRQn 0 */
+ HAL_IncTick();
+ 80009dc: f000 b9f0 b.w 8000dc0
+
+080009e0 :
+void USART3_IRQHandler(void)
+{
+ /* USER CODE BEGIN USART3_IRQn 0 */
+
+ /* USER CODE END USART3_IRQn 0 */
+ HAL_UART_IRQHandler(&huart3);
+ 80009e0: 4801 ldr r0, [pc, #4] @ (80009e8 )
+ 80009e2: f003 bfef b.w 80049c4
+ 80009e6: bf00 nop
+ 80009e8: 240000e0 .word 0x240000e0
+
+080009ec :
+void TIM6_DAC_IRQHandler(void)
+{
+ /* USER CODE BEGIN TIM6_DAC_IRQn 0 */
+
+ /* USER CODE END TIM6_DAC_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim6);
+ 80009ec: 4801 ldr r0, [pc, #4] @ (80009f4 )
+ 80009ee: f003 bed1 b.w 8004794
+ 80009f2: bf00 nop
+ 80009f4: 24000090 .word 0x24000090
+
+080009f8 :
+void ADC3_IRQHandler(void)
+{
+ /* USER CODE BEGIN ADC3_IRQn 0 */
+
+ /* USER CODE END ADC3_IRQn 0 */
+ HAL_ADC_IRQHandler(&hadc3);
+ 80009f8: 4801 ldr r0, [pc, #4] @ (8000a00 )
+ 80009fa: f000 ba11 b.w 8000e20
+ 80009fe: bf00 nop
+ 8000a00: 2400002c .word 0x2400002c
+
+08000a04 :
+ __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 */
+ 8000a04: 4930 ldr r1, [pc, #192] @ (8000ac8 )
+ #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)))
+ 8000a06: 4a31 ldr r2, [pc, #196] @ (8000acc )
+ SCB->CPACR |= ((3UL << (10*2))|(3UL << (11*2))); /* set CP10 and CP11 Full Access */
+ 8000a08: f8d1 3088 ldr.w r3, [r1, #136] @ 0x88
+ 8000a0c: f443 0370 orr.w r3, r3, #15728640 @ 0xf00000
+{
+ 8000a10: b410 push {r4}
+ SCB->CPACR |= ((3UL << (10*2))|(3UL << (11*2))); /* set CP10 and CP11 Full Access */
+ 8000a12: f8c1 3088 str.w r3, [r1, #136] @ 0x88
+ if(FLASH_LATENCY_DEFAULT > (READ_BIT((FLASH->ACR), FLASH_ACR_LATENCY)))
+ 8000a16: 6813 ldr r3, [r2, #0]
+ 8000a18: f003 030f and.w r3, r3, #15
+ 8000a1c: 2b06 cmp r3, #6
+ 8000a1e: d805 bhi.n 8000a2c
+ {
+ /* 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));
+ 8000a20: 6813 ldr r3, [r2, #0]
+ 8000a22: f023 030f bic.w r3, r3, #15
+ 8000a26: f043 0307 orr.w r3, r3, #7
+ 8000a2a: 6013 str r3, [r2, #0]
+ }
+
+ /* Set HSION bit */
+ RCC->CR |= RCC_CR_HSION;
+ 8000a2c: 4b28 ldr r3, [pc, #160] @ (8000ad0 )
+
+ /* Reset CFGR register */
+ RCC->CFGR = 0x00000000;
+ 8000a2e: 2400 movs r4, #0
+
+ /* Reset HSEON, HSECSSON, CSION, HSI48ON, CSIKERON, PLL1ON, PLL2ON and PLL3ON bits */
+ RCC->CR &= 0xEAF6ED7FU;
+ 8000a30: 4a28 ldr r2, [pc, #160] @ (8000ad4 )
+ RCC->CR |= RCC_CR_HSION;
+ 8000a32: 6819 ldr r1, [r3, #0]
+
+ /* Decreasing the number of wait states because of lower CPU frequency */
+ if(FLASH_LATENCY_DEFAULT < (READ_BIT((FLASH->ACR), FLASH_ACR_LATENCY)))
+ 8000a34: 4825 ldr r0, [pc, #148] @ (8000acc )
+ RCC->CR |= RCC_CR_HSION;
+ 8000a36: f041 0101 orr.w r1, r1, #1
+ 8000a3a: 6019 str r1, [r3, #0]
+ RCC->CFGR = 0x00000000;
+ 8000a3c: 611c str r4, [r3, #16]
+ RCC->CR &= 0xEAF6ED7FU;
+ 8000a3e: 6819 ldr r1, [r3, #0]
+ 8000a40: 400a ands r2, r1
+ 8000a42: 601a str r2, [r3, #0]
+ if(FLASH_LATENCY_DEFAULT < (READ_BIT((FLASH->ACR), FLASH_ACR_LATENCY)))
+ 8000a44: 6803 ldr r3, [r0, #0]
+ 8000a46: 0719 lsls r1, r3, #28
+ 8000a48: d505 bpl.n 8000a56
+ {
+ /* 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));
+ 8000a4a: 6803 ldr r3, [r0, #0]
+ 8000a4c: f023 030f bic.w r3, r3, #15
+ 8000a50: f043 0307 orr.w r3, r3, #7
+ 8000a54: 6003 str r3, [r0, #0]
+ }
+
+#if defined(D3_SRAM_BASE)
+ /* Reset D1CFGR register */
+ RCC->D1CFGR = 0x00000000;
+ 8000a56: 4b1e ldr r3, [pc, #120] @ (8000ad0 )
+ 8000a58: 2200 movs r2, #0
+ RCC->PLLCKSELR = 0x02020200;
+
+ /* Reset PLLCFGR register */
+ RCC->PLLCFGR = 0x01FF0000;
+ /* Reset PLL1DIVR register */
+ RCC->PLL1DIVR = 0x01010280;
+ 8000a5a: 491f ldr r1, [pc, #124] @ (8000ad8 )
+ RCC->PLLCFGR = 0x01FF0000;
+ 8000a5c: 481f ldr r0, [pc, #124] @ (8000adc )
+ RCC->PLLCKSELR = 0x02020200;
+ 8000a5e: 4c20 ldr r4, [pc, #128] @ (8000ae0 )
+ RCC->D1CFGR = 0x00000000;
+ 8000a60: 619a str r2, [r3, #24]
+ RCC->D2CFGR = 0x00000000;
+ 8000a62: 61da str r2, [r3, #28]
+ RCC->D3CFGR = 0x00000000;
+ 8000a64: 621a str r2, [r3, #32]
+ RCC->PLLCKSELR = 0x02020200;
+ 8000a66: 629c str r4, [r3, #40] @ 0x28
+ RCC->PLLCFGR = 0x01FF0000;
+ 8000a68: 62d8 str r0, [r3, #44] @ 0x2c
+ RCC->PLL1DIVR = 0x01010280;
+ 8000a6a: 6319 str r1, [r3, #48] @ 0x30
+ /* Reset PLL1FRACR register */
+ RCC->PLL1FRACR = 0x00000000;
+ 8000a6c: 635a str r2, [r3, #52] @ 0x34
+
+ /* Reset PLL2DIVR register */
+ RCC->PLL2DIVR = 0x01010280;
+ 8000a6e: 6399 str r1, [r3, #56] @ 0x38
+
+ /* Reset PLL2FRACR register */
+
+ RCC->PLL2FRACR = 0x00000000;
+ 8000a70: 63da str r2, [r3, #60] @ 0x3c
+ /* Reset PLL3DIVR register */
+ RCC->PLL3DIVR = 0x01010280;
+ 8000a72: 6419 str r1, [r3, #64] @ 0x40
+
+ /* Reset PLL3FRACR register */
+ RCC->PLL3FRACR = 0x00000000;
+ 8000a74: 645a str r2, [r3, #68] @ 0x44
+
+ /* Reset HSEBYP bit */
+ RCC->CR &= 0xFFFBFFFFU;
+ 8000a76: 6819 ldr r1, [r3, #0]
+ /* Disable all interrupts */
+ RCC->CIER = 0x00000000;
+
+#if (STM32H7_DEV_ID == 0x450UL)
+ /* dual core CM7 or single core line */
+ if((DBGMCU->IDCODE & 0xFFFF0000U) < 0x20000000U)
+ 8000a78: 481a ldr r0, [pc, #104] @ (8000ae4 )
+ RCC->CR &= 0xFFFBFFFFU;
+ 8000a7a: f421 2180 bic.w r1, r1, #262144 @ 0x40000
+ 8000a7e: 6019 str r1, [r3, #0]
+ RCC->CIER = 0x00000000;
+ 8000a80: 661a str r2, [r3, #96] @ 0x60
+ if((DBGMCU->IDCODE & 0xFFFF0000U) < 0x20000000U)
+ 8000a82: 6803 ldr r3, [r0, #0]
+ 8000a84: f36f 030f bfc r3, #0, #16
+ 8000a88: f1b3 5f00 cmp.w r3, #536870912 @ 0x20000000
+ 8000a8c: d203 bcs.n 8000a96
+ {
+ /* if stm32h7 revY*/
+ /* Change the switch matrix read issuing capability to 1 for the AXI SRAM target (Target 7) */
+ *((__IO uint32_t*)0x51008108) = 0x000000001U;
+ 8000a8e: 4b16 ldr r3, [pc, #88] @ (8000ae8 )
+ 8000a90: 2201 movs r2, #1
+ 8000a92: f8c3 2108 str.w r2, [r3, #264] @ 0x108
+#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
+ if(READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN) == 0U)
+ 8000a96: 4b0e ldr r3, [pc, #56] @ (8000ad0 )
+ 8000a98: f8d3 20d4 ldr.w r2, [r3, #212] @ 0xd4
+ 8000a9c: 04d2 lsls r2, r2, #19
+ 8000a9e: d40f bmi.n 8000ac0
+ {
+ /* Enable the FMC interface clock */
+ SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);
+ 8000aa0: f8d3 20d4 ldr.w r2, [r3, #212] @ 0xd4
+ /*
+ * 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;
+ 8000aa4: f243 00d2 movw r0, #12498 @ 0x30d2
+ 8000aa8: 4910 ldr r1, [pc, #64] @ (8000aec )
+ SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);
+ 8000aaa: f442 5280 orr.w r2, r2, #4096 @ 0x1000
+ 8000aae: f8c3 20d4 str.w r2, [r3, #212] @ 0xd4
+ FMC_Bank1_R->BTCR[0] = 0x000030D2;
+ 8000ab2: 6008 str r0, [r1, #0]
+
+ /* Disable the FMC interface clock */
+ CLEAR_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);
+ 8000ab4: f8d3 20d4 ldr.w r2, [r3, #212] @ 0xd4
+ 8000ab8: f422 5280 bic.w r2, r2, #4096 @ 0x1000
+ 8000abc: f8c3 20d4 str.w r2, [r3, #212] @ 0xd4
+#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*/
+}
+ 8000ac0: f85d 4b04 ldr.w r4, [sp], #4
+ 8000ac4: 4770 bx lr
+ 8000ac6: bf00 nop
+ 8000ac8: e000ed00 .word 0xe000ed00
+ 8000acc: 52002000 .word 0x52002000
+ 8000ad0: 58024400 .word 0x58024400
+ 8000ad4: eaf6ed7f .word 0xeaf6ed7f
+ 8000ad8: 01010280 .word 0x01010280
+ 8000adc: 01ff0000 .word 0x01ff0000
+ 8000ae0: 02020200 .word 0x02020200
+ 8000ae4: 5c001000 .word 0x5c001000
+ 8000ae8: 51008000 .word 0x51008000
+ 8000aec: 52004000 .word 0x52004000
+
+08000af0 :
+ #if defined(SMPS)
+ /* Exit Run* mode by disabling SMPS and enabling LDO */
+ PWR->CR3 = (PWR->CR3 & ~PWR_CR3_SMPSEN) | PWR_CR3_LDOEN;
+ #else
+ /* Enable LDO mode */
+ PWR->CR3 |= PWR_CR3_LDOEN;
+ 8000af0: 4a04 ldr r2, [pc, #16] @ (8000b04 )
+ 8000af2: 68d3 ldr r3, [r2, #12]
+ 8000af4: f043 0302 orr.w r3, r3, #2
+ 8000af8: 60d3 str r3, [r2, #12]
+ #endif /* SMPS */
+ /* Wait till voltage level flag is set */
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ 8000afa: 6853 ldr r3, [r2, #4]
+ 8000afc: 049b lsls r3, r3, #18
+ 8000afe: d5fc bpl.n 8000afa
+ while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+ {}
+#else
+ /* No system power supply configuration is selected at exit Run* mode */
+#endif /* USE_PWR_LDO_SUPPLY */
+}
+ 8000b00: 4770 bx lr
+ 8000b02: bf00 nop
+ 8000b04: 58024800 .word 0x58024800
+
+08000b08 :
+
+TIM_HandleTypeDef htim6;
+
+/* TIM6 init function */
+void MX_TIM6_Init(void)
+{
+ 8000b08: b500 push {lr}
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+
+ /* USER CODE BEGIN TIM6_Init 1 */
+
+ /* USER CODE END TIM6_Init 1 */
+ htim6.Instance = TIM6;
+ 8000b0a: 4812 ldr r0, [pc, #72] @ (8000b54 )
+{
+ 8000b0c: b085 sub sp, #20
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+ 8000b0e: 2300 movs r3, #0
+ htim6.Instance = TIM6;
+ 8000b10: 4911 ldr r1, [pc, #68] @ (8000b58 )
+ htim6.Init.Prescaler = 0;
+ htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim6.Init.Period = 65535;
+ 8000b12: f64f 72ff movw r2, #65535 @ 0xffff
+ htim6.Instance = TIM6;
+ 8000b16: 6001 str r1, [r0, #0]
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+ 8000b18: 9301 str r3, [sp, #4]
+ htim6.Init.Period = 65535;
+ 8000b1a: 60c2 str r2, [r0, #12]
+ htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ 8000b1c: 6183 str r3, [r0, #24]
+ htim6.Init.Prescaler = 0;
+ 8000b1e: e9c0 3301 strd r3, r3, [r0, #4]
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+ 8000b22: e9cd 3302 strd r3, r3, [sp, #8]
+ if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
+ 8000b26: f003 fd85 bl 8004634
+ 8000b2a: b950 cbnz r0, 8000b42
+ {
+ Error_Handler();
+ }
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ 8000b2c: 2300 movs r3, #0
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
+ 8000b2e: a901 add r1, sp, #4
+ 8000b30: 4808 ldr r0, [pc, #32] @ (8000b54 )
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ 8000b32: 9301 str r3, [sp, #4]
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ 8000b34: 9303 str r3, [sp, #12]
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
+ 8000b36: f003 fed7 bl 80048e8
+ 8000b3a: b928 cbnz r0, 8000b48
+ }
+ /* USER CODE BEGIN TIM6_Init 2 */
+
+ /* USER CODE END TIM6_Init 2 */
+
+}
+ 8000b3c: b005 add sp, #20
+ 8000b3e: f85d fb04 ldr.w pc, [sp], #4
+ Error_Handler();
+ 8000b42: f7ff feff bl 8000944
+ 8000b46: e7f1 b.n 8000b2c
+ Error_Handler();
+ 8000b48: f7ff fefc bl 8000944
+}
+ 8000b4c: b005 add sp, #20
+ 8000b4e: f85d fb04 ldr.w pc, [sp], #4
+ 8000b52: bf00 nop
+ 8000b54: 24000090 .word 0x24000090
+ 8000b58: 40001000 .word 0x40001000
+
+08000b5c :
+
+void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
+{
+
+ if(tim_baseHandle->Instance==TIM6)
+ 8000b5c: 4b0f ldr r3, [pc, #60] @ (8000b9c )
+ 8000b5e: 6802 ldr r2, [r0, #0]
+ 8000b60: 429a cmp r2, r3
+ 8000b62: d000 beq.n 8000b66
+ 8000b64: 4770 bx lr
+ {
+ /* USER CODE BEGIN TIM6_MspInit 0 */
+
+ /* USER CODE END TIM6_MspInit 0 */
+ /* TIM6 clock enable */
+ __HAL_RCC_TIM6_CLK_ENABLE();
+ 8000b66: 4b0e ldr r3, [pc, #56] @ (8000ba0 )
+
+ /* TIM6 interrupt Init */
+ HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 0, 0);
+ 8000b68: 2200 movs r2, #0
+ 8000b6a: 2036 movs r0, #54 @ 0x36
+ 8000b6c: 4611 mov r1, r2
+{
+ 8000b6e: b510 push {r4, lr}
+ __HAL_RCC_TIM6_CLK_ENABLE();
+ 8000b70: f8d3 40e8 ldr.w r4, [r3, #232] @ 0xe8
+{
+ 8000b74: b082 sub sp, #8
+ __HAL_RCC_TIM6_CLK_ENABLE();
+ 8000b76: f044 0410 orr.w r4, r4, #16
+ 8000b7a: f8c3 40e8 str.w r4, [r3, #232] @ 0xe8
+ 8000b7e: f8d3 30e8 ldr.w r3, [r3, #232] @ 0xe8
+ 8000b82: f003 0310 and.w r3, r3, #16
+ 8000b86: 9301 str r3, [sp, #4]
+ 8000b88: 9b01 ldr r3, [sp, #4]
+ HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 0, 0);
+ 8000b8a: f000 fe6b bl 8001864
+ HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn);
+ 8000b8e: 2036 movs r0, #54 @ 0x36
+ /* USER CODE BEGIN TIM6_MspInit 1 */
+
+ /* USER CODE END TIM6_MspInit 1 */
+ }
+}
+ 8000b90: b002 add sp, #8
+ 8000b92: e8bd 4010 ldmia.w sp!, {r4, lr}
+ HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn);
+ 8000b96: f000 bea1 b.w 80018dc
+ 8000b9a: bf00 nop
+ 8000b9c: 40001000 .word 0x40001000
+ 8000ba0: 58024400 .word 0x58024400
+
+08000ba4 :
+UART_HandleTypeDef huart3;
+
+/* USART3 init function */
+
+void MX_USART3_UART_Init(void)
+{
+ 8000ba4: b510 push {r4, lr}
+ /* USER CODE END USART3_Init 0 */
+
+ /* USER CODE BEGIN USART3_Init 1 */
+
+ /* USER CODE END USART3_Init 1 */
+ huart3.Instance = USART3;
+ 8000ba6: 481f ldr r0, [pc, #124] @ (8000c24 )
+ huart3.Init.BaudRate = 115200;
+ huart3.Init.WordLength = UART_WORDLENGTH_8B;
+ 8000ba8: 2300 movs r3, #0
+ huart3.Instance = USART3;
+ 8000baa: 4c1f ldr r4, [pc, #124] @ (8000c28 )
+ huart3.Init.BaudRate = 115200;
+ 8000bac: f44f 31e1 mov.w r1, #115200 @ 0x1c200
+ huart3.Init.StopBits = UART_STOPBITS_1;
+ huart3.Init.Parity = UART_PARITY_NONE;
+ huart3.Init.Mode = UART_MODE_TX_RX;
+ 8000bb0: 220c movs r2, #12
+ huart3.Init.WordLength = UART_WORDLENGTH_8B;
+ 8000bb2: 6083 str r3, [r0, #8]
+ huart3.Init.BaudRate = 115200;
+ 8000bb4: e9c0 4100 strd r4, r1, [r0]
+ huart3.Init.Parity = UART_PARITY_NONE;
+ 8000bb8: e9c0 3303 strd r3, r3, [r0, #12]
+ huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ 8000bbc: e9c0 2305 strd r2, r3, [r0, #20]
+ huart3.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ 8000bc0: e9c0 3307 strd r3, r3, [r0, #28]
+ huart3.Init.ClockPrescaler = UART_PRESCALER_DIV1;
+ 8000bc4: e9c0 3309 strd r3, r3, [r0, #36] @ 0x24
+ huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart3) != HAL_OK)
+ 8000bc8: f004 fc12 bl 80053f0
+ 8000bcc: b970 cbnz r0, 8000bec
+ {
+ Error_Handler();
+ }
+ if (HAL_UARTEx_SetTxFifoThreshold(&huart3, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
+ 8000bce: 2100 movs r1, #0
+ 8000bd0: 4814 ldr r0, [pc, #80] @ (8000c24 )
+ 8000bd2: f004 fc65 bl 80054a0
+ 8000bd6: b988 cbnz r0, 8000bfc
+ {
+ Error_Handler();
+ }
+ if (HAL_UARTEx_SetRxFifoThreshold(&huart3, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
+ 8000bd8: 2100 movs r1, #0
+ 8000bda: 4812 ldr r0, [pc, #72] @ (8000c24 )
+ 8000bdc: f004 fca2 bl 8005524
+ 8000be0: b9a0 cbnz r0, 8000c0c
+ {
+ Error_Handler();
+ }
+ if (HAL_UARTEx_DisableFifoMode(&huart3) != HAL_OK)
+ 8000be2: 4810 ldr r0, [pc, #64] @ (8000c24 )
+ 8000be4: f004 fc3e bl 8005464
+ 8000be8: b9b8 cbnz r0, 8000c1a
+ }
+ /* USER CODE BEGIN USART3_Init 2 */
+
+ /* USER CODE END USART3_Init 2 */
+
+}
+ 8000bea: bd10 pop {r4, pc}
+ Error_Handler();
+ 8000bec: f7ff feaa bl 8000944
+ if (HAL_UARTEx_SetTxFifoThreshold(&huart3, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
+ 8000bf0: 2100 movs r1, #0
+ 8000bf2: 480c ldr r0, [pc, #48] @ (8000c24 )
+ 8000bf4: f004 fc54 bl 80054a0
+ 8000bf8: 2800 cmp r0, #0
+ 8000bfa: d0ed beq.n 8000bd8
+ Error_Handler();
+ 8000bfc: f7ff fea2 bl 8000944
+ if (HAL_UARTEx_SetRxFifoThreshold(&huart3, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
+ 8000c00: 2100 movs r1, #0
+ 8000c02: 4808 ldr r0, [pc, #32] @ (8000c24 )
+ 8000c04: f004 fc8e bl 8005524
+ 8000c08: 2800 cmp r0, #0
+ 8000c0a: d0ea beq.n 8000be2
+ Error_Handler();
+ 8000c0c: f7ff fe9a bl 8000944
+ if (HAL_UARTEx_DisableFifoMode(&huart3) != HAL_OK)
+ 8000c10: 4804 ldr r0, [pc, #16] @ (8000c24 )
+ 8000c12: f004 fc27 bl 8005464
+ 8000c16: 2800 cmp r0, #0
+ 8000c18: d0e7 beq.n 8000bea
+}
+ 8000c1a: e8bd 4010 ldmia.w sp!, {r4, lr}
+ Error_Handler();
+ 8000c1e: f7ff be91 b.w 8000944
+ 8000c22: bf00 nop
+ 8000c24: 240000e0 .word 0x240000e0
+ 8000c28: 40004800 .word 0x40004800
+ 8000c2c: 00000000 .word 0x00000000
+
+08000c30 :
+
+void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(uartHandle->Instance==USART3)
+ 8000c30: 4b1f ldr r3, [pc, #124] @ (8000cb0 )
+ 8000c32: 6802 ldr r2, [r0, #0]
+{
+ 8000c34: b510 push {r4, lr}
+ if(uartHandle->Instance==USART3)
+ 8000c36: 429a cmp r2, r3
+{
+ 8000c38: b088 sub sp, #32
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 8000c3a: f04f 0400 mov.w r4, #0
+ 8000c3e: e9cd 4402 strd r4, r4, [sp, #8]
+ 8000c42: e9cd 4404 strd r4, r4, [sp, #16]
+ 8000c46: 9406 str r4, [sp, #24]
+ if(uartHandle->Instance==USART3)
+ 8000c48: d001 beq.n 8000c4e
+ HAL_NVIC_EnableIRQ(USART3_IRQn);
+ /* USER CODE BEGIN USART3_MspInit 1 */
+
+ /* USER CODE END USART3_MspInit 1 */
+ }
+}
+ 8000c4a: b008 add sp, #32
+ 8000c4c: bd10 pop {r4, pc}
+ __HAL_RCC_USART3_CLK_ENABLE();
+ 8000c4e: 4b19 ldr r3, [pc, #100] @ (8000cb4 )
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+ 8000c50: a902 add r1, sp, #8
+ 8000c52: 4819 ldr r0, [pc, #100] @ (8000cb8 )
+ __HAL_RCC_USART3_CLK_ENABLE();
+ 8000c54: f8d3 20e8 ldr.w r2, [r3, #232] @ 0xe8
+ 8000c58: f442 2280 orr.w r2, r2, #262144 @ 0x40000
+ 8000c5c: f8c3 20e8 str.w r2, [r3, #232] @ 0xe8
+ 8000c60: f8d3 20e8 ldr.w r2, [r3, #232] @ 0xe8
+ 8000c64: f402 2280 and.w r2, r2, #262144 @ 0x40000
+ 8000c68: 9200 str r2, [sp, #0]
+ 8000c6a: 9a00 ldr r2, [sp, #0]
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ 8000c6c: f8d3 20e0 ldr.w r2, [r3, #224] @ 0xe0
+ 8000c70: f042 0208 orr.w r2, r2, #8
+ 8000c74: f8c3 20e0 str.w r2, [r3, #224] @ 0xe0
+ 8000c78: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000c7c: f003 0308 and.w r3, r3, #8
+ GPIO_InitStruct.Pin = STLINK_RX_Pin|STLINK_TX_Pin;
+ 8000c80: ed9f 7b09 vldr d7, [pc, #36] @ 8000ca8
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ 8000c84: 9301 str r3, [sp, #4]
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
+ 8000c86: 2307 movs r3, #7
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ 8000c88: 9a01 ldr r2, [sp, #4]
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
+ 8000c8a: 9306 str r3, [sp, #24]
+ GPIO_InitStruct.Pin = STLINK_RX_Pin|STLINK_TX_Pin;
+ 8000c8c: ed8d 7b02 vstr d7, [sp, #8]
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+ 8000c90: f001 f916 bl 8001ec0
+ HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);
+ 8000c94: 4622 mov r2, r4
+ 8000c96: 4621 mov r1, r4
+ 8000c98: 2027 movs r0, #39 @ 0x27
+ 8000c9a: f000 fde3 bl 8001864
+ HAL_NVIC_EnableIRQ(USART3_IRQn);
+ 8000c9e: 2027 movs r0, #39 @ 0x27
+ 8000ca0: f000 fe1c bl 80018dc
+}
+ 8000ca4: b008 add sp, #32
+ 8000ca6: bd10 pop {r4, pc}
+ 8000ca8: 00000300 .word 0x00000300
+ 8000cac: 00000002 .word 0x00000002
+ 8000cb0: 40004800 .word 0x40004800
+ 8000cb4: 58024400 .word 0x58024400
+ 8000cb8: 58020c00 .word 0x58020c00
+
+08000cbc :
+
+ .section .text.Reset_Handler
+ .weak Reset_Handler
+ .type Reset_Handler, %function
+Reset_Handler:
+ ldr sp, =_estack /* set stack pointer */
+ 8000cbc: f8df d038 ldr.w sp, [pc, #56] @ 8000cf8
+
+/* Call the ExitRun0Mode function to configure the power supply */
+ bl ExitRun0Mode
+ 8000cc0: f7ff ff16 bl 8000af0
+/* Call the clock system initialization function.*/
+ bl SystemInit
+ 8000cc4: f7ff fe9e bl 8000a04
+
+/* Copy the data segment initializers from flash to SRAM */
+ ldr r0, =_sdata
+ 8000cc8: 480c ldr r0, [pc, #48] @ (8000cfc )
+ ldr r1, =_edata
+ 8000cca: 490d ldr r1, [pc, #52] @ (8000d00 )
+ ldr r2, =_sidata
+ 8000ccc: 4a0d ldr r2, [pc, #52] @ (8000d04 )
+ movs r3, #0
+ 8000cce: 2300 movs r3, #0
+ b LoopCopyDataInit
+ 8000cd0: e002 b.n 8000cd8
+
+08000cd2 :
+
+CopyDataInit:
+ ldr r4, [r2, r3]
+ 8000cd2: 58d4 ldr r4, [r2, r3]
+ str r4, [r0, r3]
+ 8000cd4: 50c4 str r4, [r0, r3]
+ adds r3, r3, #4
+ 8000cd6: 3304 adds r3, #4
+
+08000cd8 :
+
+LoopCopyDataInit:
+ adds r4, r0, r3
+ 8000cd8: 18c4 adds r4, r0, r3
+ cmp r4, r1
+ 8000cda: 428c cmp r4, r1
+ bcc CopyDataInit
+ 8000cdc: d3f9 bcc.n 8000cd2
+/* Zero fill the bss segment. */
+ ldr r2, =_sbss
+ 8000cde: 4a0a ldr r2, [pc, #40] @ (8000d08 )
+ ldr r4, =_ebss
+ 8000ce0: 4c0a ldr r4, [pc, #40] @ (8000d0c )
+ movs r3, #0
+ 8000ce2: 2300 movs r3, #0
+ b LoopFillZerobss
+ 8000ce4: e001 b.n 8000cea
+
+08000ce6 :
+
+FillZerobss:
+ str r3, [r2]
+ 8000ce6: 6013 str r3, [r2, #0]
+ adds r2, r2, #4
+ 8000ce8: 3204 adds r2, #4
+
+08000cea :
+
+LoopFillZerobss:
+ cmp r2, r4
+ 8000cea: 42a2 cmp r2, r4
+ bcc FillZerobss
+ 8000cec: d3fb bcc.n 8000ce6
+
+/* Call static constructors */
+ bl __libc_init_array
+ 8000cee: f004 fc63 bl 80055b8 <__libc_init_array>
+/* Call the application's entry point.*/
+ bl main
+ 8000cf2: f7ff fdfd bl 80008f0
+ bx lr
+ 8000cf6: 4770 bx lr
+ ldr sp, =_estack /* set stack pointer */
+ 8000cf8: 24080000 .word 0x24080000
+ ldr r0, =_sdata
+ 8000cfc: 24000000 .word 0x24000000
+ ldr r1, =_edata
+ 8000d00: 24000010 .word 0x24000010
+ ldr r2, =_sidata
+ 8000d04: 08005660 .word 0x08005660
+ ldr r2, =_sbss
+ 8000d08: 24000010 .word 0x24000010
+ ldr r4, =_ebss
+ 8000d0c: 24000178 .word 0x24000178
+
+08000d10 :
+ * @retval None
+*/
+ .section .text.Default_Handler,"ax",%progbits
+Default_Handler:
+Infinite_Loop:
+ b Infinite_Loop
+ 8000d10: e7fe b.n 8000d10
+ ...
+
+08000d14 :
+ * @retval HAL status
+ */
+__weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
+{
+ /* Check uwTickFreq for MisraC 2012 (even if uwTickFreq is a enum type that don't take the value zero)*/
+ if((uint32_t)uwTickFreq == 0UL)
+ 8000d14: 4b0f ldr r3, [pc, #60] @ (8000d54 )
+ 8000d16: 781b ldrb r3, [r3, #0]
+ 8000d18: b90b cbnz r3, 8000d1e
+ {
+ return HAL_ERROR;
+ 8000d1a: 2001 movs r0, #1
+ return HAL_ERROR;
+ }
+
+ /* Return function status */
+ return HAL_OK;
+}
+ 8000d1c: 4770 bx lr
+{
+ 8000d1e: b510 push {r4, lr}
+ 8000d20: 4604 mov r4, r0
+ if (HAL_SYSTICK_Config(SystemCoreClock / (1000UL / (uint32_t)uwTickFreq)) > 0U)
+ 8000d22: f44f 707a mov.w r0, #1000 @ 0x3e8
+ 8000d26: 4a0c ldr r2, [pc, #48] @ (8000d58 )
+ 8000d28: fbb0 f3f3 udiv r3, r0, r3
+ 8000d2c: 6810 ldr r0, [r2, #0]
+ 8000d2e: fbb0 f0f3 udiv r0, r0, r3
+ 8000d32: f000 fde1 bl 80018f8
+ if (TickPriority < (1UL << __NVIC_PRIO_BITS))
+ 8000d36: 2c0f cmp r4, #15
+ 8000d38: d800 bhi.n 8000d3c
+ 8000d3a: b108 cbz r0, 8000d40
+ return HAL_ERROR;
+ 8000d3c: 2001 movs r0, #1
+}
+ 8000d3e: bd10 pop {r4, pc}
+ HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U);
+ 8000d40: 2200 movs r2, #0
+ 8000d42: 4621 mov r1, r4
+ 8000d44: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff
+ 8000d48: f000 fd8c bl 8001864
+ uwTickPrio = TickPriority;
+ 8000d4c: 4b03 ldr r3, [pc, #12] @ (8000d5c )
+ 8000d4e: 2000 movs r0, #0
+ 8000d50: 601c str r4, [r3, #0]
+}
+ 8000d52: bd10 pop {r4, pc}
+ 8000d54: 24000008 .word 0x24000008
+ 8000d58: 24000004 .word 0x24000004
+ 8000d5c: 2400000c .word 0x2400000c
+
+08000d60 :
+{
+ 8000d60: b510 push {r4, lr}
+ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
+ 8000d62: 2003 movs r0, #3
+ SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
+ 8000d64: 4c12 ldr r4, [pc, #72] @ (8000db0 )
+ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
+ 8000d66: f000 fd6b bl 8001840
+ common_system_clock = HAL_RCC_GetSysClockFreq() >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos]) & 0x1FU);
+ 8000d6a: f001 fe37 bl 80029dc
+ 8000d6e: 4b11 ldr r3, [pc, #68] @ (8000db4 )
+ 8000d70: 4911 ldr r1, [pc, #68] @ (8000db8 )
+ 8000d72: 699a ldr r2, [r3, #24]
+ SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
+ 8000d74: 699b ldr r3, [r3, #24]
+ common_system_clock = HAL_RCC_GetSysClockFreq() >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos]) & 0x1FU);
+ 8000d76: f3c2 2203 ubfx r2, r2, #8, #4
+ SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
+ 8000d7a: f003 030f and.w r3, r3, #15
+ common_system_clock = HAL_RCC_GetSysClockFreq() >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos]) & 0x1FU);
+ 8000d7e: 5c8a ldrb r2, [r1, r2]
+ SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
+ 8000d80: 5ccb ldrb r3, [r1, r3]
+ common_system_clock = HAL_RCC_GetSysClockFreq() >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos]) & 0x1FU);
+ 8000d82: f002 021f and.w r2, r2, #31
+ SystemCoreClock = common_system_clock;
+ 8000d86: 490d ldr r1, [pc, #52] @ (8000dbc )
+ SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
+ 8000d88: f003 031f and.w r3, r3, #31
+ common_system_clock = HAL_RCC_GetSysClockFreq() >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos]) & 0x1FU);
+ 8000d8c: 40d0 lsrs r0, r2
+ SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
+ 8000d8e: fa20 f303 lsr.w r3, r0, r3
+ SystemCoreClock = common_system_clock;
+ 8000d92: 6008 str r0, [r1, #0]
+ if(HAL_InitTick(TICK_INT_PRIORITY) != HAL_OK)
+ 8000d94: 2000 movs r0, #0
+ SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
+ 8000d96: 6023 str r3, [r4, #0]
+ if(HAL_InitTick(TICK_INT_PRIORITY) != HAL_OK)
+ 8000d98: f7ff ffbc bl 8000d14
+ 8000d9c: b110 cbz r0, 8000da4
+ return HAL_ERROR;
+ 8000d9e: 2401 movs r4, #1
+}
+ 8000da0: 4620 mov r0, r4
+ 8000da2: bd10 pop {r4, pc}
+ 8000da4: 4604 mov r4, r0
+ HAL_MspInit();
+ 8000da6: f7ff fdf7 bl 8000998
+}
+ 8000daa: 4620 mov r0, r4
+ 8000dac: bd10 pop {r4, pc}
+ 8000dae: bf00 nop
+ 8000db0: 24000000 .word 0x24000000
+ 8000db4: 58024400 .word 0x58024400
+ 8000db8: 08005618 .word 0x08005618
+ 8000dbc: 24000004 .word 0x24000004
+
+08000dc0 :
+ * implementations in user file.
+ * @retval None
+ */
+__weak void HAL_IncTick(void)
+{
+ uwTick += (uint32_t)uwTickFreq;
+ 8000dc0: 4a03 ldr r2, [pc, #12] @ (8000dd0 )
+ 8000dc2: 4b04 ldr r3, [pc, #16] @ (8000dd4 )
+ 8000dc4: 6811 ldr r1, [r2, #0]
+ 8000dc6: 781b ldrb r3, [r3, #0]
+ 8000dc8: 440b add r3, r1
+ 8000dca: 6013 str r3, [r2, #0]
+}
+ 8000dcc: 4770 bx lr
+ 8000dce: bf00 nop
+ 8000dd0: 24000174 .word 0x24000174
+ 8000dd4: 24000008 .word 0x24000008
+
+08000dd8 :
+ * implementations in user file.
+ * @retval tick value
+ */
+__weak uint32_t HAL_GetTick(void)
+{
+ return uwTick;
+ 8000dd8: 4b01 ldr r3, [pc, #4] @ (8000de0 )
+ 8000dda: 6818 ldr r0, [r3, #0]
+}
+ 8000ddc: 4770 bx lr
+ 8000dde: bf00 nop
+ 8000de0: 24000174 .word 0x24000174
+
+08000de4 :
+ * implementations in user file.
+ * @param Delay specifies the delay time length, in milliseconds.
+ * @retval None
+ */
+__weak void HAL_Delay(uint32_t Delay)
+{
+ 8000de4: b538 push {r3, r4, r5, lr}
+ 8000de6: 4604 mov r4, r0
+ uint32_t tickstart = HAL_GetTick();
+ 8000de8: f7ff fff6 bl 8000dd8
+ 8000dec: 4605 mov r5, r0
+ uint32_t wait = Delay;
+
+ /* Add a freq to guarantee minimum wait */
+ if (wait < HAL_MAX_DELAY)
+ 8000dee: 1c63 adds r3, r4, #1
+ 8000df0: d002 beq.n 8000df8
+ {
+ wait += (uint32_t)(uwTickFreq);
+ 8000df2: 4b04 ldr r3, [pc, #16] @ (8000e04 )
+ 8000df4: 781b ldrb r3, [r3, #0]
+ 8000df6: 441c add r4, r3
+ }
+
+ while ((HAL_GetTick() - tickstart) < wait)
+ 8000df8: f7ff ffee bl 8000dd8
+ 8000dfc: 1b40 subs r0, r0, r5
+ 8000dfe: 42a0 cmp r0, r4
+ 8000e00: d3fa bcc.n 8000df8
+ {
+ }
+}
+ 8000e02: bd38 pop {r3, r4, r5, pc}
+ 8000e04: 24000008 .word 0x24000008
+
+08000e08 :
+ * @brief Returns the device revision identifier.
+ * @retval Device revision identifier
+ */
+uint32_t HAL_GetREVID(void)
+{
+ return((DBGMCU->IDCODE) >> 16);
+ 8000e08: 4b01 ldr r3, [pc, #4] @ (8000e10 )
+ 8000e0a: 6818 ldr r0, [r3, #0]
+}
+ 8000e0c: 0c00 lsrs r0, r0, #16
+ 8000e0e: 4770 bx lr
+ 8000e10: 5c001000 .word 0x5c001000
+
+08000e14 :
+/**
+ * @brief Conversion complete callback in non-blocking mode.
+ * @param hadc ADC handle
+ * @retval None
+ */
+__weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
+ 8000e14: 4770 bx lr
+ 8000e16: bf00 nop
+
+08000e18 :
+/**
+ * @brief Analog watchdog 1 callback in non-blocking mode.
+ * @param hadc ADC handle
+ * @retval None
+ */
+__weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc)
+ 8000e18: 4770 bx lr
+ 8000e1a: bf00 nop
+
+08000e1c :
+ * "HAL_ADC_Start_DMA()"
+ * (this function is also clearing overrun flag)
+ * @param hadc ADC handle
+ * @retval None
+ */
+__weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc)
+ 8000e1c: 4770 bx lr
+ 8000e1e: bf00 nop
+
+08000e20 :
+{
+ 8000e20: b5f8 push {r3, r4, r5, r6, r7, lr}
+ uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance));
+ 8000e22: 4a8e ldr r2, [pc, #568] @ (800105c )
+{
+ 8000e24: 4604 mov r4, r0
+ uint32_t tmp_isr = hadc->Instance->ISR;
+ 8000e26: 6803 ldr r3, [r0, #0]
+ uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance));
+ 8000e28: 4293 cmp r3, r2
+ uint32_t tmp_isr = hadc->Instance->ISR;
+ 8000e2a: 681d ldr r5, [r3, #0]
+ uint32_t tmp_ier = hadc->Instance->IER;
+ 8000e2c: 685e ldr r6, [r3, #4]
+ uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance));
+ 8000e2e: f000 8095 beq.w 8000f5c
+ 8000e32: f502 7280 add.w r2, r2, #256 @ 0x100
+ 8000e36: 4293 cmp r3, r2
+ 8000e38: f000 8090 beq.w 8000f5c
+ 8000e3c: 4a88 ldr r2, [pc, #544] @ (8001060 )
+ * @arg @ref LL_ADC_MULTI_DUAL_REG_SIM_INJ_ALT
+ * @arg @ref LL_ADC_MULTI_DUAL_REG_INT_INJ_SIM
+ */
+__STATIC_INLINE uint32_t LL_ADC_GetMultimode(const ADC_Common_TypeDef *ADCxy_COMMON)
+{
+ return (uint32_t)(READ_BIT(ADCxy_COMMON->CCR, ADC_CCR_DUAL));
+ 8000e3e: 6897 ldr r7, [r2, #8]
+ if (((tmp_isr & ADC_FLAG_EOSMP) == ADC_FLAG_EOSMP) && ((tmp_ier & ADC_IT_EOSMP) == ADC_IT_EOSMP))
+ 8000e40: 07a9 lsls r1, r5, #30
+ 8000e42: f007 071f and.w r7, r7, #31
+ 8000e46: d502 bpl.n 8000e4e
+ 8000e48: 07b2 lsls r2, r6, #30
+ 8000e4a: f100 80aa bmi.w 8000fa2
+ if ((((tmp_isr & ADC_FLAG_EOC) == ADC_FLAG_EOC) && ((tmp_ier & ADC_IT_EOC) == ADC_IT_EOC)) ||
+ 8000e4e: 0769 lsls r1, r5, #29
+ 8000e50: d579 bpl.n 8000f46
+ 8000e52: 0772 lsls r2, r6, #29
+ 8000e54: d577 bpl.n 8000f46
+ if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL)
+ 8000e56: 6d62 ldr r2, [r4, #84] @ 0x54
+ 8000e58: 06d2 lsls r2, r2, #27
+ 8000e5a: d403 bmi.n 8000e64
+ SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC);
+ 8000e5c: 6d62 ldr r2, [r4, #84] @ 0x54
+ 8000e5e: f442 7200 orr.w r2, r2, #512 @ 0x200
+ 8000e62: 6562 str r2, [r4, #84] @ 0x54
+ return ((READ_BIT(ADCx->CFGR, ADC_CFGR_EXTEN) == (LL_ADC_REG_TRIG_SOFTWARE & ADC_CFGR_EXTEN)) ? 1UL : 0UL);
+ 8000e64: 68da ldr r2, [r3, #12]
+ 8000e66: f412 6f40 tst.w r2, #3072 @ 0xc00
+ 8000e6a: d11c bne.n 8000ea6
+ if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance)
+ 8000e6c: 4a7d ldr r2, [pc, #500] @ (8001064 )
+ 8000e6e: 4293 cmp r3, r2
+ 8000e70: f000 80e7 beq.w 8001042