diff --git a/Exp01/.cproject b/Exp01/.cproject
new file mode 100644
index 0000000..37a768b
--- /dev/null
+++ b/Exp01/.cproject
@@ -0,0 +1,358 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Exp01/.mxproject b/Exp01/.mxproject
new file mode 100644
index 0000000..b47a4be
--- /dev/null
+++ b/Exp01/.mxproject
@@ -0,0 +1,35 @@
+[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_cm0plus.h;Drivers/CMSIS/Include/core_cm35p.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/cmsis_armclang_ltm.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/core_armv81mml.h;Drivers/CMSIS/Include/core_cm0.h;
+
+[PreviousUsedCubeIDEFiles]
+SourceFiles=Core/Src/main.c;Core/Src/gpio.c;Core/Src/adc.c;Core/Src/dma.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=8
+HeaderFiles#0=../Core/Inc/gpio.h
+HeaderFiles#1=../Core/Inc/adc.h
+HeaderFiles#2=../Core/Inc/dma.h
+HeaderFiles#3=../Core/Inc/tim.h
+HeaderFiles#4=../Core/Inc/usart.h
+HeaderFiles#5=../Core/Inc/stm32h7xx_it.h
+HeaderFiles#6=../Core/Inc/stm32h7xx_hal_conf.h
+HeaderFiles#7=../Core/Inc/main.h
+HeaderFolderListSize=1
+HeaderPath#0=../Core/Inc
+HeaderFiles=;
+SourceFileListSize=8
+SourceFiles#0=../Core/Src/gpio.c
+SourceFiles#1=../Core/Src/adc.c
+SourceFiles#2=../Core/Src/dma.c
+SourceFiles#3=../Core/Src/tim.c
+SourceFiles#4=../Core/Src/usart.c
+SourceFiles#5=../Core/Src/stm32h7xx_it.c
+SourceFiles#6=../Core/Src/stm32h7xx_hal_msp.c
+SourceFiles#7=../Core/Src/main.c
+SourceFolderListSize=1
+SourcePath#0=../Core/Src
+SourceFiles=;
+
diff --git a/Exp01/.project b/Exp01/.project
new file mode 100644
index 0000000..53bed4d
--- /dev/null
+++ b/Exp01/.project
@@ -0,0 +1,32 @@
+
+
+ Exp01
+
+
+
+
+
+ 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/Exp01/.settings/com.st.stm32cube.ide.mcu.sfr.prefs b/Exp01/.settings/com.st.stm32cube.ide.mcu.sfr.prefs
new file mode 100644
index 0000000..e15e398
--- /dev/null
+++ b/Exp01/.settings/com.st.stm32cube.ide.mcu.sfr.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+svd_custom_file_path=
+svd_file_path=platform\:/plugin/com.st.stm32cube.ide.mcu.productdb.debug/resources/cmsis/STMicroelectronics_CMSIS_SVD/STM32H743.svd
diff --git a/Exp01/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs b/Exp01/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs
new file mode 100644
index 0000000..edb3b64
--- /dev/null
+++ b/Exp01/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+sfrviewstate={"fFavorites"\:{"fLists"\:{"serial3"\:["STM32H743/USART3"],"adc3"\:["STM32H743/ADC3"],"dma1"\:["STM32H743/DMA1"],"tim6"\:["STM32H743/TIM6"]}},"fProperties"\:{"fNodeProperties"\:{"STM32H743/TIM6/CNT"\:{"fNodeProperties"\:{"autoupdate"\:"true"}}}}}
diff --git a/Exp01/.settings/language.settings.xml b/Exp01/.settings/language.settings.xml
new file mode 100644
index 0000000..f222295
--- /dev/null
+++ b/Exp01/.settings/language.settings.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Exp01/.settings/org.eclipse.cdt.codan.core.prefs b/Exp01/.settings/org.eclipse.cdt.codan.core.prefs
new file mode 100644
index 0000000..e35deb9
--- /dev/null
+++ b/Exp01/.settings/org.eclipse.cdt.codan.core.prefs
@@ -0,0 +1,78 @@
+com.st.stm32cube.ide.mcu.ide.oss.source.checker.libnano.problem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Float formatting support\\")"}
+eclipse.preferences.version=1
+org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return\\")",implicit\=>false}
+org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused return value\\")"}
+org.eclipse.cdt.codan.checkers.localvarreturn=-Warning
+org.eclipse.cdt.codan.checkers.localvarreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Returning the address of a local variable\\")"}
+org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Nesting comments\\")"}
+org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Line comments\\")"}
+org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return value\\")",implicit\=>false}
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Abstract class cannot be instantiated\\")"}
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Ambiguous problem\\")"}
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment in condition\\")"}
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment to itself\\")"}
+org.eclipse.cdt.codan.internal.checkers.BlacklistProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.BlacklistProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"The use of function or method is denied\\")",blacklist\=>()}
+org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"C-Style cast instead of C++ cast\\")",checkMacro\=>true}
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No break at end of case\\")",no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false,enable_fallthrough_quickfix_param\=>false}
+org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Catching by reference is recommended\\")",unknown\=>false,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Circular inheritance\\")"}
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class members should be properly initialized\\")",skip\=>true}
+org.eclipse.cdt.codan.internal.checkers.CopyrightProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.CopyrightProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Lack of copyright information\\")",regex\=>".*Copyright.*"}
+org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid 'decltype(auto)' specifier\\")"}
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Field cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.FloatCompareProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.FloatCompareProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Direct float comparison\\")"}
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Goto statement used\\")"}
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid arguments\\")"}
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid template argument\\")"}
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Label statement not found\\")"}
+org.eclipse.cdt.codan.internal.checkers.MagicNumberProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MagicNumberProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Avoid magic numbers\\")",checkArray\=>true,checkOperatorParen\=>true,exceptions\=>(1,0,-1,2,1.0,0.0,-1.0)}
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Member declaration not found\\")"}
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Method cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.MissCaseProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MissCaseProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing cases in switch\\")"}
+org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing default in switch\\")",defaultWithAllEnums\=>false}
+org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing reference return value in assignment operator\\")"}
+org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing self check in assignment operator\\")"}
+org.eclipse.cdt.codan.internal.checkers.MultipleDeclarationsProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MultipleDeclarationsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Multiple variable declaration\\")"}
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Name convention for function\\")",pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.NoDiscardProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.NoDiscardProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return value not evaluated\\")",macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class has a virtual method and non-virtual destructor\\")"}
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid overload\\")"}
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redeclaration\\")"}
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redefinition\\")"}
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return with parenthesis\\")"}
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Format String Vulnerability\\")"}
+org.eclipse.cdt.codan.internal.checkers.ShallowCopyProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ShallowCopyProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Miss copy constructor or assignment operator\\")",onlynew\=>false}
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Statement has no effect\\")",macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.StaticVariableInHeaderProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.StaticVariableInHeaderProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Static variable in header file\\")"}
+org.eclipse.cdt.codan.internal.checkers.StructuredBindingDeclarationProblem=Error
+org.eclipse.cdt.codan.internal.checkers.StructuredBindingDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid structured binding declaration\\")"}
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suggested parenthesis around expression\\")",paramNot\=>false}
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suspicious semicolon\\")",else\=>false,afterelse\=>false}
+org.eclipse.cdt.codan.internal.checkers.SymbolShadowingProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.SymbolShadowingProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol shadowing\\")",paramFuncParameters\=>true}
+org.eclipse.cdt.codan.internal.checkers.TemplateInstantiationProblem=Error
+org.eclipse.cdt.codan.internal.checkers.TemplateInstantiationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be instantiated\\")"}
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Type cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused function declaration\\")",macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused static function\\")",macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused variable declaration in file scope\\")",macro\=>true,exceptions\=>("@(\#)","$Id")}
+org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Using directive in header\\")"}
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol is not resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Virtual method call in constructor/destructor\\")"}
diff --git a/Exp01/.settings/org.eclipse.cdt.core.prefs b/Exp01/.settings/org.eclipse.cdt.core.prefs
new file mode 100644
index 0000000..c8ec5df
--- /dev/null
+++ b/Exp01/.settings/org.eclipse.cdt.core.prefs
@@ -0,0 +1,6 @@
+doxygen/doxygen_new_line_after_brief=true
+doxygen/doxygen_use_brief_tag=false
+doxygen/doxygen_use_javadoc_tags=true
+doxygen/doxygen_use_pre_tag=false
+doxygen/doxygen_use_structural_commands=false
+eclipse.preferences.version=1
diff --git a/Exp01/.settings/org.eclipse.core.resources.prefs b/Exp01/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..4824b80
--- /dev/null
+++ b/Exp01/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/Exp01/.settings/org.eclipse.ltk.core.refactoring.prefs b/Exp01/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..b196c64
--- /dev/null
+++ b/Exp01/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/Exp01/.settings/stm32cubeide.project.prefs b/Exp01/.settings/stm32cubeide.project.prefs
new file mode 100644
index 0000000..14ce38e
--- /dev/null
+++ b/Exp01/.settings/stm32cubeide.project.prefs
@@ -0,0 +1,5 @@
+635E684B79701B039C64EA45C3F84D30=E0B7975C1B9A6BA102B6981E10273477
+66BE74F758C12D739921AEA421D593D3=2
+8DF89ED150041C4CBC7CB9A9CAA90856=01AE7003663704174D695217EA392C2B
+DC22A860405A8BF2F2C095E5B6529F12=01AE7003663704174D695217EA392C2B
+eclipse.preferences.version=1
diff --git a/Exp01/Core/Inc/ADC_READ.h b/Exp01/Core/Inc/ADC_READ.h
new file mode 100644
index 0000000..df9dda7
--- /dev/null
+++ b/Exp01/Core/Inc/ADC_READ.h
@@ -0,0 +1,15 @@
+#include
+
+#define N_MEAS 100 // number of measurements
+#define N_PRE 30
+#define N_POST N_MEAS - N_PRE
+#define TH_lo (0.90/3.3) * (1<<16)
+#define TH_hi (1/3.3) * (1<<16)
+
+extern uint16_t results[N_MEAS+1];
+extern uint8_t DC;
+
+void ADC_calibrate();
+void DMA_init();
+void ADC_READ_init();
+void ADC_READ_interrupt();
diff --git a/Exp01/Core/Inc/DEXP.h b/Exp01/Core/Inc/DEXP.h
new file mode 100644
index 0000000..448d6d8
--- /dev/null
+++ b/Exp01/Core/Inc/DEXP.h
@@ -0,0 +1,9 @@
+#include
+
+#define AMP 40000 // ampiezza
+#define T1 25 // cost. tempo tau-1
+#define T2 8 // cost. tempo tau-2
+#define EXP1 0.96079*(1<<10) // valore numerico exp(-1/T1)
+#define EXP2 0.88250*(1<<10) // valore numerico exp(-1/T2)
+
+void eval_dexp(int a, int t1, int t2, uint16_t* espo);
diff --git a/Exp01/Core/Inc/ESPE_USART_0.h b/Exp01/Core/Inc/ESPE_USART_0.h
new file mode 100644
index 0000000..675eaad
--- /dev/null
+++ b/Exp01/Core/Inc/ESPE_USART_0.h
@@ -0,0 +1,20 @@
+/*
+ * ESPE_seriale..h
+ *
+ * Created on: Oct 20, 2023
+ * Author: utente
+ */
+
+// #ifndef INC_ESPE_SERIALE__H_
+// #define INC_ESPE_SERIALE__H_
+
+#define SEND_CHAR 's'
+#define ACQUIRE_CHAR 'a'
+#define MSG_LENGTH sizeof(not_ready_msg)/sizeof(not_ready_msg[0])
+
+// #endif /* INC_ESPE_SERIALE__H_ */
+
+//Ricordiamoci che tutto quanto definito nel .c qui va ripreso con extern
+
+void ESPE_USART_interrupt(void);
+void USART_init(void);
diff --git a/Exp01/Core/Inc/SEMAPHORE.h b/Exp01/Core/Inc/SEMAPHORE.h
new file mode 100644
index 0000000..f4834cd
--- /dev/null
+++ b/Exp01/Core/Inc/SEMAPHORE.h
@@ -0,0 +1,11 @@
+#define on_0 (1<<0) // GPIOB
+#define off_0 (1<<(0+16))
+#define on_1 (1<<1) // GPIOE
+#define off_1 (1<<(1+16))
+#define on_2 (1<<14) // GPIOB
+#define off_2 (1<<(14+16))
+#define ON_time 200*10 //0.1 ms (ON time for LEDs on extremes - green/red)
+#define OFF_time 500*10 //0.1 ms (ON time for central LED - orange)
+
+void SEMAPHORE_TIM7_interrupt(void);
+void SEMAPHORE_init(void);
diff --git a/Exp01/Core/Inc/adc.h b/Exp01/Core/Inc/adc.h
new file mode 100644
index 0000000..0d0f6e6
--- /dev/null
+++ b/Exp01/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/Exp01/Core/Inc/dma.h b/Exp01/Core/Inc/dma.h
new file mode 100644
index 0000000..b874495
--- /dev/null
+++ b/Exp01/Core/Inc/dma.h
@@ -0,0 +1,52 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file dma.h
+ * @brief This file contains all the function prototypes for
+ * the dma.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 __DMA_H__
+#define __DMA_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* DMA memory to memory transfer handles -------------------------------------*/
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_DMA_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __DMA_H__ */
+
diff --git a/Exp01/Core/Inc/gpio.h b/Exp01/Core/Inc/gpio.h
new file mode 100644
index 0000000..21a3b5a
--- /dev/null
+++ b/Exp01/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) 2023 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/Exp01/Core/Inc/main.h b/Exp01/Core/Inc/main.h
new file mode 100644
index 0000000..1cf09be
--- /dev/null
+++ b/Exp01/Core/Inc/main.h
@@ -0,0 +1,84 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.h
+ * @brief : Header for main.c file.
+ * This file contains the common defines of the application.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2023 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 USB_OTG_FS_PWR_EN_Pin GPIO_PIN_10
+#define USB_OTG_FS_PWR_EN_GPIO_Port GPIOD
+#define USB_OTG_FS_OVCR_Pin GPIO_PIN_7
+#define USB_OTG_FS_OVCR_GPIO_Port GPIOG
+#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/Exp01/Core/Inc/memorymap.h b/Exp01/Core/Inc/memorymap.h
new file mode 100644
index 0000000..7bcf43f
--- /dev/null
+++ b/Exp01/Core/Inc/memorymap.h
@@ -0,0 +1,48 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file memorymap.h
+ * @brief This file contains all the function prototypes for
+ * the memorymap.c file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MEMORYMAP_H__
+#define __MEMORYMAP_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 */
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MEMORYMAP_H__ */
+
diff --git a/Exp01/Core/Inc/stm32h7xx_hal_conf.h b/Exp01/Core/Inc/stm32h7xx_hal_conf.h
new file mode 100644
index 0000000..f911a50
--- /dev/null
+++ b/Exp01/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 (8000000UL) /*!< 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/Exp01/Core/Inc/stm32h7xx_it.h b/Exp01/Core/Inc/stm32h7xx_it.h
new file mode 100644
index 0000000..443d8c3
--- /dev/null
+++ b/Exp01/Core/Inc/stm32h7xx_it.h
@@ -0,0 +1,72 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32h7xx_it.h
+ * @brief This file contains the headers of the interrupt handlers.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2023 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 DMA1_Stream3_IRQHandler(void);
+void USART3_IRQHandler(void);
+void TIM6_DAC_IRQHandler(void);
+void TIM7_IRQHandler(void);
+void DMA2_Stream0_IRQHandler(void);
+void ADC3_IRQHandler(void);
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32H7xx_IT_H */
diff --git a/Exp01/Core/Inc/tim.h b/Exp01/Core/Inc/tim.h
new file mode 100644
index 0000000..6c39b15
--- /dev/null
+++ b/Exp01/Core/Inc/tim.h
@@ -0,0 +1,55 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tim.h
+ * @brief This file contains all the function prototypes for
+ * the tim.c file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2023 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;
+
+extern TIM_HandleTypeDef htim7;
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_TIM6_Init(void);
+void MX_TIM7_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TIM_H__ */
+
diff --git a/Exp01/Core/Inc/usart.h b/Exp01/Core/Inc/usart.h
new file mode 100644
index 0000000..dc43816
--- /dev/null
+++ b/Exp01/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) 2023 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/Exp01/Core/Src/ADC_READ.c b/Exp01/Core/Src/ADC_READ.c
new file mode 100644
index 0000000..39b50c7
--- /dev/null
+++ b/Exp01/Core/Src/ADC_READ.c
@@ -0,0 +1,71 @@
+#include "ADC_READ.h"
+#include "adc.h"
+#include "dma.h"
+
+#define READ_CH 1
+// definisci il vettore per i risultati delle misure
+
+
+void ADC_calibrate(){
+ // calibrazione
+ // ADC3->CR |= ADC_CR_ADCALDIF; // SOLO per misure differenziali (defualt=0)
+ // esegui anche calibrazione linearità (oltre che offest)
+ ADC3->CR |= ADC_CR_ADCALLIN;
+ // inizia la calibrazione
+ ADC3->CR |= ADC_CR_ADCAL;
+}
+
+void DMA_init(){
+ // DMA per USART (DMA1 stream3)
+ DMA1_Stream3->M0AR = (uint32_t) &results;
+ DMA1_Stream3->PAR = (uint32_t) &(USART3->TDR);
+ DMA1_Stream3->NDTR = (uint16_t) (N_MEAS+1)*2; // send signle bytes
+
+ DMA1->LIFCR = 0xffffffff;
+ DMA1->HIFCR = 0xffffffff;
+ DMA1_Stream3->CR |= DMA_SxCR_TCIE;
+
+ // DMA per ADC (DMA2 stream0)
+ DMA2_Stream0->M0AR = (uint32_t) &results;
+ DMA2_Stream0->PAR = (uint32_t) &(ADC3->DR);
+ DMA2_Stream0->NDTR = (uint16_t) N_MEAS;
+
+ DMA2->LIFCR = 0xffffffff;
+ DMA2->HIFCR = 0xffffffff;
+ DMA2_Stream0->CR |= DMA_SxCR_TCIE;
+}
+
+void ADC_READ_init(){
+
+ // TIM6 conf.
+ TIM6 -> PSC = 6000; // set single timer ticks to 0.25us (240MHz/30 = 4MHz) - 240MHz is APB1 clock freq.
+ TIM6 -> CNT = 0;
+ TIM6 -> ARR = 4; // 1/4 us
+
+ // configura canali da leggere in modalità sequenziale
+ ADC3->SQR1 = 0;
+ ADC3->SQR1 |= (READ_CH << ADC_SQR1_SQ1_Pos);
+ // imposta una sola misura (lui misura L+1 canali dove L è il valore impostato in questo reg.)
+ ADC3->SQR1 |= (0 << ADC_SQR1_L_Pos);
+ // abilita i canali da utilizzare nel multiplexer
+ ADC3->PCSEL |= ADC_PCSEL_PCSEL_1;
+ // imposta il tempo di lettura (bigger, better)
+ ADC3->SMPR1 |= (0 << ADC_SMPR1_SMP1_Pos);
+ // abilita interrupt per fine misura [e messa in funzione (ADRDY abilitato)]
+ ADC3->IER |= ADC_IER_EOSIE;
+ // cont. mode
+ //ADC3->CFGR |= ADC_CFGR_CONT;
+ // abilita DMA sull'ADC
+ ADC3->CFGR |= ADC_CFGR_DMNGT;
+
+ // ignora overrun
+ //ADC3->CFGR |= ADC_CFGR_OVRMOD;
+
+ // abilita ADC vera e propria
+ ADC3->ISR |= ADC_ISR_ADRDY;
+ ADC3->CR |= ADC_CR_ADEN;
+
+ DMA2_Stream0->CR |= DMA_SxCR_EN;
+}
+
+
diff --git a/Exp01/Core/Src/DEXP.c b/Exp01/Core/Src/DEXP.c
new file mode 100644
index 0000000..737a478
--- /dev/null
+++ b/Exp01/Core/Src/DEXP.c
@@ -0,0 +1,24 @@
+#include
+#include "DEXP.h"
+
+void eval_dexp(int a, int t1, int t2, uint16_t* espo){
+ // calcola la differenza punto punto fra due exp. decrescenti con medesima ampiezza
+ // a: ampiezza dell'exp.
+ // t1: valore di exp(-1/tau1)*1024
+ // t1: valore di exp(-1/tau2)*1024
+ uint32_t tmp1, tmp2;
+ uint16_t prec1, prec2;
+
+ // in posizione 0 imposta 0 (hanno stessa ampiezza
+ prec1 = (uint16_t)a;
+ prec2 = (uint16_t)a;
+ espo[0] = 0;
+
+ for(int i=1; i<100; i++){
+ tmp1 = (uint32_t) prec1 * t1;
+ tmp2 = (uint32_t) prec2 * t2;
+ espo[i] = (uint16_t) ((tmp1-tmp2) >> 10);
+ prec1 = tmp1 >> 10;
+ prec2 = tmp2 >> 10;
+ }
+}
diff --git a/Exp01/Core/Src/ESPE_USART_0.c b/Exp01/Core/Src/ESPE_USART_0.c
new file mode 100644
index 0000000..3455b58
--- /dev/null
+++ b/Exp01/Core/Src/ESPE_USART_0.c
@@ -0,0 +1,73 @@
+#include
+#include "usart.h"
+#include "ESPE_USART_0.h"
+#include "ADC_READ.h"
+
+uint8_t KS = 0; // keep sending
+uint8_t rcv; // recieved char
+uint8_t* to_send; // pointer to a single byte of data vector (i can only send byte by byte)
+uint16_t length; // lenght of the message to send (in bytes)
+
+uint8_t not_ready_msg[] = "NA";
+//Zona definizione di funzioni
+void USART_init(void){
+
+ // abilita rx/tx su USART3
+ USART3->CR1 |= USART_CR1_RE;
+ USART3->CR1 |= USART_CR1_TE;
+ // abilita rx/tx interrupts su USART3
+ USART3->CR1 |= USART_CR1_RXNEIE;
+ //USART3->CR1 |= USART_CR1_TCIE;
+
+ // abilita DMA
+ USART3->CR3 |= USART_CR3_DMAT;
+}
+
+
+void ESPE_USART_interrupt(void){
+ /*
+ // logica trasmissione
+ if( USART3->ISR & USART_ISR_TC){
+ // controlla se devo ancora inviare roba (ci sono altri elementi del vettore da mandare)
+ // e se sto effettivamente inviando un vettore (KS=1)
+ // (in questo caso devo fare due invii per elemento perchè questi occupano 2byte ciascuno)
+ if ( (indx < length) & KS ){
+ USART3->TDR = to_send[indx];
+ indx++;
+ }else{
+ USART3->ICR |= USART_ICR_TCCF;
+ KS = 0;
+ indx = 0;
+ }
+ }
+ */
+ // logica ricezione
+ if( USART3->ISR & USART_ISR_RXNE_RXFNE){
+ rcv = USART3->RDR;
+
+ if(rcv == SEND_CHAR){
+
+ DMA1_Stream3->CR |= DMA_SxCR_EN;
+
+ //KS = 1;
+ //indx ++;
+ //USART3->TDR = to_send[0];
+
+ }else if(rcv == ACQUIRE_CHAR){
+ // riporta indice DMA a 100
+ DMA2_Stream0->NDTR = (uint16_t) N_MEAS;
+ // inizia la misura di ADC e fai partire timer
+ ADC3-> CR |= ADC_CR_ADSTART;
+ TIM6-> CR1 |= TIM_CR1_CEN;
+
+ }else{
+ USART3->TDR = rcv;
+ //KS = 0;
+ }
+
+ }
+ //Per ovviare a dimenticanze azzeriamo all'uscita i flag della ricezione e trasmissione in ogni caso
+ USART3->ICR |= USART_ICR_ORECF; //Cancella l'overrun. Capita quando si entra in debug
+ USART3->ICR |= USART_ICR_TCCF ; //Azzeramento flag interrupt trasmissione
+ USART3->RQR |= USART_RQR_RXFRQ; //Azzeramento flag interrupt ricezione
+}
diff --git a/Exp01/Core/Src/SEMAPHORE.c b/Exp01/Core/Src/SEMAPHORE.c
new file mode 100644
index 0000000..0ecbb1c
--- /dev/null
+++ b/Exp01/Core/Src/SEMAPHORE.c
@@ -0,0 +1,49 @@
+#include "SEMAPHORE.h"
+#include "gpio.h"
+
+char stato = 0;
+char dir = 0;
+
+void SEMAPHORE_init(void){
+ TIM7 -> ARR = ON_time;
+ TIM7 -> PSC = 24000; // set single timer ticks to 100us (240MHz/24000 = 10kHz) - 240MHz is APB1 clock freq.
+ TIM7 -> CR1 |= TIM_CR1_CEN;
+ TIM7 -> CNT = 0;
+ TIM7 -> DIER |= TIM_DIER_UIE;
+ //inizia con UNO acceso
+ GPIOB -> BSRR = on_0;
+}
+
+void SEMAPHORE_TIM7_interrupt(void){
+ // spegni tutto
+ GPIOB -> BSRR = off_0;
+ GPIOE -> BSRR = off_1;
+ GPIOB -> BSRR = off_2;
+
+ TIM7->SR = 0;
+
+ switch(stato){
+ case 0:
+ GPIOE -> BSRR = on_1;
+ stato = 1;
+ TIM7 -> ARR = ON_time;
+ break;
+ case 1:
+ if(!dir){
+ GPIOB -> BSRR = on_2;
+ stato = 2;
+ dir = 1;
+ }else{
+ GPIOB -> BSRR = on_0;
+ stato = 0;
+ dir = 0;
+ }
+ TIM7 -> ARR = OFF_time;
+ break;
+ case 2:
+ GPIOE -> BSRR = on_1;
+ stato = 1;
+ TIM7 -> ARR = ON_time;
+ break;
+ }
+}
diff --git a/Exp01/Core/Src/adc.c b/Exp01/Core/Src/adc.c
new file mode 100644
index 0000000..5f6fd76
--- /dev/null
+++ b/Exp01/Core/Src/adc.c
@@ -0,0 +1,155 @@
+/* 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;
+DMA_HandleTypeDef hdma_adc3;
+
+/* 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_DIV2;
+ 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_EXTERNALTRIG_T6_TRGO;
+ hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
+ 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_1;
+ 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();
+
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ /**ADC3 GPIO Configuration
+ PC3_C ------> ADC3_INP1
+ */
+ HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC3, SYSCFG_SWITCH_PC3_OPEN);
+
+ /* ADC3 DMA Init */
+ /* ADC3 Init */
+ hdma_adc3.Instance = DMA2_Stream0;
+ hdma_adc3.Init.Request = DMA_REQUEST_ADC3;
+ hdma_adc3.Init.Direction = DMA_PERIPH_TO_MEMORY;
+ hdma_adc3.Init.PeriphInc = DMA_PINC_DISABLE;
+ hdma_adc3.Init.MemInc = DMA_MINC_ENABLE;
+ hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
+ hdma_adc3.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
+ hdma_adc3.Init.Mode = DMA_CIRCULAR;
+ hdma_adc3.Init.Priority = DMA_PRIORITY_MEDIUM;
+ hdma_adc3.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
+ if (HAL_DMA_Init(&hdma_adc3) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ __HAL_LINKDMA(adcHandle,DMA_Handle,hdma_adc3);
+
+ /* 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 DMA DeInit */
+ HAL_DMA_DeInit(adcHandle->DMA_Handle);
+
+ /* 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/Exp01/Core/Src/dma.c b/Exp01/Core/Src/dma.c
new file mode 100644
index 0000000..d8db259
--- /dev/null
+++ b/Exp01/Core/Src/dma.c
@@ -0,0 +1,59 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file dma.c
+ * @brief This file provides code for the configuration
+ * of all the requested memory to memory DMA transfers.
+ ******************************************************************************
+ * @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 "dma.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*----------------------------------------------------------------------------*/
+/* Configure DMA */
+/*----------------------------------------------------------------------------*/
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/**
+ * Enable DMA controller clock
+ */
+void MX_DMA_Init(void)
+{
+
+ /* DMA controller clock enable */
+ __HAL_RCC_DMA2_CLK_ENABLE();
+ __HAL_RCC_DMA1_CLK_ENABLE();
+
+ /* DMA interrupt init */
+ /* DMA1_Stream3_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn);
+ /* DMA2_Stream0_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn);
+
+}
+
+/* USER CODE BEGIN 2 */
+
+/* USER CODE END 2 */
+
diff --git a/Exp01/Core/Src/gpio.c b/Exp01/Core/Src/gpio.c
new file mode 100644
index 0000000..10227a9
--- /dev/null
+++ b/Exp01/Core/Src/gpio.c
@@ -0,0 +1,163 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file gpio.c
+ * @brief This file provides code for the configuration
+ * of all used GPIO pins.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2023 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
+ PC1 ------> ETH_MDC
+ PA1 ------> ETH_REF_CLK
+ PA2 ------> ETH_MDIO
+ PA7 ------> ETH_CRS_DV
+ PC4 ------> ETH_RXD0
+ PC5 ------> ETH_RXD1
+ PB13 ------> ETH_TXD1
+ PA8 ------> USB_OTG_FS_SOF
+ PA9 ------> USB_OTG_FS_VBUS
+ PA11 ------> USB_OTG_FS_DM
+ PA12 ------> USB_OTG_FS_DP
+ PA13 (JTMS/SWDIO) ------> DEBUG_JTMS-SWDIO
+ PA14 (JTCK/SWCLK) ------> DEBUG_JTCK-SWCLK
+ PG11 ------> ETH_TX_EN
+ PG13 ------> ETH_TXD0
+ PB3 (JTDO/TRACESWO) ------> DEBUG_JTDO-SWO
+*/
+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_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ __HAL_RCC_GPIOG_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(USB_OTG_FS_PWR_EN_GPIO_Port, USB_OTG_FS_PWR_EN_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 : PC1 PC4 PC5 */
+ GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PA1 PA2 PA7 */
+ GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ HAL_GPIO_Init(GPIOA, &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 : PB13 */
+ GPIO_InitStruct.Pin = GPIO_PIN_13;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : USB_OTG_FS_PWR_EN_Pin */
+ GPIO_InitStruct.Pin = USB_OTG_FS_PWR_EN_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(USB_OTG_FS_PWR_EN_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PD11 */
+ GPIO_InitStruct.Pin = GPIO_PIN_11;
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : USB_OTG_FS_OVCR_Pin */
+ GPIO_InitStruct.Pin = USB_OTG_FS_OVCR_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(USB_OTG_FS_OVCR_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PA8 PA11 PA12 */
+ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_11|GPIO_PIN_12;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF10_OTG1_FS;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PG11 PG13 */
+ GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_13;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ HAL_GPIO_Init(GPIOG, &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/Exp01/Core/Src/main.c b/Exp01/Core/Src/main.c
new file mode 100644
index 0000000..a487211
--- /dev/null
+++ b/Exp01/Core/Src/main.c
@@ -0,0 +1,251 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.c
+ * @brief : Main program body
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2023 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 "dma.h"
+#include "tim.h"
+#include "usart.h"
+#include "gpio.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+#include "ESPE_USART_0.h"
+#include "SEMAPHORE.h"
+#include "ADC_READ.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);
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+/* USER CODE END 0 */
+
+/**
+ * @brief The application entry point.
+ * @retval int
+ */
+
+int main(void)
+{
+
+ /* USER CODE BEGIN 1 */
+
+ //Un indirizzo che possiamo usare per un attimo: 0x2407fff8
+
+ //Useremo tra poco per misurare il tempo
+ //DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk; //Abilitiamo il conta cicli macchina
+ //DBGMCU->APB1LFZ1 |= DBGMCU_APB1LFZ1_DBG_TIM6_Msk; //Stoppiamo TIM6 al breakpoint
+ //DWT->CYCCNT=0; //Azzeriamo il contacicli macchina per comodità
+
+ //unsigned int il_clock_impostato = HAL_RCC_GetSysClockFreq () ;
+ // ripetizioni = il_clock_impostato / 12;
+ /* USER CODE END 1 */
+
+ /* MCU Configuration--------------------------------------------------------*/
+
+ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
+ HAL_Init();
+
+ /* USER CODE BEGIN Init */
+
+ /* USER CODE END Init */
+
+ /* Configure the system clock */
+ SystemClock_Config();
+
+ /* Configure the peripherals common clocks */
+ PeriphCommonClock_Config();
+
+ /* USER CODE BEGIN SysInit */
+
+ /* USER CODE END SysInit */
+
+ /* Initialize all configured peripherals */
+ MX_GPIO_Init();
+ MX_DMA_Init();
+ MX_USART3_UART_Init();
+ MX_TIM6_Init();
+ MX_ADC3_Init();
+ MX_TIM7_Init();
+ /* USER CODE BEGIN 2 */
+
+ // calibra ADC e aspetta che il processo si concluda
+ ADC_calibrate();
+ while(ADC3->CR & ADC_CR_ADCAL){}
+
+ DMA_init();
+ ADC_READ_init();
+ SEMAPHORE_init();
+ USART_init();
+ /* USER CODE END 2 */
+
+ /* Infinite loop */
+ /* USER CODE BEGIN WHILE */
+ while (1){
+ /* USER CODE END WHILE */
+ /* USER CODE BEGIN 3 */
+ }
+ /* USER CODE END 3 */
+}
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void)
+{
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+
+ /** Supply configuration update enable
+ */
+ HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
+
+ /** Configure the main internal regulator output voltage
+ */
+ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);
+
+ while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
+
+ /** Initializes the RCC Oscillators according to the specified parameters
+ * in the RCC_OscInitTypeDef structure.
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
+ RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
+ RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
+ RCC_OscInitStruct.PLL.PLLM = 1;
+ RCC_OscInitStruct.PLL.PLLN = 120;
+ RCC_OscInitStruct.PLL.PLLP = 2;
+ RCC_OscInitStruct.PLL.PLLQ = 4;
+ RCC_OscInitStruct.PLL.PLLR = 2;
+ RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3;
+ 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 = 8;
+ PeriphClkInitStruct.PLL2.PLL2N = 150;
+ PeriphClkInitStruct.PLL2.PLL2P = 2;
+ PeriphClkInitStruct.PLL2.PLL2Q = 2;
+ PeriphClkInitStruct.PLL2.PLL2R = 2;
+ PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_0;
+ 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 */
+
+/**
+ * @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/Exp01/Core/Src/memorymap.c b/Exp01/Core/Src/memorymap.c
new file mode 100644
index 0000000..59d269e
--- /dev/null
+++ b/Exp01/Core/Src/memorymap.c
@@ -0,0 +1,29 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file memorymap.c
+ * @brief This file provides code for the configuration
+ * of the MEMORYMAP instances.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "memorymap.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Exp01/Core/Src/stm32h7xx_hal_msp.c b/Exp01/Core/Src/stm32h7xx_hal_msp.c
new file mode 100644
index 0000000..e8398ff
--- /dev/null
+++ b/Exp01/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) 2023 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/Exp01/Core/Src/stm32h7xx_it.c b/Exp01/Core/Src/stm32h7xx_it.c
new file mode 100644
index 0000000..77479ef
--- /dev/null
+++ b/Exp01/Core/Src/stm32h7xx_it.c
@@ -0,0 +1,353 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32h7xx_it.c
+ * @brief Interrupt Service Routines.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2023 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 */
+#include "SEMAPHORE.h"
+#include "ESPE_USART_0.h"
+#include "ADC_READ.h"
+/* 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 DMA_HandleTypeDef hdma_adc3;
+extern ADC_HandleTypeDef hadc3;
+extern TIM_HandleTypeDef htim6;
+extern TIM_HandleTypeDef htim7;
+extern DMA_HandleTypeDef hdma_usart3_tx;
+extern UART_HandleTypeDef huart3;
+/* USER CODE BEGIN EV */
+uint16_t results[N_MEAS+1]; //data + begin pos
+uint8_t TA = 0; // trigger active
+uint8_t TR = 0; // trigger ready
+uint8_t POS = 0; // buffer index at trigger time
+uint8_t FULL= 0 ; // begin
+uint8_t indx= 0;
+uint16_t tmp;
+typedef struct {
+ uint8_t active: 1;
+ uint8_t ready : 1;
+ uint8_t full : 1;
+} Stato;
+/* 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 DMA1 stream3 global interrupt.
+ */
+void DMA1_Stream3_IRQHandler(void)
+{
+ /* USER CODE BEGIN DMA1_Stream3_IRQn 0 */
+ DMA1_Stream3->NDTR = (uint16_t) (N_MEAS+1)*2; // send signle bytes (+ begin position)
+
+ DMA1->LIFCR = 0xffffffff;
+ DMA1->HIFCR = 0xffffffff;
+ /* USER CODE END DMA1_Stream3_IRQn 0 */
+ HAL_DMA_IRQHandler(&hdma_usart3_tx);
+ /* USER CODE BEGIN DMA1_Stream3_IRQn 1 */
+ // empty results array for the next run
+ /* USER CODE END DMA1_Stream3_IRQn 1 */
+}
+
+/**
+ * @brief This function handles USART3 global interrupt.
+ */
+void USART3_IRQHandler(void)
+{
+ /* USER CODE BEGIN USART3_IRQn 0 */
+ ESPE_USART_interrupt();
+ /* USER CODE END USART3_IRQn 0 */
+ HAL_UART_IRQHandler(&huart3);
+ /* USER CODE BEGIN USART3_IRQn 1 */
+
+ /* 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 */
+ /* USER CODE END TIM6_DAC_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim6);
+ /* USER CODE BEGIN TIM6_DAC_IRQn 1 */
+
+ /* USER CODE END TIM6_DAC_IRQn 1 */
+}
+
+/**
+ * @brief This function handles TIM7 global interrupt.
+ */
+void TIM7_IRQHandler(void)
+{
+ /* USER CODE BEGIN TIM7_IRQn 0 */
+ SEMAPHORE_TIM7_interrupt();
+
+ /* USER CODE END TIM7_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim7);
+ /* USER CODE BEGIN TIM7_IRQn 1 */
+
+ /* USER CODE END TIM7_IRQn 1 */
+}
+
+/**
+ * @brief This function handles DMA2 stream0 global interrupt.
+ */
+void DMA2_Stream0_IRQHandler(void)
+{
+ /* USER CODE BEGIN DMA2_Stream0_IRQn 0 */
+
+ // reset DMA to inital state
+ //DMA2_Stream0->NDTR |= (uint16_t) N_MEAS;
+ FULL = 1;
+ DMA2->LIFCR = 0xffffffff;
+ DMA2->HIFCR = 0xffffffff;
+ if(0){
+ /* USER CODE END DMA2_Stream0_IRQn 0 */
+ HAL_DMA_IRQHandler(&hdma_adc3);
+ /* USER CODE BEGIN DMA2_Stream0_IRQn 1 */
+ }
+ /* USER CODE END DMA2_Stream0_IRQn 1 */
+}
+
+/**
+ * @brief This function handles ADC3 global interrupt.
+ */
+void ADC3_IRQHandler(void)
+{
+ /* USER CODE BEGIN ADC3_IRQn 0 */
+ // mettere il codice direttamente qua aiuta con la velocità di campionamento
+ // TODO: dovresti segnalare che ADC è pronta per la lettura al resto del codice
+ tmp = ADC3->DR;
+
+ if(TA & FULL){
+ // trigger attivo
+ if(indx == N_POST){
+ TIM6->CR1 &= ~(TIM_CR1_CEN); // stop timer
+ TA = 0;
+ FULL = 0;
+ indx = 0;
+ }else{
+ indx++;
+ }
+ }else{
+
+ // trigger logic
+ if(tmp < TH_lo){
+ // trigger ready
+ TR = 1;
+ }else if( (tmp > TH_hi) & (TR == 1) ){
+ // trigger active
+ TR = 0;
+ TA = 1;
+ POS = N_MEAS - DMA2_Stream0->NDTR -1;
+ results[100] = POS;
+ /*
+ if (POS < N_PRE){
+ results[100] = (uint16_t) POS + N_POST;
+ }else{
+ results[100] = (uint16_t) POS - N_PRE;
+ }*/
+ }
+ }
+
+ // TODO: necessary?
+ ADC3->ISR |= ADC_ISR_EOC;
+ //ADC3->CR |= ADC_CR_ADSTART;
+ // escludi questa funzione, sempre per questione di velocità
+ #if(0)
+ /* 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/Exp01/Core/Src/syscalls.c b/Exp01/Core/Src/syscalls.c
new file mode 100644
index 0000000..d190edf
--- /dev/null
+++ b/Exp01/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-2023 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/Exp01/Core/Src/sysmem.c b/Exp01/Core/Src/sysmem.c
new file mode 100644
index 0000000..921ecef
--- /dev/null
+++ b/Exp01/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) 2023 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/Exp01/Core/Src/system_stm32h7xx.c b/Exp01/Core/Src/system_stm32h7xx.c
new file mode 100644
index 0000000..851ebcb
--- /dev/null
+++ b/Exp01/Core/Src/system_stm32h7xx.c
@@ -0,0 +1,450 @@
+/**
+ ******************************************************************************
+ * @file system_stm32h7xx.c
+ * @author MCD Application Team
+ * @brief CMSIS Cortex-Mx Device Peripheral Access Layer System Source File.
+ *
+ * This file provides two functions and one global variable to be called from
+ * user application:
+ * - SystemInit(): This function is called at startup just after reset and
+ * before branch to main program. This call is made inside
+ * the "startup_stm32h7xx.s" file.
+ *
+ * - SystemCoreClock variable: Contains the core clock, it can be used
+ * by the user application to setup the SysTick
+ * timer or configure other parameters.
+ *
+ * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+ * be called whenever the core clock is changed
+ * during program execution.
+ *
+ *
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2017 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+
+/** @addtogroup CMSIS
+ * @{
+ */
+
+/** @addtogroup stm32h7xx_system
+ * @{
+ */
+
+/** @addtogroup STM32H7xx_System_Private_Includes
+ * @{
+ */
+
+#include "stm32h7xx.h"
+#include
+
+#if !defined (HSE_VALUE)
+#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (CSI_VALUE)
+ #define CSI_VALUE ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* CSI_VALUE */
+
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE ((uint32_t)64000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32H7xx_System_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32H7xx_System_Private_Defines
+ * @{
+ */
+
+/************************* Miscellaneous Configuration ************************/
+/*!< Uncomment the following line if you need to use initialized data in D2 domain SRAM (AHB SRAM) */
+/* #define DATA_IN_D2_SRAM */
+
+/* Note: Following vector table addresses must be defined in line with linker
+ configuration. */
+/*!< Uncomment the following line if you need to relocate the vector table
+ anywhere in FLASH BANK1 or AXI SRAM, else the vector table is kept at the automatic
+ remap of boot address selected */
+/* #define USER_VECT_TAB_ADDRESS */
+
+#if defined(USER_VECT_TAB_ADDRESS)
+#if defined(DUAL_CORE) && defined(CORE_CM4)
+/*!< Uncomment the following line if you need to relocate your vector Table
+ in D2 AXI SRAM else user remap will be done in FLASH BANK2. */
+/* #define VECT_TAB_SRAM */
+#if defined(VECT_TAB_SRAM)
+#define VECT_TAB_BASE_ADDRESS D2_AXISRAM_BASE /*!< Vector Table base address field.
+ This value must be a multiple of 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
+ /*
+ * Disable the FMC bank1 (enabled after reset).
+ * This, prevents CPU speculation access on this bank which blocks the use of FMC during
+ * 24us. During this time the others FMC master (such as LTDC) cannot use it!
+ */
+ FMC_Bank1_R->BTCR[0] = 0x000030D2;
+
+ /* Configure the Vector Table location -------------------------------------*/
+#if defined(USER_VECT_TAB_ADDRESS)
+ SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal D1 AXI-RAM or in Internal FLASH */
+#endif /* USER_VECT_TAB_ADDRESS */
+
+#endif /*DUAL_CORE && CORE_CM4*/
+}
+
+/**
+ * @brief Update SystemCoreClock variable according to Clock Register Values.
+ * The SystemCoreClock variable contains the core clock , it can
+ * be used by the user application to setup the SysTick timer or configure
+ * other parameters.
+ *
+ * @note Each time the core clock changes, this function must be called
+ * to update SystemCoreClock variable value. Otherwise, any configuration
+ * based on this variable will be incorrect.
+ *
+ * @note - The system frequency computed by this function is not the real
+ * frequency in the chip. It is calculated based on the predefined
+ * constant and the selected clock source:
+ *
+ * - If SYSCLK source is CSI, SystemCoreClock will contain the CSI_VALUE(*)
+ * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**)
+ * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***)
+ * - If SYSCLK source is PLL, SystemCoreClock will contain the CSI_VALUE(*),
+ * HSI_VALUE(**) or HSE_VALUE(***) multiplied/divided by the PLL factors.
+ *
+ * (*) CSI_VALUE is a constant defined in stm32h7xx_hal.h file (default value
+ * 4 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ * (**) HSI_VALUE is a constant defined in stm32h7xx_hal.h file (default value
+ * 64 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (***)HSE_VALUE is a constant defined in stm32h7xx_hal.h file (default value
+ * 25 MHz), user has to ensure that HSE_VALUE is same as the real
+ * frequency of the crystal used. Otherwise, this function may
+ * have wrong result.
+ *
+ * - The result of this function could be not correct when using fractional
+ * value for HSE crystal.
+ * @param None
+ * @retval None
+ */
+void SystemCoreClockUpdate (void)
+{
+ uint32_t pllp, pllsource, pllm, pllfracen, hsivalue, tmp;
+ uint32_t common_system_clock;
+ float_t fracn1, pllvco;
+
+
+ /* Get SYSCLK source -------------------------------------------------------*/
+
+ switch (RCC->CFGR & RCC_CFGR_SWS)
+ {
+ case RCC_CFGR_SWS_HSI: /* HSI used as system clock source */
+ common_system_clock = (uint32_t) (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3));
+ break;
+
+ case RCC_CFGR_SWS_CSI: /* CSI used as system clock source */
+ common_system_clock = CSI_VALUE;
+ break;
+
+ case RCC_CFGR_SWS_HSE: /* HSE used as system clock source */
+ common_system_clock = HSE_VALUE;
+ break;
+
+ case RCC_CFGR_SWS_PLL1: /* PLL1 used as system clock source */
+
+ /* PLL_VCO = (HSE_VALUE or HSI_VALUE or CSI_VALUE/ PLLM) * PLLN
+ SYSCLK = PLL_VCO / PLLR
+ */
+ pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC);
+ pllm = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1)>> 4) ;
+ pllfracen = ((RCC->PLLCFGR & RCC_PLLCFGR_PLL1FRACEN)>>RCC_PLLCFGR_PLL1FRACEN_Pos);
+ fracn1 = (float_t)(uint32_t)(pllfracen* ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN1)>> 3));
+
+ if (pllm != 0U)
+ {
+ switch (pllsource)
+ {
+ case RCC_PLLCKSELR_PLLSRC_HSI: /* HSI used as PLL clock source */
+
+ hsivalue = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3)) ;
+ pllvco = ( (float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
+
+ break;
+
+ case RCC_PLLCKSELR_PLLSRC_CSI: /* CSI used as PLL clock source */
+ pllvco = ((float_t)CSI_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
+ break;
+
+ case RCC_PLLCKSELR_PLLSRC_HSE: /* HSE used as PLL clock source */
+ pllvco = ((float_t)HSE_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
+ break;
+
+ default:
+ hsivalue = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3)) ;
+ pllvco = ((float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
+ break;
+ }
+ pllp = (((RCC->PLL1DIVR & RCC_PLL1DIVR_P1) >>9) + 1U ) ;
+ common_system_clock = (uint32_t)(float_t)(pllvco/(float_t)pllp);
+ }
+ else
+ {
+ common_system_clock = 0U;
+ }
+ break;
+
+ default:
+ common_system_clock = (uint32_t) (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3));
+ break;
+ }
+
+ /* Compute SystemClock frequency --------------------------------------------------*/
+#if defined (RCC_D1CFGR_D1CPRE)
+ tmp = D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos];
+
+ /* common_system_clock frequency : CM7 CPU frequency */
+ common_system_clock >>= tmp;
+
+ /* SystemD2Clock frequency : CM4 CPU, AXI and AHBs Clock frequency */
+ SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
+
+#else
+ tmp = D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_CDCPRE)>> RCC_CDCFGR1_CDCPRE_Pos];
+
+ /* common_system_clock frequency : CM7 CPU frequency */
+ common_system_clock >>= tmp;
+
+ /* SystemD2Clock frequency : AXI and AHBs Clock frequency */
+ SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_HPRE)>> RCC_CDCFGR1_HPRE_Pos]) & 0x1FU));
+
+#endif
+
+#if defined(DUAL_CORE) && defined(CORE_CM4)
+ SystemCoreClock = SystemD2Clock;
+#else
+ SystemCoreClock = common_system_clock;
+#endif /* DUAL_CORE && CORE_CM4 */
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
diff --git a/Exp01/Core/Src/tim.c b/Exp01/Core/Src/tim.c
new file mode 100644
index 0000000..8b53371
--- /dev/null
+++ b/Exp01/Core/Src/tim.c
@@ -0,0 +1,167 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file tim.c
+ * @brief This file provides code for the configuration
+ * of the TIM instances.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2023 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;
+TIM_HandleTypeDef htim7;
+
+/* 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_UPDATE;
+ 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 */
+
+}
+/* TIM7 init function */
+void MX_TIM7_Init(void)
+{
+
+ /* USER CODE BEGIN TIM7_Init 0 */
+
+ /* USER CODE END TIM7_Init 0 */
+
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+
+ /* USER CODE BEGIN TIM7_Init 1 */
+
+ /* USER CODE END TIM7_Init 1 */
+ htim7.Instance = TIM7;
+ htim7.Init.Prescaler = 0;
+ htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim7.Init.Period = 65535;
+ htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ if (HAL_TIM_Base_Init(&htim7) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN TIM7_Init 2 */
+
+ /* USER CODE END TIM7_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 */
+ }
+ else if(tim_baseHandle->Instance==TIM7)
+ {
+ /* USER CODE BEGIN TIM7_MspInit 0 */
+
+ /* USER CODE END TIM7_MspInit 0 */
+ /* TIM7 clock enable */
+ __HAL_RCC_TIM7_CLK_ENABLE();
+
+ /* TIM7 interrupt Init */
+ HAL_NVIC_SetPriority(TIM7_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(TIM7_IRQn);
+ /* USER CODE BEGIN TIM7_MspInit 1 */
+
+ /* USER CODE END TIM7_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 */
+ }
+ else if(tim_baseHandle->Instance==TIM7)
+ {
+ /* USER CODE BEGIN TIM7_MspDeInit 0 */
+
+ /* USER CODE END TIM7_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_TIM7_CLK_DISABLE();
+
+ /* TIM7 interrupt Deinit */
+ HAL_NVIC_DisableIRQ(TIM7_IRQn);
+ /* USER CODE BEGIN TIM7_MspDeInit 1 */
+
+ /* USER CODE END TIM7_MspDeInit 1 */
+ }
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/Exp01/Core/Src/usart.c b/Exp01/Core/Src/usart.c
new file mode 100644
index 0000000..3f96415
--- /dev/null
+++ b/Exp01/Core/Src/usart.c
@@ -0,0 +1,157 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file usart.c
+ * @brief This file provides code for the configuration
+ * of the USART instances.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2023 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;
+DMA_HandleTypeDef hdma_usart3_tx;
+
+/* 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 DMA Init */
+ /* USART3_TX Init */
+ hdma_usart3_tx.Instance = DMA1_Stream3;
+ hdma_usart3_tx.Init.Request = DMA_REQUEST_USART3_TX;
+ hdma_usart3_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
+ hdma_usart3_tx.Init.PeriphInc = DMA_PINC_DISABLE;
+ hdma_usart3_tx.Init.MemInc = DMA_MINC_ENABLE;
+ hdma_usart3_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
+ hdma_usart3_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
+ hdma_usart3_tx.Init.Mode = DMA_NORMAL;
+ hdma_usart3_tx.Init.Priority = DMA_PRIORITY_LOW;
+ hdma_usart3_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
+ if (HAL_DMA_Init(&hdma_usart3_tx) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ __HAL_LINKDMA(uartHandle,hdmatx,hdma_usart3_tx);
+
+ /* 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 DMA DeInit */
+ HAL_DMA_DeInit(uartHandle->hdmatx);
+
+ /* 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/Exp01/Core/Startup/startup_stm32h743zitx.s b/Exp01/Core/Startup/startup_stm32h743zitx.s
new file mode 100644
index 0000000..1658c6c
--- /dev/null
+++ b/Exp01/Core/Startup/startup_stm32h743zitx.s
@@ -0,0 +1,750 @@
+/**
+ ******************************************************************************
+ * @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 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/Exp01/Debug/Core/Src/ADC_READ.cyclo b/Exp01/Debug/Core/Src/ADC_READ.cyclo
new file mode 100644
index 0000000..e4c2f81
--- /dev/null
+++ b/Exp01/Debug/Core/Src/ADC_READ.cyclo
@@ -0,0 +1,3 @@
+../Core/Src/ADC_READ.c:9:6:ADC_calibrate 1
+../Core/Src/ADC_READ.c:18:6:DMA_init 1
+../Core/Src/ADC_READ.c:38:6:ADC_READ_init 1
diff --git a/Exp01/Debug/Core/Src/DEXP.cyclo b/Exp01/Debug/Core/Src/DEXP.cyclo
new file mode 100644
index 0000000..0fe0fc0
--- /dev/null
+++ b/Exp01/Debug/Core/Src/DEXP.cyclo
@@ -0,0 +1 @@
+../Core/Src/DEXP.c:4:6:eval_dexp 2
diff --git a/Exp01/Debug/Core/Src/ESPE_USART_0.cyclo b/Exp01/Debug/Core/Src/ESPE_USART_0.cyclo
new file mode 100644
index 0000000..eaf7389
--- /dev/null
+++ b/Exp01/Debug/Core/Src/ESPE_USART_0.cyclo
@@ -0,0 +1,2 @@
+../Core/Src/ESPE_USART_0.c:21:6:USART_init 1
+../Core/Src/ESPE_USART_0.c:35:6:ESPE_USART_interrupt 4
diff --git a/Exp01/Debug/Core/Src/SEMAPHORE.cyclo b/Exp01/Debug/Core/Src/SEMAPHORE.cyclo
new file mode 100644
index 0000000..9d20b1a
--- /dev/null
+++ b/Exp01/Debug/Core/Src/SEMAPHORE.cyclo
@@ -0,0 +1,2 @@
+../Core/Src/SEMAPHORE.c:7:6:SEMAPHORE_init 1
+../Core/Src/SEMAPHORE.c:17:6:SEMAPHORE_TIM7_interrupt 6
diff --git a/Exp01/Debug/Core/Src/adc.cyclo b/Exp01/Debug/Core/Src/adc.cyclo
new file mode 100644
index 0000000..d2c9f9a
--- /dev/null
+++ b/Exp01/Debug/Core/Src/adc.cyclo
@@ -0,0 +1,3 @@
+../Core/Src/adc.c:31:6:MX_ADC3_Init 3
+../Core/Src/adc.c:86:6:HAL_ADC_MspInit 3
+../Core/Src/adc.c:131:6:HAL_ADC_MspDeInit 2
diff --git a/Exp01/Debug/Core/Src/dma.cyclo b/Exp01/Debug/Core/Src/dma.cyclo
new file mode 100644
index 0000000..a9d9f42
--- /dev/null
+++ b/Exp01/Debug/Core/Src/dma.cyclo
@@ -0,0 +1 @@
+../Core/Src/dma.c:39:6:MX_DMA_Init 1
diff --git a/Exp01/Debug/Core/Src/gpio.cyclo b/Exp01/Debug/Core/Src/gpio.cyclo
new file mode 100644
index 0000000..974fff9
--- /dev/null
+++ b/Exp01/Debug/Core/Src/gpio.cyclo
@@ -0,0 +1 @@
+../Core/Src/gpio.c:57:6:MX_GPIO_Init 1
diff --git a/Exp01/Debug/Core/Src/main.cyclo b/Exp01/Debug/Core/Src/main.cyclo
new file mode 100644
index 0000000..e78dfcb
--- /dev/null
+++ b/Exp01/Debug/Core/Src/main.cyclo
@@ -0,0 +1,4 @@
+../Core/Src/main.c:226:6:Error_Handler 1
+../Core/Src/main.c:137:6:SystemClock_Config 2
+../Core/Src/main.c:195:6:PeriphCommonClock_Config 1
+../Core/Src/main.c:70:5:main 2
diff --git a/Exp01/Debug/Core/Src/memorymap.cyclo b/Exp01/Debug/Core/Src/memorymap.cyclo
new file mode 100644
index 0000000..e69de29
diff --git a/Exp01/Debug/Core/Src/stm32h7xx_hal_msp.cyclo b/Exp01/Debug/Core/Src/stm32h7xx_hal_msp.cyclo
new file mode 100644
index 0000000..17fe7d1
--- /dev/null
+++ b/Exp01/Debug/Core/Src/stm32h7xx_hal_msp.cyclo
@@ -0,0 +1 @@
+../Core/Src/stm32h7xx_hal_msp.c:63:6:HAL_MspInit 1
diff --git a/Exp01/Debug/Core/Src/stm32h7xx_it.cyclo b/Exp01/Debug/Core/Src/stm32h7xx_it.cyclo
new file mode 100644
index 0000000..7ef7ce8
--- /dev/null
+++ b/Exp01/Debug/Core/Src/stm32h7xx_it.cyclo
@@ -0,0 +1,15 @@
+../Core/Src/stm32h7xx_it.c:87:6:NMI_Handler 1
+../Core/Src/stm32h7xx_it.c:102:6:HardFault_Handler 1
+../Core/Src/stm32h7xx_it.c:117:6:MemManage_Handler 1
+../Core/Src/stm32h7xx_it.c:132:6:BusFault_Handler 1
+../Core/Src/stm32h7xx_it.c:147:6:UsageFault_Handler 1
+../Core/Src/stm32h7xx_it.c:162:6:SVC_Handler 1
+../Core/Src/stm32h7xx_it.c:175:6:DebugMon_Handler 1
+../Core/Src/stm32h7xx_it.c:188:6:PendSV_Handler 1
+../Core/Src/stm32h7xx_it.c:201:6:SysTick_Handler 1
+../Core/Src/stm32h7xx_it.c:222:6:DMA1_Stream3_IRQHandler 1
+../Core/Src/stm32h7xx_it.c:239:6:USART3_IRQHandler 1
+../Core/Src/stm32h7xx_it.c:253:6:TIM6_DAC_IRQHandler 1
+../Core/Src/stm32h7xx_it.c:266:6:TIM7_IRQHandler 1
+../Core/Src/stm32h7xx_it.c:281:6:DMA2_Stream0_IRQHandler 1
+../Core/Src/stm32h7xx_it.c:301:6:ADC3_IRQHandler 5
diff --git a/Exp01/Debug/Core/Src/subdir.mk b/Exp01/Debug/Core/Src/subdir.mk
new file mode 100644
index 0000000..a365f75
--- /dev/null
+++ b/Exp01/Debug/Core/Src/subdir.mk
@@ -0,0 +1,74 @@
+################################################################################
+# 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_READ.c \
+../Core/Src/DEXP.c \
+../Core/Src/ESPE_USART_0.c \
+../Core/Src/SEMAPHORE.c \
+../Core/Src/adc.c \
+../Core/Src/dma.c \
+../Core/Src/gpio.c \
+../Core/Src/main.c \
+../Core/Src/memorymap.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_READ.o \
+./Core/Src/DEXP.o \
+./Core/Src/ESPE_USART_0.o \
+./Core/Src/SEMAPHORE.o \
+./Core/Src/adc.o \
+./Core/Src/dma.o \
+./Core/Src/gpio.o \
+./Core/Src/main.o \
+./Core/Src/memorymap.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_READ.d \
+./Core/Src/DEXP.d \
+./Core/Src/ESPE_USART_0.d \
+./Core/Src/SEMAPHORE.d \
+./Core/Src/adc.d \
+./Core/Src/dma.d \
+./Core/Src/gpio.d \
+./Core/Src/main.d \
+./Core/Src/memorymap.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_HAL_DRIVER -DSTM32H743xx -DUSE_PWR_LDO_SUPPLY -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 -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+Core/Src/main.o: ../Core/Src/main.c Core/Src/subdir.mk
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32H743xx -DUSE_PWR_LDO_SUPPLY -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 -Og -ffunction-sections -fdata-sections -Wall -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_READ.cyclo ./Core/Src/ADC_READ.d ./Core/Src/ADC_READ.o ./Core/Src/ADC_READ.su ./Core/Src/DEXP.cyclo ./Core/Src/DEXP.d ./Core/Src/DEXP.o ./Core/Src/DEXP.su ./Core/Src/ESPE_USART_0.cyclo ./Core/Src/ESPE_USART_0.d ./Core/Src/ESPE_USART_0.o ./Core/Src/ESPE_USART_0.su ./Core/Src/SEMAPHORE.cyclo ./Core/Src/SEMAPHORE.d ./Core/Src/SEMAPHORE.o ./Core/Src/SEMAPHORE.su ./Core/Src/adc.cyclo ./Core/Src/adc.d ./Core/Src/adc.o ./Core/Src/adc.su ./Core/Src/dma.cyclo ./Core/Src/dma.d ./Core/Src/dma.o ./Core/Src/dma.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/memorymap.cyclo ./Core/Src/memorymap.d ./Core/Src/memorymap.o ./Core/Src/memorymap.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/Exp01/Debug/Core/Src/syscalls.cyclo b/Exp01/Debug/Core/Src/syscalls.cyclo
new file mode 100644
index 0000000..6cbfdd0
--- /dev/null
+++ b/Exp01/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 2
+../Core/Src/syscalls.c:80:27:_write 2
+../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/Exp01/Debug/Core/Src/sysmem.cyclo b/Exp01/Debug/Core/Src/sysmem.cyclo
new file mode 100644
index 0000000..0090c10
--- /dev/null
+++ b/Exp01/Debug/Core/Src/sysmem.cyclo
@@ -0,0 +1 @@
+../Core/Src/sysmem.c:53:7:_sbrk 3
diff --git a/Exp01/Debug/Core/Src/system_stm32h7xx.cyclo b/Exp01/Debug/Core/Src/system_stm32h7xx.cyclo
new file mode 100644
index 0000000..f110c49
--- /dev/null
+++ b/Exp01/Debug/Core/Src/system_stm32h7xx.cyclo
@@ -0,0 +1,2 @@
+../Core/Src/system_stm32h7xx.c:175:6:SystemInit 4
+../Core/Src/system_stm32h7xx.c:340:6:SystemCoreClockUpdate 10
diff --git a/Exp01/Debug/Core/Src/tim.cyclo b/Exp01/Debug/Core/Src/tim.cyclo
new file mode 100644
index 0000000..0e3e464
--- /dev/null
+++ b/Exp01/Debug/Core/Src/tim.cyclo
@@ -0,0 +1,4 @@
+../Core/Src/tim.c:31:6:MX_TIM6_Init 3
+../Core/Src/tim.c:64:6:MX_TIM7_Init 3
+../Core/Src/tim.c:97:6:HAL_TIM_Base_MspInit 3
+../Core/Src/tim.c:132:6:HAL_TIM_Base_MspDeInit 3
diff --git a/Exp01/Debug/Core/Src/usart.cyclo b/Exp01/Debug/Core/Src/usart.cyclo
new file mode 100644
index 0000000..3d1732f
--- /dev/null
+++ b/Exp01/Debug/Core/Src/usart.cyclo
@@ -0,0 +1,3 @@
+../Core/Src/usart.c:32:6:MX_USART3_UART_Init 5
+../Core/Src/usart.c:75:6:HAL_UART_MspInit 3
+../Core/Src/usart.c:127:6:HAL_UART_MspDeInit 2
diff --git a/Exp01/Debug/Core/Startup/subdir.mk b/Exp01/Debug/Core/Startup/subdir.mk
new file mode 100644
index 0000000..b61820b
--- /dev/null
+++ b/Exp01/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/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.cyclo
new file mode 100644
index 0000000..0a62d50
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.cyclo
@@ -0,0 +1,48 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:134:19:HAL_Init 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:187:19:HAL_DeInit 1
+../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:262:26:HAL_InitTick 4
+../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 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c:1264:6:HAL_EXTI_D3_EventInputConfig 3
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.cyclo
new file mode 100644
index 0000000..9d8c1cd
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.cyclo
@@ -0,0 +1,67 @@
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:2663:22:LL_ADC_SetCommonClock 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:2731:22:LL_ADC_SetCommonPathInternalCh 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:2753:26:LL_ADC_GetCommonPathInternalCh 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:3243:22:LL_ADC_SetChannelPreselection 3
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:3379:22:LL_ADC_SetOffset 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:3510:22:LL_ADC_SetDataRightShift 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:3552:22:LL_ADC_SetOffsetSignedSaturation 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:3928:26:LL_ADC_REG_IsTriggerSourceSWStart 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:4255:22:LL_ADC_REG_SetSequencerRanks 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:4419:22:LL_ADC_REG_SetDataTransferMode 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:4715:26:LL_ADC_INJ_IsTriggerSourceSWStart 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:5409:22:LL_ADC_SetChannelSamplingTime 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:5555:22:LL_ADC_SetChannelSingleDiff 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:5774:22:LL_ADC_SetAnalogWDMonitChannels 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6601:26:LL_ADC_GetMultimode 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6692:26:LL_ADC_GetMultiDMATransfer 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6818:22:LL_ADC_DisableDeepPowerDown 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6832:26:LL_ADC_IsDeepPowerDownEnabled 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6851:22:LL_ADC_EnableInternalRegulator 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6881:26:LL_ADC_IsInternalRegulatorEnabled 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6902:22:LL_ADC_Enable 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6922:22:LL_ADC_Disable 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6941:26:LL_ADC_IsEnabled 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6952:26:LL_ADC_IsDisableOngoing 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7037:22:LL_ADC_REG_StartConversion 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7057:22:LL_ADC_REG_StopConversion 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7073:26:LL_ADC_REG_IsConversionOngoing 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7252:22:LL_ADC_INJ_StopConversion 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7268:26:LL_ADC_INJ_IsConversionOngoing 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7685:22:LL_ADC_ClearFlag_AWD1 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7696:22:LL_ADC_ClearFlag_AWD2 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7707:22:LL_ADC_ClearFlag_AWD3 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:8078:22:LL_ADC_EnableIT_AWD1 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:8089:22:LL_ADC_EnableIT_AWD2 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:8100:22:LL_ADC_EnableIT_AWD3 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:8199:22:LL_ADC_DisableIT_AWD1 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:8210:22:LL_ADC_DisableIT_AWD2 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:8221:22:LL_ADC_DisableIT_AWD3 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:407:19:HAL_ADC_Init 23
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:842:19:HAL_ADC_DeInit 11
+../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:1397:19:HAL_ADC_Start 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1518:19:HAL_ADC_Stop 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1572:19:HAL_ADC_PollForConversion 28
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1735:19:HAL_ADC_PollForEvent 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:1884:19:HAL_ADC_Start_IT 22
+../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:2112:19:HAL_ADC_Start_DMA 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2259:19:HAL_ADC_Stop_DMA 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2344:10:HAL_ADC_GetValue 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:2361:6:HAL_ADC_IRQHandler 58
+../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: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:2819:19:HAL_ADC_ConfigChannel 62
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3132:19:HAL_ADC_AnalogWDGConfig 49
+../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 19
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3672:19:ADC_Enable 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3751:19:ADC_Disable 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3813:6:ADC_DMAConvCplt 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3891:6:ADC_DMAHalfConvCplt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3909:6:ADC_DMAError 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c:3935:6:ADC_ConfigureBoostMode 33
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.cyclo
new file mode 100644
index 0000000..dc80ee8
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.cyclo
@@ -0,0 +1,57 @@
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:2731:22:LL_ADC_SetCommonPathInternalCh 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:2753:26:LL_ADC_GetCommonPathInternalCh 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:2859:22:LL_ADC_SetCalibrationOffsetFactor 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:2890:26:LL_ADC_GetCalibrationOffsetFactor 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:2925:22:LL_ADC_SetCalibrationLinearFactor 3
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:2965:26:LL_ADC_GetCalibrationLinearFactor 3
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:3243:22:LL_ADC_SetChannelPreselection 3
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:3379:22:LL_ADC_SetOffset 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:3461:26:LL_ADC_GetOffsetChannel 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:3552:22:LL_ADC_SetOffsetSignedSaturation 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:3928:26:LL_ADC_REG_IsTriggerSourceSWStart 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:4715:26:LL_ADC_INJ_IsTriggerSourceSWStart 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:5017:26:LL_ADC_INJ_GetTrigAuto 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:5063:22:LL_ADC_INJ_SetQueueMode 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:5409:22:LL_ADC_SetChannelSamplingTime 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:5555:22:LL_ADC_SetChannelSingleDiff 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6601:26:LL_ADC_GetMultimode 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6795:22:LL_ADC_EnableDeepPowerDown 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6870:22:LL_ADC_DisableInternalRegulator 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6941:26:LL_ADC_IsEnabled 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:6990:22:LL_ADC_StartCalibration 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7006:26:LL_ADC_IsCalibrationOnGoing 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7037:22:LL_ADC_REG_StartConversion 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7057:22:LL_ADC_REG_StopConversion 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7073:26:LL_ADC_REG_IsConversionOngoing 2
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7232:22:LL_ADC_INJ_StartConversion 1
+../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_adc.h:7268:26:LL_ADC_INJ_IsConversionOngoing 2
+../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 6
+../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 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:417:19:HAL_ADCEx_LinearCalibration_FactorLoad 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:463:19:HAL_ADCEx_InjectedStart 18
+../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 24
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:789:19:HAL_ADCEx_InjectedStart_IT 20
+../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 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1156:19:HAL_ADCEx_MultiModeStop_DMA 14
+../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 5
+../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 16
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:1831:19:HAL_ADCEx_InjectedConfigChannel 90
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c:2394:19:HAL_ADCEx_MultiModeConfigChannel 15
+../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/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.cyclo
new file mode 100644
index 0000000..42fef06
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.cyclo
@@ -0,0 +1,35 @@
+../Drivers/CMSIS/Include/core_cm7.h:1871:22:__NVIC_SetPriorityGrouping 1
+../Drivers/CMSIS/Include/core_cm7.h:1890:26:__NVIC_GetPriorityGrouping 1
+../Drivers/CMSIS/Include/core_cm7.h:1902:22:__NVIC_EnableIRQ 2
+../Drivers/CMSIS/Include/core_cm7.h:1940:22:__NVIC_DisableIRQ 2
+../Drivers/CMSIS/Include/core_cm7.h:1959:26:__NVIC_GetPendingIRQ 2
+../Drivers/CMSIS/Include/core_cm7.h:1978:22:__NVIC_SetPendingIRQ 2
+../Drivers/CMSIS/Include/core_cm7.h:1993:22:__NVIC_ClearPendingIRQ 2
+../Drivers/CMSIS/Include/core_cm7.h:2010:26:__NVIC_GetActive 2
+../Drivers/CMSIS/Include/core_cm7.h:2032:22:__NVIC_SetPriority 2
+../Drivers/CMSIS/Include/core_cm7.h:2054:26:__NVIC_GetPriority 2
+../Drivers/CMSIS/Include/core_cm7.h:2079:26:NVIC_EncodePriority 2
+../Drivers/CMSIS/Include/core_cm7.h:2106:22:NVIC_DecodePriority 2
+../Drivers/CMSIS/Include/core_cm7.h:2156:34:__NVIC_SystemReset 1
+../Drivers/CMSIS/Include/core_cm7.h:2618:26:SysTick_Config 2
+../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 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:186:6:HAL_NVIC_EnableIRQ 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:202:6:HAL_NVIC_DisableIRQ 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:215:6:HAL_NVIC_SystemReset 0
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:228:10:HAL_SYSTICK_Config 1
+../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 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:410:6:HAL_NVIC_SetPendingIRQ 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:428:10:HAL_NVIC_GetPendingIRQ 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:444:6:HAL_NVIC_ClearPendingIRQ 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:461:10:HAL_NVIC_GetActive 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:478:6:HAL_SYSTICK_CLKSourceConfig 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:496:6:HAL_SYSTICK_IRQHandler 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:505:13:HAL_SYSTICK_Callback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c:536:10:HAL_GetCurrentCPUID 1
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.cyclo
new file mode 100644
index 0000000..bda50d6
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.cyclo
@@ -0,0 +1,17 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:216:19:HAL_DMA_Init 97
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:468:19:HAL_DMA_DeInit 47
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:625:19:HAL_DMA_Start 36
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:681:19:HAL_DMA_Start_IT 82
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:781:19:HAL_DMA_Abort 106
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:897:19:HAL_DMA_Abort_IT 79
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:981:19:HAL_DMA_PollForTransfer 112
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1208:6:HAL_DMA_IRQHandler 222
+../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
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1773:13:DMA_SetConfig 55
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1860:17:DMA_CalcBaseAndBitshift 19
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1896:26:DMA_CheckFifoParam 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:1990:13:DMA_CalcDMAMUXChannelBaseAndMask 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c:2025:13:DMA_CalcDMAMUXRequestGenBaseAndMask 12
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.cyclo
new file mode 100644
index 0000000..4ddefe6
--- /dev/null
+++ b/Exp01/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:120:19:HAL_DMAEx_MultiBufferStart 63
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:217:19:HAL_DMAEx_MultiBufferStart_IT 111
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:357:19:HAL_DMAEx_ChangeMemory 20
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:396:19:HAL_DMAEx_ConfigMuxSync 19
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:464:19:HAL_DMAEx_ConfigMuxRequestGenerator 20
+../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
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c:648:13:DMA_MultiBufferSetConfig 20
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.cyclo
new file mode 100644
index 0000000..cc87712
--- /dev/null
+++ b/Exp01/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 12
+../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/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.cyclo
new file mode 100644
index 0000000..2b86ec2
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.cyclo
@@ -0,0 +1,14 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:154:19:HAL_FLASH_Program 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:319:19:HAL_FLASH_Program_IT 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:475:6:HAL_FLASH_IRQHandler 28
+../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:861:19:HAL_FLASH_Unlock 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:898:19:HAL_FLASH_Lock 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:927:19:HAL_FLASH_OB_Unlock 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:949:19:HAL_FLASH_OB_Lock 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:967:19:HAL_FLASH_OB_Launch 4
+../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 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:1154:19:FLASH_OB_WaitForLastOperation 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c:1193:19:FLASH_CRC_WaitForLastOperation 10
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.cyclo
new file mode 100644
index 0000000..41139d7
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.cyclo
@@ -0,0 +1,28 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:186:19:HAL_FLASHEx_Erase 16
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:303:19:HAL_FLASHEx_Erase_IT 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:424:19:HAL_FLASHEx_OBProgram 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:567:6:HAL_FLASHEx_OBGetConfig 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:635:19:HAL_FLASHEx_Unlock_Bank1 3
+../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 3
+../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 9
+../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:1180:6:FLASH_Erase_Sector 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1237:13:FLASH_OB_EnableWRP 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1272:13:FLASH_OB_DisableWRP 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1311:13:FLASH_OB_GetWRP 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1357:13:FLASH_OB_RDPConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1374:17:FLASH_OB_GetRDP 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1430:13:FLASH_OB_UserConfig 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1618:17:FLASH_OB_GetUser 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1652:13:FLASH_OB_PCROPConfig 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1701:13:FLASH_OB_GetPCROP 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1737:13:FLASH_OB_BOR_LevelConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1754:17:FLASH_OB_GetBOR 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1769:13:FLASH_OB_BootAddConfig 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1807:13:FLASH_OB_GetBootAdd 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1891:13:FLASH_OB_SecureAreaConfig 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1933:13:FLASH_OB_GetSecureArea 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1966:13:FLASH_CRC_AddSector 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c:1998:13:FLASH_CRC_SelectAddress 2
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.cyclo
new file mode 100644
index 0000000..308d058
--- /dev/null
+++ b/Exp01/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 22
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:302:6:HAL_GPIO_DeInit 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:389:15:HAL_GPIO_ReadPin 2
+../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 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:505:6:HAL_GPIO_EXTI_IRQHandler 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c:528:13:HAL_GPIO_EXTI_Callback 1
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.cyclo
new file mode 100644
index 0000000..5be35c7
--- /dev/null
+++ b/Exp01/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 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:196:19:HAL_HSEM_FastTake 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:225:10:HAL_HSEM_IsSemTaken 2
+../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:376:6:HAL_HSEM_IRQHandler 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c:422:13:HAL_HSEM_FreeCallback 1
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.cyclo
new file mode 100644
index 0000000..1f62a78
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.cyclo
@@ -0,0 +1,81 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:535:19:HAL_I2C_Init 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:650:19:HAL_I2C_DeInit 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:696:13:HAL_I2C_MspInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:712:13:HAL_I2C_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1119:19:HAL_I2C_Master_Transmit 13
+../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 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:1565:19:HAL_I2C_Slave_Receive 12
+../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 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:2660:19:HAL_I2C_Mem_Read 15
+../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 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:3418:19:HAL_I2C_Master_Seq_Transmit_IT 14
+../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 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:3816:19:HAL_I2C_Master_Seq_Receive_DMA 12
+../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 6
+../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:4686:6:HAL_I2C_ER_IRQHandler 8
+../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:4803:13:HAL_I2C_AddrCallback 1
+../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: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
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:4968:26:I2C_Master_ISR_IT 24
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5119:26:I2C_Mem_ISR_IT 20
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5262:26:I2C_Slave_ISR_IT 25
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5402:26:I2C_Master_ISR_DMA 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5542:26:I2C_Mem_ISR_DMA 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5690:26:I2C_Slave_ISR_DMA 59
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5834:26:I2C_RequestMemoryWrite 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5889:26:I2C_RequestMemoryRead 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:5938:13:I2C_ITAddrCplt 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6033:13:I2C_ITMasterSeqCplt 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6086:13:I2C_ITSlaveSeqCplt 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6160:13:I2C_ITMasterCplt 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6303:13:I2C_ITSlaveCplt 58
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6519:13:I2C_ITListenCplt 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6570:13:I2C_ITError 19
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6701:13:I2C_TreatErrorCallback 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6739:13:I2C_Flush_TXDR 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6760:13:I2C_DMAMasterTransmitCplt 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6811:13:I2C_DMASlaveTransmitCplt 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6840:13:I2C_DMAMasterReceiveCplt 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6891:13:I2C_DMASlaveReceiveCplt 19
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6920:13:I2C_DMAError 39
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6960:13:I2C_DMAAbort 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:6990:26:I2C_WaitOnFlagUntilTimeout 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7030:26:I2C_WaitOnTXISFlagUntilTimeout 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7071:26:I2C_WaitOnSTOPFlagUntilTimeout 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7109:26:I2C_WaitOnRXNEFlagUntilTimeout 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7186:26:I2C_IsErrorOccurred 17
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7327:13:I2C_TransferConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7356:13:I2C_Enable_IRQ 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7447:13:I2C_Disable_IRQ 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c:7510:13:I2C_ConvertOtherXferOptions 3
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.cyclo
new file mode 100644
index 0000000..a259241
--- /dev/null
+++ b/Exp01/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/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.cyclo
new file mode 100644
index 0000000..1af2ba1
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.cyclo
@@ -0,0 +1,21 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:218:19:HAL_MDMA_Init 4
+../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 13
+../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 16
+../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 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1132:19:HAL_MDMA_Start_IT 8
+../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 20
+../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
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1760:13:MDMA_SetConfig 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c:1814:13:MDMA_Init 5
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.cyclo
new file mode 100644
index 0000000..5e025ed
--- /dev/null
+++ b/Exp01/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:808:6:HAL_PWR_PVD_IRQHandler 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c:853:13:HAL_PWR_PVDCallback 1
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.cyclo
new file mode 100644
index 0000000..7d293bc
--- /dev/null
+++ b/Exp01/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 5
+../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 2
+../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: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: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 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:1917:10:HAL_PWREx_GetVBATLevel 3
+../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:2050:6:HAL_PWREx_PVD_AVD_IRQHandler 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c:2135:13:HAL_PWREx_AVDCallback 1
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.cyclo
new file mode 100644
index 0000000..3a5a042
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.cyclo
@@ -0,0 +1,14 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:188:19:HAL_RCC_DeInit 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:405:26:HAL_RCC_OscConfig 89
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:922:19:HAL_RCC_ClockConfig 36
+../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 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1485:10:HAL_RCC_GetHCLKFreq 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1517:10:HAL_RCC_GetPCLK1Freq 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1535:10:HAL_RCC_GetPCLK2Freq 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1552:6:HAL_RCC_GetOscConfig 12
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1718:6:HAL_RCC_GetClockConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1774:6:HAL_RCC_NMI_IRQHandler 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c:1791:13:HAL_RCC_CSSCallback 1
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.cyclo
new file mode 100644
index 0000000..c2997a5
--- /dev/null
+++ b/Exp01/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:105:19:HAL_RCCEx_PeriphCLKConfig 210
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:1692:6:HAL_RCCEx_GetPeriphCLKConfig 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:1881:10:HAL_RCCEx_GetPeriphCLKFreq 146
+../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 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3014:6:HAL_RCCEx_GetPLL3ClockFreq 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3082:6:HAL_RCCEx_GetPLL1ClockFreq 7
+../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 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3559:6:HAL_RCCEx_CRS_IRQHandler 12
+../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:3693:26:RCCEx_PLL2_Config 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3798:26:RCCEx_PLL3_Config 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3895:6:HAL_RCCEx_LSECSS_IRQHandler 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c:3914:13:HAL_RCCEx_LSECSS_Callback 1
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.cyclo
new file mode 100644
index 0000000..f7cbedc
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.cyclo
@@ -0,0 +1,121 @@
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:269:19:HAL_TIM_Base_Init 3
+../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:372:13:HAL_TIM_Base_MspInit 1
+../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:403:19:HAL_TIM_Base_Start 12
+../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 12
+../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 16
+../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:653:19:HAL_TIM_OC_Init 3
+../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:756:13:HAL_TIM_OC_MspInit 1
+../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:794:19:HAL_TIM_OC_Start 28
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:850:19:HAL_TIM_OC_Stop 16
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:885:19:HAL_TIM_OC_Start_IT 33
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:978:19:HAL_TIM_OC_Stop_IT 21
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1055:19:HAL_TIM_OC_Start_DMA 45
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1219:19:HAL_TIM_OC_Stop_DMA 21
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1322:19:HAL_TIM_PWM_Init 3
+../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:1425:13:HAL_TIM_PWM_MspInit 1
+../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:1463:19:HAL_TIM_PWM_Start 28
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1519:19:HAL_TIM_PWM_Stop 16
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1554:19:HAL_TIM_PWM_Start_IT 33
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1647:19:HAL_TIM_PWM_Stop_IT 21
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1724:19:HAL_TIM_PWM_Start_DMA 45
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1887:19:HAL_TIM_PWM_Stop_DMA 21
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:1990:19:HAL_TIM_IC_Init 3
+../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:2093:13:HAL_TIM_IC_MspInit 1
+../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:2129:19:HAL_TIM_IC_Start 29
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2181:19:HAL_TIM_IC_Stop 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2211:19:HAL_TIM_IC_Start_IT 34
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2303:19:HAL_TIM_IC_Stop_IT 16
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2375:19:HAL_TIM_IC_Start_DMA 41
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2534:19:HAL_TIM_IC_Stop_DMA 16
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2639:19:HAL_TIM_OnePulse_Init 3
+../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:2753:13:HAL_TIM_OnePulse_MspInit 1
+../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:2788:19:HAL_TIM_OnePulse_Start 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2845:19:HAL_TIM_OnePulse_Stop 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2888:19:HAL_TIM_OnePulse_Start_IT 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:2951:19:HAL_TIM_OnePulse_Stop_IT 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3030:19:HAL_TIM_Encoder_Init 3
+../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:3190:13:HAL_TIM_Encoder_MspInit 1
+../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:3225:19:HAL_TIM_Encoder_Start 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3319:19:HAL_TIM_Encoder_Stop 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3379:19:HAL_TIM_Encoder_Start_IT 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3479:19:HAL_TIM_Encoder_Stop_IT 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3544:19:HAL_TIM_Encoder_Start_DMA 32
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3757:19:HAL_TIM_Encoder_Stop_DMA 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:3834:6:HAL_TIM_IRQHandler 24
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4068:19:HAL_TIM_OC_ConfigChannel 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4167:19:HAL_TIM_IC_ConfigChannel 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4268:19:HAL_TIM_PWM_ConfigChannel 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4416:19:HAL_TIM_OnePulse_ConfigChannel 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4571:19:HAL_TIM_DMABurst_WriteStart 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4631:19:HAL_TIM_DMABurst_MultiWriteStart 25
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4815:19:HAL_TIM_DMABurst_WriteStop 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4923:19:HAL_TIM_DMABurst_ReadStart 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:4981:19:HAL_TIM_DMABurst_MultiReadStart 25
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5165:19:HAL_TIM_DMABurst_ReadStop 14
+../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 18
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5446:19:HAL_TIM_ConfigClockSource 30
+../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 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5677:19:HAL_TIM_SlaveConfigSynchro_IT 3
+../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:5819:13:HAL_TIM_PeriodElapsedHalfCpltCallback 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:5864:13:HAL_TIM_IC_CaptureHalfCpltCallback 1
+../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:5894:13:HAL_TIM_PWM_PulseFinishedHalfCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5909:13:HAL_TIM_TriggerCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:5924:13:HAL_TIM_TriggerHalfCpltCallback 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: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:6617:6:TIM_DMAError 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6660:13:TIM_DMADelayPulseCplt 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6719:6:TIM_DMADelayPulseHalfCplt 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6758:6:TIM_DMACaptureCplt 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6821:6:TIM_DMACaptureHalfCplt 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6860:13:TIM_DMAPeriodElapsedCplt 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6881:13:TIM_DMAPeriodElapsedHalfCplt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6897:13:TIM_DMATriggerCplt 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6918:13:TIM_DMATriggerHalfCplt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6935:6:TIM_Base_SetConfig 21
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:6987:13:TIM_OC1_SetConfig 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7063:6:TIM_OC2_SetConfig 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7139:13:TIM_OC3_SetConfig 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7214:13:TIM_OC4_SetConfig 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7275:13:TIM_OC5_SetConfig 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7329:13:TIM_OC6_SetConfig 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7384:26:TIM_SlaveTimer_SetConfig 36
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7528:6:TIM_TI1_SetConfig 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7575:13:TIM_TI1_ConfigInputStage 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7618:13:TIM_TI2_SetConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7658:13:TIM_TI2_ConfigInputStage 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7701:13:TIM_TI3_SetConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7749:13:TIM_TI4_SetConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c:7805:13:TIM_ITRx_SetConfig 1
+../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/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.cyclo
new file mode 100644
index 0000000..f585edb
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.cyclo
@@ -0,0 +1,46 @@
+../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:254:19:HAL_TIMEx_HallSensor_DeInit 3
+../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:314:13:HAL_TIMEx_HallSensor_MspDeInit 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:329:19:HAL_TIMEx_HallSensor_Start 15
+../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 15
+../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 18
+../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 18
+../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 23
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:809:19:HAL_TIMEx_OCN_Stop_IT 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:884:19:HAL_TIMEx_OCN_Start_DMA 32
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1022:19:HAL_TIMEx_OCN_Stop_DMA 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1112:19:HAL_TIMEx_PWMN_Start 18
+../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 23
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1280:19:HAL_TIMEx_PWMN_Stop_IT 14
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1355:19:HAL_TIMEx_PWMN_Start_DMA 32
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1493:19:HAL_TIMEx_PWMN_Stop_DMA 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1584:19:HAL_TIMEx_OnePulseN_Start 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1633:19:HAL_TIMEx_OnePulseN_Stop 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1672:19:HAL_TIMEx_OnePulseN_Start_IT 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1727:19:HAL_TIMEx_OnePulseN_Stop_IT 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1813:19:HAL_TIMEx_ConfigCommutEvent 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1875:19:HAL_TIMEx_ConfigCommutEvent_IT 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1938:19:HAL_TIMEx_ConfigCommutEvent_DMA 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:1988:19:HAL_TIMEx_MasterConfigSynchronization 12
+../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 10
+../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:2657:13:HAL_TIMEx_CommutHalfCpltCallback 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
+../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:2783:6:TIMEx_DMACommutationHalfCplt 1
+../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:2853:13:TIM_DMAErrorCCxN 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c:2898:13:TIM_CCxNChannelCmd 1
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.cyclo
new file mode 100644
index 0000000..b7de2be
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.cyclo
@@ -0,0 +1,70 @@
+../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:632:19:HAL_UART_DeInit 2
+../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:1120:19:HAL_UART_Transmit 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1210:19:HAL_UART_Receive 15
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1294:19:HAL_UART_Transmit_IT 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1362:19:HAL_UART_Receive_IT 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1403:19:HAL_UART_Transmit_DMA 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1473:19:HAL_UART_Receive_DMA 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1509:19:HAL_UART_DMAPause 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1539:19:HAL_UART_DMAResume 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1570:19:HAL_UART_DMAStop 13
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1645:19:HAL_UART_Abort 16
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1748:19:HAL_UART_AbortTransmit 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1807:19:HAL_UART_AbortReceive 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:1875:19:HAL_UART_Abort_IT 19
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2028:19:HAL_UART_AbortTransmit_IT 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2119:19:HAL_UART_AbortReceive_IT 9
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2212:6:HAL_UART_IRQHandler 77
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2564:13:HAL_UART_TxCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2579:13:HAL_UART_TxHalfCpltCallback 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:2639:13:HAL_UART_AbortCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2654:13:HAL_UART_AbortTransmitCpltCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:2669:13:HAL_UART_AbortReceiveCpltCallback 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: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: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: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 107
+../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 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3436:19:UART_WaitOnFlagUntilTimeout 10
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3504:19:UART_Start_Receive_IT 20
+../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:3633:13:UART_EndTxTransfer 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3649:13:UART_EndRxTransfer 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3675:13:UART_DMATransmitCplt 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3709:13:UART_DMATxHalfCplt 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3727:13:UART_DMAReceiveCplt 8
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3788:13:UART_DMARxHalfCplt 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3826:13:UART_DMAError 5
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3866:13:UART_DMAAbortOnError 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3888:13:UART_DMATxAbortCallback 4
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3943:13:UART_DMARxAbortCallback 3
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:3995:13:UART_DMATxOnlyAbortCallback 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4028:13:UART_DMARxOnlyAbortCallback 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4061:13:UART_TxISR_8BIT 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:4122:13:UART_TxISR_8BIT_FIFOEN 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4162:13:UART_TxISR_16BIT_FIFOEN 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4203:13:UART_EndTransmit_IT 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4228:13:UART_RxISR_8BIT 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4319:13:UART_RxISR_16BIT 11
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4412:13:UART_RxISR_8BIT_FIFOEN 25
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c:4575:13:UART_RxISR_16BIT_FIFOEN 25
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.cyclo b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.cyclo
new file mode 100644
index 0000000..e1119b4
--- /dev/null
+++ b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.cyclo
@@ -0,0 +1,18 @@
+../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 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:656:19:HAL_UARTEx_SetRxFifoThreshold 2
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:713:19:HAL_UARTEx_ReceiveToIdle 20
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:836:19:HAL_UARTEx_ReceiveToIdle_IT 6
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:893:19:HAL_UARTEx_ReceiveToIdle_DMA 7
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:961:29:HAL_UARTEx_GetRxEventType 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:985:13:UARTEx_Wakeup_AddressConfig 1
+../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c:1003:13:UARTEx_SetNbDataToProcess 2
diff --git a/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/subdir.mk b/Exp01/Debug/Drivers/STM32H7xx_HAL_Driver/Src/subdir.mk
new file mode 100644
index 0000000..421055e
--- /dev/null
+++ b/Exp01/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_HAL_DRIVER -DSTM32H743xx -DUSE_PWR_LDO_SUPPLY -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 -O0 -ffunction-sections -fdata-sections -Wall -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/Exp01/Debug/Exp01.list b/Exp01/Debug/Exp01.list
new file mode 100644
index 0000000..14131b5
--- /dev/null
+++ b/Exp01/Debug/Exp01.list
@@ -0,0 +1,25777 @@
+
+Exp01.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 0000a81c 08000298 08000298 00001298 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 2 .rodata 00000040 0800aab4 0800aab4 0000bab4 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 3 .ARM 00000008 0800aaf4 0800aaf4 0000baf4 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 4 .init_array 00000004 0800aafc 0800aafc 0000bafc 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 5 .fini_array 00000004 0800ab00 0800ab00 0000bb00 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 6 .data 00000010 24000000 0800ab04 0000c000 2**2
+ CONTENTS, ALLOC, LOAD, DATA
+ 7 .bss 00000378 24000010 0800ab14 0000c010 2**2
+ ALLOC
+ 8 ._user_heap_stack 00000600 24000388 0800ab14 0000c388 2**0
+ ALLOC
+ 9 .ARM.attributes 0000002e 00000000 00000000 0000c010 2**0
+ CONTENTS, READONLY
+ 10 .debug_info 0001abee 00000000 00000000 0000c03e 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 11 .debug_abbrev 000032c9 00000000 00000000 00026c2c 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 12 .debug_aranges 000013b0 00000000 00000000 00029ef8 2**3
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 13 .debug_rnglists 00000f45 00000000 00000000 0002b2a8 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 14 .debug_macro 0003b498 00000000 00000000 0002c1ed 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 15 .debug_line 0001c404 00000000 00000000 00067685 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 16 .debug_str 00177ca2 00000000 00000000 00083a89 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 17 .comment 00000043 00000000 00000000 001fb72b 2**0
+ CONTENTS, READONLY
+ 18 .debug_frame 00005230 00000000 00000000 001fb770 2**2
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 19 .debug_line_str 00000080 00000000 00000000 002009a0 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: 0800aa9c .word 0x0800aa9c
+
+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: 0800aa9c .word 0x0800aa9c
+
+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 :
+
+#define READ_CH 1
+// definisci il vettore per i risultati delle misure
+
+
+void ADC_calibrate(){
+ 8000604: b480 push {r7}
+ 8000606: af00 add r7, sp, #0
+ // calibrazione
+ // ADC3->CR |= ADC_CR_ADCALDIF; // SOLO per misure differenziali (defualt=0)
+ // esegui anche calibrazione linearità (oltre che offest)
+ ADC3->CR |= ADC_CR_ADCALLIN;
+ 8000608: 4b08 ldr r3, [pc, #32] @ (800062c )
+ 800060a: 689b ldr r3, [r3, #8]
+ 800060c: 4a07 ldr r2, [pc, #28] @ (800062c )
+ 800060e: f443 3380 orr.w r3, r3, #65536 @ 0x10000
+ 8000612: 6093 str r3, [r2, #8]
+ // inizia la calibrazione
+ ADC3->CR |= ADC_CR_ADCAL;
+ 8000614: 4b05 ldr r3, [pc, #20] @ (800062c )
+ 8000616: 689b ldr r3, [r3, #8]
+ 8000618: 4a04 ldr r2, [pc, #16] @ (800062c )
+ 800061a: f043 4300 orr.w r3, r3, #2147483648 @ 0x80000000
+ 800061e: 6093 str r3, [r2, #8]
+}
+ 8000620: bf00 nop
+ 8000622: 46bd mov sp, r7
+ 8000624: f85d 7b04 ldr.w r7, [sp], #4
+ 8000628: 4770 bx lr
+ 800062a: bf00 nop
+ 800062c: 58026000 .word 0x58026000
+
+08000630 :
+
+void DMA_init(){
+ 8000630: b480 push {r7}
+ 8000632: af00 add r7, sp, #0
+ // DMA per USART (DMA1 stream3)
+ DMA1_Stream3->M0AR = (uint32_t) &results;
+ 8000634: 4b19 ldr r3, [pc, #100] @ (800069c )
+ 8000636: 4a1a ldr r2, [pc, #104] @ (80006a0 )
+ 8000638: 60da str r2, [r3, #12]
+ DMA1_Stream3->PAR = (uint32_t) &(USART3->TDR);
+ 800063a: 4b18 ldr r3, [pc, #96] @ (800069c )
+ 800063c: 4a19 ldr r2, [pc, #100] @ (80006a4 )
+ 800063e: 609a str r2, [r3, #8]
+ DMA1_Stream3->NDTR = (uint16_t) (N_MEAS+1)*2; // send signle bytes
+ 8000640: 4b16 ldr r3, [pc, #88] @ (800069c )
+ 8000642: 22ca movs r2, #202 @ 0xca
+ 8000644: 605a str r2, [r3, #4]
+
+ DMA1->LIFCR = 0xffffffff;
+ 8000646: 4b18 ldr r3, [pc, #96] @ (80006a8 )
+ 8000648: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff
+ 800064c: 609a str r2, [r3, #8]
+ DMA1->HIFCR = 0xffffffff;
+ 800064e: 4b16 ldr r3, [pc, #88] @ (80006a8 )
+ 8000650: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff
+ 8000654: 60da str r2, [r3, #12]
+ DMA1_Stream3->CR |= DMA_SxCR_TCIE;
+ 8000656: 4b11 ldr r3, [pc, #68] @ (800069c )
+ 8000658: 681b ldr r3, [r3, #0]
+ 800065a: 4a10 ldr r2, [pc, #64] @ (800069c )
+ 800065c: f043 0310 orr.w r3, r3, #16
+ 8000660: 6013 str r3, [r2, #0]
+
+ // DMA per ADC (DMA2 stream0)
+ DMA2_Stream0->M0AR = (uint32_t) &results;
+ 8000662: 4b12 ldr r3, [pc, #72] @ (80006ac )
+ 8000664: 4a0e ldr r2, [pc, #56] @ (80006a0 )
+ 8000666: 60da str r2, [r3, #12]
+ DMA2_Stream0->PAR = (uint32_t) &(ADC3->DR);
+ 8000668: 4b10 ldr r3, [pc, #64] @ (80006ac )
+ 800066a: 4a11 ldr r2, [pc, #68] @ (80006b0 )
+ 800066c: 609a str r2, [r3, #8]
+ DMA2_Stream0->NDTR = (uint16_t) N_MEAS;
+ 800066e: 4b0f ldr r3, [pc, #60] @ (80006ac )
+ 8000670: 2264 movs r2, #100 @ 0x64
+ 8000672: 605a str r2, [r3, #4]
+
+ DMA2->LIFCR = 0xffffffff;
+ 8000674: 4b0f ldr r3, [pc, #60] @ (80006b4 )
+ 8000676: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff
+ 800067a: 609a str r2, [r3, #8]
+ DMA2->HIFCR = 0xffffffff;
+ 800067c: 4b0d ldr r3, [pc, #52] @ (80006b4 )
+ 800067e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff
+ 8000682: 60da str r2, [r3, #12]
+ DMA2_Stream0->CR |= DMA_SxCR_TCIE;
+ 8000684: 4b09 ldr r3, [pc, #36] @ (80006ac )
+ 8000686: 681b ldr r3, [r3, #0]
+ 8000688: 4a08 ldr r2, [pc, #32] @ (80006ac )
+ 800068a: f043 0310 orr.w r3, r3, #16
+ 800068e: 6013 str r3, [r2, #0]
+}
+ 8000690: bf00 nop
+ 8000692: 46bd mov sp, r7
+ 8000694: f85d 7b04 ldr.w r7, [sp], #4
+ 8000698: 4770 bx lr
+ 800069a: bf00 nop
+ 800069c: 40020058 .word 0x40020058
+ 80006a0: 2400010c .word 0x2400010c
+ 80006a4: 40004828 .word 0x40004828
+ 80006a8: 40020000 .word 0x40020000
+ 80006ac: 40020410 .word 0x40020410
+ 80006b0: 58026040 .word 0x58026040
+ 80006b4: 40020400 .word 0x40020400
+
+080006b8 :
+
+void ADC_READ_init(){
+ 80006b8: b480 push {r7}
+ 80006ba: af00 add r7, sp, #0
+
+ // TIM6 conf.
+ TIM6 -> PSC = 6000; // set single timer ticks to 0.25us (240MHz/30 = 4MHz) - 240MHz is APB1 clock freq.
+ 80006bc: 4b21 ldr r3, [pc, #132] @ (8000744 )
+ 80006be: f241 7270 movw r2, #6000 @ 0x1770
+ 80006c2: 629a str r2, [r3, #40] @ 0x28
+ TIM6 -> CNT = 0;
+ 80006c4: 4b1f ldr r3, [pc, #124] @ (8000744 )
+ 80006c6: 2200 movs r2, #0
+ 80006c8: 625a str r2, [r3, #36] @ 0x24
+ TIM6 -> ARR = 4; // 1/4 us
+ 80006ca: 4b1e ldr r3, [pc, #120] @ (8000744 )
+ 80006cc: 2204 movs r2, #4
+ 80006ce: 62da str r2, [r3, #44] @ 0x2c
+
+ // configura canali da leggere in modalità sequenziale
+ ADC3->SQR1 = 0;
+ 80006d0: 4b1d ldr r3, [pc, #116] @ (8000748 )
+ 80006d2: 2200 movs r2, #0
+ 80006d4: 631a str r2, [r3, #48] @ 0x30
+ ADC3->SQR1 |= (READ_CH << ADC_SQR1_SQ1_Pos);
+ 80006d6: 4b1c ldr r3, [pc, #112] @ (8000748 )
+ 80006d8: 6b1b ldr r3, [r3, #48] @ 0x30
+ 80006da: 4a1b ldr r2, [pc, #108] @ (8000748 )
+ 80006dc: f043 0340 orr.w r3, r3, #64 @ 0x40
+ 80006e0: 6313 str r3, [r2, #48] @ 0x30
+ // imposta una sola misura (lui misura L+1 canali dove L è il valore impostato in questo reg.)
+ ADC3->SQR1 |= (0 << ADC_SQR1_L_Pos);
+ 80006e2: 4b19 ldr r3, [pc, #100] @ (8000748 )
+ 80006e4: 4a18 ldr r2, [pc, #96] @ (8000748 )
+ 80006e6: 6b1b ldr r3, [r3, #48] @ 0x30
+ 80006e8: 6313 str r3, [r2, #48] @ 0x30
+ // abilita i canali da utilizzare nel multiplexer
+ ADC3->PCSEL |= ADC_PCSEL_PCSEL_1;
+ 80006ea: 4b17 ldr r3, [pc, #92] @ (8000748 )
+ 80006ec: 69db ldr r3, [r3, #28]
+ 80006ee: 4a16 ldr r2, [pc, #88] @ (8000748 )
+ 80006f0: f043 0302 orr.w r3, r3, #2
+ 80006f4: 61d3 str r3, [r2, #28]
+ // imposta il tempo di lettura (bigger, better)
+ ADC3->SMPR1 |= (0 << ADC_SMPR1_SMP1_Pos);
+ 80006f6: 4b14 ldr r3, [pc, #80] @ (8000748 )
+ 80006f8: 4a13 ldr r2, [pc, #76] @ (8000748 )
+ 80006fa: 695b ldr r3, [r3, #20]
+ 80006fc: 6153 str r3, [r2, #20]
+ // abilita interrupt per fine misura [e messa in funzione (ADRDY abilitato)]
+ ADC3->IER |= ADC_IER_EOSIE;
+ 80006fe: 4b12 ldr r3, [pc, #72] @ (8000748 )
+ 8000700: 685b ldr r3, [r3, #4]
+ 8000702: 4a11 ldr r2, [pc, #68] @ (8000748 )
+ 8000704: f043 0308 orr.w r3, r3, #8
+ 8000708: 6053 str r3, [r2, #4]
+ // cont. mode
+ //ADC3->CFGR |= ADC_CFGR_CONT;
+ // abilita DMA sull'ADC
+ ADC3->CFGR |= ADC_CFGR_DMNGT;
+ 800070a: 4b0f ldr r3, [pc, #60] @ (8000748 )
+ 800070c: 68db ldr r3, [r3, #12]
+ 800070e: 4a0e ldr r2, [pc, #56] @ (8000748 )
+ 8000710: f043 0303 orr.w r3, r3, #3
+ 8000714: 60d3 str r3, [r2, #12]
+
+ // ignora overrun
+ //ADC3->CFGR |= ADC_CFGR_OVRMOD;
+
+ // abilita ADC vera e propria
+ ADC3->ISR |= ADC_ISR_ADRDY;
+ 8000716: 4b0c ldr r3, [pc, #48] @ (8000748 )
+ 8000718: 681b ldr r3, [r3, #0]
+ 800071a: 4a0b ldr r2, [pc, #44] @ (8000748 )
+ 800071c: f043 0301 orr.w r3, r3, #1
+ 8000720: 6013 str r3, [r2, #0]
+ ADC3->CR |= ADC_CR_ADEN;
+ 8000722: 4b09 ldr r3, [pc, #36] @ (8000748 )
+ 8000724: 689b ldr r3, [r3, #8]
+ 8000726: 4a08 ldr r2, [pc, #32] @ (8000748 )
+ 8000728: f043 0301 orr.w r3, r3, #1
+ 800072c: 6093 str r3, [r2, #8]
+
+ DMA2_Stream0->CR |= DMA_SxCR_EN;
+ 800072e: 4b07 ldr r3, [pc, #28] @ (800074c )
+ 8000730: 681b ldr r3, [r3, #0]
+ 8000732: 4a06 ldr r2, [pc, #24] @ (800074c )
+ 8000734: f043 0301 orr.w r3, r3, #1
+ 8000738: 6013 str r3, [r2, #0]
+}
+ 800073a: bf00 nop
+ 800073c: 46bd mov sp, r7
+ 800073e: f85d 7b04 ldr.w r7, [sp], #4
+ 8000742: 4770 bx lr
+ 8000744: 40001000 .word 0x40001000
+ 8000748: 58026000 .word 0x58026000
+ 800074c: 40020410 .word 0x40020410
+
+08000750 :
+uint8_t* to_send; // pointer to a single byte of data vector (i can only send byte by byte)
+uint16_t length; // lenght of the message to send (in bytes)
+
+uint8_t not_ready_msg[] = "NA";
+//Zona definizione di funzioni
+void USART_init(void){
+ 8000750: b480 push {r7}
+ 8000752: af00 add r7, sp, #0
+
+ // abilita rx/tx su USART3
+ USART3->CR1 |= USART_CR1_RE;
+ 8000754: 4b0e ldr r3, [pc, #56] @ (8000790 )
+ 8000756: 681b ldr r3, [r3, #0]
+ 8000758: 4a0d ldr r2, [pc, #52] @ (8000790 )
+ 800075a: f043 0304 orr.w r3, r3, #4
+ 800075e: 6013 str r3, [r2, #0]
+ USART3->CR1 |= USART_CR1_TE;
+ 8000760: 4b0b ldr r3, [pc, #44] @ (8000790 )
+ 8000762: 681b ldr r3, [r3, #0]
+ 8000764: 4a0a ldr r2, [pc, #40] @ (8000790 )
+ 8000766: f043 0308 orr.w r3, r3, #8
+ 800076a: 6013 str r3, [r2, #0]
+ // abilita rx/tx interrupts su USART3
+ USART3->CR1 |= USART_CR1_RXNEIE;
+ 800076c: 4b08 ldr r3, [pc, #32] @ (8000790 )
+ 800076e: 681b ldr r3, [r3, #0]
+ 8000770: 4a07 ldr r2, [pc, #28] @ (8000790 )
+ 8000772: f043 0320 orr.w r3, r3, #32
+ 8000776: 6013 str r3, [r2, #0]
+ //USART3->CR1 |= USART_CR1_TCIE;
+
+ // abilita DMA
+ USART3->CR3 |= USART_CR3_DMAT;
+ 8000778: 4b05 ldr r3, [pc, #20] @ (8000790 )
+ 800077a: 689b ldr r3, [r3, #8]
+ 800077c: 4a04 ldr r2, [pc, #16] @ (8000790 )
+ 800077e: f043 0380 orr.w r3, r3, #128 @ 0x80
+ 8000782: 6093 str r3, [r2, #8]
+}
+ 8000784: bf00 nop
+ 8000786: 46bd mov sp, r7
+ 8000788: f85d 7b04 ldr.w r7, [sp], #4
+ 800078c: 4770 bx lr
+ 800078e: bf00 nop
+ 8000790: 40004800 .word 0x40004800
+
+08000794 :
+
+
+void ESPE_USART_interrupt(void){
+ 8000794: b480 push {r7}
+ 8000796: af00 add r7, sp, #0
+ indx = 0;
+ }
+ }
+ */
+ // logica ricezione
+ if( USART3->ISR & USART_ISR_RXNE_RXFNE){
+ 8000798: 4b22 ldr r3, [pc, #136] @ (8000824 )
+ 800079a: 69db ldr r3, [r3, #28]
+ 800079c: f003 0320 and.w r3, r3, #32
+ 80007a0: 2b00 cmp r3, #0
+ 80007a2: d027 beq.n 80007f4
+ rcv = USART3->RDR;
+ 80007a4: 4b1f ldr r3, [pc, #124] @ (8000824 )
+ 80007a6: 6a5b ldr r3, [r3, #36] @ 0x24
+ 80007a8: b2da uxtb r2, r3
+ 80007aa: 4b1f ldr r3, [pc, #124] @ (8000828 )
+ 80007ac: 701a strb r2, [r3, #0]
+
+ if(rcv == SEND_CHAR){
+ 80007ae: 4b1e ldr r3, [pc, #120] @ (8000828 )
+ 80007b0: 781b ldrb r3, [r3, #0]
+ 80007b2: 2b73 cmp r3, #115 @ 0x73
+ 80007b4: d106 bne.n 80007c4
+
+ DMA1_Stream3->CR |= DMA_SxCR_EN;
+ 80007b6: 4b1d ldr r3, [pc, #116] @ (800082c )
+ 80007b8: 681b ldr r3, [r3, #0]
+ 80007ba: 4a1c ldr r2, [pc, #112] @ (800082c )
+ 80007bc: f043 0301 orr.w r3, r3, #1
+ 80007c0: 6013 str r3, [r2, #0]
+ 80007c2: e017 b.n 80007f4
+
+ //KS = 1;
+ //indx ++;
+ //USART3->TDR = to_send[0];
+
+ }else if(rcv == ACQUIRE_CHAR){
+ 80007c4: 4b18 ldr r3, [pc, #96] @ (8000828 )
+ 80007c6: 781b ldrb r3, [r3, #0]
+ 80007c8: 2b61 cmp r3, #97 @ 0x61
+ 80007ca: d10f bne.n 80007ec
+ // riporta indice DMA a 100
+ DMA2_Stream0->NDTR = (uint16_t) N_MEAS;
+ 80007cc: 4b18 ldr r3, [pc, #96] @ (8000830 )
+ 80007ce: 2264 movs r2, #100 @ 0x64
+ 80007d0: 605a str r2, [r3, #4]
+ // inizia la misura di ADC e fai partire timer
+ ADC3-> CR |= ADC_CR_ADSTART;
+ 80007d2: 4b18 ldr r3, [pc, #96] @ (8000834 )
+ 80007d4: 689b ldr r3, [r3, #8]
+ 80007d6: 4a17 ldr r2, [pc, #92] @ (8000834 )
+ 80007d8: f043 0304 orr.w r3, r3, #4
+ 80007dc: 6093 str r3, [r2, #8]
+ TIM6-> CR1 |= TIM_CR1_CEN;
+ 80007de: 4b16 ldr r3, [pc, #88] @ (8000838 )
+ 80007e0: 681b ldr r3, [r3, #0]
+ 80007e2: 4a15 ldr r2, [pc, #84] @ (8000838 )
+ 80007e4: f043 0301 orr.w r3, r3, #1
+ 80007e8: 6013 str r3, [r2, #0]
+ 80007ea: e003 b.n 80007f4
+
+ }else{
+ USART3->TDR = rcv;
+ 80007ec: 4b0e ldr r3, [pc, #56] @ (8000828 )
+ 80007ee: 781a ldrb r2, [r3, #0]
+ 80007f0: 4b0c ldr r3, [pc, #48] @ (8000824 )
+ 80007f2: 629a str r2, [r3, #40] @ 0x28
+ //KS = 0;
+ }
+
+ }
+ //Per ovviare a dimenticanze azzeriamo all'uscita i flag della ricezione e trasmissione in ogni caso
+ USART3->ICR |= USART_ICR_ORECF; //Cancella l'overrun. Capita quando si entra in debug
+ 80007f4: 4b0b ldr r3, [pc, #44] @ (8000824 )
+ 80007f6: 6a1b ldr r3, [r3, #32]
+ 80007f8: 4a0a ldr r2, [pc, #40] @ (8000824 )
+ 80007fa: f043 0308 orr.w r3, r3, #8
+ 80007fe: 6213 str r3, [r2, #32]
+ USART3->ICR |= USART_ICR_TCCF ; //Azzeramento flag interrupt trasmissione
+ 8000800: 4b08 ldr r3, [pc, #32] @ (8000824 )
+ 8000802: 6a1b ldr r3, [r3, #32]
+ 8000804: 4a07 ldr r2, [pc, #28] @ (8000824 )
+ 8000806: f043 0340 orr.w r3, r3, #64 @ 0x40
+ 800080a: 6213 str r3, [r2, #32]
+ USART3->RQR |= USART_RQR_RXFRQ; //Azzeramento flag interrupt ricezione
+ 800080c: 4b05 ldr r3, [pc, #20] @ (8000824 )
+ 800080e: 699b ldr r3, [r3, #24]
+ 8000810: 4a04 ldr r2, [pc, #16] @ (8000824 )
+ 8000812: f043 0308 orr.w r3, r3, #8
+ 8000816: 6193 str r3, [r2, #24]
+}
+ 8000818: bf00 nop
+ 800081a: 46bd mov sp, r7
+ 800081c: f85d 7b04 ldr.w r7, [sp], #4
+ 8000820: 4770 bx lr
+ 8000822: bf00 nop
+ 8000824: 40004800 .word 0x40004800
+ 8000828: 2400002c .word 0x2400002c
+ 800082c: 40020058 .word 0x40020058
+ 8000830: 40020410 .word 0x40020410
+ 8000834: 58026000 .word 0x58026000
+ 8000838: 40001000 .word 0x40001000
+
+0800083c :
+#include "gpio.h"
+
+char stato = 0;
+char dir = 0;
+
+void SEMAPHORE_init(void){
+ 800083c: b480 push {r7}
+ 800083e: af00 add r7, sp, #0
+ TIM7 -> ARR = ON_time;
+ 8000840: 4b0f ldr r3, [pc, #60] @ (8000880 )
+ 8000842: f44f 62fa mov.w r2, #2000 @ 0x7d0
+ 8000846: 62da str r2, [r3, #44] @ 0x2c
+ TIM7 -> PSC = 24000; // set single timer ticks to 100us (240MHz/24000 = 10kHz) - 240MHz is APB1 clock freq.
+ 8000848: 4b0d ldr r3, [pc, #52] @ (8000880 )
+ 800084a: f645 52c0 movw r2, #24000 @ 0x5dc0
+ 800084e: 629a str r2, [r3, #40] @ 0x28
+ TIM7 -> CR1 |= TIM_CR1_CEN;
+ 8000850: 4b0b ldr r3, [pc, #44] @ (8000880 )
+ 8000852: 681b ldr r3, [r3, #0]
+ 8000854: 4a0a ldr r2, [pc, #40] @ (8000880 )
+ 8000856: f043 0301 orr.w r3, r3, #1
+ 800085a: 6013 str r3, [r2, #0]
+ TIM7 -> CNT = 0;
+ 800085c: 4b08 ldr r3, [pc, #32] @ (8000880 )
+ 800085e: 2200 movs r2, #0
+ 8000860: 625a str r2, [r3, #36] @ 0x24
+ TIM7 -> DIER |= TIM_DIER_UIE;
+ 8000862: 4b07 ldr r3, [pc, #28] @ (8000880 )
+ 8000864: 68db ldr r3, [r3, #12]
+ 8000866: 4a06 ldr r2, [pc, #24] @ (8000880 )
+ 8000868: f043 0301 orr.w r3, r3, #1
+ 800086c: 60d3 str r3, [r2, #12]
+ //inizia con UNO acceso
+ GPIOB -> BSRR = on_0;
+ 800086e: 4b05 ldr r3, [pc, #20] @ (8000884 )
+ 8000870: 2201 movs r2, #1
+ 8000872: 619a str r2, [r3, #24]
+}
+ 8000874: bf00 nop
+ 8000876: 46bd mov sp, r7
+ 8000878: f85d 7b04 ldr.w r7, [sp], #4
+ 800087c: 4770 bx lr
+ 800087e: bf00 nop
+ 8000880: 40001400 .word 0x40001400
+ 8000884: 58020400 .word 0x58020400
+
+08000888 :
+
+void SEMAPHORE_TIM7_interrupt(void){
+ 8000888: b480 push {r7}
+ 800088a: af00 add r7, sp, #0
+ // spegni tutto
+ GPIOB -> BSRR = off_0;
+ 800088c: 4b28 ldr r3, [pc, #160] @ (8000930 )
+ 800088e: f44f 3280 mov.w r2, #65536 @ 0x10000
+ 8000892: 619a str r2, [r3, #24]
+ GPIOE -> BSRR = off_1;
+ 8000894: 4b27 ldr r3, [pc, #156] @ (8000934 )
+ 8000896: f44f 3200 mov.w r2, #131072 @ 0x20000
+ 800089a: 619a str r2, [r3, #24]
+ GPIOB -> BSRR = off_2;
+ 800089c: 4b24 ldr r3, [pc, #144] @ (8000930 )
+ 800089e: f04f 4280 mov.w r2, #1073741824 @ 0x40000000
+ 80008a2: 619a str r2, [r3, #24]
+
+ TIM7->SR = 0;
+ 80008a4: 4b24 ldr r3, [pc, #144] @ (8000938 )
+ 80008a6: 2200 movs r2, #0
+ 80008a8: 611a str r2, [r3, #16]
+
+ switch(stato){
+ 80008aa: 4b24 ldr r3, [pc, #144] @ (800093c )
+ 80008ac: 781b ldrb r3, [r3, #0]
+ 80008ae: 2b02 cmp r3, #2
+ 80008b0: d02e beq.n 8000910
+ 80008b2: 2b02 cmp r3, #2
+ 80008b4: dc37 bgt.n 8000926
+ 80008b6: 2b00 cmp r3, #0
+ 80008b8: d002 beq.n 80008c0
+ 80008ba: 2b01 cmp r3, #1
+ 80008bc: d00b beq.n 80008d6
+ GPIOE -> BSRR = on_1;
+ stato = 1;
+ TIM7 -> ARR = ON_time;
+ break;
+ }
+}
+ 80008be: e032 b.n 8000926
+ GPIOE -> BSRR = on_1;
+ 80008c0: 4b1c ldr r3, [pc, #112] @ (8000934 )
+ 80008c2: 2202 movs r2, #2
+ 80008c4: 619a str r2, [r3, #24]
+ stato = 1;
+ 80008c6: 4b1d ldr r3, [pc, #116] @ (800093c )
+ 80008c8: 2201 movs r2, #1
+ 80008ca: 701a strb r2, [r3, #0]
+ TIM7 -> ARR = ON_time;
+ 80008cc: 4b1a ldr r3, [pc, #104] @ (8000938 )
+ 80008ce: f44f 62fa mov.w r2, #2000 @ 0x7d0
+ 80008d2: 62da str r2, [r3, #44] @ 0x2c
+ break;
+ 80008d4: e027 b.n 8000926
+ if(!dir){
+ 80008d6: 4b1a ldr r3, [pc, #104] @ (8000940 )
+ 80008d8: 781b ldrb r3, [r3, #0]
+ 80008da: 2b00 cmp r3, #0
+ 80008dc: d10a bne.n 80008f4
+ GPIOB -> BSRR = on_2;
+ 80008de: 4b14 ldr r3, [pc, #80] @ (8000930 )
+ 80008e0: f44f 4280 mov.w r2, #16384 @ 0x4000
+ 80008e4: 619a str r2, [r3, #24]
+ stato = 2;
+ 80008e6: 4b15 ldr r3, [pc, #84] @ (800093c )
+ 80008e8: 2202 movs r2, #2
+ 80008ea: 701a strb r2, [r3, #0]
+ dir = 1;
+ 80008ec: 4b14 ldr r3, [pc, #80] @ (8000940 )
+ 80008ee: 2201 movs r2, #1
+ 80008f0: 701a strb r2, [r3, #0]
+ 80008f2: e008 b.n 8000906
+ GPIOB -> BSRR = on_0;
+ 80008f4: 4b0e ldr r3, [pc, #56] @ (8000930 )
+ 80008f6: 2201 movs r2, #1
+ 80008f8: 619a str r2, [r3, #24]
+ stato = 0;
+ 80008fa: 4b10 ldr r3, [pc, #64] @ (800093c )
+ 80008fc: 2200 movs r2, #0
+ 80008fe: 701a strb r2, [r3, #0]
+ dir = 0;
+ 8000900: 4b0f ldr r3, [pc, #60] @ (8000940 )
+ 8000902: 2200 movs r2, #0
+ 8000904: 701a strb r2, [r3, #0]
+ TIM7 -> ARR = OFF_time;
+ 8000906: 4b0c ldr r3, [pc, #48] @ (8000938 )
+ 8000908: f241 3288 movw r2, #5000 @ 0x1388
+ 800090c: 62da str r2, [r3, #44] @ 0x2c
+ break;
+ 800090e: e00a b.n 8000926
+ GPIOE -> BSRR = on_1;
+ 8000910: 4b08 ldr r3, [pc, #32] @ (8000934 )
+ 8000912: 2202 movs r2, #2
+ 8000914: 619a str r2, [r3, #24]
+ stato = 1;
+ 8000916: 4b09 ldr r3, [pc, #36] @ (800093c )
+ 8000918: 2201 movs r2, #1
+ 800091a: 701a strb r2, [r3, #0]
+ TIM7 -> ARR = ON_time;
+ 800091c: 4b06 ldr r3, [pc, #24] @ (8000938 )
+ 800091e: f44f 62fa mov.w r2, #2000 @ 0x7d0
+ 8000922: 62da str r2, [r3, #44] @ 0x2c
+ break;
+ 8000924: bf00 nop
+}
+ 8000926: bf00 nop
+ 8000928: 46bd mov sp, r7
+ 800092a: f85d 7b04 ldr.w r7, [sp], #4
+ 800092e: 4770 bx lr
+ 8000930: 58020400 .word 0x58020400
+ 8000934: 58021000 .word 0x58021000
+ 8000938: 40001400 .word 0x40001400
+ 800093c: 2400002d .word 0x2400002d
+ 8000940: 2400002e .word 0x2400002e
+
+08000944 :
+ADC_HandleTypeDef hadc3;
+DMA_HandleTypeDef hdma_adc3;
+
+/* ADC3 init function */
+void MX_ADC3_Init(void)
+{
+ 8000944: b580 push {r7, lr}
+ 8000946: b088 sub sp, #32
+ 8000948: af00 add r7, sp, #0
+
+ /* USER CODE BEGIN ADC3_Init 0 */
+
+ /* USER CODE END ADC3_Init 0 */
+
+ ADC_ChannelConfTypeDef sConfig = {0};
+ 800094a: 1d3b adds r3, r7, #4
+ 800094c: 2200 movs r2, #0
+ 800094e: 601a str r2, [r3, #0]
+ 8000950: 605a str r2, [r3, #4]
+ 8000952: 609a str r2, [r3, #8]
+ 8000954: 60da str r2, [r3, #12]
+ 8000956: 611a str r2, [r3, #16]
+ 8000958: 615a str r2, [r3, #20]
+ 800095a: 619a str r2, [r3, #24]
+
+ /* USER CODE END ADC3_Init 1 */
+
+ /** Common config
+ */
+ hadc3.Instance = ADC3;
+ 800095c: 4b2c ldr r3, [pc, #176] @ (8000a10 )
+ 800095e: 4a2d ldr r2, [pc, #180] @ (8000a14 )
+ 8000960: 601a str r2, [r3, #0]
+ hadc3.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV2;
+ 8000962: 4b2b ldr r3, [pc, #172] @ (8000a10 )
+ 8000964: f44f 2280 mov.w r2, #262144 @ 0x40000
+ 8000968: 605a str r2, [r3, #4]
+ hadc3.Init.Resolution = ADC_RESOLUTION_16B;
+ 800096a: 4b29 ldr r3, [pc, #164] @ (8000a10 )
+ 800096c: 2200 movs r2, #0
+ 800096e: 609a str r2, [r3, #8]
+ hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE;
+ 8000970: 4b27 ldr r3, [pc, #156] @ (8000a10 )
+ 8000972: 2200 movs r2, #0
+ 8000974: 60da str r2, [r3, #12]
+ hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
+ 8000976: 4b26 ldr r3, [pc, #152] @ (8000a10 )
+ 8000978: 2204 movs r2, #4
+ 800097a: 611a str r2, [r3, #16]
+ hadc3.Init.LowPowerAutoWait = DISABLE;
+ 800097c: 4b24 ldr r3, [pc, #144] @ (8000a10 )
+ 800097e: 2200 movs r2, #0
+ 8000980: 751a strb r2, [r3, #20]
+ hadc3.Init.ContinuousConvMode = DISABLE;
+ 8000982: 4b23 ldr r3, [pc, #140] @ (8000a10 )
+ 8000984: 2200 movs r2, #0
+ 8000986: 755a strb r2, [r3, #21]
+ hadc3.Init.NbrOfConversion = 1;
+ 8000988: 4b21 ldr r3, [pc, #132] @ (8000a10 )
+ 800098a: 2201 movs r2, #1
+ 800098c: 619a str r2, [r3, #24]
+ hadc3.Init.DiscontinuousConvMode = DISABLE;
+ 800098e: 4b20 ldr r3, [pc, #128] @ (8000a10 )
+ 8000990: 2200 movs r2, #0
+ 8000992: 771a strb r2, [r3, #28]
+ hadc3.Init.ExternalTrigConv = ADC_EXTERNALTRIG_T6_TRGO;
+ 8000994: 4b1e ldr r3, [pc, #120] @ (8000a10 )
+ 8000996: f44f 62b4 mov.w r2, #1440 @ 0x5a0
+ 800099a: 625a str r2, [r3, #36] @ 0x24
+ hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
+ 800099c: 4b1c ldr r3, [pc, #112] @ (8000a10 )
+ 800099e: f44f 6280 mov.w r2, #1024 @ 0x400
+ 80009a2: 629a str r2, [r3, #40] @ 0x28
+ hadc3.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR;
+ 80009a4: 4b1a ldr r3, [pc, #104] @ (8000a10 )
+ 80009a6: 2200 movs r2, #0
+ 80009a8: 62da str r2, [r3, #44] @ 0x2c
+ hadc3.Init.Overrun = ADC_OVR_DATA_PRESERVED;
+ 80009aa: 4b19 ldr r3, [pc, #100] @ (8000a10 )
+ 80009ac: 2200 movs r2, #0
+ 80009ae: 631a str r2, [r3, #48] @ 0x30
+ hadc3.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE;
+ 80009b0: 4b17 ldr r3, [pc, #92] @ (8000a10 )
+ 80009b2: 2200 movs r2, #0
+ 80009b4: 635a str r2, [r3, #52] @ 0x34
+ hadc3.Init.OversamplingMode = DISABLE;
+ 80009b6: 4b16 ldr r3, [pc, #88] @ (8000a10 )
+ 80009b8: 2200 movs r2, #0
+ 80009ba: f883 2038 strb.w r2, [r3, #56] @ 0x38
+ hadc3.Init.Oversampling.Ratio = 1;
+ 80009be: 4b14 ldr r3, [pc, #80] @ (8000a10 )
+ 80009c0: 2201 movs r2, #1
+ 80009c2: 63da str r2, [r3, #60] @ 0x3c
+ if (HAL_ADC_Init(&hadc3) != HAL_OK)
+ 80009c4: 4812 ldr r0, [pc, #72] @ (8000a10 )
+ 80009c6: f001 f879 bl 8001abc
+ 80009ca: 4603 mov r3, r0
+ 80009cc: 2b00 cmp r3, #0
+ 80009ce: d001 beq.n 80009d4
+ {
+ Error_Handler();
+ 80009d0: f000 fa0c bl 8000dec
+ }
+
+ /** Configure Regular Channel
+ */
+ sConfig.Channel = ADC_CHANNEL_1;
+ 80009d4: 4b10 ldr r3, [pc, #64] @ (8000a18 )
+ 80009d6: 607b str r3, [r7, #4]
+ sConfig.Rank = ADC_REGULAR_RANK_1;
+ 80009d8: 2306 movs r3, #6
+ 80009da: 60bb str r3, [r7, #8]
+ sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
+ 80009dc: 2300 movs r3, #0
+ 80009de: 60fb str r3, [r7, #12]
+ sConfig.SingleDiff = ADC_SINGLE_ENDED;
+ 80009e0: f240 73ff movw r3, #2047 @ 0x7ff
+ 80009e4: 613b str r3, [r7, #16]
+ sConfig.OffsetNumber = ADC_OFFSET_NONE;
+ 80009e6: 2304 movs r3, #4
+ 80009e8: 617b str r3, [r7, #20]
+ sConfig.Offset = 0;
+ 80009ea: 2300 movs r3, #0
+ 80009ec: 61bb str r3, [r7, #24]
+ sConfig.OffsetSignedSaturation = DISABLE;
+ 80009ee: 2300 movs r3, #0
+ 80009f0: 777b strb r3, [r7, #29]
+ if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
+ 80009f2: 1d3b adds r3, r7, #4
+ 80009f4: 4619 mov r1, r3
+ 80009f6: 4806 ldr r0, [pc, #24] @ (8000a10 )
+ 80009f8: f001 fa02 bl 8001e00
+ 80009fc: 4603 mov r3, r0
+ 80009fe: 2b00 cmp r3, #0
+ 8000a00: d001 beq.n 8000a06
+ {
+ Error_Handler();
+ 8000a02: f000 f9f3 bl 8000dec
+ }
+ /* USER CODE BEGIN ADC3_Init 2 */
+
+ /* USER CODE END ADC3_Init 2 */
+
+}
+ 8000a06: bf00 nop
+ 8000a08: 3720 adds r7, #32
+ 8000a0a: 46bd mov sp, r7
+ 8000a0c: bd80 pop {r7, pc}
+ 8000a0e: bf00 nop
+ 8000a10: 24000030 .word 0x24000030
+ 8000a14: 58026000 .word 0x58026000
+ 8000a18: 04300002 .word 0x04300002
+
+08000a1c :
+
+void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
+{
+ 8000a1c: b580 push {r7, lr}
+ 8000a1e: b084 sub sp, #16
+ 8000a20: af00 add r7, sp, #0
+ 8000a22: 6078 str r0, [r7, #4]
+
+ if(adcHandle->Instance==ADC3)
+ 8000a24: 687b ldr r3, [r7, #4]
+ 8000a26: 681b ldr r3, [r3, #0]
+ 8000a28: 4a31 ldr r2, [pc, #196] @ (8000af0 )
+ 8000a2a: 4293 cmp r3, r2
+ 8000a2c: d15c bne.n 8000ae8
+ {
+ /* USER CODE BEGIN ADC3_MspInit 0 */
+
+ /* USER CODE END ADC3_MspInit 0 */
+ /* ADC3 clock enable */
+ __HAL_RCC_ADC3_CLK_ENABLE();
+ 8000a2e: 4b31 ldr r3, [pc, #196] @ (8000af4 )
+ 8000a30: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000a34: 4a2f ldr r2, [pc, #188] @ (8000af4 )
+ 8000a36: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000
+ 8000a3a: f8c2 30e0 str.w r3, [r2, #224] @ 0xe0
+ 8000a3e: 4b2d ldr r3, [pc, #180] @ (8000af4 )
+ 8000a40: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000a44: f003 7380 and.w r3, r3, #16777216 @ 0x1000000
+ 8000a48: 60fb str r3, [r7, #12]
+ 8000a4a: 68fb ldr r3, [r7, #12]
+
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ 8000a4c: 4b29 ldr r3, [pc, #164] @ (8000af4 )
+ 8000a4e: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000a52: 4a28 ldr r2, [pc, #160] @ (8000af4 )
+ 8000a54: f043 0304 orr.w r3, r3, #4
+ 8000a58: f8c2 30e0 str.w r3, [r2, #224] @ 0xe0
+ 8000a5c: 4b25 ldr r3, [pc, #148] @ (8000af4 )
+ 8000a5e: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000a62: f003 0304 and.w r3, r3, #4
+ 8000a66: 60bb str r3, [r7, #8]
+ 8000a68: 68bb ldr r3, [r7, #8]
+ /**ADC3 GPIO Configuration
+ PC3_C ------> ADC3_INP1
+ */
+ HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC3, SYSCFG_SWITCH_PC3_OPEN);
+ 8000a6a: f04f 6100 mov.w r1, #134217728 @ 0x8000000
+ 8000a6e: f04f 6000 mov.w r0, #134217728 @ 0x8000000
+ 8000a72: f000 fe4f bl 8001714
+
+ /* ADC3 DMA Init */
+ /* ADC3 Init */
+ hdma_adc3.Instance = DMA2_Stream0;
+ 8000a76: 4b20 ldr r3, [pc, #128] @ (8000af8 )
+ 8000a78: 4a20 ldr r2, [pc, #128] @ (8000afc )
+ 8000a7a: 601a str r2, [r3, #0]
+ hdma_adc3.Init.Request = DMA_REQUEST_ADC3;
+ 8000a7c: 4b1e ldr r3, [pc, #120] @ (8000af8 )
+ 8000a7e: 2273 movs r2, #115 @ 0x73
+ 8000a80: 605a str r2, [r3, #4]
+ hdma_adc3.Init.Direction = DMA_PERIPH_TO_MEMORY;
+ 8000a82: 4b1d ldr r3, [pc, #116] @ (8000af8 )
+ 8000a84: 2200 movs r2, #0
+ 8000a86: 609a str r2, [r3, #8]
+ hdma_adc3.Init.PeriphInc = DMA_PINC_DISABLE;
+ 8000a88: 4b1b ldr r3, [pc, #108] @ (8000af8 )
+ 8000a8a: 2200 movs r2, #0
+ 8000a8c: 60da str r2, [r3, #12]
+ hdma_adc3.Init.MemInc = DMA_MINC_ENABLE;
+ 8000a8e: 4b1a ldr r3, [pc, #104] @ (8000af8 )
+ 8000a90: f44f 6280 mov.w r2, #1024 @ 0x400
+ 8000a94: 611a str r2, [r3, #16]
+ hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
+ 8000a96: 4b18 ldr r3, [pc, #96] @ (8000af8 )
+ 8000a98: f44f 6200 mov.w r2, #2048 @ 0x800
+ 8000a9c: 615a str r2, [r3, #20]
+ hdma_adc3.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
+ 8000a9e: 4b16 ldr r3, [pc, #88] @ (8000af8 )
+ 8000aa0: f44f 5200 mov.w r2, #8192 @ 0x2000
+ 8000aa4: 619a str r2, [r3, #24]
+ hdma_adc3.Init.Mode = DMA_CIRCULAR;
+ 8000aa6: 4b14 ldr r3, [pc, #80] @ (8000af8 )
+ 8000aa8: f44f 7280 mov.w r2, #256 @ 0x100
+ 8000aac: 61da str r2, [r3, #28]
+ hdma_adc3.Init.Priority = DMA_PRIORITY_MEDIUM;
+ 8000aae: 4b12 ldr r3, [pc, #72] @ (8000af8 )
+ 8000ab0: f44f 3280 mov.w r2, #65536 @ 0x10000
+ 8000ab4: 621a str r2, [r3, #32]
+ hdma_adc3.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
+ 8000ab6: 4b10 ldr r3, [pc, #64] @ (8000af8 )
+ 8000ab8: 2200 movs r2, #0
+ 8000aba: 625a str r2, [r3, #36] @ 0x24
+ if (HAL_DMA_Init(&hdma_adc3) != HAL_OK)
+ 8000abc: 480e ldr r0, [pc, #56] @ (8000af8 )
+ 8000abe: f001 feab bl 8002818
+ 8000ac2: 4603 mov r3, r0
+ 8000ac4: 2b00 cmp r3, #0
+ 8000ac6: d001 beq.n 8000acc
+ {
+ Error_Handler();
+ 8000ac8: f000 f990 bl 8000dec
+ }
+
+ __HAL_LINKDMA(adcHandle,DMA_Handle,hdma_adc3);
+ 8000acc: 687b ldr r3, [r7, #4]
+ 8000ace: 4a0a ldr r2, [pc, #40] @ (8000af8 )
+ 8000ad0: 64da str r2, [r3, #76] @ 0x4c
+ 8000ad2: 4a09 ldr r2, [pc, #36] @ (8000af8 )
+ 8000ad4: 687b ldr r3, [r7, #4]
+ 8000ad6: 6393 str r3, [r2, #56] @ 0x38
+
+ /* ADC3 interrupt Init */
+ HAL_NVIC_SetPriority(ADC3_IRQn, 0, 0);
+ 8000ad8: 2200 movs r2, #0
+ 8000ada: 2100 movs r1, #0
+ 8000adc: 207f movs r0, #127 @ 0x7f
+ 8000ade: f001 fe66 bl 80027ae
+ HAL_NVIC_EnableIRQ(ADC3_IRQn);
+ 8000ae2: 207f movs r0, #127 @ 0x7f
+ 8000ae4: f001 fe7d bl 80027e2
+ /* USER CODE BEGIN ADC3_MspInit 1 */
+
+ /* USER CODE END ADC3_MspInit 1 */
+ }
+}
+ 8000ae8: bf00 nop
+ 8000aea: 3710 adds r7, #16
+ 8000aec: 46bd mov sp, r7
+ 8000aee: bd80 pop {r7, pc}
+ 8000af0: 58026000 .word 0x58026000
+ 8000af4: 58024400 .word 0x58024400
+ 8000af8: 24000094 .word 0x24000094
+ 8000afc: 40020410 .word 0x40020410
+
+08000b00 :
+
+/**
+ * Enable DMA controller clock
+ */
+void MX_DMA_Init(void)
+{
+ 8000b00: b580 push {r7, lr}
+ 8000b02: b082 sub sp, #8
+ 8000b04: af00 add r7, sp, #0
+
+ /* DMA controller clock enable */
+ __HAL_RCC_DMA2_CLK_ENABLE();
+ 8000b06: 4b19 ldr r3, [pc, #100] @ (8000b6c )
+ 8000b08: f8d3 30d8 ldr.w r3, [r3, #216] @ 0xd8
+ 8000b0c: 4a17 ldr r2, [pc, #92] @ (8000b6c )
+ 8000b0e: f043 0302 orr.w r3, r3, #2
+ 8000b12: f8c2 30d8 str.w r3, [r2, #216] @ 0xd8
+ 8000b16: 4b15 ldr r3, [pc, #84] @ (8000b6c )
+ 8000b18: f8d3 30d8 ldr.w r3, [r3, #216] @ 0xd8
+ 8000b1c: f003 0302 and.w r3, r3, #2
+ 8000b20: 607b str r3, [r7, #4]
+ 8000b22: 687b ldr r3, [r7, #4]
+ __HAL_RCC_DMA1_CLK_ENABLE();
+ 8000b24: 4b11 ldr r3, [pc, #68] @ (8000b6c )
+ 8000b26: f8d3 30d8 ldr.w r3, [r3, #216] @ 0xd8
+ 8000b2a: 4a10 ldr r2, [pc, #64] @ (8000b6c )
+ 8000b2c: f043 0301 orr.w r3, r3, #1
+ 8000b30: f8c2 30d8 str.w r3, [r2, #216] @ 0xd8
+ 8000b34: 4b0d ldr r3, [pc, #52] @ (8000b6c )
+ 8000b36: f8d3 30d8 ldr.w r3, [r3, #216] @ 0xd8
+ 8000b3a: f003 0301 and.w r3, r3, #1
+ 8000b3e: 603b str r3, [r7, #0]
+ 8000b40: 683b ldr r3, [r7, #0]
+
+ /* DMA interrupt init */
+ /* DMA1_Stream3_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0);
+ 8000b42: 2200 movs r2, #0
+ 8000b44: 2100 movs r1, #0
+ 8000b46: 200e movs r0, #14
+ 8000b48: f001 fe31 bl 80027ae
+ HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn);
+ 8000b4c: 200e movs r0, #14
+ 8000b4e: f001 fe48 bl 80027e2
+ /* DMA2_Stream0_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 0, 0);
+ 8000b52: 2200 movs r2, #0
+ 8000b54: 2100 movs r1, #0
+ 8000b56: 2038 movs r0, #56 @ 0x38
+ 8000b58: f001 fe29 bl 80027ae
+ HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn);
+ 8000b5c: 2038 movs r0, #56 @ 0x38
+ 8000b5e: f001 fe40 bl 80027e2
+
+}
+ 8000b62: bf00 nop
+ 8000b64: 3708 adds r7, #8
+ 8000b66: 46bd mov sp, r7
+ 8000b68: bd80 pop {r7, pc}
+ 8000b6a: bf00 nop
+ 8000b6c: 58024400 .word 0x58024400
+
+08000b70 :
+ PG11 ------> ETH_TX_EN
+ PG13 ------> ETH_TXD0
+ PB3 (JTDO/TRACESWO) ------> DEBUG_JTDO-SWO
+*/
+void MX_GPIO_Init(void)
+{
+ 8000b70: b580 push {r7, lr}
+ 8000b72: b08c sub sp, #48 @ 0x30
+ 8000b74: af00 add r7, sp, #0
+
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 8000b76: f107 031c add.w r3, r7, #28
+ 8000b7a: 2200 movs r2, #0
+ 8000b7c: 601a str r2, [r3, #0]
+ 8000b7e: 605a str r2, [r3, #4]
+ 8000b80: 609a str r2, [r3, #8]
+ 8000b82: 60da str r2, [r3, #12]
+ 8000b84: 611a str r2, [r3, #16]
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ 8000b86: 4b92 ldr r3, [pc, #584] @ (8000dd0 )
+ 8000b88: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000b8c: 4a90 ldr r2, [pc, #576] @ (8000dd0 )
+ 8000b8e: f043 0304 orr.w r3, r3, #4
+ 8000b92: f8c2 30e0 str.w r3, [r2, #224] @ 0xe0
+ 8000b96: 4b8e ldr r3, [pc, #568] @ (8000dd0 )
+ 8000b98: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000b9c: f003 0304 and.w r3, r3, #4
+ 8000ba0: 61bb str r3, [r7, #24]
+ 8000ba2: 69bb ldr r3, [r7, #24]
+ __HAL_RCC_GPIOH_CLK_ENABLE();
+ 8000ba4: 4b8a ldr r3, [pc, #552] @ (8000dd0 )
+ 8000ba6: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000baa: 4a89 ldr r2, [pc, #548] @ (8000dd0 )
+ 8000bac: f043 0380 orr.w r3, r3, #128 @ 0x80
+ 8000bb0: f8c2 30e0 str.w r3, [r2, #224] @ 0xe0
+ 8000bb4: 4b86 ldr r3, [pc, #536] @ (8000dd0 )
+ 8000bb6: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000bba: f003 0380 and.w r3, r3, #128 @ 0x80
+ 8000bbe: 617b str r3, [r7, #20]
+ 8000bc0: 697b ldr r3, [r7, #20]
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ 8000bc2: 4b83 ldr r3, [pc, #524] @ (8000dd0 )
+ 8000bc4: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000bc8: 4a81 ldr r2, [pc, #516] @ (8000dd0 )
+ 8000bca: f043 0301 orr.w r3, r3, #1
+ 8000bce: f8c2 30e0 str.w r3, [r2, #224] @ 0xe0
+ 8000bd2: 4b7f ldr r3, [pc, #508] @ (8000dd0 )
+ 8000bd4: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000bd8: f003 0301 and.w r3, r3, #1
+ 8000bdc: 613b str r3, [r7, #16]
+ 8000bde: 693b ldr r3, [r7, #16]
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ 8000be0: 4b7b ldr r3, [pc, #492] @ (8000dd0 )
+ 8000be2: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000be6: 4a7a ldr r2, [pc, #488] @ (8000dd0 )
+ 8000be8: f043 0302 orr.w r3, r3, #2
+ 8000bec: f8c2 30e0 str.w r3, [r2, #224] @ 0xe0
+ 8000bf0: 4b77 ldr r3, [pc, #476] @ (8000dd0 )
+ 8000bf2: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000bf6: f003 0302 and.w r3, r3, #2
+ 8000bfa: 60fb str r3, [r7, #12]
+ 8000bfc: 68fb ldr r3, [r7, #12]
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ 8000bfe: 4b74 ldr r3, [pc, #464] @ (8000dd0 )
+ 8000c00: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000c04: 4a72 ldr r2, [pc, #456] @ (8000dd0 )
+ 8000c06: f043 0308 orr.w r3, r3, #8
+ 8000c0a: f8c2 30e0 str.w r3, [r2, #224] @ 0xe0
+ 8000c0e: 4b70 ldr r3, [pc, #448] @ (8000dd0 )
+ 8000c10: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000c14: f003 0308 and.w r3, r3, #8
+ 8000c18: 60bb str r3, [r7, #8]
+ 8000c1a: 68bb ldr r3, [r7, #8]
+ __HAL_RCC_GPIOG_CLK_ENABLE();
+ 8000c1c: 4b6c ldr r3, [pc, #432] @ (8000dd0 )
+ 8000c1e: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000c22: 4a6b ldr r2, [pc, #428] @ (8000dd0 )
+ 8000c24: f043 0340 orr.w r3, r3, #64 @ 0x40
+ 8000c28: f8c2 30e0 str.w r3, [r2, #224] @ 0xe0
+ 8000c2c: 4b68 ldr r3, [pc, #416] @ (8000dd0 )
+ 8000c2e: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000c32: f003 0340 and.w r3, r3, #64 @ 0x40
+ 8000c36: 607b str r3, [r7, #4]
+ 8000c38: 687b ldr r3, [r7, #4]
+ __HAL_RCC_GPIOE_CLK_ENABLE();
+ 8000c3a: 4b65 ldr r3, [pc, #404] @ (8000dd0 )
+ 8000c3c: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000c40: 4a63 ldr r2, [pc, #396] @ (8000dd0 )
+ 8000c42: f043 0310 orr.w r3, r3, #16
+ 8000c46: f8c2 30e0 str.w r3, [r2, #224] @ 0xe0
+ 8000c4a: 4b61 ldr r3, [pc, #388] @ (8000dd0 )
+ 8000c4c: f8d3 30e0 ldr.w r3, [r3, #224] @ 0xe0
+ 8000c50: f003 0310 and.w r3, r3, #16
+ 8000c54: 603b str r3, [r7, #0]
+ 8000c56: 683b ldr r3, [r7, #0]
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOB, LD1_Pin|LD3_Pin, GPIO_PIN_RESET);
+ 8000c58: 2200 movs r2, #0
+ 8000c5a: f244 0101 movw r1, #16385 @ 0x4001
+ 8000c5e: 485d ldr r0, [pc, #372] @ (8000dd4 )
+ 8000c60: f004 f9b0 bl 8004fc4
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(USB_OTG_FS_PWR_EN_GPIO_Port, USB_OTG_FS_PWR_EN_Pin, GPIO_PIN_RESET);
+ 8000c64: 2200 movs r2, #0
+ 8000c66: f44f 6180 mov.w r1, #1024 @ 0x400
+ 8000c6a: 485b ldr r0, [pc, #364] @ (8000dd8 )
+ 8000c6c: f004 f9aa bl 8004fc4
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
+ 8000c70: 2200 movs r2, #0
+ 8000c72: 2102 movs r1, #2
+ 8000c74: 4859 ldr r0, [pc, #356] @ (8000ddc )
+ 8000c76: f004 f9a5 bl 8004fc4
+
+ /*Configure GPIO pin : B1_Pin */
+ GPIO_InitStruct.Pin = B1_Pin;
+ 8000c7a: f44f 5300 mov.w r3, #8192 @ 0x2000
+ 8000c7e: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ 8000c80: 2300 movs r3, #0
+ 8000c82: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000c84: 2300 movs r3, #0
+ 8000c86: 627b str r3, [r7, #36] @ 0x24
+ HAL_GPIO_Init(B1_GPIO_Port, &GPIO_InitStruct);
+ 8000c88: f107 031c add.w r3, r7, #28
+ 8000c8c: 4619 mov r1, r3
+ 8000c8e: 4854 ldr r0, [pc, #336] @ (8000de0 )
+ 8000c90: f003 ffe8 bl 8004c64
+
+ /*Configure GPIO pins : PC1 PC4 PC5 */
+ GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
+ 8000c94: 2332 movs r3, #50 @ 0x32
+ 8000c96: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ 8000c98: 2302 movs r3, #2
+ 8000c9a: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000c9c: 2300 movs r3, #0
+ 8000c9e: 627b str r3, [r7, #36] @ 0x24
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 8000ca0: 2300 movs r3, #0
+ 8000ca2: 62bb str r3, [r7, #40] @ 0x28
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ 8000ca4: 230b movs r3, #11
+ 8000ca6: 62fb str r3, [r7, #44] @ 0x2c
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+ 8000ca8: f107 031c add.w r3, r7, #28
+ 8000cac: 4619 mov r1, r3
+ 8000cae: 484c ldr r0, [pc, #304] @ (8000de0 )
+ 8000cb0: f003 ffd8 bl 8004c64
+
+ /*Configure GPIO pins : PA1 PA2 PA7 */
+ GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7;
+ 8000cb4: 2386 movs r3, #134 @ 0x86
+ 8000cb6: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ 8000cb8: 2302 movs r3, #2
+ 8000cba: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000cbc: 2300 movs r3, #0
+ 8000cbe: 627b str r3, [r7, #36] @ 0x24
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 8000cc0: 2300 movs r3, #0
+ 8000cc2: 62bb str r3, [r7, #40] @ 0x28
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ 8000cc4: 230b movs r3, #11
+ 8000cc6: 62fb str r3, [r7, #44] @ 0x2c
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+ 8000cc8: f107 031c add.w r3, r7, #28
+ 8000ccc: 4619 mov r1, r3
+ 8000cce: 4845 ldr r0, [pc, #276] @ (8000de4 )
+ 8000cd0: f003 ffc8 bl 8004c64
+
+ /*Configure GPIO pins : LD1_Pin LD3_Pin */
+ GPIO_InitStruct.Pin = LD1_Pin|LD3_Pin;
+ 8000cd4: f244 0301 movw r3, #16385 @ 0x4001
+ 8000cd8: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 8000cda: 2301 movs r3, #1
+ 8000cdc: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000cde: 2300 movs r3, #0
+ 8000ce0: 627b str r3, [r7, #36] @ 0x24
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 8000ce2: 2300 movs r3, #0
+ 8000ce4: 62bb str r3, [r7, #40] @ 0x28
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 8000ce6: f107 031c add.w r3, r7, #28
+ 8000cea: 4619 mov r1, r3
+ 8000cec: 4839 ldr r0, [pc, #228] @ (8000dd4 )
+ 8000cee: f003 ffb9 bl 8004c64
+
+ /*Configure GPIO pin : PB13 */
+ GPIO_InitStruct.Pin = GPIO_PIN_13;
+ 8000cf2: f44f 5300 mov.w r3, #8192 @ 0x2000
+ 8000cf6: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ 8000cf8: 2302 movs r3, #2
+ 8000cfa: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000cfc: 2300 movs r3, #0
+ 8000cfe: 627b str r3, [r7, #36] @ 0x24
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 8000d00: 2300 movs r3, #0
+ 8000d02: 62bb str r3, [r7, #40] @ 0x28
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ 8000d04: 230b movs r3, #11
+ 8000d06: 62fb str r3, [r7, #44] @ 0x2c
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 8000d08: f107 031c add.w r3, r7, #28
+ 8000d0c: 4619 mov r1, r3
+ 8000d0e: 4831 ldr r0, [pc, #196] @ (8000dd4 )
+ 8000d10: f003 ffa8 bl 8004c64
+
+ /*Configure GPIO pin : USB_OTG_FS_PWR_EN_Pin */
+ GPIO_InitStruct.Pin = USB_OTG_FS_PWR_EN_Pin;
+ 8000d14: f44f 6380 mov.w r3, #1024 @ 0x400
+ 8000d18: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 8000d1a: 2301 movs r3, #1
+ 8000d1c: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000d1e: 2300 movs r3, #0
+ 8000d20: 627b str r3, [r7, #36] @ 0x24
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 8000d22: 2300 movs r3, #0
+ 8000d24: 62bb str r3, [r7, #40] @ 0x28
+ HAL_GPIO_Init(USB_OTG_FS_PWR_EN_GPIO_Port, &GPIO_InitStruct);
+ 8000d26: f107 031c add.w r3, r7, #28
+ 8000d2a: 4619 mov r1, r3
+ 8000d2c: 482a ldr r0, [pc, #168] @ (8000dd8 )
+ 8000d2e: f003 ff99 bl 8004c64
+
+ /*Configure GPIO pin : PD11 */
+ GPIO_InitStruct.Pin = GPIO_PIN_11;
+ 8000d32: f44f 6300 mov.w r3, #2048 @ 0x800
+ 8000d36: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ 8000d38: f44f 1388 mov.w r3, #1114112 @ 0x110000
+ 8000d3c: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000d3e: 2300 movs r3, #0
+ 8000d40: 627b str r3, [r7, #36] @ 0x24
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+ 8000d42: f107 031c add.w r3, r7, #28
+ 8000d46: 4619 mov r1, r3
+ 8000d48: 4823 ldr r0, [pc, #140] @ (8000dd8 )
+ 8000d4a: f003 ff8b bl 8004c64
+
+ /*Configure GPIO pin : USB_OTG_FS_OVCR_Pin */
+ GPIO_InitStruct.Pin = USB_OTG_FS_OVCR_Pin;
+ 8000d4e: 2380 movs r3, #128 @ 0x80
+ 8000d50: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ 8000d52: f44f 1388 mov.w r3, #1114112 @ 0x110000
+ 8000d56: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000d58: 2300 movs r3, #0
+ 8000d5a: 627b str r3, [r7, #36] @ 0x24
+ HAL_GPIO_Init(USB_OTG_FS_OVCR_GPIO_Port, &GPIO_InitStruct);
+ 8000d5c: f107 031c add.w r3, r7, #28
+ 8000d60: 4619 mov r1, r3
+ 8000d62: 4821 ldr r0, [pc, #132] @ (8000de8 )
+ 8000d64: f003 ff7e bl 8004c64
+
+ /*Configure GPIO pins : PA8 PA11 PA12 */
+ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_11|GPIO_PIN_12;
+ 8000d68: f44f 53c8 mov.w r3, #6400 @ 0x1900
+ 8000d6c: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ 8000d6e: 2302 movs r3, #2
+ 8000d70: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000d72: 2300 movs r3, #0
+ 8000d74: 627b str r3, [r7, #36] @ 0x24
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 8000d76: 2300 movs r3, #0
+ 8000d78: 62bb str r3, [r7, #40] @ 0x28
+ GPIO_InitStruct.Alternate = GPIO_AF10_OTG1_FS;
+ 8000d7a: 230a movs r3, #10
+ 8000d7c: 62fb str r3, [r7, #44] @ 0x2c
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+ 8000d7e: f107 031c add.w r3, r7, #28
+ 8000d82: 4619 mov r1, r3
+ 8000d84: 4817 ldr r0, [pc, #92] @ (8000de4 )
+ 8000d86: f003 ff6d bl 8004c64
+
+ /*Configure GPIO pins : PG11 PG13 */
+ GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_13;
+ 8000d8a: f44f 5320 mov.w r3, #10240 @ 0x2800
+ 8000d8e: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ 8000d90: 2302 movs r3, #2
+ 8000d92: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000d94: 2300 movs r3, #0
+ 8000d96: 627b str r3, [r7, #36] @ 0x24
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 8000d98: 2300 movs r3, #0
+ 8000d9a: 62bb str r3, [r7, #40] @ 0x28
+ GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
+ 8000d9c: 230b movs r3, #11
+ 8000d9e: 62fb str r3, [r7, #44] @ 0x2c
+ HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
+ 8000da0: f107 031c add.w r3, r7, #28
+ 8000da4: 4619 mov r1, r3
+ 8000da6: 4810 ldr r0, [pc, #64] @ (8000de8