diff --git a/Hardware/Lib/KiCAD_Libraries b/Hardware/Lib/KiCAD_Libraries
index 624533a..b15be55 160000
--- a/Hardware/Lib/KiCAD_Libraries
+++ b/Hardware/Lib/KiCAD_Libraries
@@ -1 +1 @@
-Subproject commit 624533a150f7256a011a23ce93407e9123ce12fb
+Subproject commit b15be55d65b357b8fe436e5c51fd7f6cef9aa4df
diff --git a/Software/.cproject b/Software/.cproject
deleted file mode 100644
index 6da9789..0000000
--- a/Software/.cproject
+++ /dev/null
@@ -1,428 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
-	<storageModule moduleId="org.eclipse.cdt.core.settings">
-		<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1019471104">
-			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1019471104" moduleId="org.eclipse.cdt.core.settings" name="Debug">
-				<externalSettings/>
-				<extensions>
-					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-				</extensions>
-			</storageModule>
-			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-				<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1019471104" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
-					<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1019471104." name="/" resourcePath="">
-						<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.314205154" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.624342118" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32H7A3ZITx" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1864550775" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1279354973" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.685042526" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv5-d16" valueType="enumerated"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1932006091" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.612730593" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.930886231" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.5 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32H7A3ZITx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32H7xx_HAL_Driver/Inc | ../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32H7xx/Include | ../Drivers/CMSIS/Include ||  ||  || USE_HAL_DRIVER | STM32H7A3xx ||  || Drivers | TouchGFX | Core/Startup | Core ||  ||  || ${workspace_loc:/${ProjName}/STM32H7A3ZITX_FLASH.ld} || true || NonSecure ||  || secure_nsclib.o ||  || None || " valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.1325811784" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" value="160" valueType="string"/>
-							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.171632668" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
-							<builder buildPath="${workspace_loc:/FT23_Charger}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1989729598" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.2129485109" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.476282109" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.2077784331" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="DEBUG"/>
-								</option>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.2122011664" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1842472514" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.2117423242" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.316763308" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.641525982" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="DEBUG"/>
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32H7A3xx"/>
-								</option>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.5720181" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
-									<listOptionValue builtIn="false" value="../Core/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32H7xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
-								</option>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1436783021" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1049525225" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1850863078" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.626221139" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.2053082096" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
-									<listOptionValue builtIn="false" value="../Core/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32H7xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
-								</option>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.1441147122" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="DEBUG"/>
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32H7A3xx"/>
-								</option>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.300225051" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.852065719" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.2002743647" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32H7A3ZITX_FLASH.ld}" valueType="string"/>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1843347005" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
-								</inputType>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1073595632" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls.632572484" name="System calls" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.systemcalls.value.minimalimplementation" valueType="enumerated"/>
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.524193116" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32H7A3ZITX_FLASH.ld}" valueType="string"/>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.746926948" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
-								</inputType>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1348689912" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1933921011" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.797937803" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.518961585" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.69530490" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1459990745" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.691980605" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.2017908036" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
-						</toolChain>
-					</folderInfo>
-					<sourceEntries>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="TouchGFX"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
-					</sourceEntries>
-				</configuration>
-			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-		</cconfiguration>
-		<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1754405407">
-			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1754405407" moduleId="org.eclipse.cdt.core.settings" name="Release">
-				<externalSettings/>
-				<extensions>
-					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-				</extensions>
-			</storageModule>
-			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-				<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1754405407" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
-					<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1754405407." name="/" resourcePath="">
-						<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.2025261290" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1799031493" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="true" value="STM32H7A3ZITx" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1113661788" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.552192317" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.586361029" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv5-d16" valueType="enumerated"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1358899097" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.755869046" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.615804385" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.5 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32H7A3ZITx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32H7xx_HAL_Driver/Inc | ../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32H7xx/Include | ../Drivers/CMSIS/Include ||  ||  || USE_HAL_DRIVER | STM32H7A3xx ||  || Drivers | TouchGFX | Core/Startup | Core ||  ||  || ${workspace_loc:/${ProjName}/STM32H7A3ZITX_FLASH.ld} || true || NonSecure ||  || secure_nsclib.o ||  || None || " valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.517467907" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" value="160" valueType="string"/>
-							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.95688683" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
-							<builder buildPath="${workspace_loc:/FT23_Charger}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1881403226" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1545491305" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1646537037" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.797913205" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1695370746" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.512007324" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.1651350964" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.2005572953" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32H7A3xx"/>
-								</option>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1711631593" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
-									<listOptionValue builtIn="false" value="../Core/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32H7xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
-								</option>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1147706762" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1366833761" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1827669430" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.996724636" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.357604360" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
-									<listOptionValue builtIn="false" value="../Core/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32H7xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
-								</option>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.412887567" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32H7A3xx"/>
-								</option>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1385972626" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.2058018489" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1390373864" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32H7A3ZITX_FLASH.ld}" valueType="string"/>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.918644362" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
-								</inputType>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1249443611" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls.1083290680" name="System calls" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.systemcalls.value.minimalimplementation" valueType="enumerated"/>
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.1172132702" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32H7A3ZITX_FLASH.ld}" valueType="string"/>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.1560760330" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
-								</inputType>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1319652886" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1888853867" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1354437850" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.2127050854" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.404150502" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1995143162" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1472970695" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1522789150" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
-						</toolChain>
-					</folderInfo>
-					<sourceEntries>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="TouchGFX"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
-					</sourceEntries>
-				</configuration>
-			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-		</cconfiguration>
-		<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.119293318">
-			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.119293318" moduleId="org.eclipse.cdt.core.settings" name="Debug">
-				<externalSettings/>
-				<extensions>
-					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-				</extensions>
-			</storageModule>
-			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-				<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.119293318" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
-					<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.119293318." name="/" resourcePath="">
-						<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.326852413" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1087588371" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" value="STM32H7A3ZITx" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1638038805" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" value="0" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1955753028" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" value="0" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.690908175" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv5-d16" valueType="enumerated"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.937076308" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.126480484" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" value="genericBoard" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.413588610" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.6 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32H7A3ZITx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../TouchGFX/App | ../TouchGFX/target/generated | ../TouchGFX/target | ../Core/Inc | ../Drivers/STM32H7xx_HAL_Driver/Inc | ../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32H7xx/Include | ../Drivers/CMSIS/Include ||  ||  || USE_PWR_LDO_SUPPLY | USE_HAL_DRIVER | STM32H7A3xx ||  || Drivers | TouchGFX | Core/Startup | Core ||  ||  || ${workspace_loc:/${ProjName}/STM32H7A3ZITX_FLASH.ld} || true || NonSecure ||  || secure_nsclib.o ||  || None ||  ||  || " valueType="string"/>
-							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1298567352" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
-							<builder buildPath="${workspace_loc:/FT23_Charger}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1649068261" managedBuildOn="true" name="Gnu Make Builder.Debug" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.314880977" name="MCU/MPU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1232851407" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.802658958" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="DEBUG"/>
-								</option>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1258942275" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.385795865" name="MCU/MPU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1922181544" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.361783401" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.2059883372" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="DEBUG"/>
-									<listOptionValue builtIn="false" value="USE_PWR_LDO_SUPPLY"/>
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32H7A3xx"/>
-								</option>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.2021795514" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" valueType="includePath">
-									<listOptionValue builtIn="false" value="../TouchGFX/App"/>
-									<listOptionValue builtIn="false" value="../TouchGFX/target/generated"/>
-									<listOptionValue builtIn="false" value="../TouchGFX/target"/>
-									<listOptionValue builtIn="false" value="../Core/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32H7xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
-								</option>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.454401833" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.70616987" name="MCU/MPU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1615791924" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1594573614" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.535469981" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="DEBUG"/>
-									<listOptionValue builtIn="false" value="USE_PWR_LDO_SUPPLY"/>
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32H7A3xx"/>
-								</option>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.244056925" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" valueType="includePath">
-									<listOptionValue builtIn="false" value="../TouchGFX/App"/>
-									<listOptionValue builtIn="false" value="../TouchGFX/target/generated"/>
-									<listOptionValue builtIn="false" value="../TouchGFX/target"/>
-									<listOptionValue builtIn="false" value="../Core/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32H7xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
-								</option>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.710568001" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1161991179" name="MCU/MPU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.519764852" name="MCU/MPU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.1047321934" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32H7A3ZITX_FLASH.ld}" valueType="string"/>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.67962653" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
-								</inputType>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1708663269" name="MCU/MPU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1400639808" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1018625267" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1313416860" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1038598778" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1744143726" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.733450087" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.407614843" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
-						</toolChain>
-					</folderInfo>
-					<sourceEntries>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="TouchGFX"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
-					</sourceEntries>
-				</configuration>
-			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-		</cconfiguration>
-		<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.756190527">
-			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.756190527" moduleId="org.eclipse.cdt.core.settings" name="Release">
-				<externalSettings/>
-				<extensions>
-					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
-					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-				</extensions>
-			</storageModule>
-			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-				<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.756190527" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
-					<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.756190527." name="/" resourcePath="">
-						<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.1083625657" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.583495346" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" value="STM32H7A3ZITx" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1733420348" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" value="0" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1466550571" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" value="0" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.1870091746" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv5-d16" valueType="enumerated"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.201935015" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1748517134" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" value="genericBoard" valueType="string"/>
-							<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.263569957" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.6 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32H7A3ZITx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../TouchGFX/App | ../TouchGFX/target/generated | ../TouchGFX/target | ../Core/Inc | ../Drivers/STM32H7xx_HAL_Driver/Inc | ../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32H7xx/Include | ../Drivers/CMSIS/Include ||  ||  || USE_PWR_LDO_SUPPLY | USE_HAL_DRIVER | STM32H7A3xx ||  || Drivers | TouchGFX | Core/Startup | Core ||  ||  || ${workspace_loc:/${ProjName}/STM32H7A3ZITX_FLASH.ld} || true || NonSecure ||  || secure_nsclib.o ||  || None ||  ||  || " valueType="string"/>
-							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1592686723" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
-							<builder buildPath="${workspace_loc:/FT23_Charger}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1307658396" managedBuildOn="true" name="Gnu Make Builder.Release" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1453126020" name="MCU/MPU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1781860691" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.437573918" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1300504895" name="MCU/MPU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.789351909" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.608611178" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1672571510" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="USE_PWR_LDO_SUPPLY"/>
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32H7A3xx"/>
-								</option>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1772842668" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" valueType="includePath">
-									<listOptionValue builtIn="false" value="../TouchGFX/App"/>
-									<listOptionValue builtIn="false" value="../TouchGFX/target/generated"/>
-									<listOptionValue builtIn="false" value="../TouchGFX/target"/>
-									<listOptionValue builtIn="false" value="../Core/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32H7xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
-								</option>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1732580469" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.24031397" name="MCU/MPU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1473783194" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1006475521" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.466765335" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" valueType="definedSymbols">
-									<listOptionValue builtIn="false" value="USE_PWR_LDO_SUPPLY"/>
-									<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
-									<listOptionValue builtIn="false" value="STM32H7A3xx"/>
-								</option>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.520130676" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" valueType="includePath">
-									<listOptionValue builtIn="false" value="../TouchGFX/App"/>
-									<listOptionValue builtIn="false" value="../TouchGFX/target/generated"/>
-									<listOptionValue builtIn="false" value="../TouchGFX/target"/>
-									<listOptionValue builtIn="false" value="../Core/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc"/>
-									<listOptionValue builtIn="false" value="../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32H7xx/Include"/>
-									<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
-								</option>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.310016555" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.333736593" name="MCU/MPU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.83121710" name="MCU/MPU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
-								<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.1940167740" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32H7A3ZITX_FLASH.ld}" valueType="string"/>
-								<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.811691742" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input">
-									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
-								</inputType>
-							</tool>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.392123845" name="MCU/MPU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1910731775" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.568364691" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1828001244" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.699463840" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.915325049" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.97928403" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
-							<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1890484734" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
-						</toolChain>
-					</folderInfo>
-					<sourceEntries>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="TouchGFX"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
-					</sourceEntries>
-				</configuration>
-			</storageModule>
-			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-		</cconfiguration>
-	</storageModule>
-	<storageModule moduleId="org.eclipse.cdt.core.pathentry"/>
-	<storageModule moduleId="cdtBuildSystem" version="4.0.0">
-		<project id="FT23_Charger.null.1416459501" name="FT23_Charger"/>
-	</storageModule>
-	<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-	<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
-	<storageModule moduleId="refreshScope" versionNumber="2">
-		<configuration configurationName="Debug">
-			<resource resourceType="PROJECT" workspacePath="/FT23_Charger"/>
-		</configuration>
-		<configuration configurationName="Release">
-			<resource resourceType="PROJECT" workspacePath="/FT23_Charger"/>
-		</configuration>
-	</storageModule>
-	<storageModule moduleId="scannerConfiguration">
-		<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-		<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1754405407;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1754405407.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1695370746;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1147706762">
-			<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
-		</scannerConfigBuildInfo>
-		<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1019471104;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1019471104.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1842472514;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1436783021">
-			<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
-		</scannerConfigBuildInfo>
-		<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1754405407;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1754405407.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1366833761;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1385972626">
-			<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-		</scannerConfigBuildInfo>
-		<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1019471104;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1019471104.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1049525225;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.300225051">
-			<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-		</scannerConfigBuildInfo>
-	</storageModule>
-</cproject>
\ No newline at end of file
diff --git a/Software/.mxproject b/Software/.mxproject
index 288ef8e..d41ad76 100644
--- a/Software/.mxproject
+++ b/Software/.mxproject
@@ -1,46 +1,25 @@
+[PreviousGenFiles]
+AdvancedFolderStructure=true
+HeaderFileListSize=3
+HeaderFiles#0=../Core/Inc/stm32h7xx_it.h
+HeaderFiles#1=../Core/Inc/stm32h7xx_hal_conf.h
+HeaderFiles#2=../Core/Inc/main.h
+HeaderFolderListSize=1
+HeaderPath#0=../Core/Inc
+HeaderFiles=;
+SourceFileListSize=3
+SourceFiles#0=../Core/Src/stm32h7xx_it.c
+SourceFiles#1=../Core/Src/stm32h7xx_hal_msp.c
+SourceFiles#2=../Core/Src/main.c
+SourceFolderListSize=1
+SourcePath#0=../Core/Src
+SourceFiles=;
+
 [PreviousLibFiles]
 LibFiles=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_crc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_crc.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.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_fdcan.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_fmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nor.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sram.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nand.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sdram.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_i2c.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_sdmmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_delayblock.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc_ex.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/Inc/stm32h7xx_hal_pcd.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usb.h;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_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.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_fdcan.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_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/Src/stm32h7xx_hal_pcd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c;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_crc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_crc.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.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_fdcan.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_fmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nor.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sram.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nand.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sdram.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_i2c.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_sdmmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_delayblock.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc_ex.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/Inc/stm32h7xx_hal_pcd.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usb.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Drivers/CMSIS/Include/core_armv81mml.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm35p.h;Drivers/CMSIS/Include/cmsis_armclang_ltm.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/cmsis_version.h;
 
-[PreviousUsedCubeIDEFiles]
-SourceFiles=Core/Src/main.c;TouchGFX/target/generated/TouchGFXConfiguration.cpp;TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp;TouchGFX/target/TouchGFXHAL.cpp;TouchGFX/target/STM32TouchController.cpp;TouchGFX/target/generated/STM32DMA.cpp;TouchGFX/target/generated/OSWrappers.cpp;TouchGFX/target/TouchGFXGPIO.cpp;TouchGFX/App/app_touchgfx.c;Core/Src/stm32h7xx_it.c;Core/Inc/nema_hal.c;Core/Src/stm32h7xx_hal_msp.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_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.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_fdcan.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_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/Src/stm32h7xx_hal_pcd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Core/Src/system_stm32h7xx.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_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.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_fdcan.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_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/Src/stm32h7xx_hal_pcd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.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;TouchGFX/App;TouchGFX/target/generated;TouchGFX/target;Core/Inc;
+[PreviousUsedMakefileFiles]
+SourceFiles=Core/Src/main.c;Core/Src/stm32h7xx_it.c;Core/Src/stm32h7xx_hal_msp.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_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.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_fdcan.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_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/Src/stm32h7xx_hal_pcd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Core/Src/system_stm32h7xx.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_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.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_fdcan.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_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/Src/stm32h7xx_hal_pcd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.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;STM32H7A3xx;USE_HAL_DRIVER;USE_HAL_DRIVER;
 
-[PreviousGenFiles]
-AdvancedFolderStructure=true
-HeaderFileListSize=8
-HeaderFiles#0=../TouchGFX/App/app_touchgfx.h
-HeaderFiles#1=../TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp
-HeaderFiles#2=../TouchGFX/target/TouchGFXHAL.hpp
-HeaderFiles#3=../TouchGFX/target/STM32TouchController.hpp
-HeaderFiles#4=../TouchGFX/target/generated/STM32DMA.hpp
-HeaderFiles#5=../Core/Inc/stm32h7xx_it.h
-HeaderFiles#6=../Core/Inc/stm32h7xx_hal_conf.h
-HeaderFiles#7=../Core/Inc/main.h
-HeaderFolderListSize=4
-HeaderPath#0=../TouchGFX/App
-HeaderPath#1=../TouchGFX/target/generated
-HeaderPath#2=../TouchGFX/target
-HeaderPath#3=../Core/Inc
-HeaderFiles=;
-SourceFileListSize=12
-SourceFiles#0=../TouchGFX/target/generated/TouchGFXConfiguration.cpp
-SourceFiles#1=../TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp
-SourceFiles#2=../TouchGFX/target/TouchGFXHAL.cpp
-SourceFiles#3=../TouchGFX/target/STM32TouchController.cpp
-SourceFiles#4=../TouchGFX/target/generated/STM32DMA.cpp
-SourceFiles#5=../TouchGFX/target/generated/OSWrappers.cpp
-SourceFiles#6=../TouchGFX/target/TouchGFXGPIO.cpp
-SourceFiles#7=../TouchGFX/App/app_touchgfx.c
-SourceFiles#8=../Core/Src/stm32h7xx_it.c
-SourceFiles#9=../Core/Inc/nema_hal.c
-SourceFiles#10=../Core/Src/stm32h7xx_hal_msp.c
-SourceFiles#11=../Core/Src/main.c
-SourceFolderListSize=5
-SourcePath#0=../TouchGFX/target/generated
-SourcePath#1=../TouchGFX/target
-SourcePath#2=../TouchGFX/App
-SourcePath#3=../Core/Src
-SourcePath#4=../Core/Inc
-SourceFiles=;
-
diff --git a/Software/.project b/Software/.project
deleted file mode 100644
index 541e8b2..0000000
--- a/Software/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>FT23_Charger</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
-			<triggers>clean,full,incremental,</triggers>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>com.st.stm32cube.ide.mcu.MCUProjectNature</nature>
-		<nature>com.st.stm32cube.ide.mcu.MCUCubeProjectNature</nature>
-		<nature>org.eclipse.cdt.core.cnature</nature>
-		<nature>com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature</nature>
-		<nature>com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature</nature>
-		<nature>com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature</nature>
-		<nature>com.st.stm32cube.ide.mcu.MCURootProjectNature</nature>
-		<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
-		<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
-		<nature>org.eclipse.cdt.core.ccnature</nature>
-	</natures>
-</projectDescription>
diff --git a/Software/.stm32env b/Software/.stm32env
new file mode 100644
index 0000000..08521ff
--- /dev/null
+++ b/Software/.stm32env
@@ -0,0 +1,7 @@
+# environment variable file used by stm32-for-vscode and the STM32Make.make makefile
+# Other environment variables can be added here. If wanting to use the generated makefile in CI/CD context please
+# configure the following variables: GCC_PATH, OPENOCD
+
+ARM_GCC_PATH = /usr/bin
+OPENOCD = /home/chiangni/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/openocd/0.12.0-4.1/.content/bin/openocd
+ 
\ No newline at end of file
diff --git a/Software/Core/Inc/b_cccv_algo.h b/Software/Core/Inc/b_cccv_algo.h
deleted file mode 100644
index 6b47873..0000000
--- a/Software/Core/Inc/b_cccv_algo.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * b_cccv_algo.h
- *
- *  Created on: 16.06.2023
- *      Author: max
- */
-#include <stdint.h>
-#include "stm32h7xx_hal.h"
-
-#ifndef INC_B_CCCV_ALGO_H_
-#define INC_B_CCCV_ALGO_H_
-
-#define I_GAIN 4
-#define P_GAIN 10
-#define CHARGE_CURRENT_LIMIT 10.0
-#define SIMULINKTEST
-#undef SIMULINKTEST
-
-
-typedef enum{
-	NO_CHARGING,
-	CHARGING_IN_PROGRESS,
-	CHARGING_COMPLETED
-} CCCV_CONTROL_STATE;
-
-#ifdef SIMULINKTEST
-CCCV_CONTROL_STATE cccvloop(float maxcellvoltage, float voltagesetpoint, float maxcurrent, float*ccurrent);
-#else
-
-CCCV_CONTROL_STATE cccvloop(float maxcellvoltage, float voltagesetpoint, float maxcurrent);
-void setchargecurrent(float chargecurrent);
-void setchargevoltage(uint8_t numberofcells,float maximumcellvoltage);
-float getMaximumCellVoltage();
-void chargingloop(float maximumcellvoltage);
-void startcharging(float endvoltage);
-void initChargerAlgo(uint8_t numberofcells, float maximumcellvoltage);
-void setchargevoltage(uint8_t numberofcells,float maximumcellvoltage);
-void stopcharging();
-#endif
-
-float matlabvalidationwrapper(float maxcellvoltage, float voltagesetpoint, float maxcurrent);
-
-#endif /* INC_B_CCCV_ALGO_H_ */
diff --git a/Software/Core/Inc/can-halal.h b/Software/Core/Inc/can-halal.h
deleted file mode 100644
index 45c5c62..0000000
--- a/Software/Core/Inc/can-halal.h
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef CAN_HALAL_H
-#define CAN_HALAL_H
-
-// Define family macros if none are defined and we recognize a chip macro
-#if !defined(STM32F3) && !defined(STM32H7)
-#if defined(STM32F302x6) || defined(STM32F302x8) || defined(STM32F302xB) ||    \
-    defined(STM32F302xC)
-#define STM32F3
-#endif
-#if defined(STM32H7A3xx)
-#define STM32H7
-#endif
-#endif
-
-#if defined(STM32F3)
-#include "stm32f3xx_hal.h"
-#define FTCAN_IS_BXCAN
-#define FTCAN_NUM_FILTERS 13
-#elif defined(STM32H7)
-#include "stm32h7xx_hal.h"
-#define FTCAN_IS_FDCAN
-#define FTCAN_NUM_FILTERS 13
-#else
-#error "Couldn't detect STM family"
-#endif
-
-#if defined(FTCAN_IS_BXCAN)
-HAL_StatusTypeDef ftcan_init(CAN_HandleTypeDef *handle);
-#elif defined(FTCAN_IS_FDCAN)
-HAL_StatusTypeDef ftcan_init(FDCAN_HandleTypeDef *handle);
-#else
-#error "Unknown CAN peripheral"
-#endif
-
-HAL_StatusTypeDef ftcan_transmit(uint16_t id, const uint8_t *data,
-                                 size_t datalen);
-
-HAL_StatusTypeDef ftcan_add_filter(uint16_t id, uint16_t mask);
-
-/**
- * Define this function to be notified of incoming CAN messages
- */
-void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data);
-
-/**
- * Read num_bytes bytes from a message (unmarshalled network byte order). The
- * msg pointer is advanced by the corresponding number of bytes.
- *
- * Both methods return a 64-bit integer, but you can safely cast it to a smaller
- * integer type.
- */
-uint64_t ftcan_unmarshal_unsigned(const uint8_t **data, size_t num_bytes);
-int64_t ftcan_unmarshal_signed(const uint8_t **data, size_t num_bytes);
-
-/**
- * Write num_bytes to a message (marshalled in network byte order). The pointer
- * is advanced by the corresponding number of bytes and returned.
- */
-uint8_t *ftcan_marshal_unsigned(uint8_t *data, uint64_t val, size_t num_bytes);
-uint8_t *ftcan_marshal_signed(uint8_t *data, int64_t val, size_t num_bytes);
-
-#endif // CAN_HALAL_H
diff --git a/Software/Core/Inc/can.h b/Software/Core/Inc/can.h
deleted file mode 100644
index a25a75e..0000000
--- a/Software/Core/Inc/can.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * can.h
- *
- *  Created on: 21.06.2023
- *      Author: max
- */
-
-#ifndef INC_CAN_H_
-#define INC_CAN_H_
-
-#include "stm32h7xx_hal.h"
-
-#define CAN_ID_AMS_STATUS 0x00A
-#define CAN_ID_AMS_IN 0x00B
-#define CAN_ID_SLAVE_STATUS_BASE 0x080
-#define CAN_ID_CHARGER_ACTIVE 0x200
-
-
-
-void initCan(FDCAN_HandleTypeDef *hcan);
-
-#endif /* INC_CAN_H_ */
diff --git a/Software/Core/Inc/charge_ctrl_test_shell.h b/Software/Core/Inc/charge_ctrl_test_shell.h
deleted file mode 100644
index 006ad8e..0000000
--- a/Software/Core/Inc/charge_ctrl_test_shell.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * charge_ctrl_test_shell.h
- *
- *  Created on: May 21, 2023
- *      Author: max
- */
-
-#ifndef INC_CHARGE_CTRL_TEST_SHELL_H_
-#define INC_CHARGE_CTRL_TEST_SHELL_H_
-
-#include "stm32h7xx_hal.h"
-
-void charge_shell_init(UART_HandleTypeDef *huart);
-void charge_shell_loop();
-
-
-#endif /* INC_CHARGE_CTRL_TEST_SHELL_H_ */
diff --git a/Software/Core/Inc/charger_control.h b/Software/Core/Inc/charger_control.h
deleted file mode 100644
index 02bcd8c..0000000
--- a/Software/Core/Inc/charger_control.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * charger_control.h
- *
- *  Created on: May 21, 2023
- *      Author: MaxMax
- */
-
-#ifndef INC_CHARGER_CONTROL_H_
-#define INC_CHARGER_CONTROL_H_
-
-#include "stm32h7xx_hal.h"
-
-#define CURRENT_DAC_ADR 0x58
-#define VOLTAGE_DAC_ADR 0x5E
-#define CHARGER_ADC_ADR 0x90
-
-typedef struct{
-	uint8_t acfail;
-	uint8_t dcfail;
-	uint8_t cc_status;
-	uint8_t ot_status;
-	uint8_t lim_status;
-	uint16_t voltage;
-	uint16_t current;
-}ChargerStatusHandleTypeDef;
-
-void charger_control_init(I2C_HandleTypeDef* hi2c);
-
-ChargerStatusHandleTypeDef charger_control_get_state();
-void charger_control_set_current(uint32_t current);
-void charger_control_set_voltage(uint32_t voltage);
-void charger_control_enable_charger_relay();
-void charger_control_disable_charger_relay();
-void charger_control_enable_remote();
-void charger_control_disable_remote();
-void charger_control_setup_DACs();
-
-
-#endif /* INC_CHARGER_CONTROL_H_ */
diff --git a/Software/Core/Inc/main.h b/Software/Core/Inc/main.h
index 419df7a..cde7271 100644
--- a/Software/Core/Inc/main.h
+++ b/Software/Core/Inc/main.h
@@ -7,13 +7,12 @@
   ******************************************************************************
   * @attention
   *
-  * <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
-  * All rights reserved.</center></h2>
+  * Copyright (c) 2025 STMicroelectronics.
+  * All rights reserved.
   *
-  * This software component is licensed by ST under BSD 3-Clause license,
-  * the "License"; You may not use this file except in compliance with the
-  * License. You may obtain a copy of the License at:
-  *                        opensource.org/licenses/BSD-3-Clause
+  * 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.
   *
   ******************************************************************************
   */
diff --git a/Software/Core/Inc/nema_hal.c b/Software/Core/Inc/nema_hal.c
deleted file mode 100644
index 24f16b9..0000000
--- a/Software/Core/Inc/nema_hal.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
-  ******************************************************************************
-  * File Name          :
-  * Description        :
-  ******************************************************************************
-  * @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 */
-
-/**
-  * @}
-  */
-
-/**
-  * @}
-  */
diff --git a/Software/Core/Inc/slave_handler.h b/Software/Core/Inc/slave_handler.h
deleted file mode 100644
index 8ec783a..0000000
--- a/Software/Core/Inc/slave_handler.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * slave_handler.h
- *
- *  Created on: Jun 21, 2023
- *      Author: max
- */
-
-#ifndef INC_SLAVE_HANDLER_H_
-#define INC_SLAVE_HANDLER_H_
-
-#include "stm32h7xx_hal.h"
-
-#define N_SLAVES 6
-
-typedef enum {
-  SLAVE_ERR_NONE,
-  SLAVE_ERR_TIMEOUT,
-  SLAVE_ERR_OT,
-  SLAVE_ERR_UT,
-  SLAVE_ERR_OV,
-  SLAVE_ERR_UV,
-  SLAVE_ERR_UNKNOWN,
-} SlaveErrorKind;
-
-typedef struct {
-  SlaveErrorKind kind;
-  uint32_t data; // Cell/temperature ID etc
-} SlaveError;
-
-typedef struct {
-  uint8_t id;
-  SlaveError error;
-  uint8_t soc;
-  uint16_t min_voltage;
-  uint16_t max_voltage;
-  int16_t max_temp;
-  uint32_t last_message;
-} SlaveHandle;
-
-extern SlaveHandle slaves[N_SLAVES];
-
-float slaves_get_maximum_voltage();
-void slaves_handle_status(const uint8_t *data);
-void slave_handler_init();
-
-#endif /* INC_SLAVE_HANDLER_H_ */
diff --git a/Software/Core/Inc/stm32h7xx_it.h b/Software/Core/Inc/stm32h7xx_it.h
index 7424b89..bbbeb7c 100644
--- a/Software/Core/Inc/stm32h7xx_it.h
+++ b/Software/Core/Inc/stm32h7xx_it.h
@@ -6,15 +6,14 @@
   ******************************************************************************
   * @attention
   *
-  * <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
-  * All rights reserved.</center></h2>
+  * Copyright (c) 2025 STMicroelectronics.
+  * All rights reserved.
   *
-  * This software component is licensed by ST under BSD 3-Clause license,
-  * the "License"; You may not use this file except in compliance with the
-  * License. You may obtain a copy of the License at:
-  *                        opensource.org/licenses/BSD-3-Clause
+  * 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 */
 
@@ -61,7 +60,6 @@ void FDCAN1_IT1_IRQHandler(void);
 void FMC_IRQHandler(void);
 void FDCAN_CAL_IRQHandler(void);
 void LTDC_IRQHandler(void);
-void LTDC_ER_IRQHandler(void);
 /* USER CODE BEGIN EFP */
 
 /* USER CODE END EFP */
diff --git a/Software/Core/Src/b_cccv_algo.c b/Software/Core/Src/b_cccv_algo.c
deleted file mode 100644
index 1aea67d..0000000
--- a/Software/Core/Src/b_cccv_algo.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * b_cccv_algo.c
- *
- *  Created on: 16.06.2023
- *      Author: max
- */
-
-#include "b_cccv_algo.h"
-#include "charger_control.h"
-#include "main.h"
-
-static uint32_t dt;
-static uint32_t lasttick;
-static float errorintegration = 0;
-static float finalvoltage = 4.15;
-static float chargevoltage = 430;
-static float chargecurrentlimit = CHARGE_CURRENT_LIMIT;
-
-static float resistancelut[1024];
-static float voltageresistancelut[1024];
-
-#define CURRENT_R 2.2
-#define VOLTAGE_R 18
-
-CCCV_CONTROL_STATE chargerstate = NO_CHARGING;
-
-#ifdef SIMULINKTEST
-CCCV_CONTROL_STATE cccvloop(float maxcellvoltage, float voltagesetpoint, float maxcurrent, float*ccurrent)
-#else
-CCCV_CONTROL_STATE cccvloop(float maxcellvoltage, float voltagesetpoint, float maxcurrent)
-#endif
-
-{
-#ifdef SIMULINKTEST
-	dt = 1000;
-#else
-	dt = HAL_GetTick() - lasttick;
-	lasttick = HAL_GetTick();
-#endif
-
-
-
-
-
-	float chargecurrent = 0;
-
-	//Calculate Voltage Error and I and P Factors
-	float voltageerror = voltagesetpoint-maxcellvoltage;
-
-	float errorproportional = P_GAIN * voltageerror;
-	errorintegration += I_GAIN*voltageerror * ((float)dt)/1000;
-
-
-	//Limit I and P Factors to maximum charge current
-
-	if(errorintegration > maxcurrent)
-		errorintegration = maxcurrent;
-
-	if(errorproportional > maxcurrent)
-		errorproportional = maxcurrent;
-
-	if(errorproportional <= -maxcurrent)
-		errorproportional = -maxcurrent;
-
-	if(errorintegration <= -maxcurrent)
-		errorintegration = -maxcurrent;
-
-    float errorintegrationout = errorintegration;
-	chargecurrent = (errorproportional + errorintegrationout);
-
-	if(chargecurrent > maxcurrent)
-		chargecurrent = maxcurrent;
-
-	if(chargecurrent <= 0)
-		chargecurrent = 0;
-
-    if(chargecurrent < 0.01)	//If Charge Current ist below minimum threshold, stop charging
-		return CHARGING_COMPLETED;
-	#ifdef SIMULINKTEST
-		*ccurrent = chargecurrent;
-	#else
-		setchargevoltage(103,finalvoltage+0.05);
-		setchargecurrent(chargecurrent);
-	#endif
-
-
-	return CHARGING_IN_PROGRESS;
-}
-
-#ifndef SIMULINKTEST
-
-void initChargerAlgo(uint8_t numberofcells, float maximumcellvoltage)
-{
-	chargerstate = NO_CHARGING;
-	chargevoltage = numberofcells * maximumcellvoltage;
-
-	for(uint32_t i = 0; i < 1024; i++)
-	{
-		resistancelut[i] = 10*CURRENT_R/(CURRENT_R+(20*((float)i)/1024));
-	}
-
-	for(uint32_t i = 0; i < 1024; i++)
-	{
-		voltageresistancelut[i] = (600*VOLTAGE_R)/(VOLTAGE_R+(20*((float)i)/1024));
-	}
-}
-
-void setchargecurrent(float chargecurrent)
-{
-	float targetresistance;
-	if(chargecurrent != 0)
-	{
-		for(uint32_t setpoint = 0; setpoint < 1024; setpoint++)
-		{
-			if(resistancelut[setpoint] <= chargecurrent)
-			{
-				targetresistance = (20000*((float)setpoint)/1024);
-				break;
-			}
-		}
-	}
-	else
-	{
-		targetresistance = 20000;
-	}
-
-	float wiperpos = targetresistance/20000 * (1023);
-	charger_control_set_current((uint32_t) wiperpos);
-}
-
-void setchargevoltage(uint8_t numberofcells,float maximumcellvoltage)
-{
-
-	float chargevoltage = numberofcells * maximumcellvoltage;
-	float targetresistance;
-
-	if(chargevoltage != 0)
-	{
-		for(uint32_t setpoint = 0; setpoint < 1024; setpoint++)
-			{
-				if(voltageresistancelut[setpoint] <= chargevoltage)
-				{
-					targetresistance = (20000*((float)setpoint)/1024);
-					break;
-				}
-			}
-	}
-	else
-	{
-		targetresistance = 20000;
-	}
-
-	float wiperpos = targetresistance/20000 * (1023);
-	charger_control_set_voltage((uint32_t) wiperpos);
-	//@TODO Call Function to set Resistance for Voltage
-}
-
-void chargingloop(float maximumcellvoltage)
-{
-	switch(chargerstate)
-	{
-	case NO_CHARGING:	//Do Nothing IDLE Loop
-		chargerstate = NO_CHARGING;
-		charger_control_disable_remote();
-		errorintegration = 0;
-		break;
-	case CHARGING_IN_PROGRESS:	//Run charging algo periodically
-		charger_control_enable_remote();
-		chargerstate = cccvloop(maximumcellvoltage, finalvoltage, chargecurrentlimit);
-		break;
-	case CHARGING_COMPLETED:	//Signal Completion of Charging here
-		chargerstate = NO_CHARGING;
-		charger_control_disable_remote();
-		errorintegration = 0;
-		break;
-	}
-}
-
-void startcharging(float endvoltage)
-{
-	chargerstate = CHARGING_IN_PROGRESS;
-	finalvoltage = endvoltage;
-}
-
-void stopcharging()
-{
-	chargerstate = NO_CHARGING;
-	charger_control_disable_remote();
-}
-
-
-#endif
-
-#ifdef SIMULINKTEST
-
-float matlabvalidationwrapper(float maxcellvoltage, float voltagesetpoint, float maxcurrent)
-{
-	float chargecurrent = 0;
-	(void*) cccvloop(maxcellvoltage,voltagesetpoint,maxcurrent, &chargecurrent);
-	return chargecurrent;
-
-}
-
-#endif
-
diff --git a/Software/Core/Src/can-halal.c b/Software/Core/Src/can-halal.c
deleted file mode 100644
index a99303a..0000000
--- a/Software/Core/Src/can-halal.c
+++ /dev/null
@@ -1,273 +0,0 @@
-#include "can-halal.h"
-
-#include <string.h>
-
-#if defined(FTCAN_IS_BXCAN)
-static CAN_HandleTypeDef *hcan;
-
-HAL_StatusTypeDef ftcan_init(CAN_HandleTypeDef *handle) {
-  hcan = handle;
-
-  HAL_StatusTypeDef status =
-      HAL_CAN_ActivateNotification(hcan, CAN_IT_RX_FIFO0_MSG_PENDING);
-  if (status != HAL_OK) {
-    return status;
-  }
-
-  return HAL_CAN_Start(hcan);
-}
-
-HAL_StatusTypeDef ftcan_transmit(uint16_t id, const uint8_t *data,
-                                 size_t datalen) {
-  static CAN_TxHeaderTypeDef header;
-  header.StdId = id;
-  header.IDE = CAN_ID_STD;
-  header.RTR = CAN_RTR_DATA;
-  header.DLC = datalen;
-  uint32_t mailbox;
-  return HAL_CAN_AddTxMessage(hcan, &header, data, &mailbox);
-}
-
-HAL_StatusTypeDef ftcan_add_filter(uint16_t id, uint16_t mask) {
-  static uint32_t next_filter_no = 0;
-  static CAN_FilterTypeDef filter;
-  if (next_filter_no % 2 == 0) {
-    filter.FilterIdHigh = id << 5;
-    filter.FilterMaskIdHigh = mask << 5;
-    filter.FilterIdLow = id << 5;
-    filter.FilterMaskIdLow = mask << 5;
-  } else {
-    // Leave high filter untouched from the last configuration
-    filter.FilterIdLow = id << 5;
-    filter.FilterMaskIdLow = mask << 5;
-  }
-  filter.FilterFIFOAssignment = CAN_FILTER_FIFO0;
-  filter.FilterBank = next_filter_no / 2;
-  if (filter.FilterBank > FTCAN_NUM_FILTERS + 1) {
-    return HAL_ERROR;
-  }
-  filter.FilterMode = CAN_FILTERMODE_IDMASK;
-  filter.FilterScale = CAN_FILTERSCALE_16BIT;
-  filter.FilterActivation = CAN_FILTER_ENABLE;
-
-  // Disable slave filters
-  // TODO: Some STM32 have multiple CAN peripherals, and one uses the slave
-  // filter bank
-  filter.SlaveStartFilterBank = FTCAN_NUM_FILTERS;
-
-  HAL_StatusTypeDef status = HAL_CAN_ConfigFilter(hcan, &filter);
-  if (status == HAL_OK) {
-    next_filter_no++;
-  }
-  return status;
-}
-
-void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *handle) {
-  if (handle != hcan) {
-    return;
-  }
-  CAN_RxHeaderTypeDef header;
-  uint8_t data[8];
-  if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &header, data) != HAL_OK) {
-    return;
-  }
-
-  if (header.IDE != CAN_ID_STD) {
-    return;
-  }
-
-  ftcan_msg_received_cb(header.StdId, header.DLC, data);
-}
-#elif defined(FTCAN_IS_FDCAN)
-static FDCAN_HandleTypeDef *hcan;
-
-HAL_StatusTypeDef ftcan_init(FDCAN_HandleTypeDef *handle) {
-  hcan = handle;
-
-  HAL_StatusTypeDef status =
-      HAL_FDCAN_ActivateNotification(hcan, FDCAN_IT_RX_FIFO0_NEW_MESSAGE, 0);
-  if (status != HAL_OK) {
-    return status;
-  }
-  // Reject non-matching messages
-  status =
-      HAL_FDCAN_ConfigGlobalFilter(hcan, FDCAN_REJECT, FDCAN_REJECT,
-                                   FDCAN_REJECT_REMOTE, FDCAN_REJECT_REMOTE);
-  if (status != HAL_OK) {
-    return status;
-  }
-
-  return HAL_FDCAN_Start(hcan);
-}
-
-HAL_StatusTypeDef ftcan_transmit(uint16_t id, const uint8_t *data,
-                                 size_t datalen) {
-  static FDCAN_TxHeaderTypeDef header;
-  header.Identifier = id;
-  header.IdType = FDCAN_STANDARD_ID;
-  header.TxFrameType = FDCAN_DATA_FRAME;
-  switch (datalen) {
-  case 0:
-    header.DataLength = FDCAN_DLC_BYTES_0;
-    break;
-  case 1:
-    header.DataLength = FDCAN_DLC_BYTES_1;
-    break;
-  case 2:
-    header.DataLength = FDCAN_DLC_BYTES_2;
-    break;
-  case 3:
-    header.DataLength = FDCAN_DLC_BYTES_3;
-    break;
-  case 4:
-    header.DataLength = FDCAN_DLC_BYTES_4;
-    break;
-  case 5:
-    header.DataLength = FDCAN_DLC_BYTES_5;
-    break;
-  case 6:
-    header.DataLength = FDCAN_DLC_BYTES_6;
-    break;
-  case 7:
-    header.DataLength = FDCAN_DLC_BYTES_7;
-    break;
-  case 8:
-  default:
-    header.DataLength = FDCAN_DLC_BYTES_8;
-    break;
-  }
-  header.ErrorStateIndicator = FDCAN_ESI_PASSIVE;
-  header.BitRateSwitch = FDCAN_BRS_OFF;
-  header.FDFormat = FDCAN_CLASSIC_CAN;
-  header.TxEventFifoControl = FDCAN_NO_TX_EVENTS;
-
-  // HAL_FDCAN_AddMessageToTxFifoQ doesn't modify the data, but it's not marked
-  // as const for some reason.
-  uint8_t *data_nonconst = (uint8_t *)data;
-  return HAL_FDCAN_AddMessageToTxFifoQ(hcan, &header, data_nonconst);
-}
-
-HAL_StatusTypeDef ftcan_add_filter(uint16_t id, uint16_t mask) {
-  static uint32_t next_filter_no = 0;
-  static FDCAN_FilterTypeDef filter;
-  filter.IdType = FDCAN_STANDARD_ID;
-  filter.FilterIndex = next_filter_no;
-  if (filter.FilterIndex > FTCAN_NUM_FILTERS + 1) {
-    return HAL_ERROR;
-  }
-  filter.FilterType = FDCAN_FILTER_MASK;
-  filter.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;
-  filter.FilterID1 = id;
-  filter.FilterID2 = mask;
-
-  HAL_StatusTypeDef status = HAL_FDCAN_ConfigFilter(hcan, &filter);
-  if (status == HAL_OK) {
-    next_filter_no++;
-  }
-  return status;
-}
-
-void HAL_FDCAN_RxFifo0Callback(FDCAN_HandleTypeDef *handle,
-                               uint32_t RxFifo0ITs) {
-  if (handle != hcan || (RxFifo0ITs & FDCAN_IT_RX_FIFO0_NEW_MESSAGE) == RESET) {
-    return;
-  }
-
-  static FDCAN_RxHeaderTypeDef header;
-  static uint8_t data[8];
-  if (HAL_FDCAN_GetRxMessage(hcan, FDCAN_RX_FIFO0, &header, data) != HAL_OK) {
-    return;
-  }
-
-  if (header.FDFormat != FDCAN_CLASSIC_CAN ||
-      header.RxFrameType != FDCAN_DATA_FRAME ||
-      header.IdType != FDCAN_STANDARD_ID) {
-    return;
-  }
-
-  size_t datalen;
-  switch (header.DataLength) {
-  case FDCAN_DLC_BYTES_0:
-    datalen = 0;
-    break;
-  case FDCAN_DLC_BYTES_1:
-    datalen = 1;
-    break;
-  case FDCAN_DLC_BYTES_2:
-    datalen = 2;
-    break;
-  case FDCAN_DLC_BYTES_3:
-    datalen = 3;
-    break;
-  case FDCAN_DLC_BYTES_4:
-    datalen = 4;
-    break;
-  case FDCAN_DLC_BYTES_5:
-    datalen = 5;
-    break;
-  case FDCAN_DLC_BYTES_6:
-    datalen = 6;
-    break;
-  case FDCAN_DLC_BYTES_7:
-    datalen = 7;
-    break;
-  case FDCAN_DLC_BYTES_8:
-    datalen = 8;
-    break;
-  default:
-    return;
-  }
-
-  ftcan_msg_received_cb(header.Identifier, datalen, data);
-}
-#endif
-
-__weak void ftcan_msg_received_cb(uint16_t id, size_t datalen,
-                                  const uint8_t *data) {}
-
-uint64_t ftcan_unmarshal_unsigned(const uint8_t **data_ptr, size_t num_bytes) {
-  if (num_bytes > 8) {
-    num_bytes = 8;
-  }
-
-  const uint8_t *data = *data_ptr;
-  uint64_t result = 0;
-  for (size_t i = 0; i < num_bytes; i++) {
-    result <<= 8;
-    result |= data[i];
-  }
-  *data_ptr += num_bytes;
-  return result;
-}
-
-int64_t ftcan_unmarshal_signed(const uint8_t **data_ptr, size_t num_bytes) {
-  if (num_bytes > 8) {
-    num_bytes = 8;
-  }
-
-  uint64_t result_unsigned = ftcan_unmarshal_unsigned(data_ptr, num_bytes);
-  // Sign extend by shifting left, then copying to a signed int and shifting
-  // back to the right
-  size_t diff_to_64 = 64 - num_bytes * 8;
-  result_unsigned <<= diff_to_64;
-  int64_t result;
-  memcpy(&result, &result_unsigned, 8);
-  return result >> diff_to_64;
-}
-
-uint8_t *ftcan_marshal_unsigned(uint8_t *data, uint64_t val, size_t num_bytes) {
-  if (num_bytes > 8) {
-    num_bytes = 8;
-  }
-
-  for (int i = num_bytes - 1; i >= 0; i--) {
-    data[i] = val & 0xFF;
-    val >>= 8;
-  }
-
-  return data + num_bytes;
-}
-
-uint8_t *ftcan_marshal_signed(uint8_t *data, int64_t val, size_t num_bytes) {
-  return ftcan_marshal_unsigned(data, val, num_bytes);
-}
diff --git a/Software/Core/Src/can.c b/Software/Core/Src/can.c
deleted file mode 100644
index fc39ac2..0000000
--- a/Software/Core/Src/can.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * can.c
- *
- *  Created on: 21.06.2023
- *      Author: max
- */
-
-
-#include "can.h"
-#include "can-halal.h"
-#include "slave_handler.h"
-#include "b_cccv_algo.h"
-#include "charger_control.h"
-
-
-void initCan(FDCAN_HandleTypeDef *hcan)
-{
-	ftcan_init(hcan);
-	ftcan_add_filter(0, 0);
-}
-
-void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data)
-{
-	if ((id & 0xFF0) == CAN_ID_SLAVE_STATUS_BASE) {
-//	  slaves_handle_status(data);
-	  return;
-	}
-
-	/*if (id == CAN_ID_CHARGER_ACTIVE)
-	{
-		if(data[0] == 1)
-		{
-			uint8_t* ptr = &data[1];
-			startcharging(((float) ftcan_unmarshal_unsigned(&ptr, 2))/10000);
-		}
-		else
-		{
-			stopcharging();
-		}
-		return;
-	}*/
-	switch (id) {
-	case CAN_ID_AMS_STATUS: {
-		int sdc_closed = data[0] >> 7;
-		if (sdc_closed == 0) {
-			charger_control_disable_remote();
-		}
-		break;
-	}
-	case CAN_ID_AMS_IN: {
-		int active = data[0] & 0x01;
-		if (active) {
-			charger_control_enable_remote();
-		}
-	}
-	}
-}
diff --git a/Software/Core/Src/charge_ctrl_test_shell.c b/Software/Core/Src/charge_ctrl_test_shell.c
deleted file mode 100644
index 5ba7f25..0000000
--- a/Software/Core/Src/charge_ctrl_test_shell.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * charge_ctrl_test_shell.c
- *
- *  Created on: May 21, 2023
- *      Author: max
- */
-
-
-#include "charge_ctrl_test_shell.h"
-#include "charger_control.h"
-
-UART_HandleTypeDef *suart;
-
-void charge_shell_init(UART_HandleTypeDef *huart)
-{
-	suart = huart;
-}
-
-void charge_shell_loop()
-{
-	uint8_t command[3];
-	HAL_StatusTypeDef status = HAL_UART_Receive(suart, command, 3, 100);
-	if(status == HAL_OK)
-	{
-		switch(command[0])
-		{
-			case 'r':
-				if(command[1] == 'c') //enable remote control
-				{
-					charger_control_enable_remote();
-				}
-				else if(command[1] == 'o')	//disable remote control
-				{
-					charger_control_disable_remote();
-				}
-				break;
-
-			case 'e':
-				if(command[1] == 'c')
-				{
-					charger_control_enable_charger_relay();
-				}
-				else if(command[1] == 'o')
-				{
-					charger_control_disable_charger_relay();
-				}
-				break;
-
-			case 'v':
-				;uint16_t voltage = (command[1]<<8) | command[2];
-				charger_control_set_voltage(voltage);
-				break;
-
-			case 'c':
-				;uint16_t current = (command[1]<<8 | command[2]);
-				charger_control_set_current(current);
-				break;
-
-			case 's':
-				;ChargerStatusHandleTypeDef charg = charger_control_get_state();
-				uint8_t txbuffer[9] = {charg.acfail, charg.dcfail, charg.cc_status,
-						charg.lim_status, charg.ot_status, (uint8_t)(charg.current>>8),
-						(uint8_t)charg.current&0xFF,(uint8_t)(charg.voltage>>8),
-						(uint8_t)charg.voltage&0xFF
-				};
-				HAL_UART_Transmit(suart, txbuffer, 9, 1000);
-		}
-	}
-}
diff --git a/Software/Core/Src/charger_control.c b/Software/Core/Src/charger_control.c
deleted file mode 100644
index fe5fed0..0000000
--- a/Software/Core/Src/charger_control.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * charger_control.c
- *
- *  Created on: May 21, 2023
- *      Author: MaxMax
- */
-
-#include "charger_control.h"
-#include "main.h"
-
-I2C_HandleTypeDef* charger_i2c;
-
-
-/*** @brief Start ADC Conversion on Charger Current Channel and returns the result
- * 	@note The ADC has a PGA leading to an input range of +-6.144 in twos complement. With single ended measurements, the range is 15 bit and
- * 	Voltage = 6.144/(2^(15)-1)
- * 	@note The charger maps a voltage range of 0-5V to the output current of 0-10A
- * 	@retval ADC Conversion register value
- */
-uint16_t readADCCurrent()
-{
-	uint8_t writeconfigreg[3] = {0x01, 0xC1, 0xE3};
-	uint8_t readconfigreg[1] = {0x01};
-	uint8_t readconversionreg[1] = {0x00};
-	uint8_t configreg[2];
-	uint8_t conversionreg[2];
-
-	HAL_I2C_Master_Transmit(charger_i2c, CHARGER_ADC_ADR, writeconfigreg, 3, 1000);	//Set Config Register and Start conversion
-
-	HAL_I2C_Master_Transmit(charger_i2c, CHARGER_ADC_ADR, readconfigreg, 1, 1000);	//Read Back Config Reg to check for conversion completion
-	HAL_I2C_Master_Receive(charger_i2c, CHARGER_ADC_ADR, configreg, 2, 1000);
-	HAL_Delay(1);//@TODO Remove if ADC Works
-	HAL_I2C_Master_Transmit(charger_i2c, CHARGER_ADC_ADR, readconversionreg, 1, 1000);	//Read Result from conversion register
-	HAL_I2C_Master_Receive(charger_i2c, CHARGER_ADC_ADR, conversionreg, 2, 1000);
-
-	return (uint16_t)(conversionreg[0]<<8 | conversionreg[1]);
-
-}
-
-/*** @brief Start ADC Conversion on Charger Voltage Channel and returns the result
- * 	@note The ADC has a PGA leading to an input range of +-6.144 in twos complement. With single ended measurements, the range is 15 bit and
- * 	Voltage = 6.144/(2^(15)-1)
- * 	@note The charger maps a voltage range of 0-5V to the output voltage range of 0-600V
- * 	@retval ADC Conversion register value
- */
-
-uint16_t readADCVoltage()
-{
-	uint8_t writeconfigreg[3] = {0x01, 0xC1, 0xE3};
-	uint8_t readconfigreg[1] = {0x01};
-	uint8_t readconversionreg[1] = {0x00};
-	uint8_t configreg[2];
-	uint8_t conversionreg[2];
-
-	HAL_I2C_Master_Transmit(charger_i2c, CHARGER_ADC_ADR, writeconfigreg, 3, 1000);	//Set Config Register and Start conversion
-
-	HAL_I2C_Master_Transmit(charger_i2c, CHARGER_ADC_ADR, readconfigreg, 1, 1000);	//Read Back Config Reg to check for conversion completion
-	HAL_I2C_Master_Receive(charger_i2c, CHARGER_ADC_ADR, configreg, 2, 1000);
-	HAL_Delay(1);//@TODO Remove if ADC Works
-	HAL_I2C_Master_Transmit(charger_i2c, CHARGER_ADC_ADR, readconversionreg, 1, 1000);	//Read Result from conversion register
-	HAL_I2C_Master_Receive(charger_i2c, CHARGER_ADC_ADR, conversionreg, 2, 1000);
-
-	return (uint16_t)(conversionreg[0]<<8 | conversionreg[1]);
-}
-
-/*** @brief Initilization Routine of the charger
- * @note initially all outputs are set to 0, remote control and charger relay are deactivated
- * 	@param hi2c Handler to I2C struct for ADC and DAC communication
- */
-void charger_control_init(I2C_HandleTypeDef* hi2c)
-{
-	charger_i2c = hi2c;
-
-	charger_control_disable_remote();
-	charger_control_disable_charger_relay();
-	charger_control_setup_DACs();
-	charger_control_set_current(0);
-	charger_control_set_voltage(0);
-}
-
-/*** @brief Get State of voltage, current and error flags of the charger
- *	 @retval Struct Containing charger information
- */
-
-ChargerStatusHandleTypeDef charger_control_get_state()
-{
-	ChargerStatusHandleTypeDef chargerstate;
-	chargerstate.voltage = readADCVoltage();
-	chargerstate.current = readADCCurrent();
-	chargerstate.acfail = HAL_GPIO_ReadPin(Charger_AC_Fail_GPIO_Port, Charger_AC_Fail_Pin);
-	chargerstate.dcfail = HAL_GPIO_ReadPin(Charger_DC_FAIL_GPIO_Port, Charger_DC_FAIL_Pin);
-	chargerstate.cc_status = HAL_GPIO_ReadPin(Charger_CC_Status_GPIO_Port, Charger_CC_Status_Pin);
-	chargerstate.lim_status = HAL_GPIO_ReadPin(Charger_LIM_GPIO_Port, Charger_LIM_Pin);
-	chargerstate.ot_status = HAL_GPIO_ReadPin(Charger_OT_GPIO_Port, Charger_OT_Pin);
-	return chargerstate;
-}
-
-void charger_control_setup_DACs()
-{
-	uint8_t enabledacs[2] = {0x1C, 0x02};
-	HAL_I2C_Master_Transmit(charger_i2c, CURRENT_DAC_ADR, enabledacs, 2, 1000);
-	HAL_I2C_Master_Transmit(charger_i2c, VOLTAGE_DAC_ADR, enabledacs, 2, 1000);
-}
-
-/*** @brief set current channel using the DAC
- * 	@param current value in 10 bit => 0-5V are equal to 0-10A so 1 bit is approx 49mA
- *
- */
-
-void charger_control_set_current(uint32_t current)
-{
-	uint8_t currentlow = current & 0xFF;
-	uint8_t currenthigh = ((current>>8) & 0x03) | 0x04;
-	uint8_t current_dac_data[2] = {currenthigh,currentlow};
-	HAL_I2C_Master_Transmit(charger_i2c, CURRENT_DAC_ADR, current_dac_data, 2, 1000);
-}
-
-/** @brief set voltage channel using the DAC
- *  @param voltage value in 10 bit => 0-5V are equal to 0-600V so 1 bit is approx. 2.93V
- *
- */
-
-void charger_control_set_voltage(uint32_t voltage)
-{
-	uint8_t voltagelow = voltage & 0xFF;
-	uint8_t voltagehigh = ((voltage>>8) & 0x03) | 0x04;
-	uint8_t voltage_dac_data[2] = {voltagehigh,voltagelow};
-	HAL_I2C_Master_Transmit(charger_i2c, VOLTAGE_DAC_ADR, voltage_dac_data, 2, 1000);
-}
-
-/**	@brief Closes the main charger Relay
- * @note The relay is also dependend on the Shutdown Circuit
- */
-
-void charger_control_enable_charger_relay()
-{
-	HAL_GPIO_WritePin(Charger_Relay_GPIO_Port, Charger_Relay_Pin, GPIO_PIN_SET);
-}
-
-/**	@brief opens the main charger Relay
- * @note The relay is also dependend on the Shutdown Circuit
- */
-
-void charger_control_disable_charger_relay()
-{
-	HAL_GPIO_WritePin(Charger_Relay_GPIO_Port, Charger_Relay_Pin, GPIO_PIN_RESET);
-}
-
-/**	@brief enables remote control of the charger
- * @note The relay is also dependend on the Shutdown Circuit
- */
-
-void charger_control_enable_remote()
-{
-	HAL_GPIO_WritePin(Charger_Remote_Shutdown_GPIO_Port, Charger_Remote_Shutdown_Pin, GPIO_PIN_SET);
-}
-
-
-/**	@brief disable remote control of the charger
- * @note The relay is also dependend on the Shutdown Circuit
- */
-
-void charger_control_disable_remote()
-{
-	HAL_GPIO_WritePin(Charger_Remote_Shutdown_GPIO_Port, Charger_Remote_Shutdown_Pin, GPIO_PIN_RESET);
-}
-
-
diff --git a/Software/Core/Src/main.c b/Software/Core/Src/main.c
index 32f6ed7..8e18496 100644
--- a/Software/Core/Src/main.c
+++ b/Software/Core/Src/main.c
@@ -6,27 +6,21 @@
   ******************************************************************************
   * @attention
   *
-  * <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
-  * All rights reserved.</center></h2>
+  * Copyright (c) 2025 STMicroelectronics.
+  * All rights reserved.
   *
-  * This software component is licensed by ST under BSD 3-Clause license,
-  * the "License"; You may not use this file except in compliance with the
-  * License. You may obtain a copy of the License at:
-  *                        opensource.org/licenses/BSD-3-Clause
+  * 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 "app_touchgfx.h"
 
 /* Private includes ----------------------------------------------------------*/
 /* USER CODE BEGIN Includes */
-#include "charger_control.h"
-#include "slave_handler.h"
-#include "can.h"
-#include "b_cccv_algo.h"
 
 /* USER CODE END Includes */
 
@@ -37,6 +31,7 @@
 
 /* Private define ------------------------------------------------------------*/
 /* USER CODE BEGIN PD */
+
 /* USER CODE END PD */
 
 /* Private macro -------------------------------------------------------------*/
@@ -64,7 +59,7 @@ PCD_HandleTypeDef hpcd_USB_OTG_HS;
 SDRAM_HandleTypeDef hsdram1;
 
 /* USER CODE BEGIN PV */
-
+uint16_t framebuffer[160*120];
 /* USER CODE END PV */
 
 /* Private function prototypes -----------------------------------------------*/
@@ -81,13 +76,12 @@ static void MX_UART5_Init(void);
 static void MX_LTDC_Init(void);
 static void MX_CRC_Init(void);
 /* USER CODE BEGIN PFP */
-uint32_t MemoryCheck(UART_HandleTypeDef *uart_console, SDRAM_HandleTypeDef *sram);
+
 /* USER CODE END PFP */
 
 /* Private user code ---------------------------------------------------------*/
 /* USER CODE BEGIN 0 */
-#define RAM_TEST_BLOCKSIZE 4096
- __attribute__((section(".ahb_sec"))) uint32_t testarray[RAM_TEST_BLOCKSIZE];
+
 /* USER CODE END 0 */
 
 /**
@@ -131,41 +125,24 @@ int main(void)
   MX_UART5_Init();
   MX_LTDC_Init();
   MX_CRC_Init();
-  MX_TouchGFX_Init();
   /* USER CODE BEGIN 2 */
-
-  //uint32_t sdramcheck =  MemoryCheck(&huart5, &hsdram1);
-  //MX_LTDC_Init();
-  slave_handler_init();
-  initCan(&hfdcan1);
-  charger_control_init(&hi2c4);
-  initChargerAlgo(102, 4.15);
-  setchargecurrent(0.0);
-  setchargevoltage(102, 0);
-  charger_control_disable_remote();
-  //HAL_LTDC_Reload(&hltdc, LTDC_RELOAD_IMMEDIATE);
+  HAL_LTDC_SetAddress(&hltdc, (uint32_t)framebuffer, LTDC_LAYER_1);
+  uint8_t r    = 0xff, g = 0x00, b = 0x00;             // Solid red
+  uint16_t col = ((r>>3)<<11) | ((g>>2)<<5) | (b>>3);  // Convert colors to RGB565
+  // Put colors into the framebuffer
+  for(int i = 0; i < 160*120; i++)
+  {
+    framebuffer[i] = col;
+  }
   /* USER CODE END 2 */
 
   /* Infinite loop */
   /* USER CODE BEGIN WHILE */
-  uint32_t lasttick = HAL_GetTick();
   while (1)
   {
     /* USER CODE END WHILE */
 
-  MX_TouchGFX_Process();
     /* USER CODE BEGIN 3 */
-
-
-	if((HAL_GetTick() - lasttick) > 1000)
-	{
-//		float maxvoltage = slaves_get_maximum_voltage();
-//		lasttick = HAL_GetTick();
-//		chargingloop(slaves_get_maximum_voltage());
-		HAL_GPIO_TogglePin(STATUS_LED_2_GPIO_Port, STATUS_LED_2_Pin);
-	}
-
-	//  HAL_Delay(500);
   }
   /* USER CODE END 3 */
 }
@@ -415,12 +392,12 @@ static void MX_LTDC_Init(void)
   hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC;
   hltdc.Init.HorizontalSync = 19;
   hltdc.Init.VerticalSync = 2;
-  hltdc.Init.AccumulatedHBP = 159;
+  hltdc.Init.AccumulatedHBP = 69;
   hltdc.Init.AccumulatedVBP = 22;
-  hltdc.Init.AccumulatedActiveW = 1183;
-  hltdc.Init.AccumulatedActiveH = 622;
-  hltdc.Init.TotalWidth = 1343;
-  hltdc.Init.TotalHeigh = 634;
+  hltdc.Init.AccumulatedActiveW = 549;
+  hltdc.Init.AccumulatedActiveH = 294;
+  hltdc.Init.TotalWidth = 599;
+  hltdc.Init.TotalHeigh = 306;
   hltdc.Init.Backcolor.Blue = 0;
   hltdc.Init.Backcolor.Green = 0;
   hltdc.Init.Backcolor.Red = 0;
@@ -429,10 +406,10 @@ static void MX_LTDC_Init(void)
     Error_Handler();
   }
   pLayerCfg.WindowX0 = 0;
-  pLayerCfg.WindowX1 = 1024;
+  pLayerCfg.WindowX1 = 480;
   pLayerCfg.WindowY0 = 0;
-  pLayerCfg.WindowY1 = 600;
-  pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB888;
+  pLayerCfg.WindowY1 = 272;
+  pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565;
   pLayerCfg.Alpha = 1;
   pLayerCfg.Alpha0 = 0;
   pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;
@@ -448,8 +425,7 @@ static void MX_LTDC_Init(void)
     Error_Handler();
   }
   /* USER CODE BEGIN LTDC_Init 2 */
-  __HAL_LTDC_ENABLE(&hltdc);
-  __HAL_LTDC_LAYER_ENABLE(&hltdc,1);
+
   /* USER CODE END LTDC_Init 2 */
 
 }
@@ -660,32 +636,7 @@ static void MX_FMC_Init(void)
   }
 
   /* USER CODE BEGIN FMC_Init 2 */
-  FMC_SDRAM_CommandTypeDef command;
-  HAL_StatusTypeDef status;
-  command.CommandTarget = FMC_SDRAM_CMD_TARGET_BANK1;
-  command.CommandMode = FMC_SDRAM_CMD_CLK_ENABLE;
-  command.AutoRefreshNumber = 1;
-  command.ModeRegisterDefinition = 0;
-  status = HAL_SDRAM_SendCommand(&hsdram1, &command, 1000);
-  HAL_Delay(1);
 
-
-  command.CommandMode = FMC_SDRAM_CMD_PALL;
-  command.AutoRefreshNumber = 8;
-  command.ModeRegisterDefinition = 0;
-  status = HAL_SDRAM_SendCommand(&hsdram1, &command, 1000);
-
-  command.CommandMode = FMC_SDRAM_CMD_LOAD_MODE;
-  command.AutoRefreshNumber = 1;
-  command.ModeRegisterDefinition = 0x130;
-  status = HAL_SDRAM_SendCommand(&hsdram1, &command, 1000);
-
-  command.CommandMode = FMC_SDRAM_CMD_AUTOREFRESH_MODE;
-  command.AutoRefreshNumber = 8;
-  command.ModeRegisterDefinition = 0;
-  status = HAL_SDRAM_SendCommand(&hsdram1, &command, 1000);
-
-  status = HAL_SDRAM_ProgramRefreshRate(&hsdram1, 0x0595);
   /* USER CODE END FMC_Init 2 */
 }
 
@@ -768,49 +719,6 @@ static void MX_GPIO_Init(void)
 
 /* USER CODE BEGIN 4 */
 
-/** @brief run a Memory Check over the complete SDRAM Area
- *
- */
-uint32_t MemoryCheck(UART_HandleTypeDef *uart_console, SDRAM_HandleTypeDef *sram)
-{
-	uint32_t totalerrors = 0;
-	uint32_t numberofsectors = 400;
-
-	uint32_t testadr = 0xC0000000;
-
-
-	//*testpointer = 1;
-
-	for(uint32_t startaddress = 0; startaddress < numberofsectors*RAM_TEST_BLOCKSIZE; startaddress += RAM_TEST_BLOCKSIZE)
-	{
-
-		for(uint32_t i = 0; i < RAM_TEST_BLOCKSIZE; i++)
-		{
-			testarray[i] = 0xFFFF00FF;
-		}
-		//*testadr = (uint32_t*) ;
-		HAL_StatusTypeDef status = HAL_SDRAM_Write_32b(sram, (uint32_t*)(testadr+startaddress), testarray, RAM_TEST_BLOCKSIZE);
-		//testadr = (uint32_t*) (startaddress + 0xC0000000);
-		for(uint32_t i = 0; i < RAM_TEST_BLOCKSIZE; i++)
-		{
-			testarray[i] = 0;
-		}
-		status = HAL_SDRAM_Read_32b(sram,(uint32_t*)(testadr+startaddress), testarray, RAM_TEST_BLOCKSIZE);
-
-		uint32_t errorcounter = 0;
-		for(uint32_t i = 0; i <RAM_TEST_BLOCKSIZE;i++)
-		{
-			if(testarray[i] != (i+3000))
-			{
-				errorcounter++;
-			}
-		}
-		totalerrors += errorcounter;
-	}
-
-	return totalerrors;
-
-}
 /* USER CODE END 4 */
 
 /**
diff --git a/Software/Core/Src/slave_handler.c b/Software/Core/Src/slave_handler.c
deleted file mode 100644
index 505e11e..0000000
--- a/Software/Core/Src/slave_handler.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * slave_handler.c
- *
- *  Created on: Jun 21, 2023
- *      Author: max
- */
-
-#include "slave_handler.h"
-#include "can.h"
-#include "can-halal.h"
-
-static uint8_t slave_id_to_index[128] = {0xFF};
-
-
-void slave_handler_init()
-{
-	memset(slave_id_to_index,0xFF,128);
-}
-
-SlaveHandle slaves[N_SLAVES];
-static size_t get_slave_index(uint8_t);
-
-void slaves_handle_status(const uint8_t *data) {
-  uint8_t slave_id = data[0] & 0x7F;
-  uint8_t idx = get_slave_index(slave_id);
-  int error = data[0] & 0x80;
-  if (error) {
-    if (slaves[idx].error.kind == SLAVE_ERR_NONE) {
-      slaves[idx].error.kind = SLAVE_ERR_UNKNOWN;
-    }
-  } else {
-    slaves[idx].error.kind = SLAVE_ERR_NONE;
-  }
-  slaves[idx].soc = data[1];
-  const uint8_t *ptr = &data[2];
-  slaves[idx].min_voltage = ftcan_unmarshal_unsigned(&ptr, 2);
-  slaves[idx].max_voltage = ftcan_unmarshal_unsigned(&ptr, 2);
-  slaves[idx].max_temp = ftcan_unmarshal_unsigned(&ptr, 2);
-  slaves[idx].last_message = HAL_GetTick();
-}
-
-float slaves_get_maximum_voltage()
-{
-	float maxvoltage = 0;
-	for(uint8_t i = 0; i < N_SLAVES; i++)
-	{
-		if(maxvoltage < slaves[i].max_voltage)
-			maxvoltage = slaves[i].max_voltage;
-	}
-	return ((float)maxvoltage)/10000;
-}
-
-
-
-static size_t get_slave_index(uint8_t slave_id) {
-  // Slave IDs are 7-bit, so we can use a 128-element array to map them to
-  // indices. 0xFF is used to mark unseen slave IDs, since the highest index we
-  // could need is N_SLAVES - 1 (i.e. 5).
-  static size_t next_slave_index = 0;
-  if (slave_id_to_index[slave_id] == 0xFF) {
-    if (next_slave_index >= N_SLAVES) {
-      // We've seen more than N_SLAVES slave IDs, this shouldn't happen.
-      Error_Handler();
-    }
-    slave_id_to_index[slave_id] = next_slave_index;
-    slaves[next_slave_index].id = slave_id;
-    next_slave_index++;
-  }
-  return slave_id_to_index[slave_id];
-}
diff --git a/Software/Core/Src/stm32h7xx_hal_msp.c b/Software/Core/Src/stm32h7xx_hal_msp.c
index 7ff9fac..6cc5390 100644
--- a/Software/Core/Src/stm32h7xx_hal_msp.c
+++ b/Software/Core/Src/stm32h7xx_hal_msp.c
@@ -7,13 +7,12 @@
   ******************************************************************************
   * @attention
   *
-  * <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
-  * All rights reserved.</center></h2>
+  * Copyright (c) 2025 STMicroelectronics.
+  * All rights reserved.
   *
-  * This software component is licensed by ST under BSD 3-Clause license,
-  * the "License"; You may not use this file except in compliance with the
-  * License. You may obtain a copy of the License at:
-  *                        opensource.org/licenses/BSD-3-Clause
+  * 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.
   *
   ******************************************************************************
   */
@@ -332,7 +331,6 @@ void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
     /**LTDC GPIO Configuration
     PF10     ------> LTDC_DE
     PC0     ------> LTDC_R5
-    PA1     ------> LTDC_R2
     PA3     ------> LTDC_B5
     PA4     ------> LTDC_VSYNC
     PA5     ------> LTDC_R4
@@ -351,7 +349,6 @@ void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
     PA10     ------> LTDC_B4
     PA15     ------> LTDC_B6
     PD2     ------> LTDC_B7
-    PD6     ------> LTDC_B2
     */
     GPIO_InitStruct.Pin = GPIO_PIN_10;
     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
@@ -367,8 +364,8 @@ void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
     GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
 
-    GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5
-                          |GPIO_PIN_6|GPIO_PIN_15;
+    GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6
+                          |GPIO_PIN_15;
     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
     GPIO_InitStruct.Pull = GPIO_NOPULL;
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
@@ -424,18 +421,9 @@ void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
     GPIO_InitStruct.Alternate = GPIO_AF9_LTDC;
     HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
 
-    GPIO_InitStruct.Pin = GPIO_PIN_6;
-    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
-    GPIO_InitStruct.Pull = GPIO_NOPULL;
-    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
-    GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
-    HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
-
     /* LTDC interrupt Init */
     HAL_NVIC_SetPriority(LTDC_IRQn, 0, 0);
     HAL_NVIC_EnableIRQ(LTDC_IRQn);
-    HAL_NVIC_SetPriority(LTDC_ER_IRQn, 0, 0);
-    HAL_NVIC_EnableIRQ(LTDC_ER_IRQn);
   /* USER CODE BEGIN LTDC_MspInit 1 */
 
   /* USER CODE END LTDC_MspInit 1 */
@@ -463,7 +451,6 @@ void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
     /**LTDC GPIO Configuration
     PF10     ------> LTDC_DE
     PC0     ------> LTDC_R5
-    PA1     ------> LTDC_R2
     PA3     ------> LTDC_B5
     PA4     ------> LTDC_VSYNC
     PA5     ------> LTDC_R4
@@ -482,26 +469,24 @@ void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
     PA10     ------> LTDC_B4
     PA15     ------> LTDC_B6
     PD2     ------> LTDC_B7
-    PD6     ------> LTDC_B2
     */
     HAL_GPIO_DeInit(GPIOF, GPIO_PIN_10);
 
     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0|GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_7
                           |GPIO_PIN_9);
 
-    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5
-                          |GPIO_PIN_6|GPIO_PIN_8|GPIO_PIN_10|GPIO_PIN_15);
+    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6
+                          |GPIO_PIN_8|GPIO_PIN_10|GPIO_PIN_15);
 
     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_10|GPIO_PIN_11
                           |GPIO_PIN_15);
 
     HAL_GPIO_DeInit(GPIOG, GPIO_PIN_7);
 
-    HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2|GPIO_PIN_6);
+    HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
 
     /* LTDC interrupt DeInit */
     HAL_NVIC_DisableIRQ(LTDC_IRQn);
-    HAL_NVIC_DisableIRQ(LTDC_ER_IRQn);
   /* USER CODE BEGIN LTDC_MspDeInit 1 */
 
   /* USER CODE END LTDC_MspDeInit 1 */
diff --git a/Software/Core/Src/stm32h7xx_it.c b/Software/Core/Src/stm32h7xx_it.c
index 7b57a97..8f01f00 100644
--- a/Software/Core/Src/stm32h7xx_it.c
+++ b/Software/Core/Src/stm32h7xx_it.c
@@ -6,13 +6,12 @@
   ******************************************************************************
   * @attention
   *
-  * <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
-  * All rights reserved.</center></h2>
+  * Copyright (c) 2025 STMicroelectronics.
+  * All rights reserved.
   *
-  * This software component is licensed by ST under BSD 3-Clause license,
-  * the "License"; You may not use this file except in compliance with the
-  * License. You may obtain a copy of the License at:
-  *                        opensource.org/licenses/BSD-3-Clause
+  * 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.
   *
   ******************************************************************************
   */
@@ -75,7 +74,7 @@ void NMI_Handler(void)
 
   /* USER CODE END NonMaskableInt_IRQn 0 */
   /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
-  while (1)
+   while (1)
   {
   }
   /* USER CODE END NonMaskableInt_IRQn 1 */
@@ -267,24 +266,10 @@ void LTDC_IRQHandler(void)
   /* USER CODE END LTDC_IRQn 0 */
   HAL_LTDC_IRQHandler(&hltdc);
   /* USER CODE BEGIN LTDC_IRQn 1 */
-
+  HAL_LTDC_ProgramLineEvent(&hltdc,0);
   /* USER CODE END LTDC_IRQn 1 */
 }
 
-/**
-  * @brief This function handles LTDC Error global Interrupt.
-  */
-void LTDC_ER_IRQHandler(void)
-{
-  /* USER CODE BEGIN LTDC_ER_IRQn 0 */
-
-  /* USER CODE END LTDC_ER_IRQn 0 */
-  HAL_LTDC_IRQHandler(&hltdc);
-  /* USER CODE BEGIN LTDC_ER_IRQn 1 */
-
-  /* USER CODE END LTDC_ER_IRQn 1 */
-}
-
 /* USER CODE BEGIN 1 */
 
 /* USER CODE END 1 */
diff --git a/Software/Core/Src/syscalls.c b/Software/Core/Src/syscalls.c
index bc0dd6c..e33a849 100644
--- a/Software/Core/Src/syscalls.c
+++ b/Software/Core/Src/syscalls.c
@@ -1,8 +1,8 @@
 /**
  ******************************************************************************
  * @file      syscalls.c
- * @author    Auto-generated by STM32CubeIDE
- * @brief     STM32CubeIDE Minimal System calls file
+ * @author    Auto-generated by STM32CubeMX
+ * @brief     Minimal System calls file
  *
  *            For more information about which c-functions
  *            need which of these lowlevel functions
@@ -10,13 +10,12 @@
  ******************************************************************************
  * @attention
  *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2020-2024 STMicroelectronics.
+ * All rights reserved.
  *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- *                        opensource.org/licenses/BSD-3-Clause
+ * 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.
  *
  ******************************************************************************
  */
@@ -48,109 +47,130 @@ void initialise_monitor_handles()
 
 int _getpid(void)
 {
-	return 1;
+  return 1;
 }
 
 int _kill(int pid, int sig)
 {
-	errno = EINVAL;
-	return -1;
+  (void)pid;
+  (void)sig;
+  errno = EINVAL;
+  return -1;
 }
 
 void _exit (int status)
 {
-	_kill(status, -1);
-	while (1) {}		/* Make sure we hang here */
+  _kill(status, -1);
+  while (1) {}    /* Make sure we hang here */
 }
 
 __attribute__((weak)) int _read(int file, char *ptr, int len)
 {
-	int DataIdx;
+  (void)file;
+  int DataIdx;
 
-	for (DataIdx = 0; DataIdx < len; DataIdx++)
-	{
-		*ptr++ = __io_getchar();
-	}
+  for (DataIdx = 0; DataIdx < len; DataIdx++)
+  {
+    *ptr++ = __io_getchar();
+  }
 
-return len;
+  return len;
 }
 
 __attribute__((weak)) int _write(int file, char *ptr, int len)
 {
-	int DataIdx;
+  (void)file;
+  int DataIdx;
 
-	for (DataIdx = 0; DataIdx < len; DataIdx++)
-	{
-		__io_putchar(*ptr++);
-	}
-	return len;
+  for (DataIdx = 0; DataIdx < len; DataIdx++)
+  {
+    __io_putchar(*ptr++);
+  }
+  return len;
 }
 
 int _close(int file)
 {
-	return -1;
+  (void)file;
+  return -1;
 }
 
 
 int _fstat(int file, struct stat *st)
 {
-	st->st_mode = S_IFCHR;
-	return 0;
+  (void)file;
+  st->st_mode = S_IFCHR;
+  return 0;
 }
 
 int _isatty(int file)
 {
-	return 1;
+  (void)file;
+  return 1;
 }
 
 int _lseek(int file, int ptr, int dir)
 {
-	return 0;
+  (void)file;
+  (void)ptr;
+  (void)dir;
+  return 0;
 }
 
 int _open(char *path, int flags, ...)
 {
-	/* Pretend like we always fail */
-	return -1;
+  (void)path;
+  (void)flags;
+  /* Pretend like we always fail */
+  return -1;
 }
 
 int _wait(int *status)
 {
-	errno = ECHILD;
-	return -1;
+  (void)status;
+  errno = ECHILD;
+  return -1;
 }
 
 int _unlink(char *name)
 {
-	errno = ENOENT;
-	return -1;
+  (void)name;
+  errno = ENOENT;
+  return -1;
 }
 
 int _times(struct tms *buf)
 {
-	return -1;
+  (void)buf;
+  return -1;
 }
 
 int _stat(char *file, struct stat *st)
 {
-	st->st_mode = S_IFCHR;
-	return 0;
+  (void)file;
+  st->st_mode = S_IFCHR;
+  return 0;
 }
 
 int _link(char *old, char *new)
 {
-	errno = EMLINK;
-	return -1;
+  (void)old;
+  (void)new;
+  errno = EMLINK;
+  return -1;
 }
 
 int _fork(void)
 {
-	errno = EAGAIN;
-	return -1;
+  errno = EAGAIN;
+  return -1;
 }
 
 int _execve(char *name, char **argv, char **env)
 {
-	errno = ENOMEM;
-	return -1;
+  (void)name;
+  (void)argv;
+  (void)env;
+  errno = ENOMEM;
+  return -1;
 }
diff --git a/Software/Core/Src/sysmem.c b/Software/Core/Src/sysmem.c
index d7cc52c..246470e 100644
--- a/Software/Core/Src/sysmem.c
+++ b/Software/Core/Src/sysmem.c
@@ -1,8 +1,8 @@
 /**
  ******************************************************************************
  * @file      sysmem.c
- * @author    Generated by STM32CubeIDE
- * @brief     STM32CubeIDE System Memory calls file
+ * @author    Generated by STM32CubeMX
+ * @brief     System Memory calls file
  *
  *            For more information about which C functions
  *            need which of these lowlevel functions
@@ -10,13 +10,12 @@
  ******************************************************************************
  * @attention
  *
- * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
- * All rights reserved.</center></h2>
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
  *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- *                        opensource.org/licenses/BSD-3-Clause
+ * 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.
  *
  ******************************************************************************
  */
diff --git a/Software/Core/Src/system_stm32h7xx.c b/Software/Core/Src/system_stm32h7xx.c
index d527ef3..197d15c 100644
--- a/Software/Core/Src/system_stm32h7xx.c
+++ b/Software/Core/Src/system_stm32h7xx.c
@@ -1,451 +1,556 @@
-/**
-  ******************************************************************************
-  * @file    system_stm32h7xx.c
-  * @author  MCD Application Team
-  * @brief   CMSIS Cortex-Mx Device Peripheral Access Layer System Source File.
-  *
-  *   This file provides two functions and one global variable to be called from
-  *   user application:
-  *      - 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 <math.h>
-#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 0x200. */
-#define VECT_TAB_OFFSET         0x00000000U       /*!< Vector Table base offset field.
-                                                       This value must be a multiple of 0x200. */
-#else
-#define VECT_TAB_BASE_ADDRESS   FLASH_BANK2_BASE  /*!< Vector Table base address field.
-                                                       This value must be a multiple of 0x200. */
-#define VECT_TAB_OFFSET         0x00000000U       /*!< Vector Table base offset field.
-                                                       This value must be a multiple of 0x200. */
-#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 0x200. */
-#define VECT_TAB_OFFSET         0x00000000U       /*!< Vector Table base offset field.
-                                                       This value must be a multiple of 0x200. */
-#else
-#define VECT_TAB_BASE_ADDRESS   FLASH_BANK1_BASE  /*!< Vector Table base address field.
-                                                       This value must be a multiple of 0x200. */
-#define VECT_TAB_OFFSET         0x00000000U       /*!< Vector Table base offset field.
-                                                       This value must be a multiple of 0x200. */
-#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
-
-#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 */
-}
-
-
-/**
-  * @}
-  */
-
-/**
-  * @}
-  */
-
-/**
-  * @}
-  */
+/**
+  ******************************************************************************
+  * @file    system_stm32h7xx.c
+  * @author  MCD Application Team
+  * @brief   CMSIS Cortex-Mx Device Peripheral Access Layer System Source File.
+  *
+  *   This file provides two functions and one global variable to be called from
+  *   user application:
+  *      - ExitRun0Mode(): Specifies the Power Supply source. This function is
+  *                        called at startup just after reset and before the call
+  *                        of SystemInit(). This call is made inside
+  *                        the "startup_stm32h7xx.s" file.
+  *
+  *      - SystemInit(): This function is called at startup just after reset and
+  *                      before branch to main program. This call is made inside
+  *                      the "startup_stm32h7xx.s" file.
+  *
+  *      - SystemCoreClock variable: Contains the core clock, it can be used
+  *                                  by the user application to setup the SysTick
+  *                                  timer or configure other parameters.
+  *
+  *      - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+  *                                 be called whenever the core clock is changed
+  *                                 during program execution.
+  *
+  *
+  ******************************************************************************
+  * @attention
+  *
+  * Copyright (c) 2017 STMicroelectronics.
+  * All rights reserved.
+  *
+  * This software is licensed under terms that can be found in the LICENSE file
+  * in the root directory of this software component.
+  * If no LICENSE file comes with this software, it is provided AS-IS.
+  *
+  ******************************************************************************
+  */
+
+/** @addtogroup CMSIS
+  * @{
+  */
+
+/** @addtogroup stm32h7xx_system
+  * @{
+  */
+
+/** @addtogroup STM32H7xx_System_Private_Includes
+  * @{
+  */
+
+#include "stm32h7xx.h"
+#include <math.h>
+
+#if !defined  (HSE_VALUE)
+#define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined  (CSI_VALUE)
+  #define CSI_VALUE    ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* CSI_VALUE */
+
+#if !defined  (HSI_VALUE)
+  #define HSI_VALUE    ((uint32_t)64000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+
+/**
+  * @}
+  */
+
+/** @addtogroup STM32H7xx_System_Private_TypesDefinitions
+  * @{
+  */
+
+/**
+  * @}
+  */
+
+/** @addtogroup STM32H7xx_System_Private_Defines
+  * @{
+  */
+
+/************************* Miscellaneous Configuration ************************/
+/*!< Uncomment the following line if you need to use initialized data in D2 domain SRAM (AHB SRAM) */
+/* #define DATA_IN_D2_SRAM */
+
+/* Note: Following vector table addresses must be defined in line with linker
+         configuration. */
+/*!< Uncomment the following line if you need to relocate the vector table
+     anywhere in FLASH BANK1 or AXI SRAM, else the vector table is kept at the automatic
+     remap of boot address selected */
+/* #define USER_VECT_TAB_ADDRESS */
+
+#if defined(USER_VECT_TAB_ADDRESS)
+#if defined(DUAL_CORE) && defined(CORE_CM4)
+/*!< Uncomment the following line if you need to relocate your vector Table
+     in D2 AXI SRAM else user remap will be done in FLASH BANK2. */
+/* #define VECT_TAB_SRAM */
+#if defined(VECT_TAB_SRAM)
+#define VECT_TAB_BASE_ADDRESS   D2_AXISRAM_BASE   /*!< Vector Table base address field.
+                                                       This value must be a multiple of 0x400. */
+#define VECT_TAB_OFFSET         0x00000000U       /*!< Vector Table base offset field.
+                                                       This value must be a multiple of 0x400. */
+#else
+#define VECT_TAB_BASE_ADDRESS   FLASH_BANK2_BASE  /*!< Vector Table base address field.
+                                                       This value must be a multiple of 0x400. */
+#define VECT_TAB_OFFSET         0x00000000U       /*!< Vector Table base offset field.
+                                                       This value must be a multiple of 0x400. */
+#endif /* VECT_TAB_SRAM */
+#else
+/*!< Uncomment the following line if you need to relocate your vector Table
+     in D1 AXI SRAM else user remap will be done in FLASH BANK1. */
+/* #define VECT_TAB_SRAM */
+#if defined(VECT_TAB_SRAM)
+#define VECT_TAB_BASE_ADDRESS   D1_AXISRAM_BASE   /*!< Vector Table base address field.
+                                                       This value must be a multiple of 0x400. */
+#define VECT_TAB_OFFSET         0x00000000U       /*!< Vector Table base offset field.
+                                                       This value must be a multiple of 0x400. */
+#else
+#define VECT_TAB_BASE_ADDRESS   FLASH_BANK1_BASE  /*!< Vector Table base address field.
+                                                       This value must be a multiple of 0x400. */
+#define VECT_TAB_OFFSET         0x00000000U       /*!< Vector Table base offset field.
+                                                       This value must be a multiple of 0x400. */
+#endif /* VECT_TAB_SRAM */
+#endif /* DUAL_CORE && CORE_CM4 */
+#endif /* USER_VECT_TAB_ADDRESS */
+/******************************************************************************/
+
+/**
+  * @}
+  */
+
+/** @addtogroup STM32H7xx_System_Private_Macros
+  * @{
+  */
+
+/**
+  * @}
+  */
+
+/** @addtogroup STM32H7xx_System_Private_Variables
+  * @{
+  */
+  /* This variable is updated in three ways:
+      1) by calling CMSIS function SystemCoreClockUpdate()
+      2) by calling HAL API function HAL_RCC_GetHCLKFreq()
+      3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
+         Note: If you use this function to configure the system clock; then there
+               is no need to call the 2 first functions listed above, since SystemCoreClock
+               variable is updated automatically.
+  */
+  uint32_t SystemCoreClock = 64000000;
+  uint32_t SystemD2Clock = 64000000;
+  const  uint8_t D1CorePrescTable[16] = {0, 0, 0, 0, 1, 2, 3, 4, 1, 2, 3, 4, 6, 7, 8, 9};
+
+/**
+  * @}
+  */
+
+/** @addtogroup STM32H7xx_System_Private_FunctionPrototypes
+  * @{
+  */
+
+/**
+  * @}
+  */
+
+/** @addtogroup STM32H7xx_System_Private_Functions
+  * @{
+  */
+
+/**
+  * @brief  Setup the microcontroller system
+  *         Initialize the FPU setting and  vector table location
+  *         configuration.
+  * @param  None
+  * @retval None
+  */
+void SystemInit (void)
+{
+#if defined (DATA_IN_D2_SRAM)
+ __IO uint32_t tmpreg;
+#endif /* DATA_IN_D2_SRAM */
+
+  /* FPU settings ------------------------------------------------------------*/
+  #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+    SCB->CPACR |= ((3UL << (10*2))|(3UL << (11*2)));  /* set CP10 and CP11 Full Access */
+  #endif
+  /* Reset the RCC clock configuration to the default reset state ------------*/
+
+   /* Increasing the CPU frequency */
+  if(FLASH_LATENCY_DEFAULT  > (READ_BIT((FLASH->ACR), FLASH_ACR_LATENCY)))
+  {
+    /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
+    MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, (uint32_t)(FLASH_LATENCY_DEFAULT));
+  }
+
+  /* Set HSION bit */
+  RCC->CR |= RCC_CR_HSION;
+
+  /* Reset CFGR register */
+  RCC->CFGR = 0x00000000;
+
+  /* Reset HSEON, HSECSSON, CSION, HSI48ON, CSIKERON, PLL1ON, PLL2ON and PLL3ON bits */
+  RCC->CR &= 0xEAF6ED7FU;
+
+   /* Decreasing the number of wait states because of lower CPU frequency */
+  if(FLASH_LATENCY_DEFAULT  < (READ_BIT((FLASH->ACR), FLASH_ACR_LATENCY)))
+  {
+    /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
+    MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, (uint32_t)(FLASH_LATENCY_DEFAULT));
+  }
+
+#if defined(D3_SRAM_BASE)
+  /* Reset D1CFGR register */
+  RCC->D1CFGR = 0x00000000;
+
+  /* Reset D2CFGR register */
+  RCC->D2CFGR = 0x00000000;
+
+  /* Reset D3CFGR register */
+  RCC->D3CFGR = 0x00000000;
+#else
+  /* Reset CDCFGR1 register */
+  RCC->CDCFGR1 = 0x00000000;
+
+  /* Reset CDCFGR2 register */
+  RCC->CDCFGR2 = 0x00000000;
+
+  /* Reset SRDCFGR register */
+  RCC->SRDCFGR = 0x00000000;
+#endif
+  /* Reset PLLCKSELR register */
+  RCC->PLLCKSELR = 0x02020200;
+
+  /* Reset PLLCFGR register */
+  RCC->PLLCFGR = 0x01FF0000;
+  /* Reset PLL1DIVR register */
+  RCC->PLL1DIVR = 0x01010280;
+  /* Reset PLL1FRACR register */
+  RCC->PLL1FRACR = 0x00000000;
+
+  /* Reset PLL2DIVR register */
+  RCC->PLL2DIVR = 0x01010280;
+
+  /* Reset PLL2FRACR register */
+
+  RCC->PLL2FRACR = 0x00000000;
+  /* Reset PLL3DIVR register */
+  RCC->PLL3DIVR = 0x01010280;
+
+  /* Reset PLL3FRACR register */
+  RCC->PLL3FRACR = 0x00000000;
+
+  /* Reset HSEBYP bit */
+  RCC->CR &= 0xFFFBFFFFU;
+
+  /* Disable all interrupts */
+  RCC->CIER = 0x00000000;
+
+#if (STM32H7_DEV_ID == 0x450UL)
+  /* dual core CM7 or single core line */
+  if((DBGMCU->IDCODE & 0xFFFF0000U) < 0x20000000U)
+  {
+    /* if stm32h7 revY*/
+    /* Change  the switch matrix read issuing capability to 1 for the AXI SRAM target (Target 7) */
+    *((__IO uint32_t*)0x51008108) = 0x000000001U;
+  }
+#endif /* STM32H7_DEV_ID */
+
+#if defined(DATA_IN_D2_SRAM)
+  /* in case of initialized data in D2 SRAM (AHB SRAM), enable the D2 SRAM clock (AHB SRAM clock) */
+#if defined(RCC_AHB2ENR_D2SRAM3EN)
+  RCC->AHB2ENR |= (RCC_AHB2ENR_D2SRAM1EN | RCC_AHB2ENR_D2SRAM2EN | RCC_AHB2ENR_D2SRAM3EN);
+#elif defined(RCC_AHB2ENR_D2SRAM2EN)
+  RCC->AHB2ENR |= (RCC_AHB2ENR_D2SRAM1EN | RCC_AHB2ENR_D2SRAM2EN);
+#else
+  RCC->AHB2ENR |= (RCC_AHB2ENR_AHBSRAM1EN | RCC_AHB2ENR_AHBSRAM2EN);
+#endif /* RCC_AHB2ENR_D2SRAM3EN */
+
+  tmpreg = RCC->AHB2ENR;
+  (void) tmpreg;
+#endif /* DATA_IN_D2_SRAM */
+
+#if defined(DUAL_CORE) && defined(CORE_CM4)
+  /* Configure the Vector Table location add offset address for cortex-M4 ------------------*/
+#if defined(USER_VECT_TAB_ADDRESS)
+  SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal D2 AXI-RAM or in Internal FLASH */
+#endif /* USER_VECT_TAB_ADDRESS */
+
+#else
+  if(READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN) == 0U)
+  {
+    /* Enable the FMC interface clock */
+    SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);
+
+    /*
+     * Disable the FMC bank1 (enabled after reset).
+     * This, prevents CPU speculation access on this bank which blocks the use of FMC during
+     * 24us. During this time the others FMC master (such as LTDC) cannot use it!
+     */
+    FMC_Bank1_R->BTCR[0] = 0x000030D2;
+
+    /* Disable the FMC interface clock */
+    CLEAR_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);
+  }
+
+  /* Configure the Vector Table location -------------------------------------*/
+#if defined(USER_VECT_TAB_ADDRESS)
+  SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal D1 AXI-RAM or in Internal FLASH */
+#endif /* USER_VECT_TAB_ADDRESS */
+
+#endif /*DUAL_CORE && CORE_CM4*/
+}
+
+/**
+  * @brief  Update SystemCoreClock variable according to Clock Register Values.
+  *         The SystemCoreClock variable contains the core clock , it can
+  *         be used by the user application to setup the SysTick timer or configure
+  *         other parameters.
+  *
+  * @note   Each time the core clock changes, this function must be called
+  *         to update SystemCoreClock variable value. Otherwise, any configuration
+  *         based on this variable will be incorrect.
+  *
+  * @note   - The system frequency computed by this function is not the real
+  *           frequency in the chip. It is calculated based on the predefined
+  *           constant and the selected clock source:
+  *
+  *           - If SYSCLK source is CSI, SystemCoreClock will contain the CSI_VALUE(*)
+  *           - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**)
+  *           - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***)
+  *           - If SYSCLK source is PLL, SystemCoreClock will contain the CSI_VALUE(*),
+  *             HSI_VALUE(**) or HSE_VALUE(***) multiplied/divided by the PLL factors.
+  *
+  *         (*) CSI_VALUE is a constant defined in stm32h7xx_hal.h file (default value
+  *             4 MHz) but the real value may vary depending on the variations
+  *             in voltage and temperature.
+  *         (**) HSI_VALUE is a constant defined in stm32h7xx_hal.h file (default value
+  *             64 MHz) but the real value may vary depending on the variations
+  *             in voltage and temperature.
+  *
+  *         (***)HSE_VALUE is a constant defined in stm32h7xx_hal.h file (default value
+  *              25 MHz), user has to ensure that HSE_VALUE is same as the real
+  *              frequency of the crystal used. Otherwise, this function may
+  *              have wrong result.
+  *
+  *         - The result of this function could be not correct when using fractional
+  *           value for HSE crystal.
+  * @param  None
+  * @retval None
+  */
+void SystemCoreClockUpdate (void)
+{
+  uint32_t pllp, pllsource, pllm, pllfracen, hsivalue, tmp;
+  uint32_t common_system_clock;
+  float_t fracn1, pllvco;
+
+
+  /* Get SYSCLK source -------------------------------------------------------*/
+
+  switch (RCC->CFGR & RCC_CFGR_SWS)
+  {
+  case RCC_CFGR_SWS_HSI:  /* HSI used as system clock source */
+    common_system_clock = (uint32_t) (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3));
+    break;
+
+  case RCC_CFGR_SWS_CSI:  /* CSI used as system clock  source */
+    common_system_clock = CSI_VALUE;
+    break;
+
+  case RCC_CFGR_SWS_HSE:  /* HSE used as system clock  source */
+    common_system_clock = HSE_VALUE;
+    break;
+
+  case RCC_CFGR_SWS_PLL1:  /* PLL1 used as system clock  source */
+
+    /* PLL_VCO = (HSE_VALUE or HSI_VALUE or CSI_VALUE/ PLLM) * PLLN
+    SYSCLK = PLL_VCO / PLLR
+    */
+    pllsource = (RCC->PLLCKSELR & RCC_PLLCKSELR_PLLSRC);
+    pllm = ((RCC->PLLCKSELR & RCC_PLLCKSELR_DIVM1)>> 4)  ;
+    pllfracen = ((RCC->PLLCFGR & RCC_PLLCFGR_PLL1FRACEN)>>RCC_PLLCFGR_PLL1FRACEN_Pos);
+    fracn1 = (float_t)(uint32_t)(pllfracen* ((RCC->PLL1FRACR & RCC_PLL1FRACR_FRACN1)>> 3));
+
+    if (pllm != 0U)
+    {
+      switch (pllsource)
+      {
+        case RCC_PLLCKSELR_PLLSRC_HSI:  /* HSI used as PLL clock source */
+
+        hsivalue = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3)) ;
+        pllvco = ( (float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
+
+        break;
+
+        case RCC_PLLCKSELR_PLLSRC_CSI:  /* CSI used as PLL clock source */
+          pllvco = ((float_t)CSI_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
+        break;
+
+        case RCC_PLLCKSELR_PLLSRC_HSE:  /* HSE used as PLL clock source */
+          pllvco = ((float_t)HSE_VALUE / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
+        break;
+
+      default:
+          hsivalue = (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3)) ;
+          pllvco = ((float_t)hsivalue / (float_t)pllm) * ((float_t)(uint32_t)(RCC->PLL1DIVR & RCC_PLL1DIVR_N1) + (fracn1/(float_t)0x2000) +(float_t)1 );
+        break;
+      }
+      pllp = (((RCC->PLL1DIVR & RCC_PLL1DIVR_P1) >>9) + 1U ) ;
+      common_system_clock =  (uint32_t)(float_t)(pllvco/(float_t)pllp);
+    }
+    else
+    {
+      common_system_clock = 0U;
+    }
+    break;
+
+  default:
+    common_system_clock = (uint32_t) (HSI_VALUE >> ((RCC->CR & RCC_CR_HSIDIV)>> 3));
+    break;
+  }
+
+  /* Compute SystemClock frequency --------------------------------------------------*/
+#if defined (RCC_D1CFGR_D1CPRE)
+  tmp = D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_D1CPRE)>> RCC_D1CFGR_D1CPRE_Pos];
+
+  /* common_system_clock frequency : CM7 CPU frequency  */
+  common_system_clock >>= tmp;
+
+  /* SystemD2Clock frequency : CM4 CPU, AXI and AHBs Clock frequency  */
+  SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->D1CFGR & RCC_D1CFGR_HPRE)>> RCC_D1CFGR_HPRE_Pos]) & 0x1FU));
+
+#else
+  tmp = D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_CDCPRE)>> RCC_CDCFGR1_CDCPRE_Pos];
+
+  /* common_system_clock frequency : CM7 CPU frequency  */
+  common_system_clock >>= tmp;
+
+  /* SystemD2Clock frequency : AXI and AHBs Clock frequency  */
+  SystemD2Clock = (common_system_clock >> ((D1CorePrescTable[(RCC->CDCFGR1 & RCC_CDCFGR1_HPRE)>> RCC_CDCFGR1_HPRE_Pos]) & 0x1FU));
+
+#endif
+
+#if defined(DUAL_CORE) && defined(CORE_CM4)
+  SystemCoreClock = SystemD2Clock;
+#else
+  SystemCoreClock = common_system_clock;
+#endif /* DUAL_CORE && CORE_CM4 */
+}
+
+/**
+  * @brief  Exit Run* mode and Configure the system Power Supply
+  *
+  * @note   This function exits the Run* mode and configures the system power supply
+  *         according to the definition to be used at compilation preprocessing level.
+  *         The application shall set one of the following configuration option:
+  *           - PWR_LDO_SUPPLY
+  *           - PWR_DIRECT_SMPS_SUPPLY
+  *           - PWR_EXTERNAL_SOURCE_SUPPLY
+  *           - PWR_SMPS_1V8_SUPPLIES_LDO
+  *           - PWR_SMPS_2V5_SUPPLIES_LDO
+  *           - PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO
+  *           - PWR_SMPS_2V5_SUPPLIES_EXT_AND_LDO
+  *           - PWR_SMPS_1V8_SUPPLIES_EXT
+  *           - PWR_SMPS_2V5_SUPPLIES_EXT
+  *
+  * @note   The function modifies the PWR->CR3 register to enable or disable specific
+  *         power supply modes and waits until the voltage level flag is set, indicating
+  *         that the power supply configuration is stable.
+  *
+  * @param  None
+  * @retval None
+  */
+void ExitRun0Mode(void)
+{
+#if defined(USE_PWR_LDO_SUPPLY)
+  #if defined(SMPS)
+    /* Exit Run* mode by disabling SMPS and enabling LDO */
+    PWR->CR3 = (PWR->CR3 & ~PWR_CR3_SMPSEN) | PWR_CR3_LDOEN;
+  #else
+    /* Enable LDO mode */
+    PWR->CR3 |= PWR_CR3_LDOEN;
+  #endif /* SMPS */
+  /* Wait till voltage level flag is set */
+  while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+  {}
+#elif defined(USE_PWR_EXTERNAL_SOURCE_SUPPLY)
+  #if defined(SMPS)
+    /* Exit Run* mode */
+    PWR->CR3 = (PWR->CR3 & ~(PWR_CR3_SMPSEN | PWR_CR3_LDOEN)) | PWR_CR3_BYPASS;
+  #else
+    PWR->CR3 = (PWR->CR3 & ~(PWR_CR3_LDOEN)) | PWR_CR3_BYPASS;
+  #endif /* SMPS */
+  /* Wait till voltage level flag is set */
+  while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+  {}
+#elif defined(USE_PWR_DIRECT_SMPS_SUPPLY) && defined(SMPS)
+  /* Exit Run* mode */
+  PWR->CR3 &= ~(PWR_CR3_LDOEN);
+  /* Wait till voltage level flag is set */
+  while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+  {}
+#elif defined(USE_PWR_SMPS_1V8_SUPPLIES_LDO) && defined(SMPS)
+  /* Exit Run* mode */
+  PWR->CR3 |= PWR_CR3_SMPSLEVEL_0 | PWR_CR3_SMPSEN | PWR_CR3_LDOEN;
+  /* Wait till voltage level flag is set */
+  while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+  {}
+#elif defined(USE_PWR_SMPS_2V5_SUPPLIES_LDO) && defined(SMPS)
+  /* Exit Run* mode */
+  PWR->CR3 |= PWR_CR3_SMPSLEVEL_1 | PWR_CR3_SMPSEN | PWR_CR3_LDOEN;
+  /* Wait till voltage level flag is set */
+  while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+  {}
+#elif defined(USE_PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO) && defined(SMPS)
+  /* Exit Run* mode */
+  PWR->CR3 |= PWR_CR3_SMPSLEVEL_0 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_LDOEN;
+  /* Wait till voltage level flag is set */
+  while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+  {}
+#elif defined(USE_PWR_SMPS_2V5_SUPPLIES_EXT_AND_LDO) && defined(SMPS)
+  /* Exit Run* mode */
+  PWR->CR3 |= PWR_CR3_SMPSLEVEL_1 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_LDOEN;
+  /* Wait till voltage level flag is set */
+  while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+  {}
+#elif defined(USE_PWR_SMPS_1V8_SUPPLIES_EXT) && defined(SMPS)
+  /* Exit Run* mode */
+  PWR->CR3 = (PWR->CR3 & ~(PWR_CR3_LDOEN)) | PWR_CR3_SMPSLEVEL_0 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_BYPASS;
+  /* Wait till voltage level flag is set */
+  while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+  {}
+#elif defined(USE_PWR_SMPS_2V5_SUPPLIES_EXT) && defined(SMPS)
+  /* Exit Run* mode */
+  PWR->CR3 = (PWR->CR3 & ~(PWR_CR3_LDOEN)) | PWR_CR3_SMPSLEVEL_1 | PWR_CR3_SMPSEXTHP | PWR_CR3_SMPSEN | PWR_CR3_BYPASS;
+  /* Wait till voltage level flag is set */
+  while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U)
+  {}
+#else
+  /* No system power supply configuration is selected at exit Run* mode */
+#endif /* USE_PWR_LDO_SUPPLY */
+}
+
+/**
+  * @}
+  */
+
+/**
+  * @}
+  */
+
+/**
+  * @}
+  */
diff --git a/Software/FT23_Charger.ioc b/Software/FT23_Charger.ioc
index 5e64769..5de4ae5 100644
--- a/Software/FT23_Charger.ioc
+++ b/Software/FT23_Charger.ioc
@@ -35,26 +35,26 @@ GPIO.groupedBy=Group By Peripherals
 I2C4.IPParameters=Timing
 I2C4.Timing=0x10909CEC
 KeepUserPlacement=false
-LTDC.ActiveH=600
-LTDC.ActiveW=1024
+LTDC.ActiveH=272
+LTDC.ActiveW=480
 LTDC.Alpha_L0=1
 LTDC.Blue_L0=100
 LTDC.FBStartAdress_L0=201326592
-LTDC.HBP=140
-LTDC.HFP=160
+LTDC.HBP=50
+LTDC.HFP=50
 LTDC.HSync=20
 LTDC.IPParameters=ActiveW,ActiveH,HFP,HBP,HSync,VSync,VBP,VFP,Layers,FBStartAdress_L0,ImageWidth_L0,ImageHeight_L0,PixelFormat_L0,Blue_L0,WindowX0_L0,WindowX1_L0,WindowY0_L0,WindowY1_L0,Alpha_L0
 LTDC.ImageHeight_L0=600
 LTDC.ImageWidth_L0=1024
 LTDC.Layers=0
-LTDC.PixelFormat_L0=LTDC_PIXEL_FORMAT_RGB888
+LTDC.PixelFormat_L0=LTDC_PIXEL_FORMAT_RGB565
 LTDC.VBP=20
 LTDC.VFP=12
 LTDC.VSync=3
 LTDC.WindowX0_L0=0
-LTDC.WindowX1_L0=1024
+LTDC.WindowX1_L0=480
 LTDC.WindowY0_L0=0
-LTDC.WindowY1_L0=600
+LTDC.WindowY1_L0=272
 MMTAppRegionsCount=0
 MMTConfigApplied=false
 Mcu.CPN=STM32H7A3ZIT6
@@ -88,95 +88,92 @@ Mcu.Pin15=PC0
 Mcu.Pin16=PC1
 Mcu.Pin17=PC2_C
 Mcu.Pin18=PC3_C
-Mcu.Pin19=PA1
+Mcu.Pin19=PA3
 Mcu.Pin2=PC14-OSC32_IN
-Mcu.Pin20=PA3
-Mcu.Pin21=PA4
-Mcu.Pin22=PA5
-Mcu.Pin23=PA6
-Mcu.Pin24=PA7
-Mcu.Pin25=PC4
-Mcu.Pin26=PB0
-Mcu.Pin27=PB1
-Mcu.Pin28=PF11
-Mcu.Pin29=PF12
+Mcu.Pin20=PA4
+Mcu.Pin21=PA5
+Mcu.Pin22=PA6
+Mcu.Pin23=PA7
+Mcu.Pin24=PC4
+Mcu.Pin25=PB0
+Mcu.Pin26=PB1
+Mcu.Pin27=PF11
+Mcu.Pin28=PF12
+Mcu.Pin29=PF13
 Mcu.Pin3=PC15-OSC32_OUT
-Mcu.Pin30=PF13
-Mcu.Pin31=PF14
-Mcu.Pin32=PF15
-Mcu.Pin33=PG0
-Mcu.Pin34=PG1
-Mcu.Pin35=PE7
-Mcu.Pin36=PE8
-Mcu.Pin37=PE9
-Mcu.Pin38=PE10
-Mcu.Pin39=PE11
+Mcu.Pin30=PF14
+Mcu.Pin31=PF15
+Mcu.Pin32=PG0
+Mcu.Pin33=PG1
+Mcu.Pin34=PE7
+Mcu.Pin35=PE8
+Mcu.Pin36=PE9
+Mcu.Pin37=PE10
+Mcu.Pin38=PE11
+Mcu.Pin39=PE12
 Mcu.Pin4=PF0
-Mcu.Pin40=PE12
-Mcu.Pin41=PE13
-Mcu.Pin42=PE14
-Mcu.Pin43=PE15
-Mcu.Pin44=PB10
-Mcu.Pin45=PB11
-Mcu.Pin46=PB12
-Mcu.Pin47=PB13
-Mcu.Pin48=PB14
-Mcu.Pin49=PB15
+Mcu.Pin40=PE13
+Mcu.Pin41=PE14
+Mcu.Pin42=PE15
+Mcu.Pin43=PB10
+Mcu.Pin44=PB11
+Mcu.Pin45=PB12
+Mcu.Pin46=PB13
+Mcu.Pin47=PB14
+Mcu.Pin48=PB15
+Mcu.Pin49=PD8
 Mcu.Pin5=PF1
-Mcu.Pin50=PD8
-Mcu.Pin51=PD9
-Mcu.Pin52=PD10
-Mcu.Pin53=PD14
-Mcu.Pin54=PD15
-Mcu.Pin55=PG2
-Mcu.Pin56=PG4
-Mcu.Pin57=PG5
-Mcu.Pin58=PG7
-Mcu.Pin59=PG8
+Mcu.Pin50=PD9
+Mcu.Pin51=PD10
+Mcu.Pin52=PD14
+Mcu.Pin53=PD15
+Mcu.Pin54=PG2
+Mcu.Pin55=PG4
+Mcu.Pin56=PG5
+Mcu.Pin57=PG7
+Mcu.Pin58=PG8
+Mcu.Pin59=PC6
 Mcu.Pin6=PF2
-Mcu.Pin60=PC6
-Mcu.Pin61=PC7
-Mcu.Pin62=PC8
-Mcu.Pin63=PC9
-Mcu.Pin64=PA8
-Mcu.Pin65=PA9
-Mcu.Pin66=PA10
-Mcu.Pin67=PA11
-Mcu.Pin68=PA12
-Mcu.Pin69=PA13
+Mcu.Pin60=PC7
+Mcu.Pin61=PC8
+Mcu.Pin62=PC9
+Mcu.Pin63=PA8
+Mcu.Pin64=PA9
+Mcu.Pin65=PA10
+Mcu.Pin66=PA11
+Mcu.Pin67=PA12
+Mcu.Pin68=PA13
+Mcu.Pin69=PA14
 Mcu.Pin7=PF3
-Mcu.Pin70=PA14
-Mcu.Pin71=PA15
-Mcu.Pin72=PC10
-Mcu.Pin73=PC11
-Mcu.Pin74=PC12
-Mcu.Pin75=PD0
-Mcu.Pin76=PD1
-Mcu.Pin77=PD2
-Mcu.Pin78=PD6
-Mcu.Pin79=PD7
+Mcu.Pin70=PA15
+Mcu.Pin71=PC10
+Mcu.Pin72=PC11
+Mcu.Pin73=PC12
+Mcu.Pin74=PD0
+Mcu.Pin75=PD1
+Mcu.Pin76=PD2
+Mcu.Pin77=PD7
+Mcu.Pin78=PG9
+Mcu.Pin79=PG11
 Mcu.Pin8=PF4
-Mcu.Pin80=PG9
-Mcu.Pin81=PG11
-Mcu.Pin82=PG12
-Mcu.Pin83=PG13
-Mcu.Pin84=PG14
-Mcu.Pin85=PG15
-Mcu.Pin86=PB3
-Mcu.Pin87=PB4
-Mcu.Pin88=PB5
-Mcu.Pin89=PB6
+Mcu.Pin80=PG12
+Mcu.Pin81=PG13
+Mcu.Pin82=PG14
+Mcu.Pin83=PG15
+Mcu.Pin84=PB3
+Mcu.Pin85=PB4
+Mcu.Pin86=PB5
+Mcu.Pin87=PB6
+Mcu.Pin88=PB7
+Mcu.Pin89=PB8
 Mcu.Pin9=PF5
-Mcu.Pin90=PB7
-Mcu.Pin91=PB8
-Mcu.Pin92=PB9
-Mcu.Pin93=PE0
-Mcu.Pin94=PE1
-Mcu.Pin95=VP_CRC_VS_CRC
-Mcu.Pin96=VP_SYS_VS_Systick
-Mcu.Pin97=VP_MEMORYMAP_VS_MEMORYMAP
-Mcu.Pin98=VP_STMicroelectronics.X-CUBE-TOUCHGFX_VS_GraphicsJjApplication_4.21.0
-Mcu.PinsNb=99
+Mcu.Pin90=PB9
+Mcu.Pin91=PE0
+Mcu.Pin92=PE1
+Mcu.Pin93=VP_CRC_VS_CRC
+Mcu.Pin94=VP_SYS_VS_Systick
+Mcu.Pin95=VP_MEMORYMAP_VS_MEMORYMAP
+Mcu.PinsNb=96
 Mcu.ThirdParty0=STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0
 Mcu.ThirdPartyNb=1
 Mcu.UserConstants=
@@ -191,7 +188,6 @@ NVIC.FDCAN_CAL_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
 NVIC.FMC_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
 NVIC.ForceEnableDMAVector=true
 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-NVIC.LTDC_ER_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
 NVIC.LTDC_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
 NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
 NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
@@ -200,9 +196,7 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
 NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
 NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:false
 NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
-PA1.Mode=RGB666
-PA1.Signal=LTDC_R2
-PA10.Mode=RGB666
+PA10.Mode=RGB565
 PA10.Signal=LTDC_B4
 PA11.Mode=Device_Only_FS
 PA11.Signal=USB_OTG_HS_DM
@@ -212,28 +206,28 @@ PA13.Mode=Trace_Asynchronous_SW
 PA13.Signal=DEBUG_JTMS-SWDIO
 PA14.Mode=Trace_Asynchronous_SW
 PA14.Signal=DEBUG_JTCK-SWCLK
-PA15.Mode=RGB666
+PA15.Mode=RGB565
 PA15.Signal=LTDC_B6
-PA3.Mode=RGB666
+PA3.Mode=RGB565
 PA3.Signal=LTDC_B5
-PA4.Mode=RGB666
+PA4.Mode=RGB565
 PA4.Signal=LTDC_VSYNC
-PA5.Mode=RGB666
+PA5.Mode=RGB565
 PA5.Signal=LTDC_R4
-PA6.Mode=RGB666
+PA6.Mode=RGB565
 PA6.Signal=LTDC_G2
 PA7.Signal=FMC_SDNWE
-PA8.Mode=RGB666
+PA8.Mode=RGB565
 PA8.Signal=LTDC_B3
 PA9.Mode=Activate_VBUS_FS
 PA9.Signal=USB_OTG_HS_VBUS
-PB0.Mode=RGB666
+PB0.Mode=RGB565
 PB0.Signal=LTDC_R3
-PB1.Mode=RGB666
+PB1.Mode=RGB565
 PB1.Signal=LTDC_R6
-PB10.Mode=RGB666
+PB10.Mode=RGB565
 PB10.Signal=LTDC_G4
-PB11.Mode=RGB666
+PB11.Mode=RGB565
 PB11.Signal=LTDC_G5
 PB12.Mode=Asynchronous
 PB12.Signal=UART5_RX
@@ -241,7 +235,7 @@ PB13.Mode=Asynchronous
 PB13.Signal=UART5_TX
 PB14.Mode=SD_1_bit
 PB14.Signal=SDMMC2_D0
-PB15.Mode=RGB666
+PB15.Mode=RGB565
 PB15.Signal=LTDC_G7
 PB3.Mode=Trace_Asynchronous_SW
 PB3.Signal=DEBUG_JTDO-SWO
@@ -267,7 +261,7 @@ PB8.Mode=FDCAN_Activate
 PB8.Signal=FDCAN1_RX
 PB9.Mode=FDCAN_Activate
 PB9.Signal=FDCAN1_TX
-PC0.Mode=RGB666
+PC0.Mode=RGB565
 PC0.Signal=LTDC_R5
 PC1.Mode=SD_1_bit
 PC1.Signal=SDMMC2_CK
@@ -291,27 +285,25 @@ PC2_C.Mode=SdramChipSelect1_1
 PC2_C.Signal=FMC_SDNE0
 PC3_C.Mode=SdramChipSelect1_1
 PC3_C.Signal=FMC_SDCKE0
-PC4.Mode=RGB666
+PC4.Mode=RGB565
 PC4.Signal=LTDC_R7
-PC6.Mode=RGB666
+PC6.Mode=RGB565
 PC6.Signal=LTDC_HSYNC
-PC7.Mode=RGB666
+PC7.Mode=RGB565
 PC7.Signal=LTDC_G6
 PC8.GPIOParameters=GPIO_Label
 PC8.GPIO_Label=Display_Reset
 PC8.Locked=true
 PC8.Signal=GPIO_Output
-PC9.Mode=RGB666
+PC9.Mode=RGB565
 PC9.Signal=LTDC_G3
 PD0.Signal=FMC_D2_DA2
 PD1.Signal=FMC_D3_DA3
 PD10.Signal=FMC_D15_DA15
 PD14.Signal=FMC_D0_DA0
 PD15.Signal=FMC_D1_DA1
-PD2.Mode=RGB666
+PD2.Mode=RGB565
 PD2.Signal=LTDC_B7
-PD6.Mode=RGB666
-PD6.Signal=LTDC_B2
 PD7.Mode=SD_1_bit
 PD7.Signal=SDMMC2_CMD
 PD8.Signal=FMC_D13_DA13
@@ -335,7 +327,7 @@ PE8.Signal=FMC_D5_DA5
 PE9.Signal=FMC_D6_DA6
 PF0.Signal=FMC_A0
 PF1.Signal=FMC_A1
-PF10.Mode=RGB666
+PF10.Mode=RGB565
 PF10.Signal=LTDC_DE
 PF11.Signal=FMC_SDNRAS
 PF12.Signal=FMC_A6
@@ -376,7 +368,7 @@ PG15.Signal=FMC_SDNCAS
 PG2.Signal=FMC_A12
 PG4.Signal=FMC_A14_BA0
 PG5.Signal=FMC_A15_BA1
-PG7.Mode=RGB666
+PG7.Mode=RGB565
 PG7.Signal=LTDC_CLK
 PG8.Signal=FMC_SDCLK
 PG9.GPIOParameters=GPIO_Label
@@ -413,11 +405,11 @@ ProjectManager.ProjectName=FT23_Charger
 ProjectManager.ProjectStructure=
 ProjectManager.RegisterCallBack=
 ProjectManager.StackSize=0x400
-ProjectManager.TargetToolchain=STM32CubeIDE
+ProjectManager.TargetToolchain=Makefile
 ProjectManager.ToolChainLocation=
 ProjectManager.UAScriptAfterPath=
 ProjectManager.UAScriptBeforePath=
-ProjectManager.UnderRoot=true
+ProjectManager.UnderRoot=false
 ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_FDCAN1_Init-FDCAN1-false-HAL-true,4-MX_FMC_Init-FMC-false-HAL-true,5-MX_I2C4_Init-I2C4-false-HAL-true,6-MX_SDMMC2_SD_Init-SDMMC2-false-HAL-true,7-MX_USART10_UART_Init-USART10-false-HAL-true,8-MX_USB_OTG_HS_PCD_Init-USB_OTG_HS-false-HAL-true,9-MX_UART5_Init-UART5-false-HAL-true,10-MX_LTDC_Init-LTDC-false-HAL-true,11-MX_CRC_Init-CRC-false-HAL-true,13-MX_TouchGFX_Init-STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0-false-HAL-false,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true,14-MX_TouchGFX_Process-STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0-false-HAL-false
 RCC.ADCCLockSelection=RCC_ADCCLKSOURCE_PLL2
 RCC.ADCFreq_Value=160000000
@@ -625,9 +617,8 @@ SH.FMC_SDNRAS.0=FMC_SDNRAS,13b-sda1
 SH.FMC_SDNRAS.ConfNb=1
 SH.FMC_SDNWE.0=FMC_SDNWE,13b-sda1
 SH.FMC_SDNWE.ConfNb=1
-STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0.ApplicationCcGraphicsJjApplication=TouchGFXOoGenerator
-STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0.GraphicsJjApplication_Checked=true
-STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0.IPParameters=ApplicationCcGraphicsJjApplication,tgfx_display_interface,tgfx_vsync
+STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0.GraphicsJjApplication_Checked=false
+STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0.IPParameters=tgfx_display_interface,tgfx_vsync
 STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0.tgfx_display_interface=disp_ltdc
 STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0.tgfx_vsync=vsync_ltdc
 STMicroelectronics.X-CUBE-TOUCHGFX.4.21.0_IsPackSelfContextualization=true
@@ -640,8 +631,6 @@ VP_CRC_VS_CRC.Mode=CRC_Activate
 VP_CRC_VS_CRC.Signal=CRC_VS_CRC
 VP_MEMORYMAP_VS_MEMORYMAP.Mode=CurAppReg
 VP_MEMORYMAP_VS_MEMORYMAP.Signal=MEMORYMAP_VS_MEMORYMAP
-VP_STMicroelectronics.X-CUBE-TOUCHGFX_VS_GraphicsJjApplication_4.21.0.Mode=GraphicsJjApplication
-VP_STMicroelectronics.X-CUBE-TOUCHGFX_VS_GraphicsJjApplication_4.21.0.Signal=STMicroelectronics.X-CUBE-TOUCHGFX_VS_GraphicsJjApplication_4.21.0
 VP_SYS_VS_Systick.Mode=SysTick
 VP_SYS_VS_Systick.Signal=SYS_VS_Systick
 board=custom
diff --git a/Software/FT23_Charger.launch b/Software/FT23_Charger.launch
deleted file mode 100644
index edb5e91..0000000
--- a/Software/FT23_Charger.launch
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="com.st.stm32cube.ide.mcu.debug.launch.launchConfigurationType">
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.access_port_id" value="0"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.cubeprog_external_loaders" value="[]"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.enable_live_expr" value="true"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.enable_swv" value="false"/>
-    <intAttribute key="com.st.stm32cube.ide.mcu.debug.launch.formatVersion" value="2"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.ip_address_local" value="localhost"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.limit_swo_clock.enabled" value="false"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.limit_swo_clock.value" value=""/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.loadList" value="{&quot;fItems&quot;:[{&quot;fIsFromMainTab&quot;:true,&quot;fPath&quot;:&quot;Debug/FT23_Charger.elf&quot;,&quot;fProjectName&quot;:&quot;FT23_Charger&quot;,&quot;fPerformBuild&quot;:true,&quot;fDownload&quot;:true,&quot;fLoadSymbols&quot;:true}]}"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.override_start_address_mode" value="default"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.remoteCommand" value="target remote"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startServer" value="true"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.exception.divby0" value="true"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.exception.unaligned" value="false"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.haltonexception" value="true"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swd_mode" value="true"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_port" value="61235"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_trace_hclk" value="16000000"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.useRemoteTarget" value="true"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.vector_table" value=""/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.verify_flash_download" value="true"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.cti_allow_halt" value="false"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.cti_signal_halt" value="false"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_logging" value="false"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_max_halt_delay" value="false"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_shared_stlink" value="false"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.frequency" value="140"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.halt_all_on_reset" value="false"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.log_file" value="C:\Users\max\STM32CubeIDE\workspace_1.4.0\FT23_Charger\Debug\st-link_gdbserver_log.txt"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.low_power_debug" value="enable"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.max_halt_delay" value="2"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.reset_strategy" value="connect_under_reset"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_check_serial_number" value="false"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_txt_serial_number" value=""/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.watchdog_config" value="none"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlinkenable_rtos" value="false"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlinkrestart_configurations" value="{&quot;fVersion&quot;:1,&quot;fItems&quot;:[{&quot;fDisplayName&quot;:&quot;Reset&quot;,&quot;fIsSuppressible&quot;:false,&quot;fResetAttribute&quot;:&quot;Software system reset&quot;,&quot;fResetStrategies&quot;:[{&quot;fDisplayName&quot;:&quot;Software system reset&quot;,&quot;fLaunchAttribute&quot;:&quot;system_reset&quot;,&quot;fGdbCommands&quot;:[&quot;monitor reset\n&quot;],&quot;fCmdOptions&quot;:[&quot;-g&quot;]},{&quot;fDisplayName&quot;:&quot;Hardware reset&quot;,&quot;fLaunchAttribute&quot;:&quot;hardware_reset&quot;,&quot;fGdbCommands&quot;:[&quot;monitor reset hardware\n&quot;],&quot;fCmdOptions&quot;:[&quot;-g&quot;]},{&quot;fDisplayName&quot;:&quot;Core reset&quot;,&quot;fLaunchAttribute&quot;:&quot;core_reset&quot;,&quot;fGdbCommands&quot;:[&quot;monitor reset core\n&quot;],&quot;fCmdOptions&quot;:[&quot;-g&quot;]},{&quot;fDisplayName&quot;:&quot;None&quot;,&quot;fLaunchAttribute&quot;:&quot;no_reset&quot;,&quot;fGdbCommands&quot;:[],&quot;fCmdOptions&quot;:[&quot;-g&quot;]}],&quot;fGdbCommandGroup&quot;:{&quot;name&quot;:&quot;Additional commands&quot;,&quot;commands&quot;:[]},&quot;fStartApplication&quot;:true}]}"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.enableRtosProxy" value="false"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyCustomProperties" value=""/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyDriver" value="threadx"/>
-    <booleanAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyDriverAuto" value="false"/>
-    <stringAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyDriverPort" value="cortex_m0"/>
-    <intAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyPort" value="60000"/>
-    <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
-    <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
-    <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>
-    <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
-    <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDeviceId" value="com.st.stm32cube.ide.mcu.debug.stlink"/>
-    <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
-    <intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="61234"/>
-    <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
-    <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
-    <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
-    <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
-    <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
-    <stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-    <booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
-    <booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
-    <intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
-    <stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
-    <stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="remote"/>
-    <booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
-    <stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
-    <stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug/FT23_Charger.elf"/>
-    <stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="FT23_Charger"/>
-    <booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
-    <stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1019471104"/>
-    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-        <listEntry value="/FT23_Charger"/>
-    </listAttribute>
-    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-        <listEntry value="4"/>
-    </listAttribute>
-    <stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;"/>
-    <stringAttribute key="process_factory_id" value="com.st.stm32cube.ide.mcu.debug.launch.HardwareDebugProcessFactory"/>
-</launchConfiguration>
diff --git a/Software/Makefile b/Software/Makefile
new file mode 100644
index 0000000..619e4c9
--- /dev/null
+++ b/Software/Makefile
@@ -0,0 +1,222 @@
+##########################################################################################################################
+# File automatically-generated by tool: [projectgenerator] version: [4.5.0-RC5] date: [Mon Mar 31 16:30:20 CEST 2025]
+##########################################################################################################################
+
+# ------------------------------------------------
+# Generic Makefile (based on gcc)
+#
+# ChangeLog :
+#	2017-02-10 - Several enhancements + project update mode
+#   2015-07-22 - first version
+# ------------------------------------------------
+
+######################################
+# target
+######################################
+TARGET = FT23_Charger
+
+
+######################################
+# building variables
+######################################
+# debug build?
+DEBUG = 1
+# optimization
+OPT = -Og
+
+
+#######################################
+# paths
+#######################################
+# Build path
+BUILD_DIR = build
+
+######################################
+# source
+######################################
+# C sources
+C_SOURCES =  \
+Core/Src/main.c \
+Core/Src/stm32h7xx_it.c \
+Core/Src/stm32h7xx_hal_msp.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_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.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_fdcan.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_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/Src/stm32h7xx_hal_pcd.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c \
+Core/Src/system_stm32h7xx.c \
+Core/Src/sysmem.c \
+Core/Src/syscalls.c  
+
+# ASM sources
+ASM_SOURCES =  \
+startup_stm32h7a3xx.s
+
+# ASM sources
+ASMM_SOURCES = 
+
+
+#######################################
+# binaries
+#######################################
+PREFIX = arm-none-eabi-
+# The gcc compiler bin path can be either defined in make command via GCC_PATH variable (> make GCC_PATH=xxx)
+# either it can be added to the PATH environment variable.
+ifdef GCC_PATH
+CC = $(GCC_PATH)/$(PREFIX)gcc
+AS = $(GCC_PATH)/$(PREFIX)gcc -x assembler-with-cpp
+CP = $(GCC_PATH)/$(PREFIX)objcopy
+SZ = $(GCC_PATH)/$(PREFIX)size
+else
+CC = $(PREFIX)gcc
+AS = $(PREFIX)gcc -x assembler-with-cpp
+CP = $(PREFIX)objcopy
+SZ = $(PREFIX)size
+endif
+HEX = $(CP) -O ihex
+BIN = $(CP) -O binary -S
+ 
+#######################################
+# CFLAGS
+#######################################
+# cpu
+CPU = -mcpu=cortex-m7
+
+# fpu
+FPU = -mfpu=fpv5-d16
+
+# float-abi
+FLOAT-ABI = -mfloat-abi=hard
+
+# mcu
+MCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)
+
+# macros for gcc
+# AS defines
+AS_DEFS = 
+
+# C defines
+C_DEFS =  \
+-DUSE_PWR_LDO_SUPPLY \
+-DUSE_HAL_DRIVER \
+-DSTM32H7A3xx
+
+
+# AS includes
+AS_INCLUDES = 
+
+# C includes
+C_INCLUDES =  \
+-ICore/Inc \
+-IDrivers/STM32H7xx_HAL_Driver/Inc \
+-IDrivers/STM32H7xx_HAL_Driver/Inc/Legacy \
+-IDrivers/CMSIS/Device/ST/STM32H7xx/Include \
+-IDrivers/CMSIS/Include
+
+
+# compile gcc flags
+ASFLAGS = $(MCU) $(AS_DEFS) $(AS_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections
+
+CFLAGS += $(MCU) $(C_DEFS) $(C_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections
+
+ifeq ($(DEBUG), 1)
+CFLAGS += -g -gdwarf-2
+endif
+
+
+# Generate dependency information
+CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
+
+
+#######################################
+# LDFLAGS
+#######################################
+# link script
+LDSCRIPT = stm32h7a3zitx_flash.ld
+
+# libraries
+LIBS = -lc -lm -lnosys 
+LIBDIR = 
+LDFLAGS = $(MCU) -specs=nano.specs -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections
+
+# default action: build all
+all: $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin
+
+
+#######################################
+# build the application
+#######################################
+# list of objects
+OBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c=.o)))
+vpath %.c $(sort $(dir $(C_SOURCES)))
+# list of ASM program objects
+OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(ASM_SOURCES:.s=.o)))
+vpath %.s $(sort $(dir $(ASM_SOURCES)))
+OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(ASMM_SOURCES:.S=.o)))
+vpath %.S $(sort $(dir $(ASMM_SOURCES)))
+
+$(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR) 
+	$(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@
+
+$(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR)
+	$(AS) -c $(CFLAGS) $< -o $@
+$(BUILD_DIR)/%.o: %.S Makefile | $(BUILD_DIR)
+	$(AS) -c $(CFLAGS) $< -o $@
+
+$(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) Makefile
+	$(CC) $(OBJECTS) $(LDFLAGS) -o $@
+	$(SZ) $@
+
+$(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
+	$(HEX) $< $@
+	
+$(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
+	$(BIN) $< $@	
+	
+$(BUILD_DIR):
+	mkdir $@		
+
+#######################################
+# clean up
+#######################################
+clean:
+	-rm -fR $(BUILD_DIR)
+  
+#######################################
+# dependencies
+#######################################
+-include $(wildcard $(BUILD_DIR)/*.d)
+
+# *** EOF ***
\ No newline at end of file
diff --git a/Software/STM32-for-VSCode.config.yaml b/Software/STM32-for-VSCode.config.yaml
new file mode 100644
index 0000000..a1b9558
--- /dev/null
+++ b/Software/STM32-for-VSCode.config.yaml
@@ -0,0 +1,112 @@
+# Configuration file for the STM32 for VSCode extension
+# Arrays can be inputted in two ways. One is: [entry_1, entry_2, ..., entry_final]
+# or by adding an indented list below the variable name e.g.:
+# VARIABLE:
+# - entry_1
+# - entry_2
+
+# The project name
+target: FT23_Charger
+# Can be C or C++
+language: C
+
+optimization: Og
+
+# MCU settings
+targetMCU: stm32h7x
+cpu: cortex-m7 # type of cpu e.g. cortex-m4
+fpu: fpv5-d16 # Defines how floating points are defined. Can be left empty.
+floatAbi: -mfloat-abi=hard
+ldscript: stm32h7a3zitx_flash.ld # linker script
+
+# Compiler definitions. The -D prefix for the compiler will be automatically added.
+cDefinitions: []
+cxxDefinitions: []
+asDefinitions: []
+
+# Compiler definition files. you can add a single files or an array of files for different definitions.
+# The file is expected to have a definition each new line.
+# This allows to include for example a .definition file which can be ignored in git and can contain
+# This can be convenient for passing along secrets at compile time, or generating a file for per device setup.
+cDefinitionsFile:
+cxxDefinitionsFile:
+asDefinitionsFile:
+
+# Compiler flags
+cFlags: 
+  - -Wall
+  - -fdata-sections
+  - -ffunction-sections
+
+cxxFlags: 
+  - -fno-rtti
+  - -fno-exceptions
+
+assemblyFlags: 
+  - -Wall
+  - -fdata-sections
+  - -ffunction-sections
+
+linkerFlags: 
+  - -Wl,--print-memory-usage
+
+
+# libraries to be included. The -l prefix to the library will be automatically added.
+libraries: 
+  - c
+  - m
+
+# Library directories. Folders can be added here that contain custom libraries.
+libraryDirectories: []
+
+# Files or folders that will be excluded from compilation.
+# Glob patterns (https://www.wikiwand.com/en/Glob_(programming)) can be used.
+# Do mind that double stars are reserved in yaml
+# these should be escaped with a: \ or the name should be in double quotes e.g. "**.test.**"
+excludes: 
+  - "**/Examples/**"
+  - "**/examples/**"
+  - "**/Example/**"
+  - "**/example/**"
+  - "**_template.*"
+
+
+# Include directories (directories containing .h or .hpp files)
+# If a CubeMX makefile is present it will automatically include the include directories from that makefile.
+includeDirectories: 
+  - Inc/**
+  - Core/Inc/**
+  - Core/Lib/**
+  - Src/**
+  - Core/Src/**
+  - Core/Lib/**
+
+
+# Files that should be included in the compilation.
+# If a CubeMX makefile is present it will automatically include the  c and cpp/cxx files from that makefile.
+# Glob patterns (https://www.wikiwand.com/en/Glob_(programming)) can be used.
+# Do mind that double stars are reserved in yaml
+# these should be escaped with a: \ or the name should be in double quotes e.g. "HARDWARE_DRIVER*.c"
+sourceFiles:  
+  - Src/**
+  - Core/Src/**
+  - Core/Lib/**
+
+
+# When no makefile is present it will show a warning pop-up.
+# However when compilation without the CubeMX Makefile is desired, this can be turned of.
+suppressMakefileWarning: false
+
+# Custom makefile rules
+# Here custom makefile rules can be added to the STM32Make.make file
+# an example of how this can be used is commented out below.
+customMakefileRules:
+# - command: sayhello
+#   rule: echo "hello"
+#   dependsOn: $(BUILD_DIR)/$(TARGET).elf # can be left out    
+
+# Additional flags which will be used when invoking the make command
+makeFlags:
+# - -O  # use this option when the output of make is mixed up only works for make version 4.0 and upwards
+# - --silent # use this option to silence the output of the build
+    
\ No newline at end of file
diff --git a/Software/STM32H7A3ZITX_RAM.ld b/Software/STM32H7A3ZITX_RAM.ld
deleted file mode 100644
index 4dbe035..0000000
--- a/Software/STM32H7A3ZITX_RAM.ld
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
-******************************************************************************
-**
-**  File        : LinkerScript.ld
-**
-**  Author      : STM32CubeIDE
-**
-**  Abstract    : Linker script for STM32H7 series
-**                1024Kbytes RAM_EXEC and 128Kbytes RAM
-**
-**                Set heap size, stack size and stack location according
-**                to application requirements.
-**
-**                Set memory bank area and size if external memory is used.
-**
-**  Target      : STMicroelectronics STM32
-**
-**  Distribution: The file is distributed as is, without any warranty
-**                of any kind.
-**
-*****************************************************************************
-** @attention
-**
-** Copyright (c) 2020 STMicroelectronics.
-** All rights reserved.
-**
-** This software component is licensed by ST under BSD 3-Clause license,
-** the "License"; You may not use this file except in compliance with the
-** License. You may obtain a copy of the License at:
-**                        opensource.org/licenses/BSD-3-Clause
-**
-****************************************************************************
-*/
-
-/* Entry Point */
-ENTRY(Reset_Handler)
-
-/* Highest address of the user mode stack */
-_estack = 0x20020000;    /* end of RAM */
-/* Generate a link error if heap and stack don't fit into RAM */
-_Min_Heap_Size = 0x200 ;      /* required amount of heap  */
-_Min_Stack_Size = 0x400 ; /* required amount of stack */
-
-/* Specify the memory areas */
-MEMORY
-{
-  RAM_EXEC (xrw)  : ORIGIN = 0x24000000, LENGTH = 1024K
-  RAM  (xrw)      : ORIGIN = 0x20000000, LENGTH = 128K
-  AHB_SRAM (xrw)  : ORIGIN = 0x30000000, LENGTH = 128K
-}
-
-/* Define output sections */
-SECTIONS
-{
-  /* The startup code goes first into RAM_EXEC */
-  .isr_vector :
-  {
-    . = ALIGN(4);
-    KEEP(*(.isr_vector)) /* Startup code */
-    . = ALIGN(4);
-  } >RAM_EXEC
-
-  /* The program code and other data goes into RAM_EXEC */
-  .text :
-  {
-    . = ALIGN(4);
-    *(.text)           /* .text sections (code) */
-    *(.text*)          /* .text* sections (code) */
-    *(.glue_7)         /* glue arm to thumb code */
-    *(.glue_7t)        /* glue thumb to arm code */
-    *(.eh_frame)
-    *(.RamFunc)        /* .RamFunc sections */
-    *(.RamFunc*)       /* .RamFunc* sections */
-
-    KEEP (*(.init))
-    KEEP (*(.fini))
-
-    . = ALIGN(4);
-    _etext = .;        /* define a global symbols at end of code */
-  } >RAM_EXEC
-
-  /* Constant data goes into RAM_EXEC */
-  .rodata :
-  {
-    . = ALIGN(4);
-    *(.rodata)         /* .rodata sections (constants, strings, etc.) */
-    *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */
-    . = ALIGN(4);
-  } >RAM_EXEC
-
-  .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >RAM_EXEC
-  .ARM : {
-    __exidx_start = .;
-    *(.ARM.exidx*)
-    __exidx_end = .;
-  } >RAM_EXEC
-
-  .preinit_array     :
-  {
-    PROVIDE_HIDDEN (__preinit_array_start = .);
-    KEEP (*(.preinit_array*))
-    PROVIDE_HIDDEN (__preinit_array_end = .);
-  } >RAM_EXEC
-  .init_array :
-  {
-    PROVIDE_HIDDEN (__init_array_start = .);
-    KEEP (*(SORT(.init_array.*)))
-    KEEP (*(.init_array*))
-    PROVIDE_HIDDEN (__init_array_end = .);
-  } >RAM_EXEC
-  .fini_array :
-  {
-    PROVIDE_HIDDEN (__fini_array_start = .);
-    KEEP (*(SORT(.fini_array.*)))
-    KEEP (*(.fini_array*))
-    PROVIDE_HIDDEN (__fini_array_end = .);
-  } >RAM_EXEC
-
-  /* used by the startup to initialize data */
-  _sidata = LOADADDR(.data);
-
-  /* Initialized data sections goes into RAM, load LMA copy after code */
-  .data :
-  {
-    . = ALIGN(4);
-    _sdata = .;        /* create a global symbol at data start */
-    *(.data)           /* .data sections */
-    *(.data*)          /* .data* sections */
-
-    . = ALIGN(4);
-    _edata = .;        /* define a global symbol at data end */
-  } >RAM AT> RAM_EXEC
-
-  .customdata:
-  {
-     . = ALIGN(4);
-    _scustomdata = .;        /* create a global symbol at data start */
-    *(.customdata)           /* .data sections */
-    *(.customdata*)          /* .data* sections */
-
-    . = ALIGN(4);
-    _ecustomdata = .;        /* define a global symbol at data end */
-  } > AHB_SRAM
-  /* Uninitialized data section */
-  . = ALIGN(4);
-  .bss :
-  {
-    /* This is used by the startup in order to initialize the .bss secion */
-    _sbss = .;         /* define a global symbol at bss start */
-    __bss_start__ = _sbss;
-    *(.bss)
-    *(.bss*)
-    *(COMMON)
-
-    . = ALIGN(4);
-    _ebss = .;         /* define a global symbol at bss end */
-    __bss_end__ = _ebss;
-  } >RAM
-
-  /* User_heap_stack section, used to check that there is enough RAM left */
-  ._user_heap_stack :
-  {
-    . = ALIGN(8);
-    PROVIDE ( end = . );
-    PROVIDE ( _end = . );
-    . = . + _Min_Heap_Size;
-    . = . + _Min_Stack_Size;
-    . = ALIGN(8);
-  } >RAM
-	
-	
-  /* Remove information from the standard libraries */
-  /DISCARD/ :
-  {
-    libc.a ( * )
-    libm.a ( * )
-    libgcc.a ( * )
-  }
-
-  .ARM.attributes 0 : { *(.ARM.attributes) }
-}
diff --git a/Software/STM32Make.make b/Software/STM32Make.make
new file mode 100644
index 0000000..c4a42f1
--- /dev/null
+++ b/Software/STM32Make.make
@@ -0,0 +1,375 @@
+##########################################################################################################################
+# File automatically-generated by STM32forVSCode
+##########################################################################################################################
+
+# ------------------------------------------------
+# Generic Makefile (based on gcc)
+#
+# ChangeLog :
+#   2024-04-27 - Added env file inclusion. 
+#                Added way to overide: build directory, target name and optimisation.
+#                Added GCC_PATH by env file to not make the makefile machine dependent.
+#                Currently folder structure in build directory is preserved
+#                Switching of debug/release build output folder now happens based on debug flag
+#   2017-02-10 - Several enhancements + project update mode
+#   2015-07-22 - first version
+# ------------------------------------------------
+
+######################################
+# Environment Variables
+######################################
+# Imports the environment file in which the compiler and other tooling is set
+# for the build machine.
+# This can also be used to overwrite some makefile variables
+file_exists = $(or $(and $(wildcard $(1)),1),0)
+ifeq ($(call file_exists,.stm32env),1)
+  include .stm32env
+endif
+
+######################################
+# Target
+######################################
+# This is the name of the embedded target which will be build
+# The final file name will also have debug or release appended to it.
+TARGET ?= FT23_Charger
+
+#######################################
+# Build directories
+#######################################
+# Build path can be overwritten when calling make or setting the environment variable
+# in .stm32env
+
+BUILD_DIRECTORY ?= build
+
+
+######################################
+# Optimization
+######################################
+# Optimization is switched based upon the DEBUG variable. If set to 1
+# it will be build in debug mode with the Og optimization flag (optimized for debugging).
+# If set to 0 (false) then by default the variable is used in the configuration yaml
+# This can also be overwritten using the environment variable or by overwriting it
+# by calling make with the OPTIMIZATION variable e.g.:
+# make -f STM32Make.make -j 16  OPTIMIZATION=Os
+
+# variable which determines if it is a debug build
+DEBUG ?= 1
+
+# debug flags when debug is defined
+OPTIMIZATION ?= -Og
+
+RELEASE_DIRECTORY = $(BUILD_DIRECTORY)/debug
+ifeq ($(DEBUG),1)
+  # Sets debugging optimization -Og and the debug information output
+  OPTIMIZATION_FLAGS += -Og -g -gdwarf -ggdb
+  $(TARGET) := $(TARGET)-debug
+  RELEASE_DIRECTORY := $(BUILD_DIRECTORY)/debug
+else
+  OPTIMIZATION_FLAGS += $(OPTIMIZATION)
+  $(TARGET) := $(TARGET)-release
+  RELEASE_DIRECTORY := $(BUILD_DIRECTORY)/release
+endif
+
+######################################
+# source
+######################################
+# C sources
+C_SOURCES =  \
+Core/Src/main.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 \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.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_fdcan.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_ltdc.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.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_sd.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c \
+Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c
+
+
+CXX_SOURCES = \
+
+
+# ASM sources
+ASM_SOURCES =  \
+startup_stm32h7a3xx.s
+
+
+#######################################
+# Tools
+#######################################
+ARM_PREFIX = arm-none-eabi-
+POSTFIX = "
+PREFIX = "
+# The gcc compiler bin path can be defined in the make command via ARM_GCC_PATH variable (e.g.: make ARM_GCC_PATH=xxx)
+# or it can be added to the PATH environment variable.
+# By default the variable be used from the environment file: .stm32env.
+# if it is not defined
+
+ifdef ARM_GCC_PATH
+    CC = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)gcc$(POSTFIX)
+    CXX = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)g++$(POSTFIX)
+    AS = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)gcc$(POSTFIX) -x assembler-with-cpp
+    CP = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)objcopy$(POSTFIX)
+    SZ = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)size$(POSTFIX)
+    DP = $(PREFIX)$(ARM_GCC_PATH)/$(ARM_PREFIX)objdump$(POSTFIX)
+else
+  CC ?= $(ARM_PREFIX)gcc
+  CXX ?= $(ARM_PREFIX)g++$
+  AS ?= $(ARM_PREFIX)gcc -x assembler-with-cpp
+  CP ?= $(ARM_PREFIX)objcopy
+  SZ ?= $(ARM_PREFIX)size
+  DP ?= $(ARM_PREFIX)objdump
+endif
+
+HEX = $(CP) -O ihex
+BIN = $(CP) -O binary -S
+LSS = $(DP) -h -S
+
+
+REMOVE_DIRECTORY_COMMAND = rm -fR
+mkdir_function = mkdir -p $(1)
+ifeq ($(OS),Windows_NT)
+  convert_to_windows_path = $(strip $(subst /,\,$(patsubst %/,%,$(1))))
+  REMOVE_DIRECTORY_COMMAND = cmd /c rd /s /q
+  mkdir_function = cmd /e:on /c if not exist $(call convert_to_windows_path,$(1)) md $(call convert_to_windows_path,$(1))
+endif
+
+
+# Flash and debug tools
+# Default is openocd however will be gotten from the env file when existing
+OPENOCD ?= openocd
+
+
+#######################################
+# CFLAGS
+#######################################
+# cpu
+CPU = -mcpu=cortex-m7
+
+# fpu
+FPU = -mfpu=fpv5-d16
+
+# float-abi
+FLOAT-ABI = -mfloat-abi=hard
+
+# mcu
+MCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)
+
+# macros for gcc
+# AS defines
+AS_DEFS = 
+
+# C defines
+C_DEFS =  \
+-DSTM32H7A3xx \
+-DUSE_HAL_DRIVER \
+-DUSE_PWR_LDO_SUPPLY
+
+
+# CXX defines
+CXX_DEFS =  \
+-DSTM32H7A3xx \
+-DUSE_HAL_DRIVER \
+-DUSE_PWR_LDO_SUPPLY
+
+
+# AS includes
+AS_INCLUDES = \
+
+# C includes
+C_INCLUDES =  \
+-ICore/Inc \
+-IDrivers/CMSIS/Device/ST/STM32H7xx/Include \
+-IDrivers/CMSIS/Include \
+-IDrivers/STM32H7xx_HAL_Driver/Inc \
+-IDrivers/STM32H7xx_HAL_Driver/Inc/Legacy
+
+
+
+# compile gcc flags
+ASFLAGS = $(MCU) $(AS_DEFS) $(AS_INCLUDES) $(C_INCLUDES) $(C_DEFS) $(OPTIMIZATION_FLAGS) 
+
+CFLAGS = $(MCU) $(C_DEFS) $(C_INCLUDES) $(OPTIMIZATION_FLAGS)
+
+CXXFLAGS = $(MCU) $(CXX_DEFS) $(C_INCLUDES) $(OPTIMIZATION_FLAGS)
+
+# Add additional flags
+CFLAGS += -Wall -fdata-sections -ffunction-sections 
+ASFLAGS += -Wall -fdata-sections -ffunction-sections 
+CXXFLAGS += -fno-exceptions -fno-rtti 
+
+# Generate dependency information
+CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
+CXXFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
+
+# Output a list file for the compiled source file.
+# This is a representative of the source code in assembly
+ASSEMBLER_LIST_OUTPUT_FLAG = -Wa,-a,-ad,-alms=$(call add_release_directory,$<,lst)
+CFLAGS += $(ASSEMBLER_LIST_OUTPUT_FLAG)
+CXXFLAGS += $(ASSEMBLER_LIST_OUTPUT_FLAG)
+
+#######################################
+# LDFLAGS
+#######################################
+# link script
+LDSCRIPT = stm32h7a3zitx_flash.ld
+
+# libraries
+LIBS = -lc -lm -lnosys 
+LIBDIR = \
+
+
+# Additional LD Flags from config file
+ADDITIONALLDFLAGS = -Wl,--print-memory-usage -specs=nano.specs 
+
+LDFLAGS = $(MCU) $(ADDITIONALLDFLAGS) -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIRECTORY)/$(TARGET).map,--cref -Wl,--gc-sections
+
+#######################################
+# build the application
+#######################################
+add_release_directory = $(sort $(addprefix $(RELEASE_DIRECTORY)/,$(addsuffix .$(2),$(basename $(notdir $(1))))))
+
+
+
+OBJECTS = $(call add_release_directory,$(C_SOURCES),o)
+OBJECTS += $(call add_release_directory,$(CXX_SOURCES),o)
+OBJECTS += $(call add_release_directory,$(ASM_SOURCES),o)
+vpath %.c $(sort $(dir $(C_SOURCES)))
+vpath %.cc $(sort $(dir $(CXX_SOURCES)))
+vpath %.cp $(sort $(dir $(CXX_SOURCES)))
+vpath %.cxx $(sort $(dir $(CXX_SOURCES)))
+vpath %.cpp $(sort $(dir $(CXX_SOURCES)))
+vpath %.c++ $(sort $(dir $(CXX_SOURCES)))
+vpath %.C $(sort $(dir $(CXX_SOURCES)))
+vpath %.CPP $(sort $(dir $(CXX_SOURCES)))
+vpath %.s $(sort $(dir $(ASM_SOURCES)))
+vpath %.S $(sort $(dir $(ASM_SOURCES)))
+
+#######################################
+# all
+#######################################
+# note needs to be located as the first rule to be the default build rule
+# default action: build all
+all: $(RELEASE_DIRECTORY)/$(TARGET).elf $(RELEASE_DIRECTORY)/$(TARGET).hex $(RELEASE_DIRECTORY)/$(TARGET).bin $(RELEASE_DIRECTORY)/$(TARGET).lss 
+
+
+# C build
+$(RELEASE_DIRECTORY)/%.o: %.c STM32Make.make | $(RELEASE_DIRECTORY)
+	$(CC) -c $(CFLAGS) $< -o $@
+
+# C++ build 
+$(RELEASE_DIRECTORY)/%.o: %.cc STM32Make.make | $(RELEASE_DIRECTORY)
+	$(CXX) -c $(CXXFLAGS) $< -o $@
+
+$(RELEASE_DIRECTORY)/%.o: %.cp STM32Make.make | $(RELEASE_DIRECTORY)
+	$(CXX) -c $(CXXFLAGS) $< -o $@
+
+$(RELEASE_DIRECTORY)/%.o: %.cxx STM32Make.make | $(RELEASE_DIRECTORY)
+	$(CXX) -c $(CXXFLAGS) $< -o $@
+
+$(RELEASE_DIRECTORY)/%.o: %.cpp STM32Make.make | $(RELEASE_DIRECTORY)
+	$(CXX) -c $(CXXFLAGS) $< -o $@
+
+$(RELEASE_DIRECTORY)/%.o: %.c++ STM32Make.make | $(RELEASE_DIRECTORY)
+	$(CXX) -c $(CXXFLAGS) $< -o $@
+
+$(RELEASE_DIRECTORY)/%.o: %.C STM32Make.make | $(RELEASE_DIRECTORY)
+	$(CXX) -c $(CXXFLAGS) $< -o $@
+
+$(RELEASE_DIRECTORY)/%.o: %.CPP STM32Make.make | $(RELEASE_DIRECTORY)
+	$(CXX) -c $(CXXFLAGS) $< -o $@
+
+#Assembly build
+$(RELEASE_DIRECTORY)/%.o: %.s STM32Make.make | $(RELEASE_DIRECTORY)
+	$(AS) -c $(ASFLAGS) $< -o $@
+
+$(RELEASE_DIRECTORY)/%.o: %.S STM32Make.make | $(RELEASE_DIRECTORY)
+	$(AS) -c $(ASFLAGS) $< -o $@
+
+$(RELEASE_DIRECTORY)/%.o: %.sx STM32Make.make | $(RELEASE_DIRECTORY)
+	$(AS) -c $(ASFLAGS) $< -o $@
+
+$(RELEASE_DIRECTORY)/$(TARGET).elf: $(OBJECTS) STM32Make.make | $(RELEASE_DIRECTORY)
+	@echo $(OBJECTS) > $@.in
+	$(CC) @$@.in $(LDFLAGS) -o $@
+	$(SZ) $@
+
+$(RELEASE_DIRECTORY)/%.hex: $(RELEASE_DIRECTORY)/%.elf | $(RELEASE_DIRECTORY)
+	$(HEX) $< $@
+
+$(RELEASE_DIRECTORY)/%.bin: $(RELEASE_DIRECTORY)/%.elf | $(RELEASE_DIRECTORY)
+	$(BIN) $< $@
+
+$(RELEASE_DIRECTORY)/%.lss: $(RELEASE_DIRECTORY)/%.elf | $(RELEASE_DIRECTORY)
+	$(LSS) $< > $@
+
+$(RELEASE_DIRECTORY):
+	$(call mkdir_function, $@)
+
+$(BUILD_DIRECTORY): | $(RELEASE_DIRECTORY)
+	$(call mkdir_function, $@)
+
+
+#######################################
+# flash
+#######################################
+flash: all
+	"$(OPENOCD)" -f ./openocd.cfg -c "program $(RELEASE_DIRECTORY)/$(TARGET).elf verify reset exit"
+
+#######################################
+# erase
+#######################################
+erase: all
+	"$(OPENOCD)" -f ./openocd.cfg -c "init; reset halt; stm32h7x mass_erase 0; exit"
+
+#######################################
+# clean up
+#######################################
+clean:
+	$(REMOVE_DIRECTORY_COMMAND) $(BUILD_DIRECTORY)
+
+#######################################
+# custom makefile rules
+#######################################
+
+	
+#######################################
+# dependencies
+#######################################
+-include $(wildcard $(RELEASE_DIRECTORY)/*.d)
+
+# *** EOF ***
\ No newline at end of file
diff --git a/Software/TouchGFX/App/app_touchgfx.c b/Software/TouchGFX/App/app_touchgfx.c
deleted file mode 100644
index 8a5bc61..0000000
--- a/Software/TouchGFX/App/app_touchgfx.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : app_touchgfx.c
-  ******************************************************************************
-  * This file was created by TouchGFX Generator 4.21.0. This file is only
-  * generated once! Delete this file from your project and re-generate code
-  * using STM32CubeMX or change this file manually to update it.
-  ******************************************************************************
-  * @attention
-  *
-  * Copyright (c) 2025 STMicroelectronics.
-  * All rights reserved.
-  *
-  * This software is licensed under terms that can be found in the LICENSE file
-  * in the root directory of this software component.
-  * If no LICENSE file comes with this software, it is provided AS-IS.
-  *
-  ******************************************************************************
-  */
-
-/* Includes ------------------------------------------------------------------*/
-#include "app_touchgfx.h"
-
-/* Private includes ----------------------------------------------------------*/
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* 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 touchgfx_init(void);
-void touchgfx_components_init(void);
-void touchgfx_taskEntry(void);
-
-/* USER CODE BEGIN PFP */
-
-/* USER CODE END PFP */
-
-/**
- * Initialize TouchGFX application
- */
-void MX_TouchGFX_Init(void)
-{
-  // Calling forward to touchgfx_init in C++ domain
-  touchgfx_components_init();
-  touchgfx_init();
-}
-
-/**
- * TouchGFX application entry function
- */
-void MX_TouchGFX_Process(void)
-{
-  // Calling forward to touchgfx_taskEntry in C++ domain
-  touchgfx_taskEntry();
-}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/App/app_touchgfx.h b/Software/TouchGFX/App/app_touchgfx.h
deleted file mode 100644
index 4016b2e..0000000
--- a/Software/TouchGFX/App/app_touchgfx.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : app_touchgfx.h
-  ******************************************************************************
-  * This file was created by TouchGFX Generator 4.21.0. This file is only
-  * generated once! Delete this file from your project and re-generate code
-  * using STM32CubeMX or change this file manually to update it.
-  ******************************************************************************
-  * @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.
-  *
-  ******************************************************************************
-  */
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-#ifndef APP_TOUCHGFX_H
-#define APP_TOUCHGFX_H
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-/* 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 MX_TouchGFX_Init(void);
-void MX_TouchGFX_Process(void);
-
-/* USER CODE BEGIN EFP */
-
-/* USER CODE END EFP */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* APP_TOUCHGFX_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/ApplicationTemplate.touchgfx.part b/Software/TouchGFX/ApplicationTemplate.touchgfx.part
deleted file mode 100644
index 16b99d8..0000000
--- a/Software/TouchGFX/ApplicationTemplate.touchgfx.part
+++ /dev/null
@@ -1,30 +0,0 @@
-
-{
-  "Application": {
-    "Name": "FT23_Charger",
-    "TouchGfxPath": "../Middlewares/ST/touchgfx",
-    "AvailableColorDepths": [ 24 ],
-    "AvailableLCDs":
-    {
-      "24": "LCD24bpp"
-    },
-    "AvailableResolutions": [
-      {
-        "Width": 1024,
-        "Height": 600
-      }
-    ],
-    "PostGenerateTargetCommand": "touchgfx update_project",
-    "Family": "STM32H7",
-    "SubFamily": "STM32H7A3/7B3",
-    "Platform": "m7",
-    "Toolchain": "STM32CubeIDE",
-    "ProjectFile": "../FT23_Charger.ioc",
-    "OptionalComponentsRoot": "../Middlewares/ST/touchgfx_components",
-    "OptionalComponents": [
-    ],
-    "AdditionalFeatures": [
-    ],
-  },
-  "Version": "4.21.0"
-}
diff --git a/Software/TouchGFX/FT23_Charger.touchgfx b/Software/TouchGFX/FT23_Charger.touchgfx
deleted file mode 100644
index d3caeac..0000000
--- a/Software/TouchGFX/FT23_Charger.touchgfx
+++ /dev/null
@@ -1,92 +0,0 @@
-{
-  "Application": {
-    "Screens": [
-      {
-        "Name": "screen",
-        "Components": [
-          {
-            "Type": "Button",
-            "Name": "button1",
-            "X": 327,
-            "Y": 275,
-            "Width": 370,
-            "Height": 50,
-            "Pressed": "__generated\\alternate_theme_images_widgets_button_regular_height_50_large_round_pressed.png",
-            "Released": "__generated\\alternate_theme_images_widgets_button_regular_height_50_large_round_action.png",
-            "Preset": "alternate_theme\\presets\\button\\regular\\height_50\\large_round_action.json"
-          }
-        ],
-        "Interactions": [
-          {
-            "InteractionName": "Interaction1",
-            "Trigger": {
-              "Type": "TriggerClicked",
-              "TriggerComponent": "button1"
-            },
-            "Action": {
-              "Type": "ActionNone"
-            }
-          }
-        ],
-        "CustomActions": [
-          {
-            "Name": "action1"
-          }
-        ]
-      }
-    ],
-    "CustomContainerDefinitions": [],
-    "Name": "MyApplication",
-    "Resolution": {
-      "Width": 1024,
-      "Height": 600
-    },
-    "SelectedColorDepth": 24,
-    "StartupScreenName": "screen",
-    "SelectedStartupLanguage": "GB",
-    "TouchGfxPath": "../Middlewares/ST/touchgfx",
-    "UIPath": ".",
-    "AvailableColorDepths": [
-      24
-    ],
-    "AvailableLCDs": {
-      "24": "LCD24bpp"
-    },
-    "AvailableSections": [
-      "ExtFlashSection",
-      "IntFlashSection"
-    ],
-    "AvailableResolutions": [
-      {
-        "Width": 1024,
-        "Height": 600
-      }
-    ],
-    "PhysicalButtons": [],
-    "FrameworkFeatures": {
-      "LCD24bpp": {
-        "Id": "LCD24bpp",
-        "IsEnabled": true
-      }
-    },
-    "GenerateAssetsCommand": "make -f simulator/gcc/Makefile assets -j8",
-    "PostGenerateCommand": "touchgfx update_project --project-file=simulator/msvs/Application.vcxproj",
-    "PostGenerateTargetCommand": "touchgfx update_project",
-    "CompileSimulatorCommand": "make -f simulator/gcc/Makefile -j8",
-    "RunSimulatorCommand": "build\\bin\\simulator.exe",
-    "LandscapeSkinX": 0,
-    "LandscapeSkinY": 0,
-    "PortraitSkinX": 0,
-    "PortraitSkinY": 0,
-    "DisplayOrientation": "Landscape",
-    "Family": "STM32H7",
-    "SubFamily": "STM32H7A3/7B3",
-    "Toolchain": "STM32CubeIDE",
-    "Platform": "m7",
-    "ProjectFile": "../FT23_Charger.ioc",
-    "OptionalComponentsRoot": "../Middlewares/ST/touchgfx_components",
-    "OptionalComponents": [],
-    "AdditionalFeatures": []
-  },
-  "Version": "4.24.2"
-}
\ No newline at end of file
diff --git a/Software/TouchGFX/application.config b/Software/TouchGFX/application.config
deleted file mode 100644
index 5252c65..0000000
--- a/Software/TouchGFX/application.config
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "image_configuration": {
-    "dither_algorithm": "2",
-    "alpha_dither": "yes",
-    "layout_rotation": "0",
-    "opaque_image_format": "RGB888",
-    "nonopaque_image_format": "ARGB8888",
-    "l8_compression": "no",
-    "rgb_compression": "no",
-    "section": "ExtFlashSection",
-    "extra_section": "ExtFlashSection",
-    "images": {}
-  },
-  "text_configuration": {
-    "remap": "yes",
-    "a4": "yes",
-    "binary_translations": "no",
-    "binary_fonts": "no",
-    "framebuffer_bpp": "24",
-    "font_format": "0"
-  }
-}
\ No newline at end of file
diff --git a/Software/TouchGFX/assets/fonts/verdana.ttf b/Software/TouchGFX/assets/fonts/verdana.ttf
deleted file mode 100644
index 9a34997..0000000
Binary files a/Software/TouchGFX/assets/fonts/verdana.ttf and /dev/null differ
diff --git a/Software/TouchGFX/assets/images/__generated/alternate_theme_images_widgets_button_regular_height_50_large_round_action.png b/Software/TouchGFX/assets/images/__generated/alternate_theme_images_widgets_button_regular_height_50_large_round_action.png
deleted file mode 100644
index c6788a2..0000000
Binary files a/Software/TouchGFX/assets/images/__generated/alternate_theme_images_widgets_button_regular_height_50_large_round_action.png and /dev/null differ
diff --git a/Software/TouchGFX/assets/images/__generated/alternate_theme_images_widgets_button_regular_height_50_large_round_pressed.png b/Software/TouchGFX/assets/images/__generated/alternate_theme_images_widgets_button_regular_height_50_large_round_pressed.png
deleted file mode 100644
index 420f38d..0000000
Binary files a/Software/TouchGFX/assets/images/__generated/alternate_theme_images_widgets_button_regular_height_50_large_round_pressed.png and /dev/null differ
diff --git a/Software/TouchGFX/assets/texts/texts.xsd b/Software/TouchGFX/assets/texts/texts.xsd
deleted file mode 100644
index bc0e717..0000000
--- a/Software/TouchGFX/assets/texts/texts.xsd
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <!--Types-->
-  <xs:simpleType name="direction" final="restriction" >
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="LTR" />
-      <xs:enumeration value="RTL" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="alignment" final="restriction" >
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="Left" />
-      <xs:enumeration value="LEFT" />
-      <xs:enumeration value="left" />
-      <xs:enumeration value="Center" />
-      <xs:enumeration value="CENTER" />
-      <xs:enumeration value="center" />
-      <xs:enumeration value="Right" />
-      <xs:enumeration value="RIGHT" />
-      <xs:enumeration value="right" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="bpp" final="restriction" >
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="1" />
-      <xs:enumeration value="2" />
-      <xs:enumeration value="4" />
-      <xs:enumeration value="8" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="fallbackCharacter" final="restriction" >
-    <xs:restriction base="xs:string">
-      <xs:pattern value="|.|skip|(0[xX][0-9a-fA-F]{1,4})" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="ellipsisCharacter" final="restriction" >
-    <xs:restriction base="xs:string">
-      <xs:pattern value="|.|(0[xX][0-9a-fA-F]{1,4})" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="wildcardCharacterRanges" final="restriction" >
-    <xs:restriction base="xs:string">
-      <xs:pattern value="|(.-.|(0[xX][0-9a-fA-F]{1,4}|[0-9]{1,5})(-(0[xX][0-9a-fA-F]{1,4}|[0-9]{1,5}))?)(,(.-.|(0[xX][0-9a-fA-F]{1,4}|[0-9]{1,5})(-(0[xX][0-9a-fA-F]{1,4}|[0-9]{1,5}))?))*" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="validCppIdentifier" final="restriction" >
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[a-zA-Z_][a-zA-Z0-9_]*" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="validIdentifier" final="restriction" >
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[a-zA-Z0-9_]+" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="fontSize" final="restriction">
-    <xs:restriction base="xs:unsignedInt">
-      <xs:minInclusive value="1"/>
-      <xs:maxInclusive value="1000"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="isVector" final="restriction" >
-    <xs:restriction base="xs:string">
-      <xs:enumeration value="yes" />
-      <xs:enumeration value="no" />
-    </xs:restriction>
-  </xs:simpleType>
-
-  <!--TextDatabase specification-->
-  <xs:element name="TextDatabase">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="Languages">
-          <xs:complexType>
-            <xs:sequence>
-              <xs:element minOccurs="0" maxOccurs="unbounded" name="Language">
-                <xs:complexType>
-                  <xs:attribute name="Id" type="validCppIdentifier" use="required" />
-                </xs:complexType>
-              </xs:element>
-            </xs:sequence>
-          </xs:complexType>
-        </xs:element>
-        <xs:sequence>
-          <xs:element name="Texts">
-            <xs:complexType>
-              <xs:sequence>
-                <xs:element minOccurs="0" maxOccurs="unbounded" name="TextGroup">
-                  <xs:complexType>
-                    <xs:sequence>
-                      <xs:element minOccurs="0" maxOccurs="unbounded" name="Text">
-                        <xs:complexType>
-                          <xs:sequence>
-                            <xs:element minOccurs="1" maxOccurs="unbounded" name="Translation">
-                              <xs:complexType>
-                                <xs:simpleContent>
-                                  <xs:extension base="xs:string">
-                                    <xs:attribute name="Language" type="validCppIdentifier" use="required" />
-                                    <xs:attribute name="Alignment" type="alignment" use="optional" />
-                                  </xs:extension>
-                                </xs:simpleContent>
-                              </xs:complexType>
-                            </xs:element>
-                          </xs:sequence>
-                          <xs:attribute name="Id" type="validIdentifier" use="required" />
-                          <xs:attribute name="Alignment" type="alignment" use="required" />
-                          <xs:attribute name="TypographyId" type="validCppIdentifier" use="required" />
-                        </xs:complexType>
-                      </xs:element>
-                    </xs:sequence>
-                    <xs:attribute name="Id" type="validIdentifier" use="required" />
-                  </xs:complexType>
-                </xs:element>
-              </xs:sequence>
-            </xs:complexType>
-          </xs:element>
-        </xs:sequence>
-        <xs:element name="Typographies">
-          <xs:complexType>
-            <xs:sequence>
-              <xs:element minOccurs="0" maxOccurs="unbounded" name="Typography">
-                <xs:complexType>
-                  <xs:sequence>
-                    <xs:element minOccurs="0" maxOccurs="unbounded" name="LanguageSetting">
-                      <xs:complexType>
-                        <xs:attribute name="Language" type="validCppIdentifier" use="required" />
-                        <xs:attribute name="Font" type="xs:string" use="required" />
-                        <xs:attribute name="Size" type="fontSize" use="required" />
-                        <xs:attribute name="Bpp" type="bpp" use="required" />
-                        <xs:attribute name="IsVector" type="isVector" use="required" />
-                        <xs:attribute name="Direction" type="direction" use="required" />
-                        <xs:attribute name="FallbackCharacter" type="fallbackCharacter" use="optional" />
-                        <xs:attribute name="WildcardCharacters" type="xs:string" use="optional" />
-                        <xs:attribute name="WidgetWildcardCharacters" type="xs:string" use="optional" />
-                        <xs:attribute name="WildcardCharacterRanges" type="wildcardCharacterRanges" use="optional" />
-                        <xs:attribute name="EllipsisCharacter" type="ellipsisCharacter" use="optional" />
-                      </xs:complexType>
-                    </xs:element>
-                  </xs:sequence>
-                  <xs:attribute name="Id" type="validCppIdentifier" use="required" />
-                  <xs:attribute name="Font" type="xs:string" use="required" />
-                  <xs:attribute name="Size" type="fontSize" use="required" />
-                  <xs:attribute name="Bpp" type="bpp" use="required" />
-                  <xs:attribute name="IsVector" type="isVector" use="required" />
-                  <xs:attribute name="Direction" type="direction" use="required" />
-                  <xs:attribute name="FallbackCharacter" type="fallbackCharacter" use="optional" />
-                  <xs:attribute name="WildcardCharacters" type="xs:string" use="optional" />
-                  <xs:attribute name="WidgetWildcardCharacters" type="xs:string" use="optional" />
-                  <xs:attribute name="WildcardCharacterRanges" type="wildcardCharacterRanges" use="optional" />
-                  <xs:attribute name="EllipsisCharacter" type="ellipsisCharacter" use="optional" />
-                </xs:complexType>
-              </xs:element>
-            </xs:sequence>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-      <xs:attribute name="Version" type="xs:string" use="required" />
-    </xs:complexType>
-  </xs:element>
-</xs:schema>
diff --git a/Software/TouchGFX/target/STM32TouchController.cpp b/Software/TouchGFX/target/STM32TouchController.cpp
deleted file mode 100644
index 6c20cd6..0000000
--- a/Software/TouchGFX/target/STM32TouchController.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
-  ******************************************************************************
-  * File Name          : STM32TouchController.cpp
-  ******************************************************************************
-  * This file was created by TouchGFX Generator 4.21.0. This file is only
-  * generated once! Delete this file from your project and re-generate code
-  * using STM32CubeMX or change this file manually to update it.
-  ******************************************************************************
-  * @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 */
-
-/* USER CODE BEGIN STM32TouchController */
-
-#include <STM32TouchController.hpp>
-
-void STM32TouchController::init()
-{
-    /**
-     * Initialize touch controller and driver
-     *
-     */
-}
-
-bool STM32TouchController::sampleTouch(int32_t& x, int32_t& y)
-{
-    /**
-     * By default sampleTouch returns false,
-     * return true if a touch has been detected, otherwise false.
-     *
-     * Coordinates are passed to the caller by reference by x and y.
-     *
-     * This function is called by the TouchGFX framework.
-     * By default sampleTouch is called every tick, this can be adjusted by HAL::setTouchSampleRate(int8_t);
-     *
-     */
-    return false;
-}
-
-/* USER CODE END STM32TouchController */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/target/STM32TouchController.hpp b/Software/TouchGFX/target/STM32TouchController.hpp
deleted file mode 100644
index c4f6378..0000000
--- a/Software/TouchGFX/target/STM32TouchController.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
-  ******************************************************************************
-  * File Name          : STM32TouchController.hpp
-  ******************************************************************************
-  * This file was created by TouchGFX Generator 4.21.0. This file is only
-  * generated once! Delete this file from your project and re-generate code
-  * using STM32CubeMX or change this file manually to update it.
-  ******************************************************************************
-  * @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 */
-
-/* USER CODE BEGIN STM32TouchController */
-
-#ifndef STM32TOUCHCONTROLLER_HPP
-#define STM32TOUCHCONTROLLER_HPP
-
-#include <platform/driver/touch/TouchController.hpp>
-
-/**
- * @class STM32TouchController
- *
- * @brief This class specializes TouchController Interface.
- *
- * @sa touchgfx::TouchController
- */
-
-class STM32TouchController : public touchgfx::TouchController
-{
-public:
-
-    STM32TouchController() {}
-
-    /**
-      * @fn virtual void STM32TouchController::init() = 0;
-      *
-      * @brief Initializes touch controller.
-      *
-      *        Initializes touch controller.
-      */
-    virtual void init();
-
-    /**
-    * @fn virtual bool STM32TouchController::sampleTouch(int32_t& x, int32_t& y) = 0;
-    *
-    * @brief Checks whether the touch screen is being touched, and if so, what coordinates.
-    *
-    *        Checks whether the touch screen is being touched, and if so, what coordinates.
-    *
-    * @param [out] x The x position of the touch
-    * @param [out] y The y position of the touch
-    *
-    * @return True if a touch has been detected, otherwise false.
-    */
-    virtual bool sampleTouch(int32_t& x, int32_t& y);
-};
-
-#endif // STM32TOUCHCONTROLLER_HPP
-
-/* USER CODE END STM32TouchController */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/target/TouchGFXGPIO.cpp b/Software/TouchGFX/target/TouchGFXGPIO.cpp
deleted file mode 100644
index 8dc3101..0000000
--- a/Software/TouchGFX/target/TouchGFXGPIO.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
-  ******************************************************************************
-  * File Name          : TouchGFXGPIO.cpp
-  ******************************************************************************
-  * This file was created by TouchGFX Generator 4.21.0. This file is only
-  * generated once! Delete this file from your project and re-generate code
-  * using STM32CubeMX or change this file manually to update it.
-  ******************************************************************************
-  * @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 */
-
-#include <touchgfx/hal/GPIO.hpp>
-
-/**
- * GPIO_ID Enum
- * The signals represented by this enum are used by TouchGFX framework to signal internal events.
- *
- * VSYNC_FREQ,  /// Pin is toggled at each VSYNC
- * RENDER_TIME, /// Pin is high when frame rendering begins, low when finished
- * FRAME_RATE,  /// Pin is toggled when the frame buffers are swapped.
- * MCU_ACTIVE   /// Pin is high when framework is utilizing the MCU.
- *
- * Configure GPIO's with the same name as the GPIO_IDs above, as output, in CubeMX to export
- * the signals for performance measuring. See support.touchgfx.com for further details.
- *
- */
-
-/* USER CODE BEGIN TouchGFXGPIO.cpp */
-#include "main.h"
-
-using namespace touchgfx;
-
-/*
- * Perform configuration of IO pins.
- */
-void GPIO::init()
-{
-
-}
-
-/*
- * Sets a pin high.
- */
-void GPIO::set(GPIO_ID id)
-{
-    switch (id)
-    {
-    case GPIO::VSYNC_FREQ:
-#if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin)
-        HAL_GPIO_WritePin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin, GPIO_PIN_SET);
-#endif
-        break;
-    case GPIO::RENDER_TIME:
-#if defined(RENDER_TIME_GPIO_Port) && defined(RENDER_TIME_Pin)
-        HAL_GPIO_WritePin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin, GPIO_PIN_SET);
-#endif
-        break;
-    case GPIO::FRAME_RATE:
-#if defined(FRAME_RATE_GPIO_Port) && defined(FRAME_RATE_Pin)
-        HAL_GPIO_WritePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin, GPIO_PIN_SET);
-#endif
-        break;
-    case GPIO::MCU_ACTIVE:
-#if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin)
-        HAL_GPIO_WritePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin, GPIO_PIN_SET);
-#endif
-        break;
-    }
-}
-
-/*
- * Sets a pin low.
- */
-void GPIO::clear(GPIO_ID id)
-{
-    switch (id)
-    {
-    case GPIO::VSYNC_FREQ:
-#if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin)
-        HAL_GPIO_WritePin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin, GPIO_PIN_RESET);
-#endif
-        break;
-    case GPIO::RENDER_TIME:
-#if defined(RENDER_TIME_GPIO_Port) && defined(RENDER_TIME_Pin)
-        HAL_GPIO_WritePin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin, GPIO_PIN_RESET);
-#endif
-        break;
-    case GPIO::FRAME_RATE:
-#if defined(FRAME_RATE_GPIO_Port) && defined(FRAME_RATE_Pin)
-        HAL_GPIO_WritePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin, GPIO_PIN_RESET);
-#endif
-        break;
-    case GPIO::MCU_ACTIVE:
-#if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin)
-        HAL_GPIO_WritePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin, GPIO_PIN_RESET);
-#endif
-        break;
-    }
-}
-
-/*
- * Toggles a pin.
- */
-void GPIO::toggle(GPIO_ID id)
-{
-    switch (id)
-    {
-    case GPIO::VSYNC_FREQ:
-#if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin)
-        HAL_GPIO_TogglePin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin);
-#endif
-        break;
-    case GPIO::RENDER_TIME:
-#if defined(RENDER_TIME_GPIO_Port) && defined(RENDER_TIME_Pin)
-        HAL_GPIO_TogglePin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin);
-#endif
-        break;
-    case GPIO::FRAME_RATE:
-#if defined(FRAME_RATE_GPIO_Port) && defined(FRAME_RATE_Pin)
-        HAL_GPIO_TogglePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin);
-#endif
-        break;
-    case GPIO::MCU_ACTIVE:
-#if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin)
-        HAL_GPIO_TogglePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin);
-#endif
-        break;
-    }
-}
-
-/*
- * Gets the state of a pin.
- */
-bool GPIO::get(GPIO_ID id)
-{
-    GPIO_PinState bitstatus = GPIO_PIN_RESET;
-    switch (id)
-    {
-    case GPIO::VSYNC_FREQ:
-#if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin)
-        bitstatus = HAL_GPIO_ReadPin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin);
-#endif
-        break;
-    case GPIO::RENDER_TIME:
-#if defined(RENDER_TIME_GPIO_Port) && defined(RENDER_TIME_Pin)
-        bitstatus = HAL_GPIO_ReadPin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin);
-#endif
-        break;
-    case GPIO::FRAME_RATE:
-#if defined(FRAME_RATE_GPIO_Port) && defined(FRAME_RATE_Pin)
-        bitstatus = HAL_GPIO_ReadPin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin);
-#endif
-        break;
-    case GPIO::MCU_ACTIVE:
-#if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin)
-        bitstatus = HAL_GPIO_ReadPin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin);
-#endif
-        break;
-    }
-    return (bitstatus == GPIO_PIN_SET);
-}
-
-/* USER CODE END TouchGFXGPIO.cpp */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/target/TouchGFXHAL.cpp b/Software/TouchGFX/target/TouchGFXHAL.cpp
deleted file mode 100644
index ccb0a83..0000000
--- a/Software/TouchGFX/target/TouchGFXHAL.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
-  ******************************************************************************
-  * File Name          : TouchGFXHAL.cpp
-  ******************************************************************************
-  * This file was created by TouchGFX Generator 4.21.0. This file is only
-  * generated once! Delete this file from your project and re-generate code
-  * using STM32CubeMX or change this file manually to update it.
-  ******************************************************************************
-  * @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 */
-
-#include <TouchGFXHAL.hpp>
-
-/* USER CODE BEGIN TouchGFXHAL.cpp */
-
-using namespace touchgfx;
-
-void TouchGFXHAL::initialize()
-{
-    // Calling parent implementation of initialize().
-    //
-    // To overwrite the generated implementation, omit call to parent function
-    // and implemented needed functionality here.
-    // Please note, HAL::initialize() must be called to initialize the framework.
-
-    TouchGFXGeneratedHAL::initialize();
-}
-
-/**
- * Gets the frame buffer address used by the TFT controller.
- *
- * @return The address of the frame buffer currently being displayed on the TFT.
- */
-uint16_t* TouchGFXHAL::getTFTFrameBuffer() const
-{
-    // Calling parent implementation of getTFTFrameBuffer().
-    //
-    // To overwrite the generated implementation, omit call to parent function
-    // and implemented needed functionality here.
-
-    return TouchGFXGeneratedHAL::getTFTFrameBuffer();
-}
-
-/**
- * Sets the frame buffer address used by the TFT controller.
- *
- * @param [in] address New frame buffer address.
- */
-void TouchGFXHAL::setTFTFrameBuffer(uint16_t* address)
-{
-    // Calling parent implementation of setTFTFrameBuffer(uint16_t* address).
-    //
-    // To overwrite the generated implementation, omit call to parent function
-    // and implemented needed functionality here.
-
-    TouchGFXGeneratedHAL::setTFTFrameBuffer(address);
-}
-
-/**
- * This function is called whenever the framework has performed a partial draw.
- *
- * @param rect The area of the screen that has been drawn, expressed in absolute coordinates.
- *
- * @see flushFrameBuffer().
- */
-void TouchGFXHAL::flushFrameBuffer(const touchgfx::Rect& rect)
-{
-    // Calling parent implementation of flushFrameBuffer(const touchgfx::Rect& rect).
-    //
-    // To overwrite the generated implementation, omit call to parent function
-    // and implemented needed functionality here.
-    // Please note, HAL::flushFrameBuffer(const touchgfx::Rect& rect) must
-    // be called to notify the touchgfx framework that flush has been performed.
-    // To calculate he start adress of rect,
-    // use advanceFrameBufferToRect(uint8_t* fbPtr, const touchgfx::Rect& rect)
-    // defined in TouchGFXGeneratedHAL.cpp
-
-    TouchGFXGeneratedHAL::flushFrameBuffer(rect);
-}
-
-bool TouchGFXHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes)
-{
-    return TouchGFXGeneratedHAL::blockCopy(dest, src, numBytes);
-}
-
-/**
- * Configures the interrupts relevant for TouchGFX. This primarily entails setting
- * the interrupt priorities for the DMA and LCD interrupts.
- */
-void TouchGFXHAL::configureInterrupts()
-{
-    // Calling parent implementation of configureInterrupts().
-    //
-    // To overwrite the generated implementation, omit call to parent function
-    // and implemented needed functionality here.
-
-    TouchGFXGeneratedHAL::configureInterrupts();
-}
-
-/**
- * Used for enabling interrupts set in configureInterrupts()
- */
-void TouchGFXHAL::enableInterrupts()
-{
-    // Calling parent implementation of enableInterrupts().
-    //
-    // To overwrite the generated implementation, omit call to parent function
-    // and implemented needed functionality here.
-
-    TouchGFXGeneratedHAL::enableInterrupts();
-}
-
-/**
- * Used for disabling interrupts set in configureInterrupts()
- */
-void TouchGFXHAL::disableInterrupts()
-{
-    // Calling parent implementation of disableInterrupts().
-    //
-    // To overwrite the generated implementation, omit call to parent function
-    // and implemented needed functionality here.
-
-    TouchGFXGeneratedHAL::disableInterrupts();
-}
-
-/**
- * Configure the LCD controller to fire interrupts at VSYNC. Called automatically
- * once TouchGFX initialization has completed.
- */
-void TouchGFXHAL::enableLCDControllerInterrupt()
-{
-    // Calling parent implementation of enableLCDControllerInterrupt().
-    //
-    // To overwrite the generated implementation, omit call to parent function
-    // and implemented needed functionality here.
-
-    TouchGFXGeneratedHAL::enableLCDControllerInterrupt();
-}
-
-bool TouchGFXHAL::beginFrame()
-{
-    return TouchGFXGeneratedHAL::beginFrame();
-}
-
-void TouchGFXHAL::endFrame()
-{
-    TouchGFXGeneratedHAL::endFrame();
-}
-
-/* USER CODE END TouchGFXHAL.cpp */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/target/TouchGFXHAL.hpp b/Software/TouchGFX/target/TouchGFXHAL.hpp
deleted file mode 100644
index 2dbee97..0000000
--- a/Software/TouchGFX/target/TouchGFXHAL.hpp
+++ /dev/null
@@ -1,171 +0,0 @@
-/* USER CODE BEGIN Header */
-/**
-  ******************************************************************************
-  * File Name          : TouchGFXHAL.hpp
-  ******************************************************************************
-  * This file was created by TouchGFX Generator 4.21.0. This file is only
-  * generated once! Delete this file from your project and re-generate code
-  * using STM32CubeMX or change this file manually to update it.
-  ******************************************************************************
-  * @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 */
-#ifndef TouchGFXHAL_HPP
-#define TouchGFXHAL_HPP
-
-/* USER CODE BEGIN TouchGFXHAL.hpp */
-
-#include <TouchGFXGeneratedHAL.hpp>
-
-/**
- * @class TouchGFXHAL
- *
- * @brief HAL implementation for TouchGFX.
- *
- * @sa HAL
- */
-class TouchGFXHAL : public TouchGFXGeneratedHAL
-{
-public:
-    /**
-     * @fn TouchGFXHAL::TouchGFXHAL(touchgfx::DMA_Interface& dma, touchgfx::LCD& display, touchgfx::TouchController& tc, uint16_t width, uint16_t height) : TouchGFXGeneratedHAL(dma, display, tc, width, height)
-     *
-     * @brief Constructor.
-     *
-     *        Constructor. Initializes members.
-     *
-     * @param [in,out] dma     Reference to DMA interface.
-     * @param [in,out] display Reference to LCD interface.
-     * @param [in,out] tc      Reference to Touch Controller driver.
-     * @param width            Width of the display.
-     * @param height           Height of the display.
-     */
-    TouchGFXHAL(touchgfx::DMA_Interface& dma, touchgfx::LCD& display, touchgfx::TouchController& tc, uint16_t width, uint16_t height) : TouchGFXGeneratedHAL(dma, display, tc, width, height)
-    {
-    }
-
-    virtual void initialize();
-
-    /**
-     * @fn virtual void TouchGFXHAL::disableInterrupts();
-     *
-     * @brief Disables the DMA and LCD interrupts.
-     *
-     *        Disables the DMA and LCD interrupts.
-     */
-    virtual void disableInterrupts();
-
-    /**
-     * @fn virtual void TouchGFXHAL::enableInterrupts();
-     *
-     * @brief Enables the DMA and LCD interrupts.
-     *
-     *        Enables the DMA and LCD interrupts.
-     */
-    virtual void enableInterrupts();
-
-    /**
-     * @fn virtual void TouchGFXHAL::configureInterrupts();
-     *
-     * @brief Sets the DMA and LCD interrupt priorities.
-     *
-     *        Sets the DMA and LCD interrupt priorities.
-     */
-    virtual void configureInterrupts();
-
-    /**
-     * @fn virtual void TouchGFXHAL::enableLCDControllerInterrupt();
-     *
-     * @brief Configure the LCD controller to fire interrupts at VSYNC.
-     *
-     *        Configure the LCD controller to fire interrupts at VSYNC. Called automatically
-     *        once TouchGFX initialization has completed.
-     */
-    virtual void enableLCDControllerInterrupt();
-
-    virtual bool beginFrame();
-
-    virtual void endFrame();
-
-    /**
-     * @fn virtual void TouchGFXHAL::flushFrameBuffer();
-     *
-     * @brief This function is called whenever the framework has performed a complete draw.
-     *
-     * This specialization is only in place to keep compilers happy. Base impl. will call the
-     * Rect version.
-     * @see HAL::flushFrameBuffer
-     */
-    virtual void flushFrameBuffer()
-    {
-        TouchGFXGeneratedHAL::flushFrameBuffer();
-    }
-
-    /**
-     * @fn virtual void TouchGFXHAL::flushFrameBuffer(const Rect& rect);
-     *
-     * @brief This function is called whenever the framework has performed a partial draw.
-     *
-     *        This function is called whenever the framework has performed a partial draw.
-     *        On the STM32F7, make sure to clean and invalidate the data cache. This is to
-     *        ensure that LTDC sees correct data when transferring to the display.
-     *
-     * @param rect The area of the screen that has been drawn, expressed in absolute coordinates.
-     *
-     * @see flushFrameBuffer().
-     */
-    virtual void flushFrameBuffer(const touchgfx::Rect& rect);
-
-    /**
-     * @fn virtual bool TouchGFXHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes);
-     *
-     * @brief This function performs a platform-specific memcpy.
-     *
-     *        This function performs a platform-specific memcpy, if supported by the hardware.
-     *
-     * @param [out] dest Pointer to destination memory.
-     * @param [in] src   Pointer to source memory.
-     * @param numBytes   Number of bytes to copy.
-     *
-     * @return true if the copy succeeded, false if copy was not performed.
-     */
-    virtual bool blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes);
-
-protected:
-    /**
-     * @fn virtual uint16_t* TouchGFXHAL::getTFTFrameBuffer() const;
-     *
-     * @brief Gets the frame buffer address used by the TFT controller.
-     *
-     *        Gets the frame buffer address used by the TFT controller.
-     *
-     * @return The address of the frame buffer currently being displayed on the TFT.
-     */
-    virtual uint16_t* getTFTFrameBuffer() const;
-
-    /**
-     * @fn virtual void TouchGFXHAL::setTFTFrameBuffer(uint16_t* adr);
-     *
-     * @brief Sets the frame buffer address used by the TFT controller.
-     *
-     *        Sets the frame buffer address used by the TFT controller.
-     *
-     * @param [in,out] adr New frame buffer address.
-     */
-    virtual void setTFTFrameBuffer(uint16_t* adr);
-};
-
-/* USER CODE END TouchGFXHAL.hpp */
-
-#endif // TouchGFXHAL_HPP
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/target/generated/OSWrappers.cpp b/Software/TouchGFX/target/generated/OSWrappers.cpp
deleted file mode 100644
index e42a32b..0000000
--- a/Software/TouchGFX/target/generated/OSWrappers.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : OSWrappers.cpp
-  ******************************************************************************
-  * This file is generated by TouchGFX Generator 4.21.0. Please, do not edit!
-  ******************************************************************************
-  * @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.
-  *
-  ******************************************************************************
-  */
-
-#include <cassert>
-#include <touchgfx/hal/HAL.hpp>
-#include <touchgfx/hal/OSWrappers.hpp>
-
-#include <stm32h7xx_hal.h>
-#include <touchgfx/hal/OSWrappers.hpp>
-
-static volatile uint32_t fb_sem;
-static volatile uint32_t vsync_sem;
-
-using namespace touchgfx;
-
-/*
- * Initialize frame buffer semaphore and queue/mutex for VSYNC signal.
- */
-void OSWrappers::initialize()
-{
-    fb_sem = 0;
-    vsync_sem = 0;
-}
-
-/*
- * Take the frame buffer semaphore. Blocks until semaphore is available.
- */
-void OSWrappers::takeFrameBufferSemaphore()
-{
-    while(fb_sem);
-    fb_sem = 1;
-}
-
-/*
- * Release the frame buffer semaphore.
- */
-void OSWrappers::giveFrameBufferSemaphore()
-{
-    fb_sem = 0;
-}
-
-/*
- * Attempt to obtain the frame buffer semaphore. If semaphore is not available, do
- * nothing.
- *
- * Note must return immediately! This function does not care who has the taken the semaphore,
- * it only serves to make sure that the semaphore is taken by someone.
- */
-void OSWrappers::tryTakeFrameBufferSemaphore()
-{
-    fb_sem = 1;
-}
-
-/*
- * Release the frame buffer semaphore in a way that is safe in interrupt context. Called
- * from ISR.
- *
- * Release the frame buffer semaphore in a way that is safe in interrupt context.
- * Called from ISR.
- */
-void OSWrappers::giveFrameBufferSemaphoreFromISR()
-{
-    fb_sem = 0;
-}
-
-/*
- * Signal that a VSYNC has occurred. Should make the vsync queue/mutex available.
- *
- * Note This function is called from an ISR, and should (depending on OS) trigger a
- * scheduling.
- */
-void OSWrappers::signalVSync()
-{
-    vsync_sem = 1;
-}
-
-/*
-  * Signal that the rendering of the frame has completed. Used by
-  * some systems to avoid using any previous vsync.
-  */
-void OSWrappers::signalRenderingDone()
-{
-    vsync_sem = 0;
-}
-
-/*
- * This function checks if a VSync occurred after last rendering.
- * The function is used in systems that cannot wait in  waitForVSync
- * (because they are also checking other event sources.
- *
- * @note signalRenderingDone is typically used together with this function.
- *
- * @return True if VSync occurred.
- */
-bool OSWrappers::isVSyncAvailable()
-{
-    return vsync_sem;
-}
-
-/*
- * This function check if a VSYNC has occured.
- * If VSYNC has occured, signal TouchGFX to start a rendering
- */
-void OSWrappers::waitForVSync()
-{
-    if(vsync_sem)
-    {
-        vsync_sem = 0;
-        HAL::getInstance()->backPorchExited();
-    }
-}
-
-/*
- * A function that causes executing task to sleep for a number of milliseconds.
- *
- * A function that causes executing task to sleep for a number of milliseconds.
- * This function is OPTIONAL. It is only used by the TouchGFX in the case of
- * a specific frame refresh strategy (REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL).
- * Due to backwards compatibility, in order for this function to be useable by the HAL
- * the function must be explicitly registered:
- * hal.registerTaskDelayFunction(&OSWrappers::taskDelay)
- *
- * see HAL::setFrameRefreshStrategy(FrameRefreshStrategy s)
- * see HAL::registerTaskDelayFunction(void (*delayF)(uint16_t))
- */
-void OSWrappers::taskDelay(uint16_t ms)
-{
-    HAL_Delay(ms);
-}
-
-/**
- * A function that causes the executing task to yield control to
- * another thread. This function is used by the framework when it
- * is necessary to wait a little before continuing (e.g. drawing).
- *
- * The implementation should typically request the operating
- * system to change to another task of similar priority. When
- * running without an operating system, the implementation can run
- * a very short task and return.
- */
-void OSWrappers::taskYield()
-{
-
-}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-
diff --git a/Software/TouchGFX/target/generated/STM32DMA.cpp b/Software/TouchGFX/target/generated/STM32DMA.cpp
deleted file mode 100644
index a7c49b5..0000000
--- a/Software/TouchGFX/target/generated/STM32DMA.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : STM32DMA.cpp
-  ******************************************************************************
-  * This file is generated by TouchGFX Generator 4.21.0. Please, do not edit!
-  ******************************************************************************
-  * @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.
-  *
-  ******************************************************************************
-  */
-
-#include <STM32DMA.hpp>
-#include <assert.h>
-
-STM32DMA::STM32DMA()
-    : DMA_Interface(q), q(&b, 1)
-{
-}
-
-touchgfx::BlitOperations STM32DMA::getBlitCaps()
-{
-    return static_cast<touchgfx::BlitOperations>(0);
-}
-
-void STM32DMA::setupDataCopy(const touchgfx::BlitOp& blitOp)
-{
-    assert(0 && "DMA operation not supported");
-}
-
-void STM32DMA::setupDataFill(const touchgfx::BlitOp& blitOp)
-{
-    assert(0 && "DMA operation not supported");
-}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/target/generated/STM32DMA.hpp b/Software/TouchGFX/target/generated/STM32DMA.hpp
deleted file mode 100644
index 7f36446..0000000
--- a/Software/TouchGFX/target/generated/STM32DMA.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : STM32DMA.hpp
-  ******************************************************************************
-  * This file is generated by TouchGFX Generator 4.21.0. Please, do not edit!
-  ******************************************************************************
-  * @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.
-  *
-  ******************************************************************************
-  */
-#ifndef STM32DMA_HPP
-#define STM32DMA_HPP
-
-#include <touchgfx/hal/BlitOp.hpp>
-#include <touchgfx/hal/DMA.hpp>
-
-/**
- * @class STM32DMA
- *
- * @brief This class specializes DMA_Interface for the STM32 processors.
- *
- * @see touchgfx::DMA_Interface
- */
-class STM32DMA : public touchgfx::DMA_Interface
-{
-public:
-    /**
-     * @fn STM32DMA::STM32DMA();
-     *
-     * @brief Default constructor.
-     */
-    STM32DMA();
-
-    /**
-     * @fn touchgfx::BlitOperations STM32DMA::getBlitCaps();
-     *
-     * @brief No blit operations supported by this DMA implementation.
-     *
-     * @return Zero (no blit ops supported).
-     */
-    virtual touchgfx::BlitOperations getBlitCaps();
-
-    /**
-     * @fn virtual void STM32DMA::setupDataCopy(const touchgfx::BlitOp& blitOp);
-     *
-     * @brief Asserts if used.
-     *
-     * @param  blitOp The blit operation to be performed by this DMA instance.
-     */
-    virtual void setupDataCopy(const touchgfx::BlitOp& blitOp);
-
-    /**
-     * @fn virtual void STM32DMA::setupDataFill(const touchgfx::BlitOp& blitOp);
-     *
-     * @brief Asserts if used.
-     *
-     * @param  blitOp The blit operation to be performed by this DMA instance.
-     */
-    virtual void setupDataFill(const touchgfx::BlitOp& blitOp);
-
-    /**
-     * @fn virtual void STM32DMA::signalDMAInterrupt();
-     *
-     * @brief Does nothing.
-     */
-    virtual void signalDMAInterrupt()
-    {
-    }
-
-    /**
-     * @fn virtual void STM32DMA::flush();
-     *
-     * @brief Block until all DMA transfers are complete. Since this particular DMA does not do
-     * anything, return immediately.
-     */
-    virtual void flush()
-    {
-    }
-
-private:
-    touchgfx::LockFreeDMA_Queue q;
-    touchgfx::BlitOp b;
-};
-#endif // TOUCHGFX_NODMA_HPP
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/target/generated/TouchGFXConfiguration.cpp b/Software/TouchGFX/target/generated/TouchGFXConfiguration.cpp
deleted file mode 100644
index 12543d8..0000000
--- a/Software/TouchGFX/target/generated/TouchGFXConfiguration.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : TouchGFXConfiguration.cpp
-  ******************************************************************************
-  * This file is generated by TouchGFX Generator 4.21.0. Please, do not edit!
-  ******************************************************************************
-  * @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.
-  *
-  ******************************************************************************
-  */
-
-#include <texts/TypedTextDatabase.hpp>
-#include <fonts/ApplicationFontProvider.hpp>
-#include <gui/common/FrontendHeap.hpp>
-#include <BitmapDatabase.hpp>
-#include <platform/driver/lcd/LCD24bpp.hpp>
-#include <touchgfx/hal/OSWrappers.hpp>
-#include <STM32DMA.hpp>
-#include <TouchGFXHAL.hpp>
-#include <STM32TouchController.hpp>
-#include <stm32h7xx_hal.h>
-
-extern "C" void touchgfx_init();
-extern "C" void touchgfx_taskEntry();
-extern "C" void touchgfx_components_init();
-
-static STM32TouchController tc;
-static STM32DMA dma;
-static LCD24bpp display;
-static ApplicationFontProvider fontProvider;
-static Texts texts;
-static TouchGFXHAL hal(dma, display, tc, 1024, 600);
-
-void touchgfx_init()
-{
-    Bitmap::registerBitmapDatabase(BitmapDatabase::getInstance(), BitmapDatabase::getInstanceSize());
-    TypedText::registerTexts(&texts);
-    Texts::setLanguage(0);
-
-    FontManager::setFontProvider(&fontProvider);
-
-    FrontendHeap& heap = FrontendHeap::getInstance();
-    /*
-     * we need to obtain the reference above to initialize the frontend heap.
-     */
-    (void)heap;
-
-    /*
-     * Initialize TouchGFX
-     */
-    hal.initialize();
-}
-
-void touchgfx_components_init()
-{
-}
-
-void touchgfx_taskEntry()
-{
-    /*
-     * Main event loop will check for VSYNC signal, and then process next frame.
-     *
-     * Note This function returns immediately if there is no VSYNC signal.
-     */
-     if (OSWrappers::isVSyncAvailable())
-     {
-         hal.backPorchExited();
-     }
-}
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp b/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp
deleted file mode 100644
index f75e16b..0000000
--- a/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : TouchGFXGeneratedHAL.cpp
-  ******************************************************************************
-  * This file is generated by TouchGFX Generator 4.21.0. Please, do not edit!
-  ******************************************************************************
-  * @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.
-  *
-  ******************************************************************************
-  */
-
-#include <TouchGFXGeneratedHAL.hpp>
-#include <touchgfx/hal/OSWrappers.hpp>
-#include <gui/common/FrontendHeap.hpp>
-#include <touchgfx/hal/GPIO.hpp>
-#include <touchgfx/hal/PaintImpl.hpp>
-#include <touchgfx/hal/PaintRGB888Impl.hpp>
-
-#include "stm32h7xx.h"
-#include "stm32h7xx_hal_ltdc.h"
-
-using namespace touchgfx;
-
-namespace
-{
-    // Use the section "TouchGFX_Framebuffer" in the linker script to specify the placement of the buffer
-    LOCATION_PRAGMA_NOLOAD("TouchGFX_Framebuffer")
-    uint32_t frameBuf[(1024 * 600 * 3 + 3) / 4] LOCATION_ATTRIBUTE_NOLOAD("TouchGFX_Framebuffer");
-    static volatile bool refreshRequested = false;
-    static uint16_t lcd_int_active_line;
-    static uint16_t lcd_int_porch_line;
-}
-
-void TouchGFXGeneratedHAL::initialize()
-{
-    HAL::initialize();
-    registerEventListener(*(Application::getInstance()));
-    registerTaskDelayFunction(&OSWrappers::taskDelay);
-    setFrameRefreshStrategy(HAL::REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL);
-    enableLCDControllerInterrupt();
-    enableInterrupts();
-    setFrameBufferStartAddresses((void*)frameBuf, (void*)0, (void*)0);
-}
-
-void TouchGFXGeneratedHAL::configureInterrupts()
-{
-    NVIC_SetPriority(LTDC_IRQn, 9);
-}
-
-void TouchGFXGeneratedHAL::enableInterrupts()
-{
-    NVIC_EnableIRQ(LTDC_IRQn);
-}
-
-void TouchGFXGeneratedHAL::disableInterrupts()
-{
-    NVIC_DisableIRQ(LTDC_IRQn);
-}
-
-void TouchGFXGeneratedHAL::enableLCDControllerInterrupt()
-{
-    lcd_int_active_line = (LTDC->BPCR & 0x7FF) - 1;
-    lcd_int_porch_line = (LTDC->AWCR & 0x7FF) - 1;
-
-    /* Sets the Line Interrupt position */
-    LTDC->LIPCR = lcd_int_active_line;
-    /* Line Interrupt Enable            */
-    LTDC->IER |= LTDC_IER_LIE;
-}
-
-bool TouchGFXGeneratedHAL::beginFrame()
-{
-    return HAL::beginFrame();
-}
-
-void TouchGFXGeneratedHAL::endFrame()
-{
-    if (frameBufferUpdatedThisFrame)
-    {
-        refreshRequested = true;
-    }
-    HAL::endFrame();
-    touchgfx::OSWrappers::signalRenderingDone();
-}
-
-uint16_t* TouchGFXGeneratedHAL::getTFTFrameBuffer() const
-{
-    return (uint16_t*)LTDC_Layer1->CFBAR;
-}
-
-void TouchGFXGeneratedHAL::setTFTFrameBuffer(uint16_t* adr)
-{
-    LTDC_Layer1->CFBAR = (uint32_t)adr;
-
-    /* Reload immediate */
-    LTDC->SRCR = (uint32_t)LTDC_SRCR_IMR;
-}
-
-void TouchGFXGeneratedHAL::flushFrameBuffer(const touchgfx::Rect& rect)
-{
-    HAL::flushFrameBuffer(rect);
-}
-
-bool TouchGFXGeneratedHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes)
-{
-    return HAL::blockCopy(dest, src, numBytes);
-}
-
-uint16_t TouchGFXGeneratedHAL::getTFTCurrentLine()
-{
-    // This function only requires an implementation if single buffering
-    // on LTDC display is being used (REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL).
-
-    // The CPSR register (bits 15:0) specify current line of TFT controller.
-    uint16_t curr = (uint16_t)(LTDC->CPSR & 0xffff);
-    uint16_t backPorchY = (uint16_t)(LTDC->BPCR & 0x7FF) + 1;
-
-    // The semantics of the getTFTCurrentLine() function is to return a value
-    // in the range of 0-totalheight. If we are still in back porch area, return 0.
-    return (curr < backPorchY) ? 0 : (curr - backPorchY);
-}
-
-void TouchGFXGeneratedHAL::InvalidateCache()
-{
-    // If the framebuffer is placed in Write Through cached memory (e.g. SRAM) then
-    // the DCache must be flushed prior to DMA2D accessing it. That's done
-    // using the function SCB_CleanInvalidateDCache(). Remember to enable "CPU Cache" in the
-    // "System Core" settings for "Cortex M7" in CubeMX in order for this function call to work.
-    if (SCB->CCR & SCB_CCR_DC_Msk)
-    {
-        SCB_CleanInvalidateDCache();
-    }
-}
-
-void TouchGFXGeneratedHAL::FlushCache()
-{
-    // If the framebuffer is placed in Write Through cached memory (e.g. SRAM) then
-    // the DCache must be flushed prior to DMA2D accessing it. That's done
-    // using the function SCB_CleanInvalidateDCache(). Remember to enable "CPU Cache" in the
-    // "System Core" settings for "Cortex M7" in CubeMX in order for this function call to work.
-    if (SCB->CCR & SCB_CCR_DC_Msk)
-    {
-        SCB_CleanInvalidateDCache();
-    }
-}
-
-extern "C"
-{
-    void HAL_LTDC_LineEventCallback(LTDC_HandleTypeDef* hltdc)
-    {
-        if (!HAL::getInstance())
-        {
-            return;
-        }
-
-        if (LTDC->LIPCR == lcd_int_active_line)
-        {
-            //entering active area
-            HAL_LTDC_ProgramLineEvent(hltdc, lcd_int_porch_line);
-            HAL::getInstance()->vSync();
-            OSWrappers::signalVSync();
-
-            // Swap frame buffers immediately instead of waiting for the task to be scheduled in.
-            // Note: task will also swap when it wakes up, but that operation is guarded and will not have
-            // any effect if already swapped.
-            HAL::getInstance()->swapFrameBuffers();
-            GPIO::set(GPIO::VSYNC_FREQ);
-        }
-        else
-        {
-            //exiting active area
-            HAL_LTDC_ProgramLineEvent(hltdc, lcd_int_active_line);
-
-            // Signal to the framework that display update has finished.
-            HAL::getInstance()->frontPorchEntered();
-            GPIO::clear(GPIO::VSYNC_FREQ);
-        }
-    }
-}
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp b/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp
deleted file mode 100644
index aa19c5a..0000000
--- a/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp
+++ /dev/null
@@ -1,213 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : TouchGFXGeneratedHAL.hpp
-  ******************************************************************************
-  * This file is generated by TouchGFX Generator 4.21.0. Please, do not edit!
-  ******************************************************************************
-  * @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.
-  *
-  ******************************************************************************
-  */
-#ifndef TouchGFXGeneratedHAL_HPP
-#define TouchGFXGeneratedHAL_HPP
-
-#include <touchgfx/hal/HAL.hpp>
-
-/**
- * @class TouchGFXGeneratedHAL
- *
- * @brief HAL implementation for TouchGFXGenerated.
- *
- * @sa HAL
- */
-class TouchGFXGeneratedHAL : public touchgfx::HAL
-{
-public:
-    /**
-     * @fn TouchGFXGeneratedHAL::TouchGFXGeneratedHAL(touchgfx::DMA_Interface& dma, touchgfx::LCD& display, touchgfx::TouchController& tc, uint16_t width, uint16_t height) : touchgfx::HAL(dma, display, tc, width, height)
-     *
-     * @brief Constructor.
-     *
-     *        Constructor. Initializes members.
-     *
-     * @param [in,out] dma     Reference to DMA interface.
-     * @param [in,out] display Reference to LCD interface.
-     * @param [in,out] tc      Reference to Touch Controller driver.
-     * @param width            Width of the display.
-     * @param height           Height of the display.
-     */
-    TouchGFXGeneratedHAL(touchgfx::DMA_Interface& dma, touchgfx::LCD& display, touchgfx::TouchController& tc, uint16_t width, uint16_t height) :
-        touchgfx::HAL(dma, display, tc, width, height)
-    {
-    }
-
-    /**
-     * @fn void TouchGFXGeneratedHAL::initialize();
-     *
-     * @brief This function is responsible for initializing the entire framework.
-     *
-     *        This function is responsible for initializing the entire framework.
-     */
-    virtual void initialize();
-
-    /**
-     * @fn virtual void TouchGFXGeneratedHAL::configureInterrupts();
-     *
-     * @brief Sets the DMA and LCD interrupt priorities.
-     *
-     *        Sets the DMA and LCD interrupt priorities.
-     */
-    virtual void configureInterrupts();
-
-    /**
-     * @fn virtual void TouchGFXGeneratedHAL::enableInterrupts();
-     *
-     * @brief Enables the DMA and LCD interrupts.
-     *
-     *        Enables the DMA and LCD interrupts.
-     */
-    virtual void enableInterrupts();
-
-    /**
-     * @fn virtual void TouchGFXGeneratedHAL::disableInterrupts();
-     *
-     * @brief Disables the DMA and LCD interrupts.
-     *
-     *        Disables the DMA and LCD interrupts.
-     */
-    virtual void disableInterrupts();
-
-    /**
-     * @fn virtual void TouchGFXGeneratedHAL::enableLCDControllerInterrupt();
-     *
-     * @brief Configure the LCD controller to fire interrupts at VSYNC.
-     *
-     *        Configure the LCD controller to fire interrupts at VSYNC. Called automatically
-     *        once TouchGFX initialization has completed.
-     */
-    virtual void enableLCDControllerInterrupt();
-
-    /**
-     * @fn virtual void TouchGFXGeneratedHAL::flushFrameBuffer();
-     *
-     * @brief This function is called whenever the framework has performed a complete draw.
-     *
-     * This specialization is only in place to keep compilers happy. Base impl. will call the
-     * Rect version.
-     * @see HAL::flushFrameBuffer
-     */
-    virtual void flushFrameBuffer()
-    {
-        HAL::flushFrameBuffer();
-    }
-
-    /**
-     * @fn virtual void TouchGFXGeneratedHAL::flushFrameBuffer(const touchgfx::Rect& rect);
-     *
-     * @brief This function is called whenever the framework has performed a partial draw.
-     *
-     *        This function is called whenever the framework has performed a partial draw.
-     *        On the STM32F7, make sure to clean and invalidate the data cache. This is to
-     *        ensure that LTDC sees correct data when transferring to the display.
-     *
-     * @param rect The area of the screen that has been drawn, expressed in absolute coordinates.
-     *
-     * @see flushFrameBuffer().
-     */
-    virtual void flushFrameBuffer(const touchgfx::Rect& rect);
-
-    /**
-     *
-     * @fn virtual void TouchGFXGeneratedHAL::blockCopy();
-     *
-     * This function performs a platform-specific memcpy, if supported by the hardware.
-     *
-     * @param [out] dest     Pointer to destination memory.
-     * @param [in]  src      Pointer to source memory.
-     * @param       numBytes Number of bytes to copy.
-     *
-     * @return true if the copy succeeded, false if copy was not performed.
-     */
-    virtual bool blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes);
-
-    /**
-     * @fn virtual void TouchGFXGeneratedHAL::beginFrame();
-     *
-     * @brief Called when beginning to rendering a frame.
-     *
-     *        Called when beginning to rendering a frame.
-     *
-     * @return true if rendering can begin, false otherwise.
-     */
-    virtual bool beginFrame();
-
-    /**
-     * @fn virtual void TouchGFXGeneratedHAL::endFrame();
-     *
-     * @brief Called when a rendering pass is completed.
-     *
-     *        Called when a rendering pass is completed.
-     */
-    virtual void endFrame();
-
-protected:
-    /**
-     * @fn virtual uint16_t* TouchGFXGeneratedHAL::getTFTFrameBuffer() const;
-     *
-     * @brief Gets the frame buffer address used by the TFT controller.
-     *
-     *        Gets the frame buffer address used by the TFT controller.
-     *
-     * @return The address of the frame buffer currently being displayed on the TFT.
-     */
-    virtual uint16_t* getTFTFrameBuffer() const;
-
-    /**
-     * @fn virtual void TouchGFXGeneratedHAL::setTFTFrameBuffer(uint16_t* adr);
-     *
-     * @brief Sets the frame buffer address used by the TFT controller.
-     *
-     *        Sets the frame buffer address used by the TFT controller.
-     *
-     * @param [in,out] adr New frame buffer address.
-     */
-    virtual void setTFTFrameBuffer(uint16_t* adr);
-
-    /**
-     * @fn virtual uint16_t TouchGFXGeneratedHAL::getTFTCurrentLine()
-     *
-     * @brief Get the current line (Y) of the TFT controller
-     *
-     *        This function is used to obtain the progress of the TFT controller. More
-     *        specifically, the line (or Y-value) currently being transferred.
-     *
-     *        Note: The value must be adjusted to account for vertical back porch before
-     *        returning, such that the value is always within the range of 0 &lt;= value &lt;
-     *        actual display height in pixels
-     *
-     *        It is used for the REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL frame refresh
-     *        strategy in order to synchronize frame buffer drawing with TFT controller
-     *        progress. If this strategy is used, the concrete HAL subclass must provide an
-     *        override of this function that returns correct line value. If this strategy is
-     *        not used, then the getTFTCurrentLine function is never called and can be
-     *        disregarded.
-     *
-     * @return In this default implementation, 0xFFFF is returned to signify "not implemented".
-     */
-    virtual uint16_t getTFTCurrentLine();
-
-    virtual void InvalidateCache();
-
-    virtual void FlushCache();
-
-};
-#endif // TouchGFXGeneratedHAL_HPP
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Software/build/FT23_Charger.map b/Software/build/FT23_Charger.map
new file mode 100644
index 0000000..1cc653c
--- /dev/null
+++ b/Software/build/FT23_Charger.map
@@ -0,0 +1,5178 @@
+Archive member included to satisfy reference by file (symbol)
+
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o (atexit)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o (exit)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o) (__stdio_exit_handler)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) (_fwalk_sglue)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) (__sread)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o (memset)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) (_close_r)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) (errno)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) (_impure_ptr)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) (_lseek_r)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) (_read_r)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) (_write_r)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+                              build/debug/syscalls.o (__errno)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o (__libc_init_array)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o (__libc_fini_array)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) (__retarget_lock_init_recursive)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+                              build/debug/stm32h7xx_hal_fdcan.o (memcpy)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o) (__register_exitproc)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) (__call_exitprocs)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) (_free_r)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) (_malloc_r)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) (__malloc_lock)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) (_fflush_r)
+/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) (_sbrk_r)
+/usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+                              build/debug/stm32h7xx_hal_uart.o (__aeabi_uldivmod)
+/usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) (__udivmoddi4)
+/usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+                              /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) (__aeabi_ldiv0)
+
+Discarded input sections
+
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o
+ .data          0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+ .rodata        0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+ .text          0x00000000       0x70 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .ARM.extab     0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .ARM.exidx     0x00000000       0x10 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .debug_line    0x00000000       0x75 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .debug_line_str
+                0x00000000       0xb4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .debug_info    0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .debug_abbrev  0x00000000       0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .debug_str     0x00000000       0xc0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .ARM.attributes
+                0x00000000       0x1e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+ .text          0x00000000        0x0 build/debug/main.o
+ .data          0x00000000        0x0 build/debug/main.o
+ .bss           0x00000000        0x0 build/debug/main.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal.o
+ .text.HAL_MspInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal.o
+ .text.HAL_MspDeInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal.o
+ .text.HAL_DeInit
+                0x00000000       0x84 build/debug/stm32h7xx_hal.o
+ .text.HAL_GetTickPrio
+                0x00000000        0xc build/debug/stm32h7xx_hal.o
+ .text.HAL_SetTickFreq
+                0x00000000       0x2c build/debug/stm32h7xx_hal.o
+ .text.HAL_GetTickFreq
+                0x00000000        0xc build/debug/stm32h7xx_hal.o
+ .text.HAL_SuspendTick
+                0x00000000        0xe build/debug/stm32h7xx_hal.o
+ .text.HAL_ResumeTick
+                0x00000000        0xe build/debug/stm32h7xx_hal.o
+ .text.HAL_GetHalVersion
+                0x00000000        0x8 build/debug/stm32h7xx_hal.o
+ .text.HAL_GetREVID
+                0x00000000        0xc build/debug/stm32h7xx_hal.o
+ .text.HAL_GetDEVID
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_GetUIDw0
+                0x00000000        0xc build/debug/stm32h7xx_hal.o
+ .text.HAL_GetUIDw1
+                0x00000000        0xc build/debug/stm32h7xx_hal.o
+ .text.HAL_GetUIDw2
+                0x00000000        0xc build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_VREFBUF_VoltageScalingConfig
+                0x00000000       0x14 build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_VREFBUF_HighImpedanceConfig
+                0x00000000       0x14 build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_VREFBUF_TrimmingConfig
+                0x00000000       0x14 build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_EnableVREFBUF
+                0x00000000       0x34 build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_DisableVREFBUF
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_AnalogSwitchConfig
+                0x00000000       0x14 build/debug/stm32h7xx_hal.o
+ .text.HAL_EnableCompensationCell
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_DisableCompensationCell
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_EnableIOSpeedOptimize
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_DisableIOSpeedOptimize
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_CompensationCodeSelect
+                0x00000000       0x14 build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_CompensationCodeConfig
+                0x00000000       0x18 build/debug/stm32h7xx_hal.o
+ .text.HAL_SYSCFG_VDDMMC_CompensationCodeConfig
+                0x00000000       0x18 build/debug/stm32h7xx_hal.o
+ .text.HAL_DBGMCU_EnableDBGSleepMode
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_DBGMCU_DisableDBGSleepMode
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_DBGMCU_EnableDBGStopMode
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_DBGMCU_DisableDBGStopMode
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_DBGMCU_EnableDBGStandbyMode
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_DBGMCU_DisableDBGStandbyMode
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_EnableDomain3DBGStopMode
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_DisableDomain3DBGStopMode
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_EnableDomain3DBGStandbyMode
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_DisableDomain3DBGStandbyMode
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_SetFMCMemorySwappingConfig
+                0x00000000       0x14 build/debug/stm32h7xx_hal.o
+ .text.HAL_GetFMCMemorySwappingConfig
+                0x00000000       0x10 build/debug/stm32h7xx_hal.o
+ .text.HAL_EXTI_EdgeConfig
+                0x00000000       0x50 build/debug/stm32h7xx_hal.o
+ .text.HAL_EXTI_GenerateSWInterrupt
+                0x00000000       0x20 build/debug/stm32h7xx_hal.o
+ .text.HAL_EXTI_D1_ClearFlag
+                0x00000000       0x18 build/debug/stm32h7xx_hal.o
+ .text.HAL_EXTI_D1_EventInputConfig
+                0x00000000       0x84 build/debug/stm32h7xx_hal.o
+ .text.HAL_EXTI_D3_EventInputConfig
+                0x00000000       0x7c build/debug/stm32h7xx_hal.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_cortex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_cortex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_cortex.o
+ .text.__NVIC_DisableIRQ
+                0x00000000       0x24 build/debug/stm32h7xx_hal_cortex.o
+ .text.__NVIC_GetPriority
+                0x00000000       0x20 build/debug/stm32h7xx_hal_cortex.o
+ .text.NVIC_DecodePriority
+                0x00000000       0x3e build/debug/stm32h7xx_hal_cortex.o
+ .text.__NVIC_SystemReset
+                0x00000000       0x24 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_NVIC_DisableIRQ
+                0x00000000        0x8 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_NVIC_SystemReset
+                0x00000000        0x6 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_MPU_Disable
+                0x00000000       0x1c build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_MPU_Enable
+                0x00000000       0x20 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_MPU_EnableRegion
+                0x00000000       0x18 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_MPU_DisableRegion
+                0x00000000       0x18 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_MPU_ConfigRegion
+                0x00000000       0x58 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_NVIC_GetPriorityGrouping
+                0x00000000       0x10 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_NVIC_GetPriority
+                0x00000000       0x18 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_NVIC_SetPendingIRQ
+                0x00000000       0x1c build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_NVIC_GetPendingIRQ
+                0x00000000       0x24 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_NVIC_ClearPendingIRQ
+                0x00000000       0x1c build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_NVIC_GetActive
+                0x00000000       0x24 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_SYSTICK_CLKSourceConfig
+                0x00000000       0x20 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_SYSTICK_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_SYSTICK_IRQHandler
+                0x00000000        0x8 build/debug/stm32h7xx_hal_cortex.o
+ .text.HAL_GetCurrentCPUID
+                0x00000000        0x4 build/debug/stm32h7xx_hal_cortex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_crc.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_crc.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_crc.o
+ .text.CRC_Handle_8
+                0x00000000       0x88 build/debug/stm32h7xx_hal_crc.o
+ .text.CRC_Handle_16
+                0x00000000       0x4e build/debug/stm32h7xx_hal_crc.o
+ .text.HAL_CRC_MspInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_crc.o
+ .text.HAL_CRC_MspDeInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_crc.o
+ .text.HAL_CRC_DeInit
+                0x00000000       0x34 build/debug/stm32h7xx_hal_crc.o
+ .text.HAL_CRC_Accumulate
+                0x00000000       0x42 build/debug/stm32h7xx_hal_crc.o
+ .text.HAL_CRC_Calculate
+                0x00000000       0x50 build/debug/stm32h7xx_hal_crc.o
+ .text.HAL_CRC_GetState
+                0x00000000        0x4 build/debug/stm32h7xx_hal_crc.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_crc_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_crc_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_crc_ex.o
+ .text.HAL_CRCEx_Input_Data_Reverse
+                0x00000000       0x18 build/debug/stm32h7xx_hal_crc_ex.o
+ .text.HAL_CRCEx_Output_Data_Reverse
+                0x00000000       0x18 build/debug/stm32h7xx_hal_crc_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_dma.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_dma.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_dma.o
+ .text.DMA_SetConfig
+                0x00000000      0x1e8 build/debug/stm32h7xx_hal_dma.o
+ .text.DMA_CalcBaseAndBitshift
+                0x00000000       0xb0 build/debug/stm32h7xx_hal_dma.o
+ .text.DMA_CheckFifoParam
+                0x00000000       0xa0 build/debug/stm32h7xx_hal_dma.o
+ .text.DMA_CalcDMAMUXChannelBaseAndMask
+                0x00000000       0xac build/debug/stm32h7xx_hal_dma.o
+ .text.DMA_CalcDMAMUXRequestGenBaseAndMask
+                0x00000000       0x7c build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_Init
+                0x00000000      0x3e0 build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_DeInit
+                0x00000000      0x2bc build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_Start
+                0x00000000      0x144 build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_Start_IT
+                0x00000000      0x294 build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_Abort
+                0x00000000      0x33c build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_Abort_IT
+                0x00000000      0x26c build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_PollForTransfer
+                0x00000000      0x450 build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_IRQHandler
+                0x00000000      0x768 build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_RegisterCallback
+                0x00000000       0x7c build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_UnRegisterCallback
+                0x00000000       0x90 build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_GetState
+                0x00000000        0x6 build/debug/stm32h7xx_hal_dma.o
+ .text.HAL_DMA_GetError
+                0x00000000        0x4 build/debug/stm32h7xx_hal_dma.o
+ .rodata.flagBitshiftOffset.0
+                0x00000000        0x8 build/debug/stm32h7xx_hal_dma.o
+ .debug_info    0x00000000      0xe90 build/debug/stm32h7xx_hal_dma.o
+ .debug_abbrev  0x00000000      0x29c build/debug/stm32h7xx_hal_dma.o
+ .debug_loclists
+                0x00000000      0xa9f build/debug/stm32h7xx_hal_dma.o
+ .debug_aranges
+                0x00000000       0xa0 build/debug/stm32h7xx_hal_dma.o
+ .debug_rnglists
+                0x00000000       0x8c build/debug/stm32h7xx_hal_dma.o
+ .debug_line    0x00000000     0x249f build/debug/stm32h7xx_hal_dma.o
+ .debug_str     0x00000000      0x943 build/debug/stm32h7xx_hal_dma.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_dma.o
+ .debug_frame   0x00000000      0x1fc build/debug/stm32h7xx_hal_dma.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_dma.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_dma_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_dma_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_dma_ex.o
+ .text.DMA_MultiBufferSetConfig
+                0x00000000       0xa8 build/debug/stm32h7xx_hal_dma_ex.o
+ .text.HAL_DMAEx_MultiBufferStart
+                0x00000000      0x214 build/debug/stm32h7xx_hal_dma_ex.o
+ .text.HAL_DMAEx_MultiBufferStart_IT
+                0x00000000      0x394 build/debug/stm32h7xx_hal_dma_ex.o
+ .text.HAL_DMAEx_ChangeMemory
+                0x00000000       0x88 build/debug/stm32h7xx_hal_dma_ex.o
+ .text.HAL_DMAEx_ConfigMuxSync
+                0x00000000       0x6e build/debug/stm32h7xx_hal_dma_ex.o
+ .text.HAL_DMAEx_ConfigMuxRequestGenerator
+                0x00000000       0x5a build/debug/stm32h7xx_hal_dma_ex.o
+ .text.HAL_DMAEx_EnableMuxRequestGenerator
+                0x00000000       0x1e build/debug/stm32h7xx_hal_dma_ex.o
+ .text.HAL_DMAEx_DisableMuxRequestGenerator
+                0x00000000       0x1e build/debug/stm32h7xx_hal_dma_ex.o
+ .text.HAL_DMAEx_MUX_IRQHandler
+                0x00000000       0x5a build/debug/stm32h7xx_hal_dma_ex.o
+ .debug_info    0x00000000      0x8f9 build/debug/stm32h7xx_hal_dma_ex.o
+ .debug_abbrev  0x00000000      0x20a build/debug/stm32h7xx_hal_dma_ex.o
+ .debug_loclists
+                0x00000000      0x5df build/debug/stm32h7xx_hal_dma_ex.o
+ .debug_aranges
+                0x00000000       0x60 build/debug/stm32h7xx_hal_dma_ex.o
+ .debug_rnglists
+                0x00000000       0x47 build/debug/stm32h7xx_hal_dma_ex.o
+ .debug_line    0x00000000      0xb2a build/debug/stm32h7xx_hal_dma_ex.o
+ .debug_str     0x00000000      0x7e0 build/debug/stm32h7xx_hal_dma_ex.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_dma_ex.o
+ .debug_frame   0x00000000      0x104 build/debug/stm32h7xx_hal_dma_ex.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_dma_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_exti.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_exti.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_exti.o
+ .text.HAL_EXTI_SetConfigLine
+                0x00000000      0x140 build/debug/stm32h7xx_hal_exti.o
+ .text.HAL_EXTI_GetConfigLine
+                0x00000000      0x108 build/debug/stm32h7xx_hal_exti.o
+ .text.HAL_EXTI_ClearConfigLine
+                0x00000000       0xec build/debug/stm32h7xx_hal_exti.o
+ .text.HAL_EXTI_RegisterCallback
+                0x00000000       0x12 build/debug/stm32h7xx_hal_exti.o
+ .text.HAL_EXTI_GetHandle
+                0x00000000        0xc build/debug/stm32h7xx_hal_exti.o
+ .text.HAL_EXTI_IRQHandler
+                0x00000000       0x28 build/debug/stm32h7xx_hal_exti.o
+ .text.HAL_EXTI_GetPending
+                0x00000000       0x20 build/debug/stm32h7xx_hal_exti.o
+ .text.HAL_EXTI_ClearPending
+                0x00000000       0x1c build/debug/stm32h7xx_hal_exti.o
+ .text.HAL_EXTI_GenerateSWI
+                0x00000000       0x1c build/debug/stm32h7xx_hal_exti.o
+ .debug_info    0x00000000      0x89b build/debug/stm32h7xx_hal_exti.o
+ .debug_abbrev  0x00000000      0x1c9 build/debug/stm32h7xx_hal_exti.o
+ .debug_loclists
+                0x00000000      0x98e build/debug/stm32h7xx_hal_exti.o
+ .debug_aranges
+                0x00000000       0x60 build/debug/stm32h7xx_hal_exti.o
+ .debug_rnglists
+                0x00000000       0x46 build/debug/stm32h7xx_hal_exti.o
+ .debug_line    0x00000000      0x857 build/debug/stm32h7xx_hal_exti.o
+ .debug_str     0x00000000      0x4c7 build/debug/stm32h7xx_hal_exti.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_exti.o
+ .debug_frame   0x00000000      0x100 build/debug/stm32h7xx_hal_exti.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_exti.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_fdcan.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_fdcan.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_fdcan.o
+ .text.FDCAN_CopyMessageToRAM
+                0x00000000       0x8c build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_MspInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_MspDeInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_EnterPowerDownMode
+                0x00000000       0x42 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ExitPowerDownMode
+                0x00000000       0x4a build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigClockCalibration
+                0x00000000       0x94 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetClockCalibrationState
+                0x00000000       0x10 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ResetClockCalibrationState
+                0x00000000       0x48 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetClockCalibrationCounter
+                0x00000000       0x28 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigFilter
+                0x00000000       0x8a build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigGlobalFilter
+                0x00000000       0x32 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigExtendedIdMask
+                0x00000000       0x22 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigRxFifoOverwrite
+                0x00000000       0x46 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigFifoWatermark
+                0x00000000       0x5c build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigRamWatchdog
+                0x00000000       0x28 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigTimestampCounter
+                0x00000000       0x28 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_EnableTimestampCounter
+                0x00000000       0x28 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_DisableTimestampCounter
+                0x00000000       0x26 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetTimestampCounter
+                0x00000000        0x8 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ResetTimestampCounter
+                0x00000000       0x22 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigTimeoutCounter
+                0x00000000       0x30 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_EnableTimeoutCounter
+                0x00000000       0x26 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_DisableTimeoutCounter
+                0x00000000       0x26 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetTimeoutCounter
+                0x00000000        0x8 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ResetTimeoutCounter
+                0x00000000       0x20 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigTxDelayCompensation
+                0x00000000       0x24 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_EnableTxDelayCompensation
+                0x00000000       0x26 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_DisableTxDelayCompensation
+                0x00000000       0x26 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_EnableISOMode
+                0x00000000       0x26 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_DisableISOMode
+                0x00000000       0x26 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_EnableEdgeFiltering
+                0x00000000       0x26 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_DisableEdgeFiltering
+                0x00000000       0x26 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_Start
+                0x00000000       0x32 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_Stop
+                0x00000000       0x96 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_DeInit
+                0x00000000       0x2a build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_AddMessageToTxFifoQ
+                0x00000000       0x74 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_AddMessageToTxBuffer
+                0x00000000       0x7e build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_EnableTxBufferRequest
+                0x00000000       0x22 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetLatestTxFifoQRequestBuffer
+                0x00000000        0x6 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_AbortTxRequest
+                0x00000000       0x22 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetRxMessage
+                0x00000000      0x1dc build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetTxEvent
+                0x00000000       0xca build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetHighPriorityMessageStatus
+                0x00000000       0x34 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetProtocolStatus
+                0x00000000       0x4a build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetErrorCounters
+                0x00000000       0x1e build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_IsRxBufferMessageAvailable
+                0x00000000       0x40 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_IsTxBufferMessagePending
+                0x00000000        0xe build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetRxFifoFillLevel
+                0x00000000       0x1c build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetTxFifoFreeLevel
+                0x00000000        0xc build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_IsRestrictedOperationMode
+                0x00000000        0xa build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ExitRestrictedOperationMode
+                0x00000000       0x2a build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_ConfigOperation
+                0x00000000      0x1a0 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_ConfigReferenceMessage
+                0x00000000       0x4e build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_ConfigTrigger
+                0x00000000       0x7a build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_SetGlobalTime
+                0x00000000       0x9c build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_SetClockSynchronization
+                0x00000000       0xa0 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_ConfigStopWatch
+                0x00000000       0x5a build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_ConfigRegisterTimeMark
+                0x00000000       0xc4 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_EnableRegisterTimeMarkPulse
+                0x00000000       0x52 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_DisableRegisterTimeMarkPulse
+                0x00000000       0x52 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_EnableTriggerTimeMarkPulse
+                0x00000000       0x6c build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_DisableTriggerTimeMarkPulse
+                0x00000000       0x6c build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_EnableHardwareGapControl
+                0x00000000       0x6c build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_DisableHardwareGapControl
+                0x00000000       0x6c build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_EnableTimeMarkGapControl
+                0x00000000       0x6c build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_DisableTimeMarkGapControl
+                0x00000000       0x6c build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_SetNextIsGap
+                0x00000000       0x84 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_SetEndOfGap
+                0x00000000       0x84 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_ConfigExternalSyncPhase
+                0x00000000       0x44 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_EnableExternalSynchronization
+                0x00000000       0x52 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_DisableExternalSynchronization
+                0x00000000       0x52 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_GetOperationStatus
+                0x00000000       0x5a build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ConfigInterruptLines
+                0x00000000       0x38 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_ConfigInterruptLines
+                0x00000000       0x38 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_ActivateNotification
+                0x00000000       0x90 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_DeactivateNotification
+                0x00000000       0x88 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_ActivateNotification
+                0x00000000       0x56 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_TT_DeactivateNotification
+                0x00000000       0x52 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetState
+                0x00000000        0x6 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_GetError
+                0x00000000        0x6 build/debug/stm32h7xx_hal_fdcan.o
+ .rodata.DLCtoBytes
+                0x00000000       0x10 build/debug/stm32h7xx_hal_fdcan.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_flash.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_flash.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_EndOfOperationCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_OperationErrorCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_IRQHandler
+                0x00000000      0x1f4 build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_Unlock
+                0x00000000       0x5c build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_Lock
+                0x00000000       0x3c build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_OB_Unlock
+                0x00000000       0x34 build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_OB_Lock
+                0x00000000       0x20 build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_GetError
+                0x00000000        0xc build/debug/stm32h7xx_hal_flash.o
+ .text.FLASH_WaitForLastOperation
+                0x00000000       0xf4 build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_Program
+                0x00000000      0x10c build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_Program_IT
+                0x00000000       0xfc build/debug/stm32h7xx_hal_flash.o
+ .text.FLASH_OB_WaitForLastOperation
+                0x00000000       0x60 build/debug/stm32h7xx_hal_flash.o
+ .text.FLASH_CRC_WaitForLastOperation
+                0x00000000       0xb8 build/debug/stm32h7xx_hal_flash.o
+ .text.HAL_FLASH_OB_Launch
+                0x00000000       0x3c build/debug/stm32h7xx_hal_flash.o
+ .bss.pFlash    0x00000000       0x1c build/debug/stm32h7xx_hal_flash.o
+ .debug_info    0x00000000      0xa8f build/debug/stm32h7xx_hal_flash.o
+ .debug_abbrev  0x00000000      0x2a9 build/debug/stm32h7xx_hal_flash.o
+ .debug_loclists
+                0x00000000      0x642 build/debug/stm32h7xx_hal_flash.o
+ .debug_aranges
+                0x00000000       0x88 build/debug/stm32h7xx_hal_flash.o
+ .debug_rnglists
+                0x00000000       0x66 build/debug/stm32h7xx_hal_flash.o
+ .debug_line    0x00000000      0xa8f build/debug/stm32h7xx_hal_flash.o
+ .debug_str     0x00000000      0x713 build/debug/stm32h7xx_hal_flash.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_flash.o
+ .debug_frame   0x00000000      0x154 build/debug/stm32h7xx_hal_flash.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_flash.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_flash_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_flash_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_MassErase
+                0x00000000       0x40 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_EnableWRP
+                0x00000000       0x2c build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_DisableWRP
+                0x00000000       0x28 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_GetWRP
+                0x00000000       0x2c build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_RDPConfig
+                0x00000000       0x14 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_GetRDP
+                0x00000000       0x20 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_UserConfig
+                0x00000000       0xc4 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_GetUser
+                0x00000000       0x14 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_PCROPConfig
+                0x00000000       0x44 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_GetPCROP
+                0x00000000       0x50 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_BOR_LevelConfig
+                0x00000000       0x14 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_GetBOR
+                0x00000000       0x10 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_BootAddConfig
+                0x00000000       0x30 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_GetBootAdd
+                0x00000000       0x14 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_SecureAreaConfig
+                0x00000000       0x4c build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_GetSecureArea
+                0x00000000       0x50 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_CRC_AddSector
+                0x00000000       0x3c build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_CRC_SelectAddress
+                0x00000000       0x1c build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_OTP_LockConfig
+                0x00000000       0x10 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_OB_OTP_GetLock
+                0x00000000        0xc build/debug/stm32h7xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_OBProgram
+                0x00000000       0xec build/debug/stm32h7xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_OBGetConfig
+                0x00000000       0x7c build/debug/stm32h7xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_Unlock_Bank1
+                0x00000000       0x34 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_Lock_Bank1
+                0x00000000       0x14 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_Unlock_Bank2
+                0x00000000       0x3c build/debug/stm32h7xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_Lock_Bank2
+                0x00000000       0x18 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_ComputeCRC
+                0x00000000      0x164 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.FLASH_Erase_Sector
+                0x00000000       0x48 build/debug/stm32h7xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_Erase
+                0x00000000      0x12c build/debug/stm32h7xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_Erase_IT
+                0x00000000       0xe8 build/debug/stm32h7xx_hal_flash_ex.o
+ .debug_info    0x00000000     0x1046 build/debug/stm32h7xx_hal_flash_ex.o
+ .debug_abbrev  0x00000000      0x28c build/debug/stm32h7xx_hal_flash_ex.o
+ .debug_loclists
+                0x00000000      0x686 build/debug/stm32h7xx_hal_flash_ex.o
+ .debug_aranges
+                0x00000000      0x108 build/debug/stm32h7xx_hal_flash_ex.o
+ .debug_rnglists
+                0x00000000       0xc6 build/debug/stm32h7xx_hal_flash_ex.o
+ .debug_line    0x00000000      0xe1a build/debug/stm32h7xx_hal_flash_ex.o
+ .debug_str     0x00000000      0x9f3 build/debug/stm32h7xx_hal_flash_ex.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_flash_ex.o
+ .debug_frame   0x00000000      0x268 build/debug/stm32h7xx_hal_flash_ex.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_flash_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_gpio.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_gpio.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_gpio.o
+ .text.HAL_GPIO_DeInit
+                0x00000000      0x150 build/debug/stm32h7xx_hal_gpio.o
+ .text.HAL_GPIO_ReadPin
+                0x00000000        0xe build/debug/stm32h7xx_hal_gpio.o
+ .text.HAL_GPIO_TogglePin
+                0x00000000       0x12 build/debug/stm32h7xx_hal_gpio.o
+ .text.HAL_GPIO_LockPin
+                0x00000000       0x2e build/debug/stm32h7xx_hal_gpio.o
+ .text.HAL_GPIO_EXTI_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_gpio.o
+ .text.HAL_GPIO_EXTI_IRQHandler
+                0x00000000       0x1e build/debug/stm32h7xx_hal_gpio.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_hsem.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_hsem.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_Take
+                0x00000000       0x24 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_FastTake
+                0x00000000       0x20 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_IsSemTaken
+                0x00000000       0x18 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_Release
+                0x00000000       0x10 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_ReleaseAll
+                0x00000000       0x14 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_SetClearKey
+                0x00000000       0x18 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_GetClearKey
+                0x00000000       0x10 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_ActivateNotification
+                0x00000000       0x10 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_DeactivateNotification
+                0x00000000       0x10 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_FreeCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_hsem.o
+ .text.HAL_HSEM_IRQHandler
+                0x00000000       0x1c build/debug/stm32h7xx_hal_hsem.o
+ .debug_info    0x00000000      0x3b7 build/debug/stm32h7xx_hal_hsem.o
+ .debug_abbrev  0x00000000      0x1eb build/debug/stm32h7xx_hal_hsem.o
+ .debug_loclists
+                0x00000000       0xdf build/debug/stm32h7xx_hal_hsem.o
+ .debug_aranges
+                0x00000000       0x70 build/debug/stm32h7xx_hal_hsem.o
+ .debug_rnglists
+                0x00000000       0x4f build/debug/stm32h7xx_hal_hsem.o
+ .debug_line    0x00000000      0x2c8 build/debug/stm32h7xx_hal_hsem.o
+ .debug_str     0x00000000      0x358 build/debug/stm32h7xx_hal_hsem.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_hsem.o
+ .debug_frame   0x00000000       0xc8 build/debug/stm32h7xx_hal_hsem.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_hsem.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_i2c.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_i2c.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_Flush_TXDR
+                0x00000000       0x22 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_TransferConfig
+                0x00000000       0x3c build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_Enable_IRQ
+                0x00000000       0x9c build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_Disable_IRQ
+                0x00000000       0x6e build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_ConvertOtherXferOptions
+                0x00000000       0x1e build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_IsErrorOccurred
+                0x00000000      0x118 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_WaitOnTXISFlagUntilTimeout
+                0x00000000       0x60 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_WaitOnFlagUntilTimeout
+                0x00000000       0x7c build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_RequestMemoryWrite
+                0x00000000       0x7c build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_RequestMemoryRead
+                0x00000000       0x78 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_WaitOnSTOPFlagUntilTimeout
+                0x00000000       0x5e build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_WaitOnRXNEFlagUntilTimeout
+                0x00000000       0xaa build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_MspInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_MspDeInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_DeInit
+                0x00000000       0x32 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Transmit
+                0x00000000      0x1a4 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Receive
+                0x00000000      0x178 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Transmit
+                0x00000000      0x1f2 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Receive
+                0x00000000      0x182 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Transmit_IT
+                0x00000000       0xc4 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Receive_IT
+                0x00000000       0x98 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Transmit_IT
+                0x00000000       0x8c build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Receive_IT
+                0x00000000       0x64 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Transmit_DMA
+                0x00000000      0x170 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Receive_DMA
+                0x00000000      0x150 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Transmit_DMA
+                0x00000000      0x13c build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Receive_DMA
+                0x00000000       0xf0 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Write
+                0x00000000      0x1a8 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Read
+                0x00000000      0x1b0 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Write_IT
+                0x00000000       0xb8 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Read_IT
+                0x00000000       0xb4 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Write_DMA
+                0x00000000      0x134 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Read_DMA
+                0x00000000      0x134 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_IsDeviceReady
+                0x00000000      0x168 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Seq_Transmit_IT
+                0x00000000      0x10c build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Seq_Transmit_DMA
+                0x00000000      0x1e4 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Seq_Receive_IT
+                0x00000000       0xb0 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Seq_Receive_DMA
+                0x00000000      0x170 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Seq_Transmit_IT
+                0x00000000       0xe0 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Seq_Transmit_DMA
+                0x00000000      0x1a8 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Seq_Receive_IT
+                0x00000000       0xe0 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Seq_Receive_DMA
+                0x00000000      0x1a8 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_EnableListen_IT
+                0x00000000       0x28 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_DisableListen_IT
+                0x00000000       0x38 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_Master_Abort_IT
+                0x00000000       0x84 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_EV_IRQHandler
+                0x00000000       0x10 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_MasterTxCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_MasterRxCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_ITMasterSeqCplt
+                0x00000000       0x52 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_SlaveTxCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_SlaveRxCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_ITSlaveSeqCplt
+                0x00000000       0x7e build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_DMASlaveTransmitCplt
+                0x00000000       0x22 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_DMASlaveReceiveCplt
+                0x00000000       0xa0 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_AddrCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_ITAddrCplt
+                0x00000000       0xa0 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_ListenCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_ITListenCplt
+                0x00000000       0x68 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_MemTxCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_MemRxCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_ErrorCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_AbortCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_TreatErrorCallback
+                0x00000000       0x2c build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_ITError
+                0x00000000      0x130 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_ITSlaveCplt
+                0x00000000      0x2ec build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_Slave_ISR_IT
+                0x00000000      0x146 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_ITMasterCplt
+                0x00000000      0x11e build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_Master_ISR_IT
+                0x00000000      0x192 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_Mem_ISR_DMA
+                0x00000000      0x1a0 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_Slave_ISR_DMA
+                0x00000000      0x23c build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_Master_ISR_DMA
+                0x00000000      0x140 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_DMAError
+                0x00000000      0x138 build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_DMAMasterTransmitCplt
+                0x00000000       0x5a build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_DMAMasterReceiveCplt
+                0x00000000       0x5a build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_Mem_ISR_IT
+                0x00000000      0x198 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_ER_IRQHandler
+                0x00000000       0x6a build/debug/stm32h7xx_hal_i2c.o
+ .text.I2C_DMAAbort
+                0x00000000       0x1a build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_GetState
+                0x00000000        0x6 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_GetMode
+                0x00000000        0x6 build/debug/stm32h7xx_hal_i2c.o
+ .text.HAL_I2C_GetError
+                0x00000000        0x4 build/debug/stm32h7xx_hal_i2c.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_i2c_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_i2c_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_i2c_ex.o
+ .text.HAL_I2CEx_EnableWakeUp
+                0x00000000       0x52 build/debug/stm32h7xx_hal_i2c_ex.o
+ .text.HAL_I2CEx_DisableWakeUp
+                0x00000000       0x52 build/debug/stm32h7xx_hal_i2c_ex.o
+ .text.HAL_I2CEx_EnableFastModePlus
+                0x00000000       0x30 build/debug/stm32h7xx_hal_i2c_ex.o
+ .text.HAL_I2CEx_DisableFastModePlus
+                0x00000000       0x34 build/debug/stm32h7xx_hal_i2c_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_ltdc.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_ltdc.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_MspInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_MspDeInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_DeInit
+                0x00000000       0x6a build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_ConfigColorKeying
+                0x00000000       0x4a build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_ConfigCLUT
+                0x00000000       0x82 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_EnableColorKeying
+                0x00000000       0x3c build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_DisableColorKeying
+                0x00000000       0x3c build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_EnableCLUT
+                0x00000000       0x3c build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_DisableCLUT
+                0x00000000       0x3c build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_EnableDither
+                0x00000000       0x34 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_DisableDither
+                0x00000000       0x34 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetWindowSize
+                0x00000000       0x56 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetWindowPosition
+                0x00000000       0x56 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetPixelFormat
+                0x00000000       0x42 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetAlpha
+                0x00000000       0x42 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetPitch
+                0x00000000       0xb4 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_Reload
+                0x00000000       0x3a build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_ConfigLayer_NoReload
+                0x00000000       0x64 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetWindowSize_NoReload
+                0x00000000       0x52 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetWindowPosition_NoReload
+                0x00000000       0x52 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetPixelFormat_NoReload
+                0x00000000       0x3e build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetAlpha_NoReload
+                0x00000000       0x3e build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetAddress_NoReload
+                0x00000000       0x3e build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_SetPitch_NoReload
+                0x00000000       0x9c build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_ConfigColorKeying_NoReload
+                0x00000000       0x4a build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_EnableColorKeying_NoReload
+                0x00000000       0x38 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_DisableColorKeying_NoReload
+                0x00000000       0x38 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_EnableCLUT_NoReload
+                0x00000000       0x38 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_DisableCLUT_NoReload
+                0x00000000       0x38 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_GetState
+                0x00000000        0x6 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_GetError
+                0x00000000        0x6 build/debug/stm32h7xx_hal_ltdc.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_ltdc_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_ltdc_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_ltdc_ex.o
+ .debug_info    0x00000000       0x81 build/debug/stm32h7xx_hal_ltdc_ex.o
+ .debug_abbrev  0x00000000       0x26 build/debug/stm32h7xx_hal_ltdc_ex.o
+ .debug_aranges
+                0x00000000       0x18 build/debug/stm32h7xx_hal_ltdc_ex.o
+ .debug_line    0x00000000       0x59 build/debug/stm32h7xx_hal_ltdc_ex.o
+ .debug_str     0x00000000      0x1ae build/debug/stm32h7xx_hal_ltdc_ex.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_ltdc_ex.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_ltdc_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_mdma.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_mdma.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_mdma.o
+ .text.MDMA_SetConfig
+                0x00000000       0x90 build/debug/stm32h7xx_hal_mdma.o
+ .text.MDMA_Init
+                0x00000000       0xb8 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_Init
+                0x00000000       0x60 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_DeInit
+                0x00000000       0x56 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_ConfigPostRequestMask
+                0x00000000       0x6a build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_RegisterCallback
+                0x00000000       0x78 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_UnRegisterCallback
+                0x00000000       0x90 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_LinkedList_CreateNode
+                0x00000000      0x10a build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_LinkedList_AddNode
+                0x00000000       0xe2 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_LinkedList_RemoveNode
+                0x00000000       0xcc build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_LinkedList_EnableCircularMode
+                0x00000000       0x58 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_LinkedList_DisableCircularMode
+                0x00000000       0x52 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_Start
+                0x00000000       0x76 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_Start_IT
+                0x00000000       0xaa build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_Abort
+                0x00000000       0x7a build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_Abort_IT
+                0x00000000       0x2a build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_PollForTransfer
+                0x00000000      0x12c build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_GenerateSWRequest
+                0x00000000       0x40 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_IRQHandler
+                0x00000000      0x1b0 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_GetState
+                0x00000000        0x6 build/debug/stm32h7xx_hal_mdma.o
+ .text.HAL_MDMA_GetError
+                0x00000000        0x4 build/debug/stm32h7xx_hal_mdma.o
+ .debug_info    0x00000000      0xe03 build/debug/stm32h7xx_hal_mdma.o
+ .debug_abbrev  0x00000000      0x243 build/debug/stm32h7xx_hal_mdma.o
+ .debug_loclists
+                0x00000000      0xc23 build/debug/stm32h7xx_hal_mdma.o
+ .debug_aranges
+                0x00000000       0xc0 build/debug/stm32h7xx_hal_mdma.o
+ .debug_rnglists
+                0x00000000       0x94 build/debug/stm32h7xx_hal_mdma.o
+ .debug_line    0x00000000     0x13de build/debug/stm32h7xx_hal_mdma.o
+ .debug_str     0x00000000      0xa17 build/debug/stm32h7xx_hal_mdma.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_mdma.o
+ .debug_frame   0x00000000      0x26c build/debug/stm32h7xx_hal_mdma.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_mdma.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_mmc.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_mmc.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_mmc.o
+ .debug_info    0x00000000       0x81 build/debug/stm32h7xx_hal_mmc.o
+ .debug_abbrev  0x00000000       0x26 build/debug/stm32h7xx_hal_mmc.o
+ .debug_aranges
+                0x00000000       0x18 build/debug/stm32h7xx_hal_mmc.o
+ .debug_line    0x00000000       0x55 build/debug/stm32h7xx_hal_mmc.o
+ .debug_str     0x00000000      0x1aa build/debug/stm32h7xx_hal_mmc.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_mmc.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_mmc.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_mmc_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_mmc_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_mmc_ex.o
+ .debug_info    0x00000000       0x81 build/debug/stm32h7xx_hal_mmc_ex.o
+ .debug_abbrev  0x00000000       0x26 build/debug/stm32h7xx_hal_mmc_ex.o
+ .debug_aranges
+                0x00000000       0x18 build/debug/stm32h7xx_hal_mmc_ex.o
+ .debug_line    0x00000000       0x58 build/debug/stm32h7xx_hal_mmc_ex.o
+ .debug_str     0x00000000      0x1ad build/debug/stm32h7xx_hal_mmc_ex.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_mmc_ex.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_mmc_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_msp.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_msp.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_msp.o
+ .text.HAL_FMC_MspDeInit
+                0x00000000       0x80 build/debug/stm32h7xx_hal_msp.o
+ .text.HAL_CRC_MspDeInit
+                0x00000000       0x24 build/debug/stm32h7xx_hal_msp.o
+ .text.HAL_FDCAN_MspDeInit
+                0x00000000       0x44 build/debug/stm32h7xx_hal_msp.o
+ .text.HAL_I2C_MspDeInit
+                0x00000000       0x3c build/debug/stm32h7xx_hal_msp.o
+ .text.HAL_LTDC_MspDeInit
+                0x00000000       0x7c build/debug/stm32h7xx_hal_msp.o
+ .text.HAL_SD_MspDeInit
+                0x00000000       0x4c build/debug/stm32h7xx_hal_msp.o
+ .text.HAL_UART_MspDeInit
+                0x00000000       0x58 build/debug/stm32h7xx_hal_msp.o
+ .text.HAL_PCD_MspDeInit
+                0x00000000       0x34 build/debug/stm32h7xx_hal_msp.o
+ .text.HAL_SDRAM_MspDeInit
+                0x00000000        0x8 build/debug/stm32h7xx_hal_msp.o
+ .bss.FMC_DeInitialized
+                0x00000000        0x4 build/debug/stm32h7xx_hal_msp.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_nand.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_nand.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_nand.o
+ .debug_info    0x00000000       0x81 build/debug/stm32h7xx_hal_nand.o
+ .debug_abbrev  0x00000000       0x26 build/debug/stm32h7xx_hal_nand.o
+ .debug_aranges
+                0x00000000       0x18 build/debug/stm32h7xx_hal_nand.o
+ .debug_line    0x00000000       0x56 build/debug/stm32h7xx_hal_nand.o
+ .debug_str     0x00000000      0x1ab build/debug/stm32h7xx_hal_nand.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_nand.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_nand.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_nor.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_nor.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_nor.o
+ .debug_info    0x00000000       0x81 build/debug/stm32h7xx_hal_nor.o
+ .debug_abbrev  0x00000000       0x26 build/debug/stm32h7xx_hal_nor.o
+ .debug_aranges
+                0x00000000       0x18 build/debug/stm32h7xx_hal_nor.o
+ .debug_line    0x00000000       0x55 build/debug/stm32h7xx_hal_nor.o
+ .debug_str     0x00000000      0x1aa build/debug/stm32h7xx_hal_nor.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_nor.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_nor.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_pcd.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_pcd.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_pcd.o
+ .text.PCD_WriteEmptyTxFifo
+                0x00000000       0xd0 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_MspInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_MspDeInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_DeInit
+                0x00000000       0x2e build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_Start
+                0x00000000       0x44 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_Stop
+                0x00000000       0x4c build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_DataOutStageCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.PCD_EP_OutXfrComplete_int
+                0x00000000      0x104 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_DataInStageCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_SetupStageCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.PCD_EP_OutSetupPacket_int
+                0x00000000       0x50 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_SOFCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_ResetCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_SuspendCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_ResumeCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_ISOOUTIncompleteCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_ISOINIncompleteCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_ConnectCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_DisconnectCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_DevConnect
+                0x00000000       0x3e build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_DevDisconnect
+                0x00000000       0x3e build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_SetAddress
+                0x00000000       0x26 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_EP_Open
+                0x00000000       0x8c build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_EP_Close
+                0x00000000       0x70 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_EP_Receive
+                0x00000000       0x4a build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_EP_GetRxCount
+                0x00000000       0x12 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_EP_Transmit
+                0x00000000       0x4a build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_EP_SetStall
+                0x00000000       0x86 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_EP_ClrStall
+                0x00000000       0x74 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_EP_Abort
+                0x00000000       0x34 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_IRQHandler
+                0x00000000      0x600 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_EP_Flush
+                0x00000000       0x36 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_ActivateRemoteWakeup
+                0x00000000        0xa build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_DeActivateRemoteWakeup
+                0x00000000        0xa build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_GetState
+                0x00000000        0x6 build/debug/stm32h7xx_hal_pcd.o
+ .text.HAL_PCD_SetTestMode
+                0x00000000       0x24 build/debug/stm32h7xx_hal_pcd.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_pcd_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_pcd_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_SetTxFiFo
+                0x00000000       0x4c build/debug/stm32h7xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_SetRxFiFo
+                0x00000000        0x8 build/debug/stm32h7xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_DeActivateLPM
+                0x00000000       0x20 build/debug/stm32h7xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_ActivateBCD
+                0x00000000       0x2c build/debug/stm32h7xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_DeActivateBCD
+                0x00000000       0x24 build/debug/stm32h7xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_LPM_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_BCD_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_BCD_VBUSDetect
+                0x00000000       0xb8 build/debug/stm32h7xx_hal_pcd_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_pwr.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_pwr.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_DeInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_EnableBkUpAccess
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_DisableBkUpAccess
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_ConfigPVD
+                0x00000000       0xa0 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_EnablePVD
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_DisablePVD
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_EnableWakeUpPin
+                0x00000000       0x18 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_DisableWakeUpPin
+                0x00000000       0x14 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_EnterSLEEPMode
+                0x00000000       0x1c build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_EnterSTOPMode
+                0x00000000       0x44 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_EnterSTANDBYMode
+                0x00000000       0x28 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_EnableSleepOnExit
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_DisableSleepOnExit
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_EnableSEVOnPend
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_DisableSEVOnPend
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_PVDCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pwr.o
+ .text.HAL_PWR_PVD_IRQHandler
+                0x00000000       0x28 build/debug/stm32h7xx_hal_pwr.o
+ .debug_info    0x00000000      0x922 build/debug/stm32h7xx_hal_pwr.o
+ .debug_abbrev  0x00000000      0x196 build/debug/stm32h7xx_hal_pwr.o
+ .debug_loclists
+                0x00000000       0x50 build/debug/stm32h7xx_hal_pwr.o
+ .debug_aranges
+                0x00000000       0xa0 build/debug/stm32h7xx_hal_pwr.o
+ .debug_rnglists
+                0x00000000       0x74 build/debug/stm32h7xx_hal_pwr.o
+ .debug_line    0x00000000      0x3d1 build/debug/stm32h7xx_hal_pwr.o
+ .debug_str     0x00000000      0x600 build/debug/stm32h7xx_hal_pwr.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_pwr.o
+ .debug_frame   0x00000000      0x128 build/debug/stm32h7xx_hal_pwr.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_pwr.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_pwr_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_pwr_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_GetSupplyConfig
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_ControlVoltageScaling
+                0x00000000       0x48 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_GetVoltageRange
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_ControlStopModeVoltageScaling
+                0x00000000       0x14 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_GetStopModeVoltageRange
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnterSTOP2Mode
+                0x00000000       0x4c build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnterSTOPMode
+                0x00000000       0x58 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_ClearPendingEvent
+                0x00000000        0x4 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnterSTANDBYMode
+                0x00000000       0x30 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_ConfigD3Domain
+                0x00000000       0x14 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnableFlashPowerDown
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableFlashPowerDown
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnableMemoryShutOff
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableMemoryShutOff
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnableWakeUpPin
+                0x00000000       0xa8 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableWakeUpPin
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_GetWakeupFlag
+                0x00000000        0xc build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_ClearWakeupFlag
+                0x00000000       0x1c build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_WKUP1_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_WKUP2_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_WKUP3_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_WKUP4_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_WKUP5_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_WKUP6_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_WAKEUP_PIN_IRQHandler
+                0x00000000       0x98 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnableBkUpReg
+                0x00000000       0x34 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableBkUpReg
+                0x00000000       0x34 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnableUSBReg
+                0x00000000       0x34 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableUSBReg
+                0x00000000       0x34 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableUSBVoltageDetector
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnableBatteryCharging
+                0x00000000       0x1c build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableBatteryCharging
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnableAnalogBooster
+                0x00000000       0x18 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableAnalogBooster
+                0x00000000       0x18 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnableMonitoring
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableMonitoring
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_GetTemperatureLevel
+                0x00000000       0x1c build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_GetVBATLevel
+                0x00000000       0x1c build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_GetMMCVoltage
+                0x00000000       0x18 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_ConfigAVD
+                0x00000000       0x98 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnableAVD
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableAVD
+                0x00000000       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_AVDCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text.HAL_PWREx_PVD_AVD_IRQHandler
+                0x00000000       0x78 build/debug/stm32h7xx_hal_pwr_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_rcc.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_rcc.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_rcc.o
+ .text.HAL_RCC_DeInit
+                0x00000000      0x1d4 build/debug/stm32h7xx_hal_rcc.o
+ .text.HAL_RCC_MCOConfig
+                0x00000000       0xa4 build/debug/stm32h7xx_hal_rcc.o
+ .text.HAL_RCC_EnableCSS
+                0x00000000       0x10 build/debug/stm32h7xx_hal_rcc.o
+ .text.HAL_RCC_DisableCSS
+                0x00000000       0x10 build/debug/stm32h7xx_hal_rcc.o
+ .text.HAL_RCC_GetOscConfig
+                0x00000000      0x14c build/debug/stm32h7xx_hal_rcc.o
+ .text.HAL_RCC_GetClockConfig
+                0x00000000       0x54 build/debug/stm32h7xx_hal_rcc.o
+ .text.HAL_RCC_CSSCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_rcc.o
+ .text.HAL_RCC_NMI_IRQHandler
+                0x00000000       0x20 build/debug/stm32h7xx_hal_rcc.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_rcc_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_rcc_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_GetPeriphCLKConfig
+                0x00000000      0x1e0 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_GetD1PCLK1Freq
+                0x00000000       0x24 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_GetD1SysClockFreq
+                0x00000000       0x44 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_EnableLSECSS
+                0x00000000       0x10 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_DisableLSECSS
+                0x00000000       0x18 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_EnableLSECSS_IT
+                0x00000000       0x30 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_WakeUpStopCLKConfig
+                0x00000000       0x14 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_KerWakeUpStopCLKConfig
+                0x00000000       0x14 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRSConfig
+                0x00000000       0x74 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate
+                0x00000000       0x10 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRSGetSynchronizationInfo
+                0x00000000       0x24 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRSWaitSynchronization
+                0x00000000       0xac build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRS_SyncOkCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRS_SyncWarnCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRS_ExpectedSyncCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRS_ErrorCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRS_IRQHandler
+                0x00000000       0x88 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_LSECSS_Callback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_LSECSS_IRQHandler
+                0x00000000       0x20 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_sd.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_sd.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_sd.o
+ .text.SD_PowerOFF
+                0x00000000        0xa build/debug/stm32h7xx_hal_sd.o
+ .text.SD_Read_IT
+                0x00000000       0x3c build/debug/stm32h7xx_hal_sd.o
+ .text.SD_Write_IT
+                0x00000000       0x4c build/debug/stm32h7xx_hal_sd.o
+ .text.SD_SwitchSpeed
+                0x00000000      0x114 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_MspInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_MspDeInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_DeInit
+                0x00000000       0x24 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_ReadBlocks
+                0x00000000      0x20c build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_WriteBlocks
+                0x00000000      0x21c build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_ReadBlocks_IT
+                0x00000000       0xd4 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_WriteBlocks_IT
+                0x00000000       0xd0 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_ReadBlocks_DMA
+                0x00000000       0xe0 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_WriteBlocks_DMA
+                0x00000000       0xe0 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_Erase
+                0x00000000       0xf8 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_GetState
+                0x00000000        0x6 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_GetError
+                0x00000000        0x4 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_TxCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_RxCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_ErrorCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_AbortCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_GetCardCID
+                0x00000000       0x52 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_GetCardInfo
+                0x00000000       0x24 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_ConfigSpeedBusOperation
+                0x00000000      0x104 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_Abort
+                0x00000000       0xf4 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_Abort_IT
+                0x00000000       0x4c build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SDEx_Read_DMADoubleBuf0CpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SDEx_Read_DMADoubleBuf1CpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SDEx_Write_DMADoubleBuf0CpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SDEx_Write_DMADoubleBuf1CpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_IRQHandler
+                0x00000000      0x22c build/debug/stm32h7xx_hal_sd.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_sd_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_sd_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_sd_ex.o
+ .text.HAL_SDEx_ConfigDMAMultiBuffer
+                0x00000000       0x26 build/debug/stm32h7xx_hal_sd_ex.o
+ .text.HAL_SDEx_ReadBlocksDMAMultiBuffer
+                0x00000000       0xd4 build/debug/stm32h7xx_hal_sd_ex.o
+ .text.HAL_SDEx_WriteBlocksDMAMultiBuffer
+                0x00000000       0xc0 build/debug/stm32h7xx_hal_sd_ex.o
+ .text.HAL_SDEx_ChangeDMABuffer
+                0x00000000       0x10 build/debug/stm32h7xx_hal_sd_ex.o
+ .debug_info    0x00000000      0x7d8 build/debug/stm32h7xx_hal_sd_ex.o
+ .debug_abbrev  0x00000000      0x22d build/debug/stm32h7xx_hal_sd_ex.o
+ .debug_loclists
+                0x00000000      0x355 build/debug/stm32h7xx_hal_sd_ex.o
+ .debug_aranges
+                0x00000000       0x38 build/debug/stm32h7xx_hal_sd_ex.o
+ .debug_rnglists
+                0x00000000       0x27 build/debug/stm32h7xx_hal_sd_ex.o
+ .debug_line    0x00000000      0x486 build/debug/stm32h7xx_hal_sd_ex.o
+ .debug_str     0x00000000      0x69f build/debug/stm32h7xx_hal_sd_ex.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_sd_ex.o
+ .debug_frame   0x00000000       0x84 build/debug/stm32h7xx_hal_sd_ex.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_sd_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_sdram.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_sdram.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_MspInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_MspDeInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_DeInit
+                0x00000000       0x1c build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_DMA_XferCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sdram.o
+ .text.SDRAM_DMACpltProt
+                0x00000000       0x1a build/debug/stm32h7xx_hal_sdram.o
+ .text.SDRAM_DMACplt
+                0x00000000       0x1a build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_DMA_XferErrorCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_sdram.o
+ .text.SDRAM_DMAError
+                0x00000000       0x1a build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_Read_8b
+                0x00000000       0x5a build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_Write_8b
+                0x00000000       0x56 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_Read_16b
+                0x00000000       0x68 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_Write_16b
+                0x00000000       0x72 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_Read_32b
+                0x00000000       0x52 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_Write_32b
+                0x00000000       0x54 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_Read_DMA
+                0x00000000       0x74 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_Write_DMA
+                0x00000000       0x68 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_WriteProtection_Enable
+                0x00000000       0x32 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_WriteProtection_Disable
+                0x00000000       0x2e build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_SendCommand
+                0x00000000       0x42 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_ProgramRefreshRate
+                0x00000000       0x30 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_SetAutoRefreshNumber
+                0x00000000       0x30 build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_GetModeStatus
+                0x00000000        0xc build/debug/stm32h7xx_hal_sdram.o
+ .text.HAL_SDRAM_GetState
+                0x00000000        0x6 build/debug/stm32h7xx_hal_sdram.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_sram.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_sram.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_sram.o
+ .debug_info    0x00000000       0x81 build/debug/stm32h7xx_hal_sram.o
+ .debug_abbrev  0x00000000       0x26 build/debug/stm32h7xx_hal_sram.o
+ .debug_aranges
+                0x00000000       0x18 build/debug/stm32h7xx_hal_sram.o
+ .debug_line    0x00000000       0x56 build/debug/stm32h7xx_hal_sram.o
+ .debug_str     0x00000000      0x1ab build/debug/stm32h7xx_hal_sram.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_hal_sram.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_hal_sram.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_uart.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_uart.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_EndTxTransfer
+                0x00000000       0x32 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_TxISR_8BIT
+                0x00000000       0x56 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_TxISR_16BIT
+                0x00000000       0x5a build/debug/stm32h7xx_hal_uart.o
+ .text.UART_TxISR_8BIT_FIFOEN
+                0x00000000       0x74 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_TxISR_16BIT_FIFOEN
+                0x00000000       0x78 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_MspInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_MspDeInit
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_DeInit
+                0x00000000       0x44 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_Transmit_IT
+                0x00000000       0xa8 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_Transmit_DMA
+                0x00000000       0x9c build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_DMAPause
+                0x00000000       0x8c build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_DMAResume
+                0x00000000       0x7c build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_DMAStop
+                0x00000000       0xb2 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_Abort
+                0x00000000      0x124 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_AbortTransmit
+                0x00000000       0x98 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_AbortReceive
+                0x00000000       0xb8 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_TxCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_DMATransmitCplt
+                0x00000000       0x46 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_EndTransmit_IT
+                0x00000000       0x24 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_TxHalfCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_DMATxHalfCplt
+                0x00000000        0xa build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_RxCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_RxHalfCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_ErrorCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_DMAError
+                0x00000000       0x58 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_DMAAbortOnError
+                0x00000000       0x10 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_AbortCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_Abort_IT
+                0x00000000      0x150 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_DMARxAbortCallback
+                0x00000000       0x44 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_DMATxAbortCallback
+                0x00000000       0x50 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_AbortTransmitCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_AbortTransmit_IT
+                0x00000000       0xac build/debug/stm32h7xx_hal_uart.o
+ .text.UART_DMATxOnlyAbortCallback
+                0x00000000       0x2a build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_AbortReceiveCpltCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_AbortReceive_IT
+                0x00000000       0xd8 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_DMARxOnlyAbortCallback
+                0x00000000       0x28 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UARTEx_RxEventCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_IRQHandler
+                0x00000000      0x3d0 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_RxISR_8BIT
+                0x00000000       0xdc build/debug/stm32h7xx_hal_uart.o
+ .text.UART_RxISR_16BIT
+                0x00000000       0xd8 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_RxISR_8BIT_FIFOEN
+                0x00000000      0x1c8 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_RxISR_16BIT_FIFOEN
+                0x00000000      0x1c8 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_DMARxHalfCplt
+                0x00000000       0x20 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_DMAReceiveCplt
+                0x00000000       0x90 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_ReceiverTimeout_Config
+                0x00000000       0x18 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_EnableReceiverTimeout
+                0x00000000       0x4c build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_DisableReceiverTimeout
+                0x00000000       0x4c build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_MultiProcessor_EnterMuteMode
+                0x00000000        0xc build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_HalfDuplex_EnableTransmitter
+                0x00000000       0x4c build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_HalfDuplex_EnableReceiver
+                0x00000000       0x4c build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_LIN_SendBreak
+                0x00000000       0x32 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_GetState
+                0x00000000        0xc build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_GetError
+                0x00000000        0x6 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_Transmit
+                0x00000000       0xd0 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_Receive
+                0x00000000      0x116 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_HalfDuplex_Init
+                0x00000000       0x72 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_LIN_Init
+                0x00000000       0x96 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_MultiProcessor_Init
+                0x00000000       0x8e build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_MultiProcessor_EnableMuteMode
+                0x00000000       0x38 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_MultiProcessor_DisableMuteMode
+                0x00000000       0x38 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_Start_Receive_IT
+                0x00000000      0x13c build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_Receive_IT
+                0x00000000       0x4c build/debug/stm32h7xx_hal_uart.o
+ .text.UART_Start_Receive_DMA
+                0x00000000       0xb0 build/debug/stm32h7xx_hal_uart.o
+ .text.HAL_UART_Receive_DMA
+                0x00000000       0x4c build/debug/stm32h7xx_hal_uart.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_hal_uart_ex.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_hal_uart_ex.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_hal_uart_ex.o
+ .text.UARTEx_Wakeup_AddressConfig
+                0x00000000       0x2e build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_RS485Ex_Init
+                0x00000000       0x82 build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_WakeupCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_RxFifoFullCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_TxFifoEmptyCallback
+                0x00000000        0x2 build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_MultiProcessorEx_AddressLength_Set
+                0x00000000       0x38 build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_StopModeWakeUpSourceConfig
+                0x00000000       0x82 build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_EnableStopMode
+                0x00000000       0x2e build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_DisableStopMode
+                0x00000000       0x2e build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_EnableFifoMode
+                0x00000000       0x48 build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_ReceiveToIdle
+                0x00000000      0x15e build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_ReceiveToIdle_IT
+                0x00000000       0x4e build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_ReceiveToIdle_DMA
+                0x00000000       0x50 build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_GetRxEventType
+                0x00000000        0x4 build/debug/stm32h7xx_hal_uart_ex.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_it.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_it.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_it.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_ll_delayblock.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_ll_delayblock.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_ll_delayblock.o
+ .text.DelayBlock_Enable
+                0x00000000       0x8e build/debug/stm32h7xx_ll_delayblock.o
+ .text.DelayBlock_Disable
+                0x00000000        0x8 build/debug/stm32h7xx_ll_delayblock.o
+ .text.DelayBlock_Configure
+                0x00000000       0x1c build/debug/stm32h7xx_ll_delayblock.o
+ .debug_info    0x00000000      0x259 build/debug/stm32h7xx_ll_delayblock.o
+ .debug_abbrev  0x00000000      0x13c build/debug/stm32h7xx_ll_delayblock.o
+ .debug_loclists
+                0x00000000      0x161 build/debug/stm32h7xx_ll_delayblock.o
+ .debug_aranges
+                0x00000000       0x30 build/debug/stm32h7xx_ll_delayblock.o
+ .debug_rnglists
+                0x00000000       0x20 build/debug/stm32h7xx_ll_delayblock.o
+ .debug_line    0x00000000      0x2c4 build/debug/stm32h7xx_ll_delayblock.o
+ .debug_str     0x00000000      0x2a1 build/debug/stm32h7xx_ll_delayblock.o
+ .comment       0x00000000       0x24 build/debug/stm32h7xx_ll_delayblock.o
+ .debug_frame   0x00000000       0x64 build/debug/stm32h7xx_ll_delayblock.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/stm32h7xx_ll_delayblock.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_ll_fmc.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_ll_fmc.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NORSRAM_Init
+                0x00000000       0x94 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NORSRAM_DeInit
+                0x00000000       0x34 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NORSRAM_Timing_Init
+                0x00000000       0x5c build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NORSRAM_Extended_Timing_Init
+                0x00000000       0x44 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NORSRAM_WriteOperation_Enable
+                0x00000000       0x10 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NORSRAM_WriteOperation_Disable
+                0x00000000       0x10 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NAND_Init
+                0x00000000       0x38 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NAND_CommonSpace_Timing_Init
+                0x00000000       0x1a build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NAND_AttributeSpace_Timing_Init
+                0x00000000       0x1a build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NAND_DeInit
+                0x00000000       0x1c build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NAND_ECC_Enable
+                0x00000000        0xc build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NAND_ECC_Disable
+                0x00000000        0xc build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_NAND_GetECC
+                0x00000000       0x3a build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_SDRAM_DeInit
+                0x00000000       0x1e build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_SDRAM_WriteProtection_Enable
+                0x00000000       0x10 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_SDRAM_WriteProtection_Disable
+                0x00000000       0x10 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_SDRAM_SendCommand
+                0x00000000       0x2a build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_SDRAM_ProgramRefreshRate
+                0x00000000       0x10 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_SDRAM_SetAutoRefreshNumber
+                0x00000000       0x12 build/debug/stm32h7xx_ll_fmc.o
+ .text.FMC_SDRAM_GetModeStatus
+                0x00000000       0x14 build/debug/stm32h7xx_ll_fmc.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_ll_sdmmc.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_ll_sdmmc.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_WriteFIFO
+                0x00000000        0xa build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_PowerState_Cycle
+                0x00000000        0xc build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_PowerState_OFF
+                0x00000000        0xc build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_GetDataCounter
+                0x00000000        0x4 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_GetFIFOCount
+                0x00000000        0x6 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_SetSDMMCReadWaitMode
+                0x00000000        0xe build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdBlockCount
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdReadSingleBlock
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdReadMultiBlock
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdWriteSingleBlock
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdWriteMultiBlock
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdSDEraseStartAdd
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdSDEraseEndAdd
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdEraseStartAdd
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdEraseEndAdd
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdErase
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdStopTransfer
+                0x00000000       0x58 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdSetRelAddMmc
+                0x00000000       0x34 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdSleepMmc
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdSwitch
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdVoltageSwitch
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdSendEXTCSD
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdOpCondition
+                0x00000000       0x2c build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_GetCmdResp4
+                0x00000000       0x60 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_CmdSendOperationcondition
+                0x00000000       0x30 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_GetCmdResp5
+                0x00000000       0xbc build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_SDIO_CmdReadWriteDirect
+                0x00000000       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_SDIO_CmdReadWriteExtended
+                0x00000000       0x30 build/debug/stm32h7xx_ll_sdmmc.o
+ .text          0x00000000        0x0 build/debug/stm32h7xx_ll_usb.o
+ .data          0x00000000        0x0 build/debug/stm32h7xx_ll_usb.o
+ .bss           0x00000000        0x0 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_SetTurnaroundTime
+                0x00000000       0xe4 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_EnableGlobalInt
+                0x00000000        0xc build/debug/stm32h7xx_ll_usb.o
+ .text.USB_GetDevSpeed
+                0x00000000       0x22 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ActivateEndpoint
+                0x00000000       0x98 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ActivateDedicatedEndpoint
+                0x00000000       0xa0 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_DeactivateEndpoint
+                0x00000000       0xe0 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_DeactivateDedicatedEndpoint
+                0x00000000       0xa0 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_EPStopXfer
+                0x00000000       0xbe build/debug/stm32h7xx_ll_usb.o
+ .text.USB_WritePacket
+                0x00000000       0x2e build/debug/stm32h7xx_ll_usb.o
+ .text.USB_EPStartXfer
+                0x00000000      0x244 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ReadPacket
+                0x00000000       0x46 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_EPSetStall
+                0x00000000       0x5a build/debug/stm32h7xx_ll_usb.o
+ .text.USB_EPClearStall
+                0x00000000       0x5c build/debug/stm32h7xx_ll_usb.o
+ .text.USB_StopDevice
+                0x00000000       0x40 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_SetDevAddress
+                0x00000000       0x20 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_DevConnect
+                0x00000000       0x1c build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ReadInterrupts
+                0x00000000        0x8 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ReadChInterrupts
+                0x00000000       0x12 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ReadDevAllOutEpInterrupt
+                0x00000000       0x10 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ReadDevAllInEpInterrupt
+                0x00000000       0x10 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ReadDevOutEPInterrupt
+                0x00000000       0x12 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ReadDevInEPInterrupt
+                0x00000000       0x24 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ClearInterrupts
+                0x00000000        0x8 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ActivateSetup
+                0x00000000       0x1c build/debug/stm32h7xx_ll_usb.o
+ .text.USB_EP0_OutStart
+                0x00000000       0x60 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_HostInit
+                0x00000000       0xd8 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_InitFSLSPClkSel
+                0x00000000       0x42 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ResetPort
+                0x00000000       0x3e build/debug/stm32h7xx_ll_usb.o
+ .text.USB_DriveVbus
+                0x00000000       0x46 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_GetHostSpeed
+                0x00000000       0x16 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_GetCurrentFrame
+                0x00000000        0xa build/debug/stm32h7xx_ll_usb.o
+ .text.USB_HC_Init
+                0x00000000      0x13c build/debug/stm32h7xx_ll_usb.o
+ .text.USB_HC_ReadInterrupt
+                0x00000000        0xa build/debug/stm32h7xx_ll_usb.o
+ .text.USB_HC_Halt
+                0x00000000       0xfc build/debug/stm32h7xx_ll_usb.o
+ .text.USB_DoPing
+                0x00000000       0x24 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_HC_StartXfer
+                0x00000000      0x2d8 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_StopHost
+                0x00000000       0x92 build/debug/stm32h7xx_ll_usb.o
+ .text.USB_ActivateRemoteWakeup
+                0x00000000       0x1a build/debug/stm32h7xx_ll_usb.o
+ .text.USB_DeActivateRemoteWakeup
+                0x00000000       0x10 build/debug/stm32h7xx_ll_usb.o
+ .text          0x00000000        0x0 build/debug/syscalls.o
+ .data          0x00000000        0x0 build/debug/syscalls.o
+ .bss           0x00000000        0x0 build/debug/syscalls.o
+ .text.initialise_monitor_handles
+                0x00000000        0x2 build/debug/syscalls.o
+ .text._getpid  0x00000000        0x4 build/debug/syscalls.o
+ .text._kill    0x00000000       0x10 build/debug/syscalls.o
+ .text._exit    0x00000000        0xc build/debug/syscalls.o
+ .text._read    0x00000000       0x20 build/debug/syscalls.o
+ .text._write   0x00000000       0x1c build/debug/syscalls.o
+ .text._close   0x00000000        0x6 build/debug/syscalls.o
+ .text._fstat   0x00000000        0xa build/debug/syscalls.o
+ .text._isatty  0x00000000        0x4 build/debug/syscalls.o
+ .text._lseek   0x00000000        0x4 build/debug/syscalls.o
+ .text._open    0x00000000        0xa build/debug/syscalls.o
+ .text._wait    0x00000000       0x10 build/debug/syscalls.o
+ .text._unlink  0x00000000       0x10 build/debug/syscalls.o
+ .text._times   0x00000000        0x6 build/debug/syscalls.o
+ .text._stat    0x00000000        0xa build/debug/syscalls.o
+ .text._link    0x00000000       0x10 build/debug/syscalls.o
+ .text._fork    0x00000000       0x10 build/debug/syscalls.o
+ .text._execve  0x00000000       0x10 build/debug/syscalls.o
+ .data.environ  0x00000000        0x4 build/debug/syscalls.o
+ .bss.__env     0x00000000        0x4 build/debug/syscalls.o
+ .debug_info    0x00000000      0x789 build/debug/syscalls.o
+ .debug_abbrev  0x00000000      0x1c1 build/debug/syscalls.o
+ .debug_loclists
+                0x00000000      0x2cd build/debug/syscalls.o
+ .debug_aranges
+                0x00000000       0xa8 build/debug/syscalls.o
+ .debug_rnglists
+                0x00000000       0x79 build/debug/syscalls.o
+ .debug_line    0x00000000      0x380 build/debug/syscalls.o
+ .debug_str     0x00000000      0x3e1 build/debug/syscalls.o
+ .comment       0x00000000       0x24 build/debug/syscalls.o
+ .debug_frame   0x00000000      0x190 build/debug/syscalls.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/syscalls.o
+ .text          0x00000000        0x0 build/debug/sysmem.o
+ .data          0x00000000        0x0 build/debug/sysmem.o
+ .bss           0x00000000        0x0 build/debug/sysmem.o
+ .text._sbrk    0x00000000       0x48 build/debug/sysmem.o
+ .bss.__sbrk_heap_end
+                0x00000000        0x4 build/debug/sysmem.o
+ .debug_info    0x00000000      0x171 build/debug/sysmem.o
+ .debug_abbrev  0x00000000       0xea build/debug/sysmem.o
+ .debug_loclists
+                0x00000000       0x52 build/debug/sysmem.o
+ .debug_aranges
+                0x00000000       0x20 build/debug/sysmem.o
+ .debug_rnglists
+                0x00000000       0x13 build/debug/sysmem.o
+ .debug_line    0x00000000      0x13c build/debug/sysmem.o
+ .debug_str     0x00000000      0x20d build/debug/sysmem.o
+ .comment       0x00000000       0x24 build/debug/sysmem.o
+ .debug_frame   0x00000000       0x28 build/debug/sysmem.o
+ .ARM.attributes
+                0x00000000       0x32 build/debug/sysmem.o
+ .text          0x00000000        0x0 build/debug/system_stm32h7xx.o
+ .data          0x00000000        0x0 build/debug/system_stm32h7xx.o
+ .bss           0x00000000        0x0 build/debug/system_stm32h7xx.o
+ .text.SystemCoreClockUpdate
+                0x00000000      0x250 build/debug/system_stm32h7xx.o
+ .text          0x00000000       0x14 build/debug/startup_stm32h7a3xx.o
+ .data          0x00000000        0x0 build/debug/startup_stm32h7a3xx.o
+ .bss           0x00000000        0x0 build/debug/startup_stm32h7a3xx.o
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .text.atexit   0x00000000        0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .debug_info    0x00000000      0x11e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .debug_abbrev  0x00000000       0xc1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .debug_loclists
+                0x00000000       0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .debug_rnglists
+                0x00000000       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .debug_line    0x00000000       0xee /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .debug_str     0x00000000      0x21f /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .debug_frame   0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .text.exit     0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .debug_info    0x00000000      0x11b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .debug_abbrev  0x00000000       0xd8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .debug_loclists
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .debug_rnglists
+                0x00000000       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .debug_line    0x00000000      0x183 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .debug_str     0x00000000      0x208 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .debug_frame   0x00000000       0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.std      0x00000000       0x6c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.stdio_exit_handler
+                0x00000000       0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.cleanup_stdio
+                0x00000000       0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.__fp_lock
+                0x00000000       0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.__fp_unlock
+                0x00000000       0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.global_stdio_init.part.0
+                0x00000000       0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.__sfp_lock_acquire
+                0x00000000        0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.__sfp_lock_release
+                0x00000000        0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.__sfp    0x00000000       0xa4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.__sinit  0x00000000       0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.__fp_lock_all
+                0x00000000       0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text.__fp_unlock_all
+                0x00000000       0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .data.__sglue  0x00000000        0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .bss.__sf      0x00000000      0x138 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .bss.__stdio_exit_handler
+                0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .debug_info    0x00000000      0xfb8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .debug_abbrev  0x00000000      0x424 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .debug_loclists
+                0x00000000      0x2b6 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .debug_aranges
+                0x00000000       0x78 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .debug_rnglists
+                0x00000000       0x7d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .debug_line    0x00000000      0x598 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .debug_str     0x00000000      0x785 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .debug_frame   0x00000000      0x144 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .text._fwalk_sglue
+                0x00000000       0x3c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .debug_info    0x00000000      0x7d2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .debug_abbrev  0x00000000      0x19b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .debug_loclists
+                0x00000000       0x91 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .debug_rnglists
+                0x00000000       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .debug_line    0x00000000      0x204 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .debug_str     0x00000000      0x512 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .debug_frame   0x00000000       0x34 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .text.__sread  0x00000000       0x22 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .text.__seofread
+                0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .text.__swrite
+                0x00000000       0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .text.__sseek  0x00000000       0x26 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .text.__sclose
+                0x00000000        0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .debug_info    0x00000000      0xa90 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .debug_abbrev  0x00000000      0x221 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .debug_loclists
+                0x00000000      0x25d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .debug_aranges
+                0x00000000       0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .debug_rnglists
+                0x00000000       0x2b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .debug_line    0x00000000      0x2b5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .debug_str     0x00000000      0x56f /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .debug_frame   0x00000000       0x88 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .text._close_r
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .debug_info    0x00000000      0x75c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .debug_abbrev  0x00000000      0x1b0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .debug_loclists
+                0x00000000       0x58 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .debug_rnglists
+                0x00000000       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .debug_line    0x00000000      0x1e6 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .debug_str     0x00000000      0x4f8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .debug_frame   0x00000000       0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .text._reclaim_reent
+                0x00000000       0xbc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .bss.errno     0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .debug_info    0x00000000      0x8a1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .debug_abbrev  0x00000000      0x1f7 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .debug_loclists
+                0x00000000       0x9c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .debug_rnglists
+                0x00000000       0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .debug_line    0x00000000      0x2bc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .debug_str     0x00000000      0x521 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .debug_frame   0x00000000       0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .data._impure_ptr
+                0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .data._impure_data
+                0x00000000       0x4c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .debug_info    0x00000000      0x715 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .debug_abbrev  0x00000000      0x149 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .debug_aranges
+                0x00000000       0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .debug_line    0x00000000      0x112 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .debug_str     0x00000000      0x502 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .text._lseek_r
+                0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .debug_info    0x00000000      0x7a8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .debug_abbrev  0x00000000      0x1c4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .debug_loclists
+                0x00000000       0xa0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .debug_rnglists
+                0x00000000       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .debug_line    0x00000000      0x1e5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .debug_str     0x00000000      0x506 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .debug_frame   0x00000000       0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .text._read_r  0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .debug_info    0x00000000      0x7bf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .debug_abbrev  0x00000000      0x1b0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .debug_loclists
+                0x00000000       0xa0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .debug_rnglists
+                0x00000000       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .debug_line    0x00000000      0x1e4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .debug_str     0x00000000      0x506 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .debug_frame   0x00000000       0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .text._write_r
+                0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .debug_info    0x00000000      0x7c5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .debug_abbrev  0x00000000      0x1b5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .debug_loclists
+                0x00000000       0xa0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .debug_rnglists
+                0x00000000       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .debug_line    0x00000000      0x1e5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .debug_str     0x00000000      0x508 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .debug_frame   0x00000000       0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .text.__errno  0x00000000        0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .debug_info    0x00000000      0x6fb /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .debug_abbrev  0x00000000      0x15e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .debug_rnglists
+                0x00000000       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .debug_line    0x00000000      0x134 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .debug_str     0x00000000      0x4fc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .debug_frame   0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .text.__libc_fini_array
+                0x00000000       0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .debug_info    0x00000000       0xf7 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .debug_abbrev  0x00000000       0xcc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .debug_loclists
+                0x00000000       0x34 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .debug_rnglists
+                0x00000000       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .debug_line    0x00000000       0xc5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .debug_str     0x00000000      0x219 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .debug_frame   0x00000000       0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text.__retarget_lock_init
+                0x00000000        0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text.__retarget_lock_init_recursive
+                0x00000000        0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text.__retarget_lock_close
+                0x00000000        0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text.__retarget_lock_close_recursive
+                0x00000000        0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text.__retarget_lock_acquire
+                0x00000000        0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text.__retarget_lock_acquire_recursive
+                0x00000000        0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text.__retarget_lock_try_acquire
+                0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text.__retarget_lock_try_acquire_recursive
+                0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text.__retarget_lock_release
+                0x00000000        0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text.__retarget_lock_release_recursive
+                0x00000000        0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .bss.__lock___arc4random_mutex
+                0x00000000        0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .bss.__lock___dd_hash_mutex
+                0x00000000        0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .bss.__lock___tz_mutex
+                0x00000000        0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .bss.__lock___env_recursive_mutex
+                0x00000000        0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .bss.__lock___malloc_recursive_mutex
+                0x00000000        0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .bss.__lock___at_quick_exit_mutex
+                0x00000000        0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .bss.__lock___atexit_recursive_mutex
+                0x00000000        0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .bss.__lock___sfp_recursive_mutex
+                0x00000000        0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .debug_info    0x00000000      0x218 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .debug_abbrev  0x00000000      0x115 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .debug_loclists
+                0x00000000       0x29 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .debug_aranges
+                0x00000000       0x68 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .debug_rnglists
+                0x00000000       0x49 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .debug_line    0x00000000      0x187 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .debug_str     0x00000000      0x379 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .debug_frame   0x00000000       0xb0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .text.__register_exitproc
+                0x00000000       0xb4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .bss.__atexit0
+                0x00000000       0x8c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .data.__atexit_dummy
+                0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .debug_info    0x00000000      0x2d9 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .debug_abbrev  0x00000000      0x1ea /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .debug_loclists
+                0x00000000       0x9e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .debug_rnglists
+                0x00000000       0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .debug_line    0x00000000      0x25c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .debug_str     0x00000000      0x33e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .debug_frame   0x00000000       0x34 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .text.__call_exitprocs
+                0x00000000       0xbc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .bss.__atexit  0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .data.__atexit_recursive_mutex
+                0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .debug_info    0x00000000      0x290 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .debug_abbrev  0x00000000      0x1cd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .debug_loclists
+                0x00000000       0xe2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .debug_rnglists
+                0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .debug_line    0x00000000      0x21b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .debug_str     0x00000000      0x2fe /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .debug_frame   0x00000000       0x48 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .text._free_r  0x00000000       0x94 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .debug_info    0x00000000      0x851 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .debug_abbrev  0x00000000      0x236 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .debug_loclists
+                0x00000000       0xe0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .debug_rnglists
+                0x00000000       0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .debug_line    0x00000000      0x2d4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .debug_str     0x00000000      0x582 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .debug_frame   0x00000000       0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .text.sbrk_aligned
+                0x00000000       0x44 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .text._malloc_r
+                0x00000000      0x100 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .bss.__malloc_sbrk_start
+                0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .bss.__malloc_free_list
+                0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .debug_info    0x00000000      0x9bc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .debug_abbrev  0x00000000      0x24a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .debug_loclists
+                0x00000000      0x23a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .debug_aranges
+                0x00000000       0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .debug_rnglists
+                0x00000000       0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .debug_line    0x00000000      0x4c4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .debug_str     0x00000000      0x5e3 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .debug_frame   0x00000000       0x50 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .text.__malloc_lock
+                0x00000000        0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .text.__malloc_unlock
+                0x00000000        0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .debug_info    0x00000000      0x76b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .debug_abbrev  0x00000000      0x1bf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .debug_loclists
+                0x00000000       0x46 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .debug_aranges
+                0x00000000       0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .debug_rnglists
+                0x00000000       0x19 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .debug_line    0x00000000      0x1b4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .debug_str     0x00000000      0x584 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .debug_frame   0x00000000       0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .text.__sflush_r
+                0x00000000      0x104 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .text._fflush_r
+                0x00000000       0x50 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .text.fflush   0x00000000       0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .debug_info    0x00000000      0x9f2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .debug_abbrev  0x00000000      0x2b2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .debug_loclists
+                0x00000000      0x209 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .debug_aranges
+                0x00000000       0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .debug_rnglists
+                0x00000000       0x3b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .debug_line    0x00000000      0x41e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .debug_str     0x00000000      0x5cd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .debug_frame   0x00000000       0x5c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .text._sbrk_r  0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .debug_info    0x00000000      0x782 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .debug_abbrev  0x00000000      0x1da /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .debug_loclists
+                0x00000000       0x58 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .debug_aranges
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .debug_rnglists
+                0x00000000       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .debug_line    0x00000000      0x1e6 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .debug_str     0x00000000      0x50b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .comment       0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .debug_frame   0x00000000       0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .ARM.attributes
+                0x00000000       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+ .ARM.extab     0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o
+ .rodata        0x00000000       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o
+ .eh_frame      0x00000000        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o
+ .text          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o
+ .data          0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o
+ .bss           0x00000000        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o
+
+Memory Configuration
+
+Name             Origin             Length             Attributes
+DTCMRAM          0x20000000         0x00020000         xrw
+RAM              0x24000000         0x00100000         xrw
+ITCMRAM          0x00000000         0x00010000         xrw
+FLASH            0x08000000         0x00200000         xr
+*default*        0x00000000         0xffffffff
+
+Linker script and memory map
+
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+LOAD build/debug/main.o
+LOAD build/debug/stm32h7xx_hal.o
+LOAD build/debug/stm32h7xx_hal_cortex.o
+LOAD build/debug/stm32h7xx_hal_crc.o
+LOAD build/debug/stm32h7xx_hal_crc_ex.o
+LOAD build/debug/stm32h7xx_hal_dma.o
+LOAD build/debug/stm32h7xx_hal_dma_ex.o
+LOAD build/debug/stm32h7xx_hal_exti.o
+LOAD build/debug/stm32h7xx_hal_fdcan.o
+LOAD build/debug/stm32h7xx_hal_flash.o
+LOAD build/debug/stm32h7xx_hal_flash_ex.o
+LOAD build/debug/stm32h7xx_hal_gpio.o
+LOAD build/debug/stm32h7xx_hal_hsem.o
+LOAD build/debug/stm32h7xx_hal_i2c.o
+LOAD build/debug/stm32h7xx_hal_i2c_ex.o
+LOAD build/debug/stm32h7xx_hal_ltdc.o
+LOAD build/debug/stm32h7xx_hal_ltdc_ex.o
+LOAD build/debug/stm32h7xx_hal_mdma.o
+LOAD build/debug/stm32h7xx_hal_mmc.o
+LOAD build/debug/stm32h7xx_hal_mmc_ex.o
+LOAD build/debug/stm32h7xx_hal_msp.o
+LOAD build/debug/stm32h7xx_hal_nand.o
+LOAD build/debug/stm32h7xx_hal_nor.o
+LOAD build/debug/stm32h7xx_hal_pcd.o
+LOAD build/debug/stm32h7xx_hal_pcd_ex.o
+LOAD build/debug/stm32h7xx_hal_pwr.o
+LOAD build/debug/stm32h7xx_hal_pwr_ex.o
+LOAD build/debug/stm32h7xx_hal_rcc.o
+LOAD build/debug/stm32h7xx_hal_rcc_ex.o
+LOAD build/debug/stm32h7xx_hal_sd.o
+LOAD build/debug/stm32h7xx_hal_sd_ex.o
+LOAD build/debug/stm32h7xx_hal_sdram.o
+LOAD build/debug/stm32h7xx_hal_sram.o
+LOAD build/debug/stm32h7xx_hal_uart.o
+LOAD build/debug/stm32h7xx_hal_uart_ex.o
+LOAD build/debug/stm32h7xx_it.o
+LOAD build/debug/stm32h7xx_ll_delayblock.o
+LOAD build/debug/stm32h7xx_ll_fmc.o
+LOAD build/debug/stm32h7xx_ll_sdmmc.o
+LOAD build/debug/stm32h7xx_ll_usb.o
+LOAD build/debug/syscalls.o
+LOAD build/debug/sysmem.o
+LOAD build/debug/system_stm32h7xx.o
+LOAD build/debug/startup_stm32h7a3xx.o
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libm.a
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libnosys.a
+START GROUP
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a
+END GROUP
+START GROUP
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a
+END GROUP
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o
+                0x20020000                        _estack = (ORIGIN (DTCMRAM) + LENGTH (DTCMRAM))
+                0x00000200                        _Min_Heap_Size = 0x200
+                0x00000400                        _Min_Stack_Size = 0x400
+
+.isr_vector     0x08000000      0x2ac
+                0x08000000                        . = ALIGN (0x4)
+ *(.isr_vector)
+ .isr_vector    0x08000000      0x2ac build/debug/startup_stm32h7a3xx.o
+                0x08000000                g_pfnVectors
+                0x080002ac                        . = ALIGN (0x4)
+
+.text           0x080002ac     0x70d4
+                0x080002ac                        . = ALIGN (0x4)
+ *(.text)
+ .text          0x080002ac       0x88 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+ .text          0x08000334       0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+                0x08000334                __aeabi_uldivmod
+ .text          0x08000364      0x2f8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+                0x08000364                __udivmoddi4
+ .text          0x0800065c        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+                0x0800065c                __aeabi_ldiv0
+                0x0800065c                __aeabi_idiv0
+ *(.text*)
+ .text.MX_GPIO_Init
+                0x08000660      0x19c build/debug/main.o
+ .text.Error_Handler
+                0x080007fc        0x4 build/debug/main.o
+                0x080007fc                Error_Handler
+ .text.MX_FDCAN1_Init
+                0x08000800       0x60 build/debug/main.o
+ .text.MX_FMC_Init
+                0x08000860       0x70 build/debug/main.o
+ .text.MX_I2C4_Init
+                0x080008d0       0x54 build/debug/main.o
+ .text.MX_SDMMC2_SD_Init
+                0x08000924       0x28 build/debug/main.o
+ .text.MX_USART10_UART_Init
+                0x0800094c       0x60 build/debug/main.o
+ .text.MX_USB_OTG_HS_PCD_Init
+                0x080009ac       0x38 build/debug/main.o
+ .text.MX_UART5_Init
+                0x080009e4       0x60 build/debug/main.o
+ .text.MX_LTDC_Init
+                0x08000a44       0xbc build/debug/main.o
+ .text.MX_CRC_Init
+                0x08000b00       0x2c build/debug/main.o
+ .text.SystemClock_Config
+                0x08000b2c       0xc0 build/debug/main.o
+                0x08000b2c                SystemClock_Config
+ .text.PeriphCommonClock_Config
+                0x08000bec       0x48 build/debug/main.o
+                0x08000bec                PeriphCommonClock_Config
+ .text.main     0x08000c34       0x60 build/debug/main.o
+                0x08000c34                main
+ .text.HAL_InitTick
+                0x08000c94       0x50 build/debug/stm32h7xx_hal.o
+                0x08000c94                HAL_InitTick
+ .text.HAL_Init
+                0x08000ce4       0x5c build/debug/stm32h7xx_hal.o
+                0x08000ce4                HAL_Init
+ .text.HAL_IncTick
+                0x08000d40       0x18 build/debug/stm32h7xx_hal.o
+                0x08000d40                HAL_IncTick
+ .text.HAL_GetTick
+                0x08000d58        0xc build/debug/stm32h7xx_hal.o
+                0x08000d58                HAL_GetTick
+ .text.HAL_Delay
+                0x08000d64       0x28 build/debug/stm32h7xx_hal.o
+                0x08000d64                HAL_Delay
+ .text.__NVIC_EnableIRQ
+                0x08000d8c       0x1c build/debug/stm32h7xx_hal_cortex.o
+ .text.__NVIC_SetPriority
+                0x08000da8       0x24 build/debug/stm32h7xx_hal_cortex.o
+ .text.NVIC_EncodePriority
+                0x08000dcc       0x3e build/debug/stm32h7xx_hal_cortex.o
+ *fill*         0x08000e0a        0x2 
+ .text.HAL_NVIC_SetPriorityGrouping
+                0x08000e0c       0x24 build/debug/stm32h7xx_hal_cortex.o
+                0x08000e0c                HAL_NVIC_SetPriorityGrouping
+ .text.HAL_NVIC_SetPriority
+                0x08000e30       0x20 build/debug/stm32h7xx_hal_cortex.o
+                0x08000e30                HAL_NVIC_SetPriority
+ .text.HAL_NVIC_EnableIRQ
+                0x08000e50        0x8 build/debug/stm32h7xx_hal_cortex.o
+                0x08000e50                HAL_NVIC_EnableIRQ
+ .text.HAL_SYSTICK_Config
+                0x08000e58       0x28 build/debug/stm32h7xx_hal_cortex.o
+                0x08000e58                HAL_SYSTICK_Config
+ .text.HAL_CRC_Init
+                0x08000e80       0x80 build/debug/stm32h7xx_hal_crc.o
+                0x08000e80                HAL_CRC_Init
+ .text.HAL_CRCEx_Polynomial_Set
+                0x08000f00       0xc4 build/debug/stm32h7xx_hal_crc_ex.o
+                0x08000f00                HAL_CRCEx_Polynomial_Set
+ .text.FDCAN_CalcultateRamBlockAddresses
+                0x08000fc4      0x1d4 build/debug/stm32h7xx_hal_fdcan.o
+ .text.HAL_FDCAN_Init
+                0x08001198      0x294 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001198                HAL_FDCAN_Init
+ .text.HAL_FDCAN_ClockCalibrationCallback
+                0x0800142c        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x0800142c                HAL_FDCAN_ClockCalibrationCallback
+ .text.HAL_FDCAN_TxEventFifoCallback
+                0x0800142e        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x0800142e                HAL_FDCAN_TxEventFifoCallback
+ .text.HAL_FDCAN_RxFifo0Callback
+                0x08001430        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001430                HAL_FDCAN_RxFifo0Callback
+ .text.HAL_FDCAN_RxFifo1Callback
+                0x08001432        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001432                HAL_FDCAN_RxFifo1Callback
+ .text.HAL_FDCAN_TxFifoEmptyCallback
+                0x08001434        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001434                HAL_FDCAN_TxFifoEmptyCallback
+ .text.HAL_FDCAN_TxBufferCompleteCallback
+                0x08001436        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001436                HAL_FDCAN_TxBufferCompleteCallback
+ .text.HAL_FDCAN_TxBufferAbortCallback
+                0x08001438        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001438                HAL_FDCAN_TxBufferAbortCallback
+ .text.HAL_FDCAN_RxBufferNewMessageCallback
+                0x0800143a        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x0800143a                HAL_FDCAN_RxBufferNewMessageCallback
+ .text.HAL_FDCAN_TimestampWraparoundCallback
+                0x0800143c        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x0800143c                HAL_FDCAN_TimestampWraparoundCallback
+ .text.HAL_FDCAN_TimeoutOccurredCallback
+                0x0800143e        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x0800143e                HAL_FDCAN_TimeoutOccurredCallback
+ .text.HAL_FDCAN_HighPriorityMessageCallback
+                0x08001440        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001440                HAL_FDCAN_HighPriorityMessageCallback
+ .text.HAL_FDCAN_ErrorCallback
+                0x08001442        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001442                HAL_FDCAN_ErrorCallback
+ .text.HAL_FDCAN_ErrorStatusCallback
+                0x08001444        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001444                HAL_FDCAN_ErrorStatusCallback
+ .text.HAL_FDCAN_TT_ScheduleSyncCallback
+                0x08001446        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001446                HAL_FDCAN_TT_ScheduleSyncCallback
+ .text.HAL_FDCAN_TT_TimeMarkCallback
+                0x08001448        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001448                HAL_FDCAN_TT_TimeMarkCallback
+ .text.HAL_FDCAN_TT_StopWatchCallback
+                0x0800144a        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x0800144a                HAL_FDCAN_TT_StopWatchCallback
+ .text.HAL_FDCAN_TT_GlobalTimeCallback
+                0x0800144c        0x2 build/debug/stm32h7xx_hal_fdcan.o
+                0x0800144c                HAL_FDCAN_TT_GlobalTimeCallback
+ *fill*         0x0800144e        0x2 
+ .text.HAL_FDCAN_IRQHandler
+                0x08001450      0x320 build/debug/stm32h7xx_hal_fdcan.o
+                0x08001450                HAL_FDCAN_IRQHandler
+ .text.HAL_GPIO_Init
+                0x08001770      0x220 build/debug/stm32h7xx_hal_gpio.o
+                0x08001770                HAL_GPIO_Init
+ .text.HAL_GPIO_WritePin
+                0x08001990        0xc build/debug/stm32h7xx_hal_gpio.o
+                0x08001990                HAL_GPIO_WritePin
+ .text.HAL_I2C_Init
+                0x0800199c       0xc8 build/debug/stm32h7xx_hal_i2c.o
+                0x0800199c                HAL_I2C_Init
+ .text.HAL_I2CEx_ConfigAnalogFilter
+                0x08001a64       0x5a build/debug/stm32h7xx_hal_i2c_ex.o
+                0x08001a64                HAL_I2CEx_ConfigAnalogFilter
+ .text.HAL_I2CEx_ConfigDigitalFilter
+                0x08001abe       0x56 build/debug/stm32h7xx_hal_i2c_ex.o
+                0x08001abe                HAL_I2CEx_ConfigDigitalFilter
+ .text.LTDC_SetConfig
+                0x08001b14      0x1a8 build/debug/stm32h7xx_hal_ltdc.o
+ .text.HAL_LTDC_Init
+                0x08001cbc       0xbc build/debug/stm32h7xx_hal_ltdc.o
+                0x08001cbc                HAL_LTDC_Init
+ .text.HAL_LTDC_ErrorCallback
+                0x08001d78        0x2 build/debug/stm32h7xx_hal_ltdc.o
+                0x08001d78                HAL_LTDC_ErrorCallback
+ .text.HAL_LTDC_LineEventCallback
+                0x08001d7a        0x2 build/debug/stm32h7xx_hal_ltdc.o
+                0x08001d7a                HAL_LTDC_LineEventCallback
+ .text.HAL_LTDC_ReloadEventCallback
+                0x08001d7c        0x2 build/debug/stm32h7xx_hal_ltdc.o
+                0x08001d7c                HAL_LTDC_ReloadEventCallback
+ .text.HAL_LTDC_IRQHandler
+                0x08001d7e       0xda build/debug/stm32h7xx_hal_ltdc.o
+                0x08001d7e                HAL_LTDC_IRQHandler
+ .text.HAL_LTDC_ConfigLayer
+                0x08001e58       0x68 build/debug/stm32h7xx_hal_ltdc.o
+                0x08001e58                HAL_LTDC_ConfigLayer
+ .text.HAL_LTDC_SetAddress
+                0x08001ec0       0x42 build/debug/stm32h7xx_hal_ltdc.o
+                0x08001ec0                HAL_LTDC_SetAddress
+ *fill*         0x08001f02        0x2 
+ .text.HAL_LTDC_ProgramLineEvent
+                0x08001f04       0x48 build/debug/stm32h7xx_hal_ltdc.o
+                0x08001f04                HAL_LTDC_ProgramLineEvent
+ .text.HAL_FMC_MspInit
+                0x08001f4c      0x104 build/debug/stm32h7xx_hal_msp.o
+ .text.HAL_MspInit
+                0x08002050       0x24 build/debug/stm32h7xx_hal_msp.o
+                0x08002050                HAL_MspInit
+ .text.HAL_CRC_MspInit
+                0x08002074       0x34 build/debug/stm32h7xx_hal_msp.o
+                0x08002074                HAL_CRC_MspInit
+ .text.HAL_FDCAN_MspInit
+                0x080020a8       0xd4 build/debug/stm32h7xx_hal_msp.o
+                0x080020a8                HAL_FDCAN_MspInit
+ .text.HAL_I2C_MspInit
+                0x0800217c       0x98 build/debug/stm32h7xx_hal_msp.o
+                0x0800217c                HAL_I2C_MspInit
+ .text.HAL_LTDC_MspInit
+                0x08002214      0x22c build/debug/stm32h7xx_hal_msp.o
+                0x08002214                HAL_LTDC_MspInit
+ .text.HAL_SD_MspInit
+                0x08002440       0xe4 build/debug/stm32h7xx_hal_msp.o
+                0x08002440                HAL_SD_MspInit
+ .text.HAL_UART_MspInit
+                0x08002524      0x10c build/debug/stm32h7xx_hal_msp.o
+                0x08002524                HAL_UART_MspInit
+ .text.HAL_PCD_MspInit
+                0x08002630       0xb8 build/debug/stm32h7xx_hal_msp.o
+                0x08002630                HAL_PCD_MspInit
+ .text.HAL_SDRAM_MspInit
+                0x080026e8        0x8 build/debug/stm32h7xx_hal_msp.o
+                0x080026e8                HAL_SDRAM_MspInit
+ .text.HAL_PCD_Init
+                0x080026f0      0x102 build/debug/stm32h7xx_hal_pcd.o
+                0x080026f0                HAL_PCD_Init
+ *fill*         0x080027f2        0x2 
+ .text.HAL_PCDEx_ActivateLPM
+                0x080027f4       0x28 build/debug/stm32h7xx_hal_pcd_ex.o
+                0x080027f4                HAL_PCDEx_ActivateLPM
+ .text.HAL_PWREx_ConfigSupply
+                0x0800281c       0x54 build/debug/stm32h7xx_hal_pwr_ex.o
+                0x0800281c                HAL_PWREx_ConfigSupply
+ .text.HAL_PWREx_EnableUSBVoltageDetector
+                0x08002870       0x10 build/debug/stm32h7xx_hal_pwr_ex.o
+                0x08002870                HAL_PWREx_EnableUSBVoltageDetector
+ .text.HAL_RCC_OscConfig
+                0x08002880      0x660 build/debug/stm32h7xx_hal_rcc.o
+                0x08002880                HAL_RCC_OscConfig
+ .text.HAL_RCC_GetSysClockFreq
+                0x08002ee0      0x1f8 build/debug/stm32h7xx_hal_rcc.o
+                0x08002ee0                HAL_RCC_GetSysClockFreq
+ .text.HAL_RCC_ClockConfig
+                0x080030d8      0x294 build/debug/stm32h7xx_hal_rcc.o
+                0x080030d8                HAL_RCC_ClockConfig
+ .text.HAL_RCC_GetHCLKFreq
+                0x0800336c       0x44 build/debug/stm32h7xx_hal_rcc.o
+                0x0800336c                HAL_RCC_GetHCLKFreq
+ .text.HAL_RCC_GetPCLK1Freq
+                0x080033b0       0x24 build/debug/stm32h7xx_hal_rcc.o
+                0x080033b0                HAL_RCC_GetPCLK1Freq
+ .text.HAL_RCC_GetPCLK2Freq
+                0x080033d4       0x24 build/debug/stm32h7xx_hal_rcc.o
+                0x080033d4                HAL_RCC_GetPCLK2Freq
+ .text.RCCEx_PLL2_Config
+                0x080033f8      0x108 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.RCCEx_PLL3_Config
+                0x08003500      0x108 build/debug/stm32h7xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_PeriphCLKConfig
+                0x08003608      0xb1c build/debug/stm32h7xx_hal_rcc_ex.o
+                0x08003608                HAL_RCCEx_PeriphCLKConfig
+ .text.HAL_RCCEx_GetD3PCLK1Freq
+                0x08004124       0x24 build/debug/stm32h7xx_hal_rcc_ex.o
+                0x08004124                HAL_RCCEx_GetD3PCLK1Freq
+ .text.HAL_RCCEx_GetPLL2ClockFreq
+                0x08004148      0x200 build/debug/stm32h7xx_hal_rcc_ex.o
+                0x08004148                HAL_RCCEx_GetPLL2ClockFreq
+ .text.HAL_RCCEx_GetPLL3ClockFreq
+                0x08004348      0x200 build/debug/stm32h7xx_hal_rcc_ex.o
+                0x08004348                HAL_RCCEx_GetPLL3ClockFreq
+ .text.HAL_RCCEx_GetPLL1ClockFreq
+                0x08004548      0x200 build/debug/stm32h7xx_hal_rcc_ex.o
+                0x08004548                HAL_RCCEx_GetPLL1ClockFreq
+ .text.HAL_RCCEx_GetPeriphCLKFreq
+                0x08004748      0x620 build/debug/stm32h7xx_hal_rcc_ex.o
+                0x08004748                HAL_RCCEx_GetPeriphCLKFreq
+ .text.SD_PowerON
+                0x08004d68       0xc4 build/debug/stm32h7xx_hal_sd.o
+ .text.SD_SendSDStatus
+                0x08004e2c      0x108 build/debug/stm32h7xx_hal_sd.o
+ .text.SD_FindSCR
+                0x08004f34      0x108 build/debug/stm32h7xx_hal_sd.o
+ .text.SD_WideBus_Enable
+                0x0800503c       0x4e build/debug/stm32h7xx_hal_sd.o
+ .text.SD_WideBus_Disable
+                0x0800508a       0x4e build/debug/stm32h7xx_hal_sd.o
+ .text.SD_SendStatus
+                0x080050d8       0x2c build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_GetCardCSD
+                0x08005104      0x1b8 build/debug/stm32h7xx_hal_sd.o
+                0x08005104                HAL_SD_GetCardCSD
+ .text.SD_InitCard
+                0x080052bc       0xfc build/debug/stm32h7xx_hal_sd.o
+ .text.HAL_SD_InitCard
+                0x080053b8       0xd4 build/debug/stm32h7xx_hal_sd.o
+                0x080053b8                HAL_SD_InitCard
+ .text.HAL_SD_GetCardStatus
+                0x0800548c       0xcc build/debug/stm32h7xx_hal_sd.o
+                0x0800548c                HAL_SD_GetCardStatus
+ .text.HAL_SD_ConfigWideBusOperation
+                0x08005558      0x158 build/debug/stm32h7xx_hal_sd.o
+                0x08005558                HAL_SD_ConfigWideBusOperation
+ .text.HAL_SD_GetCardState
+                0x080056b0       0x22 build/debug/stm32h7xx_hal_sd.o
+                0x080056b0                HAL_SD_GetCardState
+ .text.HAL_SD_Init
+                0x080056d2       0xba build/debug/stm32h7xx_hal_sd.o
+                0x080056d2                HAL_SD_Init
+ .text.HAL_SDRAM_Init
+                0x0800578c       0x50 build/debug/stm32h7xx_hal_sdram.o
+                0x0800578c                HAL_SDRAM_Init
+ .text.HAL_SDRAM_RefreshErrorCallback
+                0x080057dc        0x2 build/debug/stm32h7xx_hal_sdram.o
+                0x080057dc                HAL_SDRAM_RefreshErrorCallback
+ .text.HAL_SDRAM_IRQHandler
+                0x080057de       0x20 build/debug/stm32h7xx_hal_sdram.o
+                0x080057de                HAL_SDRAM_IRQHandler
+ *fill*         0x080057fe        0x2 
+ .text.UART_EndRxTransfer
+                0x08005800       0x58 build/debug/stm32h7xx_hal_uart.o
+ .text.UART_SetConfig
+                0x08005858      0x9f8 build/debug/stm32h7xx_hal_uart.o
+                0x08005858                UART_SetConfig
+ .text.UART_AdvFeatureConfig
+                0x08006250       0xca build/debug/stm32h7xx_hal_uart.o
+                0x08006250                UART_AdvFeatureConfig
+ .text.UART_WaitOnFlagUntilTimeout
+                0x0800631a       0xa6 build/debug/stm32h7xx_hal_uart.o
+                0x0800631a                UART_WaitOnFlagUntilTimeout
+ .text.UART_CheckIdleState
+                0x080063c0       0xca build/debug/stm32h7xx_hal_uart.o
+                0x080063c0                UART_CheckIdleState
+ .text.HAL_UART_Init
+                0x0800648a       0x66 build/debug/stm32h7xx_hal_uart.o
+                0x0800648a                HAL_UART_Init
+ .text.UARTEx_SetNbDataToProcess
+                0x080064f0       0x4c build/debug/stm32h7xx_hal_uart_ex.o
+ .text.HAL_UARTEx_DisableFifoMode
+                0x0800653c       0x3e build/debug/stm32h7xx_hal_uart_ex.o
+                0x0800653c                HAL_UARTEx_DisableFifoMode
+ .text.HAL_UARTEx_SetTxFifoThreshold
+                0x0800657a       0x4a build/debug/stm32h7xx_hal_uart_ex.o
+                0x0800657a                HAL_UARTEx_SetTxFifoThreshold
+ .text.HAL_UARTEx_SetRxFifoThreshold
+                0x080065c4       0x4a build/debug/stm32h7xx_hal_uart_ex.o
+                0x080065c4                HAL_UARTEx_SetRxFifoThreshold
+ .text.NMI_Handler
+                0x0800660e        0x2 build/debug/stm32h7xx_it.o
+                0x0800660e                NMI_Handler
+ .text.HardFault_Handler
+                0x08006610        0x2 build/debug/stm32h7xx_it.o
+                0x08006610                HardFault_Handler
+ .text.MemManage_Handler
+                0x08006612        0x2 build/debug/stm32h7xx_it.o
+                0x08006612                MemManage_Handler
+ .text.BusFault_Handler
+                0x08006614        0x2 build/debug/stm32h7xx_it.o
+                0x08006614                BusFault_Handler
+ .text.UsageFault_Handler
+                0x08006616        0x2 build/debug/stm32h7xx_it.o
+                0x08006616                UsageFault_Handler
+ .text.SVC_Handler
+                0x08006618        0x2 build/debug/stm32h7xx_it.o
+                0x08006618                SVC_Handler
+ .text.DebugMon_Handler
+                0x0800661a        0x2 build/debug/stm32h7xx_it.o
+                0x0800661a                DebugMon_Handler
+ .text.PendSV_Handler
+                0x0800661c        0x2 build/debug/stm32h7xx_it.o
+                0x0800661c                PendSV_Handler
+ .text.SysTick_Handler
+                0x0800661e        0x8 build/debug/stm32h7xx_it.o
+                0x0800661e                SysTick_Handler
+ *fill*         0x08006626        0x2 
+ .text.FDCAN1_IT0_IRQHandler
+                0x08006628       0x10 build/debug/stm32h7xx_it.o
+                0x08006628                FDCAN1_IT0_IRQHandler
+ .text.FDCAN1_IT1_IRQHandler
+                0x08006638       0x10 build/debug/stm32h7xx_it.o
+                0x08006638                FDCAN1_IT1_IRQHandler
+ .text.FMC_IRQHandler
+                0x08006648       0x10 build/debug/stm32h7xx_it.o
+                0x08006648                FMC_IRQHandler
+ .text.FDCAN_CAL_IRQHandler
+                0x08006658       0x10 build/debug/stm32h7xx_it.o
+                0x08006658                FDCAN_CAL_IRQHandler
+ .text.LTDC_IRQHandler
+                0x08006668       0x18 build/debug/stm32h7xx_it.o
+                0x08006668                LTDC_IRQHandler
+ .text.FMC_SDRAM_Init
+                0x08006680       0x70 build/debug/stm32h7xx_ll_fmc.o
+                0x08006680                FMC_SDRAM_Init
+ .text.FMC_SDRAM_Timing_Init
+                0x080066f0       0xa8 build/debug/stm32h7xx_ll_fmc.o
+                0x080066f0                FMC_SDRAM_Timing_Init
+ .text.SDMMC_GetCmdError
+                0x08006798       0x3c build/debug/stm32h7xx_ll_sdmmc.o
+ .text.SDMMC_Init
+                0x080067d4       0x30 build/debug/stm32h7xx_ll_sdmmc.o
+                0x080067d4                SDMMC_Init
+ .text.SDMMC_ReadFIFO
+                0x08006804        0x6 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006804                SDMMC_ReadFIFO
+ .text.SDMMC_PowerState_ON
+                0x0800680a        0xc build/debug/stm32h7xx_ll_sdmmc.o
+                0x0800680a                SDMMC_PowerState_ON
+ .text.SDMMC_GetPowerState
+                0x08006816        0x8 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006816                SDMMC_GetPowerState
+ *fill*         0x0800681e        0x2 
+ .text.SDMMC_SendCommand
+                0x08006820       0x24 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006820                SDMMC_SendCommand
+ .text.SDMMC_GetCommandResponse
+                0x08006844        0x6 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006844                SDMMC_GetCommandResponse
+ .text.SDMMC_GetResponse
+                0x0800684a        0x6 build/debug/stm32h7xx_ll_sdmmc.o
+                0x0800684a                SDMMC_GetResponse
+ .text.SDMMC_ConfigData
+                0x08006850       0x24 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006850                SDMMC_ConfigData
+ .text.SDMMC_CmdGoIdleState
+                0x08006874       0x26 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006874                SDMMC_CmdGoIdleState
+ *fill*         0x0800689a        0x2 
+ .text.SDMMC_GetCmdResp1
+                0x0800689c      0x160 build/debug/stm32h7xx_ll_sdmmc.o
+                0x0800689c                SDMMC_GetCmdResp1
+ .text.SDMMC_CmdBlockLength
+                0x080069fc       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+                0x080069fc                SDMMC_CmdBlockLength
+ .text.SDMMC_CmdSelDesel
+                0x08006a2e       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006a2e                SDMMC_CmdSelDesel
+ .text.SDMMC_CmdAppCommand
+                0x08006a60       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006a60                SDMMC_CmdAppCommand
+ .text.SDMMC_CmdBusWidth
+                0x08006a92       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006a92                SDMMC_CmdBusWidth
+ .text.SDMMC_CmdSendSCR
+                0x08006ac4       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006ac4                SDMMC_CmdSendSCR
+ .text.SDMMC_CmdSendStatus
+                0x08006af6       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006af6                SDMMC_CmdSendStatus
+ .text.SDMMC_CmdStatusRegister
+                0x08006b28       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006b28                SDMMC_CmdStatusRegister
+ *fill*         0x08006b5a        0x2 
+ .text.SDMMC_GetCmdResp2
+                0x08006b5c       0x60 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006b5c                SDMMC_GetCmdResp2
+ .text.SDMMC_CmdSendCID
+                0x08006bbc       0x2c build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006bbc                SDMMC_CmdSendCID
+ .text.SDMMC_CmdSendCSD
+                0x08006be8       0x2c build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006be8                SDMMC_CmdSendCSD
+ .text.SDMMC_GetCmdResp3
+                0x08006c14       0x50 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006c14                SDMMC_GetCmdResp3
+ .text.SDMMC_CmdAppOperCommand
+                0x08006c64       0x2c build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006c64                SDMMC_CmdAppOperCommand
+ .text.SDMMC_GetCmdResp6
+                0x08006c90       0xa4 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006c90                SDMMC_GetCmdResp6
+ .text.SDMMC_CmdSetRelAdd
+                0x08006d34       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006d34                SDMMC_CmdSetRelAdd
+ *fill*         0x08006d66        0x2 
+ .text.SDMMC_GetCmdResp7
+                0x08006d68       0x64 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006d68                SDMMC_GetCmdResp7
+ .text.SDMMC_CmdOperCond
+                0x08006dcc       0x30 build/debug/stm32h7xx_ll_sdmmc.o
+                0x08006dcc                SDMMC_CmdOperCond
+ .text.USB_CoreReset
+                0x08006dfc       0x4a build/debug/stm32h7xx_ll_usb.o
+ *fill*         0x08006e46        0x2 
+ .text.USB_CoreInit
+                0x08006e48       0xa4 build/debug/stm32h7xx_ll_usb.o
+                0x08006e48                USB_CoreInit
+ .text.USB_DisableGlobalInt
+                0x08006eec        0xc build/debug/stm32h7xx_ll_usb.o
+                0x08006eec                USB_DisableGlobalInt
+ .text.USB_FlushTxFifo
+                0x08006ef8       0x4a build/debug/stm32h7xx_ll_usb.o
+                0x08006ef8                USB_FlushTxFifo
+ .text.USB_FlushRxFifo
+                0x08006f42       0x46 build/debug/stm32h7xx_ll_usb.o
+                0x08006f42                USB_FlushRxFifo
+ .text.USB_SetDevSpeed
+                0x08006f88        0xe build/debug/stm32h7xx_ll_usb.o
+                0x08006f88                USB_SetDevSpeed
+ *fill*         0x08006f96        0x2 
+ .text.USB_DevInit
+                0x08006f98      0x190 build/debug/stm32h7xx_ll_usb.o
+                0x08006f98                USB_DevInit
+ .text.USB_DevDisconnect
+                0x08007128       0x1c build/debug/stm32h7xx_ll_usb.o
+                0x08007128                USB_DevDisconnect
+ .text.USB_GetMode
+                0x08007144        0x8 build/debug/stm32h7xx_ll_usb.o
+                0x08007144                USB_GetMode
+ .text.USB_SetCurrentMode
+                0x0800714c       0x62 build/debug/stm32h7xx_ll_usb.o
+                0x0800714c                USB_SetCurrentMode
+ *fill*         0x080071ae        0x2 
+ .text.SystemInit
+                0x080071b0       0xd0 build/debug/system_stm32h7xx.o
+                0x080071b0                SystemInit
+ .text.ExitRun0Mode
+                0x08007280       0x1c build/debug/system_stm32h7xx.o
+                0x08007280                ExitRun0Mode
+ .text.Reset_Handler
+                0x0800729c       0x54 build/debug/startup_stm32h7a3xx.o
+                0x0800729c                Reset_Handler
+ .text.Default_Handler
+                0x080072f0        0x2 build/debug/startup_stm32h7a3xx.o
+                0x080072f0                RTC_Alarm_IRQHandler
+                0x080072f0                EXTI2_IRQHandler
+                0x080072f0                TIM8_CC_IRQHandler
+                0x080072f0                UART8_IRQHandler
+                0x080072f0                BDMA2_Channel1_IRQHandler
+                0x080072f0                SPI4_IRQHandler
+                0x080072f0                BDMA2_Channel0_IRQHandler
+                0x080072f0                TIM1_CC_IRQHandler
+                0x080072f0                DMA2_Stream5_IRQHandler
+                0x080072f0                JPEG_IRQHandler
+                0x080072f0                DMA1_Stream5_IRQHandler
+                0x080072f0                EXTI3_IRQHandler
+                0x080072f0                LPTIM4_IRQHandler
+                0x080072f0                TIM8_TRG_COM_TIM14_IRQHandler
+                0x080072f0                LPTIM2_IRQHandler
+                0x080072f0                DFSDM1_FLT1_IRQHandler
+                0x080072f0                DMAMUX2_OVR_IRQHandler
+                0x080072f0                GFXMMU_IRQHandler
+                0x080072f0                TIM8_UP_TIM13_IRQHandler
+                0x080072f0                I2C3_ER_IRQHandler
+                0x080072f0                DFSDM1_FLT2_IRQHandler
+                0x080072f0                USART10_IRQHandler
+                0x080072f0                MDMA_IRQHandler
+                0x080072f0                LPTIM3_IRQHandler
+                0x080072f0                BDMA2_Channel3_IRQHandler
+                0x080072f0                HSEM1_IRQHandler
+                0x080072f0                EXTI0_IRQHandler
+                0x080072f0                I2C2_EV_IRQHandler
+                0x080072f0                DAC2_IRQHandler
+                0x080072f0                DMA1_Stream2_IRQHandler
+                0x080072f0                FPU_IRQHandler
+                0x080072f0                OTG_HS_WKUP_IRQHandler
+                0x080072f0                LTDC_ER_IRQHandler
+                0x080072f0                DMA2_Stream2_IRQHandler
+                0x080072f0                SPI1_IRQHandler
+                0x080072f0                OCTOSPI1_IRQHandler
+                0x080072f0                TIM6_DAC_IRQHandler
+                0x080072f0                BDMA2_Channel6_IRQHandler
+                0x080072f0                DMA2_Stream3_IRQHandler
+                0x080072f0                OCTOSPI2_IRQHandler
+                0x080072f0                SAI2_IRQHandler
+                0x080072f0                BDMA1_IRQHandler
+                0x080072f0                DFSDM1_FLT3_IRQHandler
+                0x080072f0                USART6_IRQHandler
+                0x080072f0                TIM17_IRQHandler
+                0x080072f0                USART3_IRQHandler
+                0x080072f0                LPTIM5_IRQHandler
+                0x080072f0                UART5_IRQHandler
+                0x080072f0                DMA2_Stream0_IRQHandler
+                0x080072f0                TIM4_IRQHandler
+                0x080072f0                I2C1_EV_IRQHandler
+                0x080072f0                DMA1_Stream6_IRQHandler
+                0x080072f0                DMAMUX1_OVR_IRQHandler
+                0x080072f0                DMA1_Stream1_IRQHandler
+                0x080072f0                TIM16_IRQHandler
+                0x080072f0                UART4_IRQHandler
+                0x080072f0                TIM3_IRQHandler
+                0x080072f0                RCC_IRQHandler
+                0x080072f0                UART9_IRQHandler
+                0x080072f0                TIM8_BRK_TIM12_IRQHandler
+                0x080072f0                TIM1_TRG_COM_IRQHandler
+                0x080072f0                Default_Handler
+                0x080072f0                ECC_IRQHandler
+                0x080072f0                BDMA2_Channel2_IRQHandler
+                0x080072f0                CEC_IRQHandler
+                0x080072f0                EXTI15_10_IRQHandler
+                0x080072f0                DFSDM1_FLT4_IRQHandler
+                0x080072f0                ADC_IRQHandler
+                0x080072f0                DMA1_Stream7_IRQHandler
+                0x080072f0                SPI5_IRQHandler
+                0x080072f0                TIM7_IRQHandler
+                0x080072f0                SDMMC1_IRQHandler
+                0x080072f0                TIM5_IRQHandler
+                0x080072f0                DMA2_Stream7_IRQHandler
+                0x080072f0                TIM15_IRQHandler
+                0x080072f0                I2C3_EV_IRQHandler
+                0x080072f0                DFSDM2_IRQHandler
+                0x080072f0                EXTI9_5_IRQHandler
+                0x080072f0                RTC_WKUP_IRQHandler
+                0x080072f0                SPDIF_RX_IRQHandler
+                0x080072f0                PVD_PVM_IRQHandler
+                0x080072f0                SPI2_IRQHandler
+                0x080072f0                OTG_HS_EP1_IN_IRQHandler
+                0x080072f0                DFSDM1_FLT5_IRQHandler
+                0x080072f0                DMA1_Stream0_IRQHandler
+                0x080072f0                CRS_IRQHandler
+                0x080072f0                EXTI4_IRQHandler
+                0x080072f0                DFSDM1_FLT6_IRQHandler
+                0x080072f0                RNG_IRQHandler
+                0x080072f0                FDCAN2_IT1_IRQHandler
+                0x080072f0                COMP_IRQHandler
+                0x080072f0                TIM1_UP_IRQHandler
+                0x080072f0                OTG_HS_EP1_OUT_IRQHandler
+                0x080072f0                WWDG_IRQHandler
+                0x080072f0                SPI6_IRQHandler
+                0x080072f0                MDIOS_IRQHandler
+                0x080072f0                I2C4_EV_IRQHandler
+                0x080072f0                FDCAN2_IT0_IRQHandler
+                0x080072f0                LPUART1_IRQHandler
+                0x080072f0                TIM2_IRQHandler
+                0x080072f0                BDMA2_Channel5_IRQHandler
+                0x080072f0                OTG_HS_IRQHandler
+                0x080072f0                DMA2D_IRQHandler
+                0x080072f0                TIM1_BRK_IRQHandler
+                0x080072f0                EXTI1_IRQHandler
+                0x080072f0                SDMMC2_IRQHandler
+                0x080072f0                DTS_IRQHandler
+                0x080072f0                UART7_IRQHandler
+                0x080072f0                MDIOS_WKUP_IRQHandler
+                0x080072f0                USART2_IRQHandler
+                0x080072f0                DFSDM1_FLT0_IRQHandler
+                0x080072f0                I2C2_ER_IRQHandler
+                0x080072f0                DMA2_Stream1_IRQHandler
+                0x080072f0                DFSDM1_FLT7_IRQHandler
+                0x080072f0                FLASH_IRQHandler
+                0x080072f0                DMA2_Stream4_IRQHandler
+                0x080072f0                USART1_IRQHandler
+                0x080072f0                SPI3_IRQHandler
+                0x080072f0                WAKEUP_PIN_IRQHandler
+                0x080072f0                DMA1_Stream4_IRQHandler
+                0x080072f0                I2C1_ER_IRQHandler
+                0x080072f0                BDMA2_Channel7_IRQHandler
+                0x080072f0                SWPMI1_IRQHandler
+                0x080072f0                LPTIM1_IRQHandler
+                0x080072f0                DCMI_PSSI_IRQHandler
+                0x080072f0                I2C4_ER_IRQHandler
+                0x080072f0                DMA2_Stream6_IRQHandler
+                0x080072f0                SAI1_IRQHandler
+                0x080072f0                DMA1_Stream3_IRQHandler
+                0x080072f0                RTC_TAMP_STAMP_CSS_LSE_IRQHandler
+                0x080072f0                BDMA2_Channel4_IRQHandler
+ .text.memset   0x080072f2       0x10 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+                0x080072f2                memset
+ *fill*         0x08007302        0x2 
+ .text.__libc_init_array
+                0x08007304       0x48 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+                0x08007304                __libc_init_array
+ .text.memcpy   0x0800734c       0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+                0x0800734c                memcpy
+ *(.glue_7)
+ .glue_7        0x08007368        0x0 linker stubs
+ *(.glue_7t)
+ .glue_7t       0x08007368        0x0 linker stubs
+ *(.eh_frame)
+ .eh_frame      0x08007368        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+ *(.init)
+ .init          0x08007368        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o
+                0x08007368                _init
+ .init          0x0800736c        0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o
+ *(.fini)
+ .fini          0x08007374        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o
+                0x08007374                _fini
+ .fini          0x08007378        0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o
+                0x08007380                        . = ALIGN (0x4)
+                0x08007380                        _etext = .
+
+.vfp11_veneer   0x08007380        0x0
+ .vfp11_veneer  0x08007380        0x0 linker stubs
+
+.v4_bx          0x08007380        0x0
+ .v4_bx         0x08007380        0x0 linker stubs
+
+.iplt           0x08007380        0x0
+ .iplt          0x08007380        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+
+.rodata         0x08007380       0x84
+                0x08007380                        . = ALIGN (0x4)
+ *(.rodata)
+ .rodata        0x08007380       0x4c build/debug/stm32h7xx_hal_fdcan.o
+ *(.rodata*)
+ .rodata.UARTPrescTable
+                0x080073cc       0x18 build/debug/stm32h7xx_hal_uart.o
+                0x080073cc                UARTPrescTable
+ .rodata.denominator.0
+                0x080073e4        0x8 build/debug/stm32h7xx_hal_uart_ex.o
+ .rodata.numerator.1
+                0x080073ec        0x8 build/debug/stm32h7xx_hal_uart_ex.o
+ .rodata.D1CorePrescTable
+                0x080073f4       0x10 build/debug/system_stm32h7xx.o
+                0x080073f4                D1CorePrescTable
+                0x08007404                        . = ALIGN (0x4)
+
+.ARM.extab
+ *(.ARM.extab* .gnu.linkonce.armextab.*)
+
+.ARM            0x08007404        0x8
+                0x08007404                        __exidx_start = .
+ *(.ARM.exidx*)
+ .ARM.exidx     0x08007404        0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+                0x0800740c                        __exidx_end = .
+
+.rel.dyn        0x0800740c        0x0
+ .rel.iplt      0x0800740c        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+
+.preinit_array  0x0800740c        0x0
+                0x0800740c                        PROVIDE (__preinit_array_start = .)
+ *(.preinit_array*)
+                0x0800740c                        PROVIDE (__preinit_array_end = .)
+
+.init_array     0x0800740c        0x4
+                0x0800740c                        PROVIDE (__init_array_start = .)
+ *(SORT_BY_NAME(.init_array.*))
+ *(.init_array*)
+ .init_array    0x0800740c        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+                0x08007410                        PROVIDE (__init_array_end = .)
+
+.fini_array     0x08007410        0x4
+                0x08007410                        PROVIDE (__fini_array_start = .)
+ *(SORT_BY_NAME(.fini_array.*))
+ *(.fini_array*)
+ .fini_array    0x08007410        0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+                0x08007414                        PROVIDE (__fini_array_end = .)
+                0x08007414                        _sidata = LOADADDR (.data)
+
+.data           0x20000000       0x10 load address 0x08007414
+                0x20000000                        . = ALIGN (0x4)
+                0x20000000                        _sdata = .
+ *(.data)
+ *(.data*)
+ .data.uwTickFreq
+                0x20000000        0x1 build/debug/stm32h7xx_hal.o
+                0x20000000                uwTickFreq
+ *fill*         0x20000001        0x3 
+ .data.uwTickPrio
+                0x20000004        0x4 build/debug/stm32h7xx_hal.o
+                0x20000004                uwTickPrio
+ .data.SystemD2Clock
+                0x20000008        0x4 build/debug/system_stm32h7xx.o
+                0x20000008                SystemD2Clock
+ .data.SystemCoreClock
+                0x2000000c        0x4 build/debug/system_stm32h7xx.o
+                0x2000000c                SystemCoreClock
+                0x20000010                        . = ALIGN (0x4)
+                0x20000010                        _edata = .
+
+.tm_clone_table
+                0x20000010        0x0 load address 0x08007424
+ .tm_clone_table
+                0x20000010        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+ .tm_clone_table
+                0x20000010        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o
+
+.igot.plt       0x20000010        0x0 load address 0x08007424
+ .igot.plt      0x20000010        0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+                0x20000010                        . = ALIGN (0x4)
+
+.bss            0x20000010     0x9ea0 load address 0x08007424
+                0x20000010                        _sbss = .
+                0x20000010                        __bss_start__ = _sbss
+ *(.bss)
+ .bss           0x20000010       0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+ *(.bss*)
+ .bss.framebuffer
+                0x2000002c     0x9600 build/debug/main.o
+                0x2000002c                framebuffer
+ .bss.hsdram1   0x2000962c       0x34 build/debug/main.o
+                0x2000962c                hsdram1
+ .bss.hpcd_USB_OTG_HS
+                0x20009660      0x4e4 build/debug/main.o
+                0x20009660                hpcd_USB_OTG_HS
+ .bss.huart10   0x20009b44       0x94 build/debug/main.o
+                0x20009b44                huart10
+ .bss.huart5    0x20009bd8       0x94 build/debug/main.o
+                0x20009bd8                huart5
+ .bss.hsd2      0x20009c6c       0x7c build/debug/main.o
+                0x20009c6c                hsd2
+ .bss.hltdc     0x20009ce8       0xa8 build/debug/main.o
+                0x20009ce8                hltdc
+ .bss.hi2c4     0x20009d90       0x54 build/debug/main.o
+                0x20009d90                hi2c4
+ .bss.hfdcan1   0x20009de4       0xa0 build/debug/main.o
+                0x20009de4                hfdcan1
+ .bss.hcrc      0x20009e84       0x24 build/debug/main.o
+                0x20009e84                hcrc
+ .bss.uwTick    0x20009ea8        0x4 build/debug/stm32h7xx_hal.o
+                0x20009ea8                uwTick
+ .bss.FMC_Initialized
+                0x20009eac        0x4 build/debug/stm32h7xx_hal_msp.o
+ *(COMMON)
+                0x20009eb0                        . = ALIGN (0x4)
+                0x20009eb0                        _ebss = .
+                0x20009eb0                        __bss_end__ = _ebss
+
+._user_heap_stack
+                0x20009eb0      0x600 load address 0x08007424
+                0x20009eb0                        . = ALIGN (0x8)
+                [!provide]                        PROVIDE (end = .)
+                0x20009eb0                        PROVIDE (_end = .)
+                0x2000a0b0                        . = (. + _Min_Heap_Size)
+ *fill*         0x20009eb0      0x200 
+                0x2000a4b0                        . = (. + _Min_Stack_Size)
+ *fill*         0x2000a0b0      0x400 
+                0x2000a4b0                        . = ALIGN (0x8)
+
+/DISCARD/
+ libc.a(*)
+ libm.a(*)
+ libgcc.a(*)
+OUTPUT(build/debug/FT23_Charger.elf elf32-littlearm)
+LOAD linker stubs
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc.a
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libm.a
+LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a
+
+.ARM.attributes
+                0x00000000       0x2e
+ .ARM.attributes
+                0x00000000       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o
+ .ARM.attributes
+                0x00000020       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+ .ARM.attributes
+                0x00000052       0x32 build/debug/main.o
+ .ARM.attributes
+                0x00000084       0x32 build/debug/stm32h7xx_hal.o
+ .ARM.attributes
+                0x000000b6       0x32 build/debug/stm32h7xx_hal_cortex.o
+ .ARM.attributes
+                0x000000e8       0x32 build/debug/stm32h7xx_hal_crc.o
+ .ARM.attributes
+                0x0000011a       0x32 build/debug/stm32h7xx_hal_crc_ex.o
+ .ARM.attributes
+                0x0000014c       0x32 build/debug/stm32h7xx_hal_fdcan.o
+ .ARM.attributes
+                0x0000017e       0x32 build/debug/stm32h7xx_hal_gpio.o
+ .ARM.attributes
+                0x000001b0       0x32 build/debug/stm32h7xx_hal_i2c.o
+ .ARM.attributes
+                0x000001e2       0x32 build/debug/stm32h7xx_hal_i2c_ex.o
+ .ARM.attributes
+                0x00000214       0x32 build/debug/stm32h7xx_hal_ltdc.o
+ .ARM.attributes
+                0x00000246       0x32 build/debug/stm32h7xx_hal_msp.o
+ .ARM.attributes
+                0x00000278       0x32 build/debug/stm32h7xx_hal_pcd.o
+ .ARM.attributes
+                0x000002aa       0x32 build/debug/stm32h7xx_hal_pcd_ex.o
+ .ARM.attributes
+                0x000002dc       0x32 build/debug/stm32h7xx_hal_pwr_ex.o
+ .ARM.attributes
+                0x0000030e       0x32 build/debug/stm32h7xx_hal_rcc.o
+ .ARM.attributes
+                0x00000340       0x32 build/debug/stm32h7xx_hal_rcc_ex.o
+ .ARM.attributes
+                0x00000372       0x32 build/debug/stm32h7xx_hal_sd.o
+ .ARM.attributes
+                0x000003a4       0x32 build/debug/stm32h7xx_hal_sdram.o
+ .ARM.attributes
+                0x000003d6       0x32 build/debug/stm32h7xx_hal_uart.o
+ .ARM.attributes
+                0x00000408       0x32 build/debug/stm32h7xx_hal_uart_ex.o
+ .ARM.attributes
+                0x0000043a       0x32 build/debug/stm32h7xx_it.o
+ .ARM.attributes
+                0x0000046c       0x32 build/debug/stm32h7xx_ll_fmc.o
+ .ARM.attributes
+                0x0000049e       0x32 build/debug/stm32h7xx_ll_sdmmc.o
+ .ARM.attributes
+                0x000004d0       0x32 build/debug/stm32h7xx_ll_usb.o
+ .ARM.attributes
+                0x00000502       0x32 build/debug/system_stm32h7xx.o
+ .ARM.attributes
+                0x00000534       0x21 build/debug/startup_stm32h7a3xx.o
+ .ARM.attributes
+                0x00000555       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .ARM.attributes
+                0x00000587       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .ARM.attributes
+                0x000005b9       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .ARM.attributes
+                0x000005eb       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+ .ARM.attributes
+                0x0000060b       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+ .ARM.attributes
+                0x0000063d       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+ .ARM.attributes
+                0x0000065d       0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o
+ .ARM.attributes
+                0x0000068f       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o
+
+.comment        0x00000000       0x46
+ .comment       0x00000000       0x46 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+                                 0x24 (size before relaxing)
+ .comment       0x00000046       0x24 build/debug/main.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_cortex.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_crc.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_crc_ex.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_fdcan.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_gpio.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_i2c.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_i2c_ex.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_ltdc.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_msp.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_pcd.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_pcd_ex.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_pwr_ex.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_rcc.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_rcc_ex.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_sd.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_sdram.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_uart.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_hal_uart_ex.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_it.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_ll_fmc.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_ll_sdmmc.o
+ .comment       0x00000046       0x24 build/debug/stm32h7xx_ll_usb.o
+ .comment       0x00000046       0x24 build/debug/system_stm32h7xx.o
+ .comment       0x00000046       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .comment       0x00000046       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .comment       0x00000046       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .comment       0x00000046       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+ .comment       0x00000046       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o
+
+.debug_info     0x00000000    0x2d6f1
+ .debug_info    0x00000000     0x3a4f build/debug/main.o
+ .debug_info    0x00003a4f     0x14ef build/debug/stm32h7xx_hal.o
+ .debug_info    0x00004f3e     0x12fc build/debug/stm32h7xx_hal_cortex.o
+ .debug_info    0x0000623a      0x600 build/debug/stm32h7xx_hal_crc.o
+ .debug_info    0x0000683a      0x352 build/debug/stm32h7xx_hal_crc_ex.o
+ .debug_info    0x00006b8c     0x3275 build/debug/stm32h7xx_hal_fdcan.o
+ .debug_info    0x00009e01      0xb76 build/debug/stm32h7xx_hal_gpio.o
+ .debug_info    0x0000a977     0x44f5 build/debug/stm32h7xx_hal_i2c.o
+ .debug_info    0x0000ee6c      0xc81 build/debug/stm32h7xx_hal_i2c_ex.o
+ .debug_info    0x0000faed     0x1504 build/debug/stm32h7xx_hal_ltdc.o
+ .debug_info    0x00010ff1     0x3ebc build/debug/stm32h7xx_hal_msp.o
+ .debug_info    0x00014ead     0x1c4f build/debug/stm32h7xx_hal_pcd.o
+ .debug_info    0x00016afc      0xa1a build/debug/stm32h7xx_hal_pcd_ex.o
+ .debug_info    0x00017516     0x107c build/debug/stm32h7xx_hal_pwr_ex.o
+ .debug_info    0x00018592     0x1174 build/debug/stm32h7xx_hal_rcc.o
+ .debug_info    0x00019706     0x1986 build/debug/stm32h7xx_hal_rcc_ex.o
+ .debug_info    0x0001b08c     0x263b build/debug/stm32h7xx_hal_sd.o
+ .debug_info    0x0001d6c7     0x132d build/debug/stm32h7xx_hal_sdram.o
+ .debug_info    0x0001e9f4     0x657c build/debug/stm32h7xx_hal_uart.o
+ .debug_info    0x00024f70     0x1226 build/debug/stm32h7xx_hal_uart_ex.o
+ .debug_info    0x00026196     0x1327 build/debug/stm32h7xx_it.o
+ .debug_info    0x000274bd      0xcbe build/debug/stm32h7xx_ll_fmc.o
+ .debug_info    0x0002817b     0x1e7c build/debug/stm32h7xx_ll_sdmmc.o
+ .debug_info    0x00029ff7     0x1f0d build/debug/stm32h7xx_ll_usb.o
+ .debug_info    0x0002bf04      0xd5c build/debug/system_stm32h7xx.o
+ .debug_info    0x0002cc60       0x30 build/debug/startup_stm32h7a3xx.o
+ .debug_info    0x0002cc90       0xe0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .debug_info    0x0002cd70      0x10b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .debug_info    0x0002ce7b      0x121 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .debug_info    0x0002cf9c       0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+ .debug_info    0x0002cfc0      0x6f5 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+ .debug_info    0x0002d6b5       0x3c /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+
+.debug_abbrev   0x00000000     0x43f0
+ .debug_abbrev  0x00000000      0x35a build/debug/main.o
+ .debug_abbrev  0x0000035a      0x2b6 build/debug/stm32h7xx_hal.o
+ .debug_abbrev  0x00000610      0x3ad build/debug/stm32h7xx_hal_cortex.o
+ .debug_abbrev  0x000009bd      0x223 build/debug/stm32h7xx_hal_crc.o
+ .debug_abbrev  0x00000be0      0x16d build/debug/stm32h7xx_hal_crc_ex.o
+ .debug_abbrev  0x00000d4d      0x2be build/debug/stm32h7xx_hal_fdcan.o
+ .debug_abbrev  0x0000100b      0x251 build/debug/stm32h7xx_hal_gpio.o
+ .debug_abbrev  0x0000125c      0x296 build/debug/stm32h7xx_hal_i2c.o
+ .debug_abbrev  0x000014f2      0x1f5 build/debug/stm32h7xx_hal_i2c_ex.o
+ .debug_abbrev  0x000016e7      0x24a build/debug/stm32h7xx_hal_ltdc.o
+ .debug_abbrev  0x00001931      0x302 build/debug/stm32h7xx_hal_msp.o
+ .debug_abbrev  0x00001c33      0x2fa build/debug/stm32h7xx_hal_pcd.o
+ .debug_abbrev  0x00001f2d      0x2ad build/debug/stm32h7xx_hal_pcd_ex.o
+ .debug_abbrev  0x000021da      0x2b7 build/debug/stm32h7xx_hal_pwr_ex.o
+ .debug_abbrev  0x00002491      0x2a8 build/debug/stm32h7xx_hal_rcc.o
+ .debug_abbrev  0x00002739      0x293 build/debug/stm32h7xx_hal_rcc_ex.o
+ .debug_abbrev  0x000029cc      0x29f build/debug/stm32h7xx_hal_sd.o
+ .debug_abbrev  0x00002c6b      0x20e build/debug/stm32h7xx_hal_sdram.o
+ .debug_abbrev  0x00002e79      0x38b build/debug/stm32h7xx_hal_uart.o
+ .debug_abbrev  0x00003204      0x343 build/debug/stm32h7xx_hal_uart_ex.o
+ .debug_abbrev  0x00003547      0x21a build/debug/stm32h7xx_it.o
+ .debug_abbrev  0x00003761      0x1c4 build/debug/stm32h7xx_ll_fmc.o
+ .debug_abbrev  0x00003925      0x249 build/debug/stm32h7xx_ll_sdmmc.o
+ .debug_abbrev  0x00003b6e      0x329 build/debug/stm32h7xx_ll_usb.o
+ .debug_abbrev  0x00003e97      0x169 build/debug/system_stm32h7xx.o
+ .debug_abbrev  0x00004000       0x24 build/debug/startup_stm32h7a3xx.o
+ .debug_abbrev  0x00004024       0x9e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .debug_abbrev  0x000040c2       0xc9 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .debug_abbrev  0x0000418b       0xc1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .debug_abbrev  0x0000424c       0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+ .debug_abbrev  0x00004260      0x16a /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+ .debug_abbrev  0x000043ca       0x26 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+
+.debug_loclists
+                0x00000000    0x15376
+ .debug_loclists
+                0x00000000       0x21 build/debug/main.o
+ .debug_loclists
+                0x00000021      0x2d8 build/debug/stm32h7xx_hal.o
+ .debug_loclists
+                0x000002f9      0x50a build/debug/stm32h7xx_hal_cortex.o
+ .debug_loclists
+                0x00000803      0x3f6 build/debug/stm32h7xx_hal_crc.o
+ .debug_loclists
+                0x00000bf9      0x1a3 build/debug/stm32h7xx_hal_crc_ex.o
+ .debug_loclists
+                0x00000d9c     0x275a build/debug/stm32h7xx_hal_fdcan.o
+ .debug_loclists
+                0x000034f6      0x2a0 build/debug/stm32h7xx_hal_gpio.o
+ .debug_loclists
+                0x00003796     0x3c87 build/debug/stm32h7xx_hal_i2c.o
+ .debug_loclists
+                0x0000741d      0x129 build/debug/stm32h7xx_hal_i2c_ex.o
+ .debug_loclists
+                0x00007546     0x116c build/debug/stm32h7xx_hal_ltdc.o
+ .debug_loclists
+                0x000086b2      0x2e0 build/debug/stm32h7xx_hal_msp.o
+ .debug_loclists
+                0x00008992      0xd74 build/debug/stm32h7xx_hal_pcd.o
+ .debug_loclists
+                0x00009706      0x18e build/debug/stm32h7xx_hal_pcd_ex.o
+ .debug_loclists
+                0x00009894      0x2b2 build/debug/stm32h7xx_hal_pwr_ex.o
+ .debug_loclists
+                0x00009b46      0x621 build/debug/stm32h7xx_hal_rcc.o
+ .debug_loclists
+                0x0000a167     0x1426 build/debug/stm32h7xx_hal_rcc_ex.o
+ .debug_loclists
+                0x0000b58d     0x1877 build/debug/stm32h7xx_hal_sd.o
+ .debug_loclists
+                0x0000ce04      0xa76 build/debug/stm32h7xx_hal_sdram.o
+ .debug_loclists
+                0x0000d87a     0x38d3 build/debug/stm32h7xx_hal_uart.o
+ .debug_loclists
+                0x0001114d      0x7dc build/debug/stm32h7xx_hal_uart_ex.o
+ .debug_loclists
+                0x00011929      0x578 build/debug/stm32h7xx_ll_fmc.o
+ .debug_loclists
+                0x00011ea1      0xed2 build/debug/stm32h7xx_ll_sdmmc.o
+ .debug_loclists
+                0x00012d73     0x18ca build/debug/stm32h7xx_ll_usb.o
+ .debug_loclists
+                0x0001463d      0x120 build/debug/system_stm32h7xx.o
+ .debug_loclists
+                0x0001475d       0x4d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .debug_loclists
+                0x000147aa       0x54 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .debug_loclists
+                0x000147fe       0xad /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .debug_loclists
+                0x000148ab      0xacb /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+
+.debug_aranges  0x00000000     0x1bf0
+ .debug_aranges
+                0x00000000       0x88 build/debug/main.o
+ .debug_aranges
+                0x00000088      0x1a0 build/debug/stm32h7xx_hal.o
+ .debug_aranges
+                0x00000228       0xf8 build/debug/stm32h7xx_hal_cortex.o
+ .debug_aranges
+                0x00000320       0x60 build/debug/stm32h7xx_hal_crc.o
+ .debug_aranges
+                0x00000380       0x30 build/debug/stm32h7xx_hal_crc_ex.o
+ .debug_aranges
+                0x000003b0      0x338 build/debug/stm32h7xx_hal_fdcan.o
+ .debug_aranges
+                0x000006e8       0x58 build/debug/stm32h7xx_hal_gpio.o
+ .debug_aranges
+                0x00000740      0x2a0 build/debug/stm32h7xx_hal_i2c.o
+ .debug_aranges
+                0x000009e0       0x48 build/debug/stm32h7xx_hal_i2c_ex.o
+ .debug_aranges
+                0x00000a28      0x158 build/debug/stm32h7xx_hal_ltdc.o
+ .debug_aranges
+                0x00000b80       0xb0 build/debug/stm32h7xx_hal_msp.o
+ .debug_aranges
+                0x00000c30      0x140 build/debug/stm32h7xx_hal_pcd.o
+ .debug_aranges
+                0x00000d70       0x60 build/debug/stm32h7xx_hal_pcd_ex.o
+ .debug_aranges
+                0x00000dd0      0x188 build/debug/stm32h7xx_hal_pwr_ex.o
+ .debug_aranges
+                0x00000f58       0x88 build/debug/stm32h7xx_hal_rcc.o
+ .debug_aranges
+                0x00000fe0       0xf0 build/debug/stm32h7xx_hal_rcc_ex.o
+ .debug_aranges
+                0x000010d0      0x170 build/debug/stm32h7xx_hal_sd.o
+ .debug_aranges
+                0x00001240       0xe8 build/debug/stm32h7xx_hal_sdram.o
+ .debug_aranges
+                0x00001328      0x248 build/debug/stm32h7xx_hal_uart.o
+ .debug_aranges
+                0x00001570       0xa8 build/debug/stm32h7xx_hal_uart_ex.o
+ .debug_aranges
+                0x00001618       0x88 build/debug/stm32h7xx_it.o
+ .debug_aranges
+                0x000016a0       0xc8 build/debug/stm32h7xx_ll_fmc.o
+ .debug_aranges
+                0x00001768      0x1d0 build/debug/stm32h7xx_ll_sdmmc.o
+ .debug_aranges
+                0x00001938      0x1a0 build/debug/stm32h7xx_ll_usb.o
+ .debug_aranges
+                0x00001ad8       0x30 build/debug/system_stm32h7xx.o
+ .debug_aranges
+                0x00001b08       0x28 build/debug/startup_stm32h7a3xx.o
+ .debug_aranges
+                0x00001b30       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .debug_aranges
+                0x00001b50       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .debug_aranges
+                0x00001b70       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .debug_aranges
+                0x00001b90       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+ .debug_aranges
+                0x00001bb0       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+ .debug_aranges
+                0x00001bd0       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+
+.debug_rnglists
+                0x00000000     0x15fc
+ .debug_rnglists
+                0x00000000       0x64 build/debug/main.o
+ .debug_rnglists
+                0x00000064      0x135 build/debug/stm32h7xx_hal.o
+ .debug_rnglists
+                0x00000199       0xb5 build/debug/stm32h7xx_hal_cortex.o
+ .debug_rnglists
+                0x0000024e       0x45 build/debug/stm32h7xx_hal_crc.o
+ .debug_rnglists
+                0x00000293       0x20 build/debug/stm32h7xx_hal_crc_ex.o
+ .debug_rnglists
+                0x000002b3      0x29a build/debug/stm32h7xx_hal_fdcan.o
+ .debug_rnglists
+                0x0000054d       0x3f build/debug/stm32h7xx_hal_gpio.o
+ .debug_rnglists
+                0x0000058c      0x21e build/debug/stm32h7xx_hal_i2c.o
+ .debug_rnglists
+                0x000007aa       0x31 build/debug/stm32h7xx_hal_i2c_ex.o
+ .debug_rnglists
+                0x000007db      0x103 build/debug/stm32h7xx_hal_ltdc.o
+ .debug_rnglists
+                0x000008de       0x87 build/debug/stm32h7xx_hal_msp.o
+ .debug_rnglists
+                0x00000965       0xf1 build/debug/stm32h7xx_hal_pcd.o
+ .debug_rnglists
+                0x00000a56       0x44 build/debug/stm32h7xx_hal_pcd_ex.o
+ .debug_rnglists
+                0x00000a9a      0x156 build/debug/stm32h7xx_hal_pwr_ex.o
+ .debug_rnglists
+                0x00000bf0       0xa9 build/debug/stm32h7xx_hal_rcc.o
+ .debug_rnglists
+                0x00000c99       0xb9 build/debug/stm32h7xx_hal_rcc_ex.o
+ .debug_rnglists
+                0x00000d52      0x123 build/debug/stm32h7xx_hal_sd.o
+ .debug_rnglists
+                0x00000e75       0xa9 build/debug/stm32h7xx_hal_sdram.o
+ .debug_rnglists
+                0x00000f1e      0x1cb build/debug/stm32h7xx_hal_uart.o
+ .debug_rnglists
+                0x000010e9       0x88 build/debug/stm32h7xx_hal_uart_ex.o
+ .debug_rnglists
+                0x00001171       0x61 build/debug/stm32h7xx_it.o
+ .debug_rnglists
+                0x000011d2       0x93 build/debug/stm32h7xx_ll_fmc.o
+ .debug_rnglists
+                0x00001265      0x15a build/debug/stm32h7xx_ll_sdmmc.o
+ .debug_rnglists
+                0x000013bf      0x141 build/debug/stm32h7xx_ll_usb.o
+ .debug_rnglists
+                0x00001500       0x21 build/debug/system_stm32h7xx.o
+ .debug_rnglists
+                0x00001521       0x19 build/debug/startup_stm32h7a3xx.o
+ .debug_rnglists
+                0x0000153a       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .debug_rnglists
+                0x0000154d       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .debug_rnglists
+                0x00001560       0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .debug_rnglists
+                0x00001573       0x89 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+
+.debug_line     0x00000000    0x1fcee
+ .debug_line    0x00000000      0xc7b build/debug/main.o
+ .debug_line    0x00000c7b      0x88f build/debug/stm32h7xx_hal.o
+ .debug_line    0x0000150a      0x7d3 build/debug/stm32h7xx_hal_cortex.o
+ .debug_line    0x00001cdd      0x519 build/debug/stm32h7xx_hal_crc.o
+ .debug_line    0x000021f6      0x24b build/debug/stm32h7xx_hal_crc_ex.o
+ .debug_line    0x00002441     0x3338 build/debug/stm32h7xx_hal_fdcan.o
+ .debug_line    0x00005779      0x6af build/debug/stm32h7xx_hal_gpio.o
+ .debug_line    0x00005e28     0x4fdb build/debug/stm32h7xx_hal_i2c.o
+ .debug_line    0x0000ae03      0x367 build/debug/stm32h7xx_hal_i2c_ex.o
+ .debug_line    0x0000b16a     0x11af build/debug/stm32h7xx_hal_ltdc.o
+ .debug_line    0x0000c319      0xc2a build/debug/stm32h7xx_hal_msp.o
+ .debug_line    0x0000cf43     0x13d7 build/debug/stm32h7xx_hal_pcd.o
+ .debug_line    0x0000e31a      0x458 build/debug/stm32h7xx_hal_pcd_ex.o
+ .debug_line    0x0000e772      0xae4 build/debug/stm32h7xx_hal_pwr_ex.o
+ .debug_line    0x0000f256     0x1337 build/debug/stm32h7xx_hal_rcc.o
+ .debug_line    0x0001058d     0x1e24 build/debug/stm32h7xx_hal_rcc_ex.o
+ .debug_line    0x000123b1     0x2982 build/debug/stm32h7xx_hal_sd.o
+ .debug_line    0x00014d33      0x9d9 build/debug/stm32h7xx_hal_sdram.o
+ .debug_line    0x0001570c     0x50e3 build/debug/stm32h7xx_hal_uart.o
+ .debug_line    0x0001a7ef      0xa10 build/debug/stm32h7xx_hal_uart_ex.o
+ .debug_line    0x0001b1ff      0x2f7 build/debug/stm32h7xx_it.o
+ .debug_line    0x0001b4f6      0x6af build/debug/stm32h7xx_ll_fmc.o
+ .debug_line    0x0001bba5     0x1424 build/debug/stm32h7xx_ll_sdmmc.o
+ .debug_line    0x0001cfc9     0x1e92 build/debug/stm32h7xx_ll_usb.o
+ .debug_line    0x0001ee5b      0x3ef build/debug/system_stm32h7xx.o
+ .debug_line    0x0001f24a       0x77 build/debug/startup_stm32h7a3xx.o
+ .debug_line    0x0001f2c1      0x12d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .debug_line    0x0001f3ee       0xff /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .debug_line    0x0001f4ed      0x185 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .debug_line    0x0001f672       0x4e /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+ .debug_line    0x0001f6c0      0x5e4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+ .debug_line    0x0001fca4       0x4a /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+
+.debug_str      0x00000000     0xa987
+ .debug_str     0x00000000     0xa987 build/debug/main.o
+                               0x274a (size before relaxing)
+ .debug_str     0x0000a987     0x1456 build/debug/stm32h7xx_hal.o
+ .debug_str     0x0000a987     0x1029 build/debug/stm32h7xx_hal_cortex.o
+ .debug_str     0x0000a987      0x47c build/debug/stm32h7xx_hal_crc.o
+ .debug_str     0x0000a987      0x422 build/debug/stm32h7xx_hal_crc_ex.o
+ .debug_str     0x0000a987     0x1d96 build/debug/stm32h7xx_hal_fdcan.o
+ .debug_str     0x0000a987      0x6ac build/debug/stm32h7xx_hal_gpio.o
+ .debug_str     0x0000a987     0x1170 build/debug/stm32h7xx_hal_i2c.o
+ .debug_str     0x0000a987      0xb03 build/debug/stm32h7xx_hal_i2c_ex.o
+ .debug_str     0x0000a987      0x9c2 build/debug/stm32h7xx_hal_ltdc.o
+ .debug_str     0x0000a987     0x2c21 build/debug/stm32h7xx_hal_msp.o
+ .debug_str     0x0000a987      0xe36 build/debug/stm32h7xx_hal_pcd.o
+ .debug_str     0x0000a987      0x822 build/debug/stm32h7xx_hal_pcd_ex.o
+ .debug_str     0x0000a987      0xae5 build/debug/stm32h7xx_hal_pwr_ex.o
+ .debug_str     0x0000a987      0xa36 build/debug/stm32h7xx_hal_rcc.o
+ .debug_str     0x0000a987      0xef5 build/debug/stm32h7xx_hal_rcc_ex.o
+ .debug_str     0x0000a987     0x1016 build/debug/stm32h7xx_hal_sd.o
+ .debug_str     0x0000a987      0xb9e build/debug/stm32h7xx_hal_sdram.o
+ .debug_str     0x0000a987     0x14be build/debug/stm32h7xx_hal_uart.o
+ .debug_str     0x0000a987      0xb91 build/debug/stm32h7xx_hal_uart_ex.o
+ .debug_str     0x0000a987      0xf04 build/debug/stm32h7xx_it.o
+ .debug_str     0x0000a987      0x8a3 build/debug/stm32h7xx_ll_fmc.o
+ .debug_str     0x0000a987      0x935 build/debug/stm32h7xx_ll_sdmmc.o
+ .debug_str     0x0000a987      0xd7e build/debug/stm32h7xx_ll_usb.o
+ .debug_str     0x0000a987      0x74d build/debug/system_stm32h7xx.o
+ .debug_str     0x0000a987       0x6d build/debug/startup_stm32h7a3xx.o
+ .debug_str     0x0000a987      0x1e2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .debug_str     0x0000a987      0x243 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .debug_str     0x0000a987      0x200 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .debug_str     0x0000a987       0xd2 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+ .debug_str     0x0000a987      0x6ae /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+ .debug_str     0x0000a987       0xf2 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+
+.debug_frame    0x00000000     0x4a78
+ .debug_frame   0x00000000      0x190 build/debug/main.o
+ .debug_frame   0x00000190      0x370 build/debug/stm32h7xx_hal.o
+ .debug_frame   0x00000500      0x214 build/debug/stm32h7xx_hal_cortex.o
+ .debug_frame   0x00000714       0xec build/debug/stm32h7xx_hal_crc.o
+ .debug_frame   0x00000800       0x58 build/debug/stm32h7xx_hal_crc_ex.o
+ .debug_frame   0x00000858      0x7a4 build/debug/stm32h7xx_hal_fdcan.o
+ .debug_frame   0x00000ffc       0xd4 build/debug/stm32h7xx_hal_gpio.o
+ .debug_frame   0x000010d0      0x98c build/debug/stm32h7xx_hal_i2c.o
+ .debug_frame   0x00001a5c       0x80 build/debug/stm32h7xx_hal_i2c_ex.o
+ .debug_frame   0x00001adc      0x3c4 build/debug/stm32h7xx_hal_ltdc.o
+ .debug_frame   0x00001ea0      0x23c build/debug/stm32h7xx_hal_msp.o
+ .debug_frame   0x000020dc      0x378 build/debug/stm32h7xx_hal_pcd.o
+ .debug_frame   0x00002454       0xb8 build/debug/stm32h7xx_hal_pcd_ex.o
+ .debug_frame   0x0000250c      0x354 build/debug/stm32h7xx_hal_pwr_ex.o
+ .debug_frame   0x00002860      0x184 build/debug/stm32h7xx_hal_rcc.o
+ .debug_frame   0x000029e4      0x274 build/debug/stm32h7xx_hal_rcc_ex.o
+ .debug_frame   0x00002c58      0x4c0 build/debug/stm32h7xx_hal_sd.o
+ .debug_frame   0x00003118      0x284 build/debug/stm32h7xx_hal_sdram.o
+ .debug_frame   0x0000339c      0x680 build/debug/stm32h7xx_hal_uart.o
+ .debug_frame   0x00003a1c      0x1c8 build/debug/stm32h7xx_hal_uart_ex.o
+ .debug_frame   0x00003be4      0x120 build/debug/stm32h7xx_it.o
+ .debug_frame   0x00003d04      0x1d8 build/debug/stm32h7xx_ll_fmc.o
+ .debug_frame   0x00003edc      0x5e0 build/debug/stm32h7xx_ll_sdmmc.o
+ .debug_frame   0x000044bc      0x498 build/debug/stm32h7xx_ll_usb.o
+ .debug_frame   0x00004954       0x50 build/debug/system_stm32h7xx.o
+ .debug_frame   0x000049a4       0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+ .debug_frame   0x000049c4       0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+ .debug_frame   0x000049f0       0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+ .debug_frame   0x00004a18       0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+ .debug_frame   0x00004a44       0x34 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+
+.debug_line_str
+                0x00000000      0x125
+ .debug_line_str
+                0x00000000      0x125 build/debug/startup_stm32h7a3xx.o
+                                 0x53 (size before relaxing)
+ .debug_line_str
+                0x00000125       0xc6 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+ .debug_line_str
+                0x00000125       0xca /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+
+Cross Reference Table
+
+Symbol                                            File
+ADC_IRQHandler                                    build/debug/startup_stm32h7a3xx.o
+BDMA1_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+BDMA2_Channel0_IRQHandler                         build/debug/startup_stm32h7a3xx.o
+BDMA2_Channel1_IRQHandler                         build/debug/startup_stm32h7a3xx.o
+BDMA2_Channel2_IRQHandler                         build/debug/startup_stm32h7a3xx.o
+BDMA2_Channel3_IRQHandler                         build/debug/startup_stm32h7a3xx.o
+BDMA2_Channel4_IRQHandler                         build/debug/startup_stm32h7a3xx.o
+BDMA2_Channel5_IRQHandler                         build/debug/startup_stm32h7a3xx.o
+BDMA2_Channel6_IRQHandler                         build/debug/startup_stm32h7a3xx.o
+BDMA2_Channel7_IRQHandler                         build/debug/startup_stm32h7a3xx.o
+BusFault_Handler                                  build/debug/stm32h7xx_it.o
+CEC_IRQHandler                                    build/debug/startup_stm32h7a3xx.o
+COMP_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+CRS_IRQHandler                                    build/debug/startup_stm32h7a3xx.o
+D1CorePrescTable                                  build/debug/system_stm32h7xx.o
+                                                  build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/stm32h7xx_hal.o
+DAC2_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+DCMI_PSSI_IRQHandler                              build/debug/startup_stm32h7a3xx.o
+DFSDM1_FLT0_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+DFSDM1_FLT1_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+DFSDM1_FLT2_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+DFSDM1_FLT3_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+DFSDM1_FLT4_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+DFSDM1_FLT5_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+DFSDM1_FLT6_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+DFSDM1_FLT7_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+DFSDM2_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+DMA1_Stream0_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA1_Stream1_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA1_Stream2_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA1_Stream3_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA1_Stream4_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA1_Stream5_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA1_Stream6_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA1_Stream7_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA2D_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+DMA2_Stream0_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA2_Stream1_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA2_Stream2_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA2_Stream3_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA2_Stream4_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA2_Stream5_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA2_Stream6_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMA2_Stream7_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+DMAMUX1_OVR_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+DMAMUX2_OVR_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+DTS_IRQHandler                                    build/debug/startup_stm32h7a3xx.o
+DebugMon_Handler                                  build/debug/stm32h7xx_it.o
+Default_Handler                                   build/debug/startup_stm32h7a3xx.o
+DelayBlock_Configure                              build/debug/stm32h7xx_ll_delayblock.o
+DelayBlock_Disable                                build/debug/stm32h7xx_ll_delayblock.o
+DelayBlock_Enable                                 build/debug/stm32h7xx_ll_delayblock.o
+ECC_IRQHandler                                    build/debug/startup_stm32h7a3xx.o
+EXTI0_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+EXTI15_10_IRQHandler                              build/debug/startup_stm32h7a3xx.o
+EXTI1_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+EXTI2_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+EXTI3_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+EXTI4_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+EXTI9_5_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+Error_Handler                                     build/debug/main.o
+                                                  build/debug/stm32h7xx_hal_msp.o
+ExitRun0Mode                                      build/debug/system_stm32h7xx.o
+                                                  build/debug/startup_stm32h7a3xx.o
+FDCAN1_IT0_IRQHandler                             build/debug/stm32h7xx_it.o
+FDCAN1_IT1_IRQHandler                             build/debug/stm32h7xx_it.o
+FDCAN2_IT0_IRQHandler                             build/debug/startup_stm32h7a3xx.o
+FDCAN2_IT1_IRQHandler                             build/debug/startup_stm32h7a3xx.o
+FDCAN_CAL_IRQHandler                              build/debug/stm32h7xx_it.o
+FLASH_CRC_WaitForLastOperation                    build/debug/stm32h7xx_hal_flash.o
+                                                  build/debug/stm32h7xx_hal_flash_ex.o
+FLASH_Erase_Sector                                build/debug/stm32h7xx_hal_flash_ex.o
+                                                  build/debug/stm32h7xx_hal_flash.o
+FLASH_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+FLASH_OB_WaitForLastOperation                     build/debug/stm32h7xx_hal_flash.o
+                                                  build/debug/stm32h7xx_hal_flash_ex.o
+FLASH_WaitForLastOperation                        build/debug/stm32h7xx_hal_flash.o
+                                                  build/debug/stm32h7xx_hal_flash_ex.o
+FMC_IRQHandler                                    build/debug/stm32h7xx_it.o
+FMC_NAND_AttributeSpace_Timing_Init               build/debug/stm32h7xx_ll_fmc.o
+FMC_NAND_CommonSpace_Timing_Init                  build/debug/stm32h7xx_ll_fmc.o
+FMC_NAND_DeInit                                   build/debug/stm32h7xx_ll_fmc.o
+FMC_NAND_ECC_Disable                              build/debug/stm32h7xx_ll_fmc.o
+FMC_NAND_ECC_Enable                               build/debug/stm32h7xx_ll_fmc.o
+FMC_NAND_GetECC                                   build/debug/stm32h7xx_ll_fmc.o
+FMC_NAND_Init                                     build/debug/stm32h7xx_ll_fmc.o
+FMC_NORSRAM_DeInit                                build/debug/stm32h7xx_ll_fmc.o
+FMC_NORSRAM_Extended_Timing_Init                  build/debug/stm32h7xx_ll_fmc.o
+FMC_NORSRAM_Init                                  build/debug/stm32h7xx_ll_fmc.o
+FMC_NORSRAM_Timing_Init                           build/debug/stm32h7xx_ll_fmc.o
+FMC_NORSRAM_WriteOperation_Disable                build/debug/stm32h7xx_ll_fmc.o
+FMC_NORSRAM_WriteOperation_Enable                 build/debug/stm32h7xx_ll_fmc.o
+FMC_SDRAM_DeInit                                  build/debug/stm32h7xx_ll_fmc.o
+                                                  build/debug/stm32h7xx_hal_sdram.o
+FMC_SDRAM_GetModeStatus                           build/debug/stm32h7xx_ll_fmc.o
+                                                  build/debug/stm32h7xx_hal_sdram.o
+FMC_SDRAM_Init                                    build/debug/stm32h7xx_ll_fmc.o
+                                                  build/debug/stm32h7xx_hal_sdram.o
+FMC_SDRAM_ProgramRefreshRate                      build/debug/stm32h7xx_ll_fmc.o
+                                                  build/debug/stm32h7xx_hal_sdram.o
+FMC_SDRAM_SendCommand                             build/debug/stm32h7xx_ll_fmc.o
+                                                  build/debug/stm32h7xx_hal_sdram.o
+FMC_SDRAM_SetAutoRefreshNumber                    build/debug/stm32h7xx_ll_fmc.o
+                                                  build/debug/stm32h7xx_hal_sdram.o
+FMC_SDRAM_Timing_Init                             build/debug/stm32h7xx_ll_fmc.o
+                                                  build/debug/stm32h7xx_hal_sdram.o
+FMC_SDRAM_WriteProtection_Disable                 build/debug/stm32h7xx_ll_fmc.o
+                                                  build/debug/stm32h7xx_hal_sdram.o
+FMC_SDRAM_WriteProtection_Enable                  build/debug/stm32h7xx_ll_fmc.o
+                                                  build/debug/stm32h7xx_hal_sdram.o
+FPU_IRQHandler                                    build/debug/startup_stm32h7a3xx.o
+GFXMMU_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+HAL_CRCEx_Input_Data_Reverse                      build/debug/stm32h7xx_hal_crc_ex.o
+HAL_CRCEx_Output_Data_Reverse                     build/debug/stm32h7xx_hal_crc_ex.o
+HAL_CRCEx_Polynomial_Set                          build/debug/stm32h7xx_hal_crc_ex.o
+                                                  build/debug/stm32h7xx_hal_crc.o
+HAL_CRC_Accumulate                                build/debug/stm32h7xx_hal_crc.o
+HAL_CRC_Calculate                                 build/debug/stm32h7xx_hal_crc.o
+HAL_CRC_DeInit                                    build/debug/stm32h7xx_hal_crc.o
+HAL_CRC_GetState                                  build/debug/stm32h7xx_hal_crc.o
+HAL_CRC_Init                                      build/debug/stm32h7xx_hal_crc.o
+                                                  build/debug/main.o
+HAL_CRC_MspDeInit                                 build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal_crc.o
+HAL_CRC_MspInit                                   build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal_crc.o
+HAL_DBGMCU_DisableDBGSleepMode                    build/debug/stm32h7xx_hal.o
+HAL_DBGMCU_DisableDBGStandbyMode                  build/debug/stm32h7xx_hal.o
+HAL_DBGMCU_DisableDBGStopMode                     build/debug/stm32h7xx_hal.o
+HAL_DBGMCU_EnableDBGSleepMode                     build/debug/stm32h7xx_hal.o
+HAL_DBGMCU_EnableDBGStandbyMode                   build/debug/stm32h7xx_hal.o
+HAL_DBGMCU_EnableDBGStopMode                      build/debug/stm32h7xx_hal.o
+HAL_DMAEx_ChangeMemory                            build/debug/stm32h7xx_hal_dma_ex.o
+HAL_DMAEx_ConfigMuxRequestGenerator               build/debug/stm32h7xx_hal_dma_ex.o
+HAL_DMAEx_ConfigMuxSync                           build/debug/stm32h7xx_hal_dma_ex.o
+HAL_DMAEx_DisableMuxRequestGenerator              build/debug/stm32h7xx_hal_dma_ex.o
+HAL_DMAEx_EnableMuxRequestGenerator               build/debug/stm32h7xx_hal_dma_ex.o
+HAL_DMAEx_MUX_IRQHandler                          build/debug/stm32h7xx_hal_dma_ex.o
+HAL_DMAEx_MultiBufferStart                        build/debug/stm32h7xx_hal_dma_ex.o
+HAL_DMAEx_MultiBufferStart_IT                     build/debug/stm32h7xx_hal_dma_ex.o
+HAL_DMA_Abort                                     build/debug/stm32h7xx_hal_dma.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+HAL_DMA_Abort_IT                                  build/debug/stm32h7xx_hal_dma.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_i2c.o
+HAL_DMA_DeInit                                    build/debug/stm32h7xx_hal_dma.o
+HAL_DMA_GetError                                  build/debug/stm32h7xx_hal_dma.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_i2c.o
+HAL_DMA_GetState                                  build/debug/stm32h7xx_hal_dma.o
+                                                  build/debug/stm32h7xx_hal_i2c.o
+HAL_DMA_IRQHandler                                build/debug/stm32h7xx_hal_dma.o
+HAL_DMA_Init                                      build/debug/stm32h7xx_hal_dma.o
+HAL_DMA_PollForTransfer                           build/debug/stm32h7xx_hal_dma.o
+HAL_DMA_RegisterCallback                          build/debug/stm32h7xx_hal_dma.o
+HAL_DMA_Start                                     build/debug/stm32h7xx_hal_dma.o
+HAL_DMA_Start_IT                                  build/debug/stm32h7xx_hal_dma.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_i2c.o
+HAL_DMA_UnRegisterCallback                        build/debug/stm32h7xx_hal_dma.o
+HAL_DeInit                                        build/debug/stm32h7xx_hal.o
+HAL_Delay                                         build/debug/stm32h7xx_hal.o
+                                                  build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+                                                  build/debug/stm32h7xx_hal_pcd_ex.o
+HAL_DisableCompensationCell                       build/debug/stm32h7xx_hal.o
+HAL_DisableDomain3DBGStandbyMode                  build/debug/stm32h7xx_hal.o
+HAL_DisableDomain3DBGStopMode                     build/debug/stm32h7xx_hal.o
+HAL_EXTI_ClearConfigLine                          build/debug/stm32h7xx_hal_exti.o
+HAL_EXTI_ClearPending                             build/debug/stm32h7xx_hal_exti.o
+HAL_EXTI_D1_ClearFlag                             build/debug/stm32h7xx_hal.o
+HAL_EXTI_D1_EventInputConfig                      build/debug/stm32h7xx_hal.o
+HAL_EXTI_D3_EventInputConfig                      build/debug/stm32h7xx_hal.o
+HAL_EXTI_EdgeConfig                               build/debug/stm32h7xx_hal.o
+HAL_EXTI_GenerateSWI                              build/debug/stm32h7xx_hal_exti.o
+HAL_EXTI_GenerateSWInterrupt                      build/debug/stm32h7xx_hal.o
+HAL_EXTI_GetConfigLine                            build/debug/stm32h7xx_hal_exti.o
+HAL_EXTI_GetHandle                                build/debug/stm32h7xx_hal_exti.o
+HAL_EXTI_GetPending                               build/debug/stm32h7xx_hal_exti.o
+HAL_EXTI_IRQHandler                               build/debug/stm32h7xx_hal_exti.o
+HAL_EXTI_RegisterCallback                         build/debug/stm32h7xx_hal_exti.o
+HAL_EXTI_SetConfigLine                            build/debug/stm32h7xx_hal_exti.o
+HAL_EnableCompensationCell                        build/debug/stm32h7xx_hal.o
+HAL_EnableDomain3DBGStandbyMode                   build/debug/stm32h7xx_hal.o
+HAL_EnableDomain3DBGStopMode                      build/debug/stm32h7xx_hal.o
+HAL_FDCAN_AbortTxRequest                          build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ActivateNotification                    build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_AddMessageToTxBuffer                    build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_AddMessageToTxFifoQ                     build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ClockCalibrationCallback                build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigClockCalibration                  build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigExtendedIdMask                    build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigFifoWatermark                     build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigFilter                            build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigGlobalFilter                      build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigInterruptLines                    build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigRamWatchdog                       build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigRxFifoOverwrite                   build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigTimeoutCounter                    build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigTimestampCounter                  build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ConfigTxDelayCompensation               build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_DeInit                                  build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_DeactivateNotification                  build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_DisableEdgeFiltering                    build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_DisableISOMode                          build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_DisableTimeoutCounter                   build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_DisableTimestampCounter                 build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_DisableTxDelayCompensation              build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_EnableEdgeFiltering                     build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_EnableISOMode                           build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_EnableTimeoutCounter                    build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_EnableTimestampCounter                  build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_EnableTxBufferRequest                   build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_EnableTxDelayCompensation               build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_EnterPowerDownMode                      build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ErrorCallback                           build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ErrorStatusCallback                     build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ExitPowerDownMode                       build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ExitRestrictedOperationMode             build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetClockCalibrationCounter              build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetClockCalibrationState                build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetError                                build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetErrorCounters                        build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetHighPriorityMessageStatus            build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetLatestTxFifoQRequestBuffer           build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetProtocolStatus                       build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetRxFifoFillLevel                      build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetRxMessage                            build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetState                                build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetTimeoutCounter                       build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetTimestampCounter                     build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetTxEvent                              build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_GetTxFifoFreeLevel                      build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_HighPriorityMessageCallback             build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_IRQHandler                              build/debug/stm32h7xx_hal_fdcan.o
+                                                  build/debug/stm32h7xx_it.o
+HAL_FDCAN_Init                                    build/debug/stm32h7xx_hal_fdcan.o
+                                                  build/debug/main.o
+HAL_FDCAN_IsRestrictedOperationMode               build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_IsRxBufferMessageAvailable              build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_IsTxBufferMessagePending                build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_MspDeInit                               build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_MspInit                                 build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ResetClockCalibrationState              build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ResetTimeoutCounter                     build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_ResetTimestampCounter                   build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_RxBufferNewMessageCallback              build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_RxFifo0Callback                         build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_RxFifo1Callback                         build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_Start                                   build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_Stop                                    build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_ActivateNotification                 build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_ConfigExternalSyncPhase              build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_ConfigInterruptLines                 build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_ConfigOperation                      build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_ConfigReferenceMessage               build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_ConfigRegisterTimeMark               build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_ConfigStopWatch                      build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_ConfigTrigger                        build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_DeactivateNotification               build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_DisableExternalSynchronization       build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_DisableHardwareGapControl            build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_DisableRegisterTimeMarkPulse         build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_DisableTimeMarkGapControl            build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_DisableTriggerTimeMarkPulse          build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_EnableExternalSynchronization        build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_EnableHardwareGapControl             build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_EnableRegisterTimeMarkPulse          build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_EnableTimeMarkGapControl             build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_EnableTriggerTimeMarkPulse           build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_GetOperationStatus                   build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_GlobalTimeCallback                   build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_ScheduleSyncCallback                 build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_SetClockSynchronization              build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_SetEndOfGap                          build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_SetGlobalTime                        build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_SetNextIsGap                         build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_StopWatchCallback                    build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TT_TimeMarkCallback                     build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TimeoutOccurredCallback                 build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TimestampWraparoundCallback             build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TxBufferAbortCallback                   build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TxBufferCompleteCallback                build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TxEventFifoCallback                     build/debug/stm32h7xx_hal_fdcan.o
+HAL_FDCAN_TxFifoEmptyCallback                     build/debug/stm32h7xx_hal_fdcan.o
+HAL_FLASHEx_ComputeCRC                            build/debug/stm32h7xx_hal_flash_ex.o
+HAL_FLASHEx_Erase                                 build/debug/stm32h7xx_hal_flash_ex.o
+HAL_FLASHEx_Erase_IT                              build/debug/stm32h7xx_hal_flash_ex.o
+HAL_FLASHEx_Lock_Bank1                            build/debug/stm32h7xx_hal_flash_ex.o
+HAL_FLASHEx_Lock_Bank2                            build/debug/stm32h7xx_hal_flash_ex.o
+HAL_FLASHEx_OBGetConfig                           build/debug/stm32h7xx_hal_flash_ex.o
+HAL_FLASHEx_OBProgram                             build/debug/stm32h7xx_hal_flash_ex.o
+HAL_FLASHEx_Unlock_Bank1                          build/debug/stm32h7xx_hal_flash_ex.o
+HAL_FLASHEx_Unlock_Bank2                          build/debug/stm32h7xx_hal_flash_ex.o
+HAL_FLASH_EndOfOperationCallback                  build/debug/stm32h7xx_hal_flash.o
+HAL_FLASH_GetError                                build/debug/stm32h7xx_hal_flash.o
+HAL_FLASH_IRQHandler                              build/debug/stm32h7xx_hal_flash.o
+HAL_FLASH_Lock                                    build/debug/stm32h7xx_hal_flash.o
+HAL_FLASH_OB_Launch                               build/debug/stm32h7xx_hal_flash.o
+HAL_FLASH_OB_Lock                                 build/debug/stm32h7xx_hal_flash.o
+HAL_FLASH_OB_Unlock                               build/debug/stm32h7xx_hal_flash.o
+HAL_FLASH_OperationErrorCallback                  build/debug/stm32h7xx_hal_flash.o
+HAL_FLASH_Program                                 build/debug/stm32h7xx_hal_flash.o
+HAL_FLASH_Program_IT                              build/debug/stm32h7xx_hal_flash.o
+HAL_FLASH_Unlock                                  build/debug/stm32h7xx_hal_flash.o
+HAL_GPIO_DeInit                                   build/debug/stm32h7xx_hal_gpio.o
+                                                  build/debug/stm32h7xx_hal_msp.o
+HAL_GPIO_EXTI_Callback                            build/debug/stm32h7xx_hal_gpio.o
+HAL_GPIO_EXTI_IRQHandler                          build/debug/stm32h7xx_hal_gpio.o
+HAL_GPIO_Init                                     build/debug/stm32h7xx_hal_gpio.o
+                                                  build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/main.o
+HAL_GPIO_LockPin                                  build/debug/stm32h7xx_hal_gpio.o
+HAL_GPIO_ReadPin                                  build/debug/stm32h7xx_hal_gpio.o
+HAL_GPIO_TogglePin                                build/debug/stm32h7xx_hal_gpio.o
+HAL_GPIO_WritePin                                 build/debug/stm32h7xx_hal_gpio.o
+                                                  build/debug/main.o
+HAL_GetCurrentCPUID                               build/debug/stm32h7xx_hal_cortex.o
+HAL_GetDEVID                                      build/debug/stm32h7xx_hal.o
+HAL_GetFMCMemorySwappingConfig                    build/debug/stm32h7xx_hal.o
+HAL_GetHalVersion                                 build/debug/stm32h7xx_hal.o
+HAL_GetREVID                                      build/debug/stm32h7xx_hal.o
+                                                  build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_GetTick                                       build/debug/stm32h7xx_hal.o
+                                                  build/debug/stm32h7xx_ll_fmc.o
+                                                  build/debug/stm32h7xx_ll_delayblock.o
+                                                  build/debug/stm32h7xx_hal_uart_ex.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+                                                  build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/stm32h7xx_hal_pwr_ex.o
+                                                  build/debug/stm32h7xx_hal_pcd_ex.o
+                                                  build/debug/stm32h7xx_hal_mdma.o
+                                                  build/debug/stm32h7xx_hal_ltdc.o
+                                                  build/debug/stm32h7xx_hal_i2c.o
+                                                  build/debug/stm32h7xx_hal_flash.o
+                                                  build/debug/stm32h7xx_hal_fdcan.o
+                                                  build/debug/stm32h7xx_hal_dma.o
+HAL_GetTickFreq                                   build/debug/stm32h7xx_hal.o
+HAL_GetTickPrio                                   build/debug/stm32h7xx_hal.o
+HAL_GetUIDw0                                      build/debug/stm32h7xx_hal.o
+HAL_GetUIDw1                                      build/debug/stm32h7xx_hal.o
+HAL_GetUIDw2                                      build/debug/stm32h7xx_hal.o
+HAL_HSEM_ActivateNotification                     build/debug/stm32h7xx_hal_hsem.o
+HAL_HSEM_DeactivateNotification                   build/debug/stm32h7xx_hal_hsem.o
+HAL_HSEM_FastTake                                 build/debug/stm32h7xx_hal_hsem.o
+HAL_HSEM_FreeCallback                             build/debug/stm32h7xx_hal_hsem.o
+HAL_HSEM_GetClearKey                              build/debug/stm32h7xx_hal_hsem.o
+HAL_HSEM_IRQHandler                               build/debug/stm32h7xx_hal_hsem.o
+HAL_HSEM_IsSemTaken                               build/debug/stm32h7xx_hal_hsem.o
+HAL_HSEM_Release                                  build/debug/stm32h7xx_hal_hsem.o
+HAL_HSEM_ReleaseAll                               build/debug/stm32h7xx_hal_hsem.o
+HAL_HSEM_SetClearKey                              build/debug/stm32h7xx_hal_hsem.o
+HAL_HSEM_Take                                     build/debug/stm32h7xx_hal_hsem.o
+HAL_HalfDuplex_EnableReceiver                     build/debug/stm32h7xx_hal_uart.o
+HAL_HalfDuplex_EnableTransmitter                  build/debug/stm32h7xx_hal_uart.o
+HAL_HalfDuplex_Init                               build/debug/stm32h7xx_hal_uart.o
+HAL_I2CEx_ConfigAnalogFilter                      build/debug/stm32h7xx_hal_i2c_ex.o
+                                                  build/debug/main.o
+HAL_I2CEx_ConfigDigitalFilter                     build/debug/stm32h7xx_hal_i2c_ex.o
+                                                  build/debug/main.o
+HAL_I2CEx_DisableFastModePlus                     build/debug/stm32h7xx_hal_i2c_ex.o
+HAL_I2CEx_DisableWakeUp                           build/debug/stm32h7xx_hal_i2c_ex.o
+HAL_I2CEx_EnableFastModePlus                      build/debug/stm32h7xx_hal_i2c_ex.o
+HAL_I2CEx_EnableWakeUp                            build/debug/stm32h7xx_hal_i2c_ex.o
+HAL_I2C_AbortCpltCallback                         build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_AddrCallback                              build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_DeInit                                    build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_DisableListen_IT                          build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_ER_IRQHandler                             build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_EV_IRQHandler                             build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_EnableListen_IT                           build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_ErrorCallback                             build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_GetError                                  build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_GetMode                                   build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_GetState                                  build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Init                                      build/debug/stm32h7xx_hal_i2c.o
+                                                  build/debug/main.o
+HAL_I2C_IsDeviceReady                             build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_ListenCpltCallback                        build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_MasterRxCpltCallback                      build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_MasterTxCpltCallback                      build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Abort_IT                           build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Receive                            build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Receive_DMA                        build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Receive_IT                         build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Seq_Receive_DMA                    build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Seq_Receive_IT                     build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Seq_Transmit_DMA                   build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Seq_Transmit_IT                    build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Transmit                           build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Transmit_DMA                       build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Master_Transmit_IT                        build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_MemRxCpltCallback                         build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_MemTxCpltCallback                         build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Mem_Read                                  build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Mem_Read_DMA                              build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Mem_Read_IT                               build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Mem_Write                                 build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Mem_Write_DMA                             build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Mem_Write_IT                              build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_MspDeInit                                 build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_MspInit                                   build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_SlaveRxCpltCallback                       build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_SlaveTxCpltCallback                       build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Slave_Receive                             build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Slave_Receive_DMA                         build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Slave_Receive_IT                          build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Slave_Seq_Receive_DMA                     build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Slave_Seq_Receive_IT                      build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Slave_Seq_Transmit_DMA                    build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Slave_Seq_Transmit_IT                     build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Slave_Transmit                            build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Slave_Transmit_DMA                        build/debug/stm32h7xx_hal_i2c.o
+HAL_I2C_Slave_Transmit_IT                         build/debug/stm32h7xx_hal_i2c.o
+HAL_IncTick                                       build/debug/stm32h7xx_hal.o
+                                                  build/debug/stm32h7xx_it.o
+HAL_Init                                          build/debug/stm32h7xx_hal.o
+                                                  build/debug/main.o
+HAL_InitTick                                      build/debug/stm32h7xx_hal.o
+                                                  build/debug/stm32h7xx_hal_rcc.o
+HAL_LIN_Init                                      build/debug/stm32h7xx_hal_uart.o
+HAL_LIN_SendBreak                                 build/debug/stm32h7xx_hal_uart.o
+HAL_LTDC_ConfigCLUT                               build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_ConfigColorKeying                        build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_ConfigColorKeying_NoReload               build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_ConfigLayer                              build/debug/stm32h7xx_hal_ltdc.o
+                                                  build/debug/main.o
+HAL_LTDC_ConfigLayer_NoReload                     build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_DeInit                                   build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_DisableCLUT                              build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_DisableCLUT_NoReload                     build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_DisableColorKeying                       build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_DisableColorKeying_NoReload              build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_DisableDither                            build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_EnableCLUT                               build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_EnableCLUT_NoReload                      build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_EnableColorKeying                        build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_EnableColorKeying_NoReload               build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_EnableDither                             build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_ErrorCallback                            build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_GetError                                 build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_GetState                                 build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_IRQHandler                               build/debug/stm32h7xx_hal_ltdc.o
+                                                  build/debug/stm32h7xx_it.o
+HAL_LTDC_Init                                     build/debug/stm32h7xx_hal_ltdc.o
+                                                  build/debug/main.o
+HAL_LTDC_LineEventCallback                        build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_MspDeInit                                build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_MspInit                                  build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_ProgramLineEvent                         build/debug/stm32h7xx_hal_ltdc.o
+                                                  build/debug/stm32h7xx_it.o
+HAL_LTDC_Reload                                   build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_ReloadEventCallback                      build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetAddress                               build/debug/stm32h7xx_hal_ltdc.o
+                                                  build/debug/main.o
+HAL_LTDC_SetAddress_NoReload                      build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetAlpha                                 build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetAlpha_NoReload                        build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetPitch                                 build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetPitch_NoReload                        build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetPixelFormat                           build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetPixelFormat_NoReload                  build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetWindowPosition                        build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetWindowPosition_NoReload               build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetWindowSize                            build/debug/stm32h7xx_hal_ltdc.o
+HAL_LTDC_SetWindowSize_NoReload                   build/debug/stm32h7xx_hal_ltdc.o
+HAL_MDMA_Abort                                    build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_Abort_IT                                 build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_ConfigPostRequestMask                    build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_DeInit                                   build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_GenerateSWRequest                        build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_GetError                                 build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_GetState                                 build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_IRQHandler                               build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_Init                                     build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_LinkedList_AddNode                       build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_LinkedList_CreateNode                    build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_LinkedList_DisableCircularMode           build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_LinkedList_EnableCircularMode            build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_LinkedList_RemoveNode                    build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_PollForTransfer                          build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_RegisterCallback                         build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_Start                                    build/debug/stm32h7xx_hal_mdma.o
+HAL_MDMA_Start_IT                                 build/debug/stm32h7xx_hal_mdma.o
+                                                  build/debug/stm32h7xx_hal_sdram.o
+HAL_MDMA_UnRegisterCallback                       build/debug/stm32h7xx_hal_mdma.o
+HAL_MPU_ConfigRegion                              build/debug/stm32h7xx_hal_cortex.o
+HAL_MPU_Disable                                   build/debug/stm32h7xx_hal_cortex.o
+HAL_MPU_DisableRegion                             build/debug/stm32h7xx_hal_cortex.o
+HAL_MPU_Enable                                    build/debug/stm32h7xx_hal_cortex.o
+HAL_MPU_EnableRegion                              build/debug/stm32h7xx_hal_cortex.o
+HAL_MspDeInit                                     build/debug/stm32h7xx_hal.o
+HAL_MspInit                                       build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal.o
+HAL_MultiProcessorEx_AddressLength_Set            build/debug/stm32h7xx_hal_uart_ex.o
+HAL_MultiProcessor_DisableMuteMode                build/debug/stm32h7xx_hal_uart.o
+HAL_MultiProcessor_EnableMuteMode                 build/debug/stm32h7xx_hal_uart.o
+HAL_MultiProcessor_EnterMuteMode                  build/debug/stm32h7xx_hal_uart.o
+HAL_MultiProcessor_Init                           build/debug/stm32h7xx_hal_uart.o
+HAL_NVIC_ClearPendingIRQ                          build/debug/stm32h7xx_hal_cortex.o
+HAL_NVIC_DisableIRQ                               build/debug/stm32h7xx_hal_cortex.o
+                                                  build/debug/stm32h7xx_hal_msp.o
+HAL_NVIC_EnableIRQ                                build/debug/stm32h7xx_hal_cortex.o
+                                                  build/debug/stm32h7xx_hal_msp.o
+HAL_NVIC_GetActive                                build/debug/stm32h7xx_hal_cortex.o
+HAL_NVIC_GetPendingIRQ                            build/debug/stm32h7xx_hal_cortex.o
+HAL_NVIC_GetPriority                              build/debug/stm32h7xx_hal_cortex.o
+HAL_NVIC_GetPriorityGrouping                      build/debug/stm32h7xx_hal_cortex.o
+HAL_NVIC_SetPendingIRQ                            build/debug/stm32h7xx_hal_cortex.o
+HAL_NVIC_SetPriority                              build/debug/stm32h7xx_hal_cortex.o
+                                                  build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal.o
+HAL_NVIC_SetPriorityGrouping                      build/debug/stm32h7xx_hal_cortex.o
+                                                  build/debug/stm32h7xx_hal.o
+HAL_NVIC_SystemReset                              build/debug/stm32h7xx_hal_cortex.o
+HAL_PCDEx_ActivateBCD                             build/debug/stm32h7xx_hal_pcd_ex.o
+HAL_PCDEx_ActivateLPM                             build/debug/stm32h7xx_hal_pcd_ex.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+HAL_PCDEx_BCD_Callback                            build/debug/stm32h7xx_hal_pcd_ex.o
+HAL_PCDEx_BCD_VBUSDetect                          build/debug/stm32h7xx_hal_pcd_ex.o
+HAL_PCDEx_DeActivateBCD                           build/debug/stm32h7xx_hal_pcd_ex.o
+HAL_PCDEx_DeActivateLPM                           build/debug/stm32h7xx_hal_pcd_ex.o
+HAL_PCDEx_LPM_Callback                            build/debug/stm32h7xx_hal_pcd_ex.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+HAL_PCDEx_SetRxFiFo                               build/debug/stm32h7xx_hal_pcd_ex.o
+HAL_PCDEx_SetTxFiFo                               build/debug/stm32h7xx_hal_pcd_ex.o
+HAL_PCD_ActivateRemoteWakeup                      build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_ConnectCallback                           build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_DataInStageCallback                       build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_DataOutStageCallback                      build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_DeActivateRemoteWakeup                    build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_DeInit                                    build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_DevConnect                                build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_DevDisconnect                             build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_DisconnectCallback                        build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_EP_Abort                                  build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_EP_Close                                  build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_EP_ClrStall                               build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_EP_Flush                                  build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_EP_GetRxCount                             build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_EP_Open                                   build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_EP_Receive                                build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_EP_SetStall                               build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_EP_Transmit                               build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_GetState                                  build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_IRQHandler                                build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_ISOINIncompleteCallback                   build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_ISOOUTIncompleteCallback                  build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_Init                                      build/debug/stm32h7xx_hal_pcd.o
+                                                  build/debug/main.o
+HAL_PCD_MspDeInit                                 build/debug/stm32h7xx_hal_msp.o
+HAL_PCD_MspInit                                   build/debug/stm32h7xx_hal_msp.o
+HAL_PCD_ResetCallback                             build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_ResumeCallback                            build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_SOFCallback                               build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_SetAddress                                build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_SetTestMode                               build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_SetupStageCallback                        build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_Start                                     build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_Stop                                      build/debug/stm32h7xx_hal_pcd.o
+HAL_PCD_SuspendCallback                           build/debug/stm32h7xx_hal_pcd.o
+HAL_PWREx_AVDCallback                             build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_ClearPendingEvent                       build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_ClearWakeupFlag                         build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_ConfigAVD                               build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_ConfigD3Domain                          build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_ConfigSupply                            build/debug/stm32h7xx_hal_pwr_ex.o
+                                                  build/debug/main.o
+HAL_PWREx_ControlStopModeVoltageScaling           build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_ControlVoltageScaling                   build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_DisableAVD                              build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_DisableAnalogBooster                    build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_DisableBatteryCharging                  build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_DisableBkUpReg                          build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_DisableFlashPowerDown                   build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_DisableMemoryShutOff                    build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_DisableMonitoring                       build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_DisableUSBReg                           build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_DisableUSBVoltageDetector               build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_DisableWakeUpPin                        build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnableAVD                               build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnableAnalogBooster                     build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnableBatteryCharging                   build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnableBkUpReg                           build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnableFlashPowerDown                    build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnableMemoryShutOff                     build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnableMonitoring                        build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnableUSBReg                            build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnableUSBVoltageDetector                build/debug/stm32h7xx_hal_pwr_ex.o
+                                                  build/debug/stm32h7xx_hal_msp.o
+HAL_PWREx_EnableWakeUpPin                         build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnterSTANDBYMode                        build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnterSTOP2Mode                          build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_EnterSTOPMode                           build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_GetMMCVoltage                           build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_GetStopModeVoltageRange                 build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_GetSupplyConfig                         build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_GetTemperatureLevel                     build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_GetVBATLevel                            build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_GetVoltageRange                         build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_GetWakeupFlag                           build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_PVD_AVD_IRQHandler                      build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_WAKEUP_PIN_IRQHandler                   build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_WKUP1_Callback                          build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_WKUP2_Callback                          build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_WKUP3_Callback                          build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_WKUP4_Callback                          build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_WKUP5_Callback                          build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWREx_WKUP6_Callback                          build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWR_ConfigPVD                                 build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_DeInit                                    build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_DisableBkUpAccess                         build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_DisablePVD                                build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_DisableSEVOnPend                          build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_DisableSleepOnExit                        build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_DisableWakeUpPin                          build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_EnableBkUpAccess                          build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_EnablePVD                                 build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_EnableSEVOnPend                           build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_EnableSleepOnExit                         build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_EnableWakeUpPin                           build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_EnterSLEEPMode                            build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_EnterSTANDBYMode                          build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_EnterSTOPMode                             build/debug/stm32h7xx_hal_pwr.o
+HAL_PWR_PVDCallback                               build/debug/stm32h7xx_hal_pwr.o
+                                                  build/debug/stm32h7xx_hal_pwr_ex.o
+HAL_PWR_PVD_IRQHandler                            build/debug/stm32h7xx_hal_pwr.o
+HAL_RCCEx_CRSConfig                               build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_CRSGetSynchronizationInfo               build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_CRSSoftwareSynchronizationGenerate      build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_CRSWaitSynchronization                  build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_CRS_ErrorCallback                       build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_CRS_ExpectedSyncCallback                build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_CRS_IRQHandler                          build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_CRS_SyncOkCallback                      build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_CRS_SyncWarnCallback                    build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_DisableLSECSS                           build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_EnableLSECSS                            build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_EnableLSECSS_IT                         build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_GetD1PCLK1Freq                          build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_GetD1SysClockFreq                       build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_GetD3PCLK1Freq                          build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+HAL_RCCEx_GetPLL1ClockFreq                        build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_GetPLL2ClockFreq                        build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+HAL_RCCEx_GetPLL3ClockFreq                        build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+HAL_RCCEx_GetPeriphCLKConfig                      build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_GetPeriphCLKFreq                        build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+HAL_RCCEx_KerWakeUpStopCLKConfig                  build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_LSECSS_Callback                         build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_LSECSS_IRQHandler                       build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCCEx_PeriphCLKConfig                         build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/main.o
+HAL_RCCEx_WakeUpStopCLKConfig                     build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCC_CSSCallback                               build/debug/stm32h7xx_hal_rcc.o
+HAL_RCC_ClockConfig                               build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/main.o
+HAL_RCC_DeInit                                    build/debug/stm32h7xx_hal_rcc.o
+HAL_RCC_DisableCSS                                build/debug/stm32h7xx_hal_rcc.o
+HAL_RCC_EnableCSS                                 build/debug/stm32h7xx_hal_rcc.o
+HAL_RCC_GetClockConfig                            build/debug/stm32h7xx_hal_rcc.o
+HAL_RCC_GetHCLKFreq                               build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+HAL_RCC_GetOscConfig                              build/debug/stm32h7xx_hal_rcc.o
+HAL_RCC_GetPCLK1Freq                              build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_rcc_ex.o
+HAL_RCC_GetPCLK2Freq                              build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+HAL_RCC_GetSysClockFreq                           build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal.o
+HAL_RCC_MCOConfig                                 build/debug/stm32h7xx_hal_rcc.o
+HAL_RCC_NMI_IRQHandler                            build/debug/stm32h7xx_hal_rcc.o
+HAL_RCC_OscConfig                                 build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/main.o
+HAL_RS485Ex_Init                                  build/debug/stm32h7xx_hal_uart_ex.o
+HAL_ResumeTick                                    build/debug/stm32h7xx_hal.o
+HAL_SDEx_ChangeDMABuffer                          build/debug/stm32h7xx_hal_sd_ex.o
+HAL_SDEx_ConfigDMAMultiBuffer                     build/debug/stm32h7xx_hal_sd_ex.o
+HAL_SDEx_ReadBlocksDMAMultiBuffer                 build/debug/stm32h7xx_hal_sd_ex.o
+HAL_SDEx_Read_DMADoubleBuf0CpltCallback           build/debug/stm32h7xx_hal_sd.o
+HAL_SDEx_Read_DMADoubleBuf1CpltCallback           build/debug/stm32h7xx_hal_sd.o
+HAL_SDEx_WriteBlocksDMAMultiBuffer                build/debug/stm32h7xx_hal_sd_ex.o
+HAL_SDEx_Write_DMADoubleBuf0CpltCallback          build/debug/stm32h7xx_hal_sd.o
+HAL_SDEx_Write_DMADoubleBuf1CpltCallback          build/debug/stm32h7xx_hal_sd.o
+HAL_SDRAM_DMA_XferCpltCallback                    build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_DMA_XferErrorCallback                   build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_DeInit                                  build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_GetModeStatus                           build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_GetState                                build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_IRQHandler                              build/debug/stm32h7xx_hal_sdram.o
+                                                  build/debug/stm32h7xx_it.o
+HAL_SDRAM_Init                                    build/debug/stm32h7xx_hal_sdram.o
+                                                  build/debug/main.o
+HAL_SDRAM_MspDeInit                               build/debug/stm32h7xx_hal_msp.o
+HAL_SDRAM_MspInit                                 build/debug/stm32h7xx_hal_msp.o
+HAL_SDRAM_ProgramRefreshRate                      build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_Read_16b                                build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_Read_32b                                build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_Read_8b                                 build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_Read_DMA                                build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_RefreshErrorCallback                    build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_SendCommand                             build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_SetAutoRefreshNumber                    build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_WriteProtection_Disable                 build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_WriteProtection_Enable                  build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_Write_16b                               build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_Write_32b                               build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_Write_8b                                build/debug/stm32h7xx_hal_sdram.o
+HAL_SDRAM_Write_DMA                               build/debug/stm32h7xx_hal_sdram.o
+HAL_SD_Abort                                      build/debug/stm32h7xx_hal_sd.o
+HAL_SD_AbortCallback                              build/debug/stm32h7xx_hal_sd.o
+HAL_SD_Abort_IT                                   build/debug/stm32h7xx_hal_sd.o
+HAL_SD_ConfigSpeedBusOperation                    build/debug/stm32h7xx_hal_sd.o
+HAL_SD_ConfigWideBusOperation                     build/debug/stm32h7xx_hal_sd.o
+HAL_SD_DeInit                                     build/debug/stm32h7xx_hal_sd.o
+HAL_SD_Erase                                      build/debug/stm32h7xx_hal_sd.o
+HAL_SD_ErrorCallback                              build/debug/stm32h7xx_hal_sd.o
+HAL_SD_GetCardCID                                 build/debug/stm32h7xx_hal_sd.o
+HAL_SD_GetCardCSD                                 build/debug/stm32h7xx_hal_sd.o
+HAL_SD_GetCardInfo                                build/debug/stm32h7xx_hal_sd.o
+HAL_SD_GetCardState                               build/debug/stm32h7xx_hal_sd.o
+HAL_SD_GetCardStatus                              build/debug/stm32h7xx_hal_sd.o
+HAL_SD_GetError                                   build/debug/stm32h7xx_hal_sd.o
+HAL_SD_GetState                                   build/debug/stm32h7xx_hal_sd.o
+HAL_SD_IRQHandler                                 build/debug/stm32h7xx_hal_sd.o
+HAL_SD_Init                                       build/debug/stm32h7xx_hal_sd.o
+                                                  build/debug/main.o
+HAL_SD_InitCard                                   build/debug/stm32h7xx_hal_sd.o
+HAL_SD_MspDeInit                                  build/debug/stm32h7xx_hal_msp.o
+HAL_SD_MspInit                                    build/debug/stm32h7xx_hal_msp.o
+HAL_SD_ReadBlocks                                 build/debug/stm32h7xx_hal_sd.o
+HAL_SD_ReadBlocks_DMA                             build/debug/stm32h7xx_hal_sd.o
+HAL_SD_ReadBlocks_IT                              build/debug/stm32h7xx_hal_sd.o
+HAL_SD_RxCpltCallback                             build/debug/stm32h7xx_hal_sd.o
+HAL_SD_TxCpltCallback                             build/debug/stm32h7xx_hal_sd.o
+HAL_SD_WriteBlocks                                build/debug/stm32h7xx_hal_sd.o
+HAL_SD_WriteBlocks_DMA                            build/debug/stm32h7xx_hal_sd.o
+HAL_SD_WriteBlocks_IT                             build/debug/stm32h7xx_hal_sd.o
+HAL_SYSCFG_AnalogSwitchConfig                     build/debug/stm32h7xx_hal.o
+HAL_SYSCFG_CompensationCodeConfig                 build/debug/stm32h7xx_hal.o
+HAL_SYSCFG_CompensationCodeSelect                 build/debug/stm32h7xx_hal.o
+HAL_SYSCFG_DisableIOSpeedOptimize                 build/debug/stm32h7xx_hal.o
+HAL_SYSCFG_DisableVREFBUF                         build/debug/stm32h7xx_hal.o
+HAL_SYSCFG_EnableIOSpeedOptimize                  build/debug/stm32h7xx_hal.o
+HAL_SYSCFG_EnableVREFBUF                          build/debug/stm32h7xx_hal.o
+HAL_SYSCFG_VDDMMC_CompensationCodeConfig          build/debug/stm32h7xx_hal.o
+HAL_SYSCFG_VREFBUF_HighImpedanceConfig            build/debug/stm32h7xx_hal.o
+HAL_SYSCFG_VREFBUF_TrimmingConfig                 build/debug/stm32h7xx_hal.o
+HAL_SYSCFG_VREFBUF_VoltageScalingConfig           build/debug/stm32h7xx_hal.o
+HAL_SYSTICK_CLKSourceConfig                       build/debug/stm32h7xx_hal_cortex.o
+HAL_SYSTICK_Callback                              build/debug/stm32h7xx_hal_cortex.o
+HAL_SYSTICK_Config                                build/debug/stm32h7xx_hal_cortex.o
+                                                  build/debug/stm32h7xx_hal.o
+HAL_SYSTICK_IRQHandler                            build/debug/stm32h7xx_hal_cortex.o
+HAL_SetFMCMemorySwappingConfig                    build/debug/stm32h7xx_hal.o
+HAL_SetTickFreq                                   build/debug/stm32h7xx_hal.o
+HAL_SuspendTick                                   build/debug/stm32h7xx_hal.o
+HAL_UARTEx_DisableFifoMode                        build/debug/stm32h7xx_hal_uart_ex.o
+                                                  build/debug/main.o
+HAL_UARTEx_DisableStopMode                        build/debug/stm32h7xx_hal_uart_ex.o
+HAL_UARTEx_EnableFifoMode                         build/debug/stm32h7xx_hal_uart_ex.o
+HAL_UARTEx_EnableStopMode                         build/debug/stm32h7xx_hal_uart_ex.o
+HAL_UARTEx_GetRxEventType                         build/debug/stm32h7xx_hal_uart_ex.o
+HAL_UARTEx_ReceiveToIdle                          build/debug/stm32h7xx_hal_uart_ex.o
+HAL_UARTEx_ReceiveToIdle_DMA                      build/debug/stm32h7xx_hal_uart_ex.o
+HAL_UARTEx_ReceiveToIdle_IT                       build/debug/stm32h7xx_hal_uart_ex.o
+HAL_UARTEx_RxEventCallback                        build/debug/stm32h7xx_hal_uart.o
+HAL_UARTEx_RxFifoFullCallback                     build/debug/stm32h7xx_hal_uart_ex.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+HAL_UARTEx_SetRxFifoThreshold                     build/debug/stm32h7xx_hal_uart_ex.o
+                                                  build/debug/main.o
+HAL_UARTEx_SetTxFifoThreshold                     build/debug/stm32h7xx_hal_uart_ex.o
+                                                  build/debug/main.o
+HAL_UARTEx_StopModeWakeUpSourceConfig             build/debug/stm32h7xx_hal_uart_ex.o
+HAL_UARTEx_TxFifoEmptyCallback                    build/debug/stm32h7xx_hal_uart_ex.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+HAL_UARTEx_WakeupCallback                         build/debug/stm32h7xx_hal_uart_ex.o
+                                                  build/debug/stm32h7xx_hal_uart.o
+HAL_UART_Abort                                    build/debug/stm32h7xx_hal_uart.o
+HAL_UART_AbortCpltCallback                        build/debug/stm32h7xx_hal_uart.o
+HAL_UART_AbortReceive                             build/debug/stm32h7xx_hal_uart.o
+HAL_UART_AbortReceiveCpltCallback                 build/debug/stm32h7xx_hal_uart.o
+HAL_UART_AbortReceive_IT                          build/debug/stm32h7xx_hal_uart.o
+HAL_UART_AbortTransmit                            build/debug/stm32h7xx_hal_uart.o
+HAL_UART_AbortTransmitCpltCallback                build/debug/stm32h7xx_hal_uart.o
+HAL_UART_AbortTransmit_IT                         build/debug/stm32h7xx_hal_uart.o
+HAL_UART_Abort_IT                                 build/debug/stm32h7xx_hal_uart.o
+HAL_UART_DMAPause                                 build/debug/stm32h7xx_hal_uart.o
+HAL_UART_DMAResume                                build/debug/stm32h7xx_hal_uart.o
+HAL_UART_DMAStop                                  build/debug/stm32h7xx_hal_uart.o
+HAL_UART_DeInit                                   build/debug/stm32h7xx_hal_uart.o
+HAL_UART_DisableReceiverTimeout                   build/debug/stm32h7xx_hal_uart.o
+HAL_UART_EnableReceiverTimeout                    build/debug/stm32h7xx_hal_uart.o
+HAL_UART_ErrorCallback                            build/debug/stm32h7xx_hal_uart.o
+HAL_UART_GetError                                 build/debug/stm32h7xx_hal_uart.o
+HAL_UART_GetState                                 build/debug/stm32h7xx_hal_uart.o
+HAL_UART_IRQHandler                               build/debug/stm32h7xx_hal_uart.o
+HAL_UART_Init                                     build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/main.o
+HAL_UART_MspDeInit                                build/debug/stm32h7xx_hal_msp.o
+HAL_UART_MspInit                                  build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/stm32h7xx_hal_uart_ex.o
+HAL_UART_Receive                                  build/debug/stm32h7xx_hal_uart.o
+HAL_UART_Receive_DMA                              build/debug/stm32h7xx_hal_uart.o
+HAL_UART_Receive_IT                               build/debug/stm32h7xx_hal_uart.o
+HAL_UART_ReceiverTimeout_Config                   build/debug/stm32h7xx_hal_uart.o
+HAL_UART_RxCpltCallback                           build/debug/stm32h7xx_hal_uart.o
+HAL_UART_RxHalfCpltCallback                       build/debug/stm32h7xx_hal_uart.o
+HAL_UART_Transmit                                 build/debug/stm32h7xx_hal_uart.o
+HAL_UART_Transmit_DMA                             build/debug/stm32h7xx_hal_uart.o
+HAL_UART_Transmit_IT                              build/debug/stm32h7xx_hal_uart.o
+HAL_UART_TxCpltCallback                           build/debug/stm32h7xx_hal_uart.o
+HAL_UART_TxHalfCpltCallback                       build/debug/stm32h7xx_hal_uart.o
+HSEM1_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+HardFault_Handler                                 build/debug/stm32h7xx_it.o
+I2C1_ER_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+I2C1_EV_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+I2C2_ER_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+I2C2_EV_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+I2C3_ER_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+I2C3_EV_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+I2C4_ER_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+I2C4_EV_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+JPEG_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+LPTIM1_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+LPTIM2_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+LPTIM3_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+LPTIM4_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+LPTIM5_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+LPUART1_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+LTDC_ER_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+LTDC_IRQHandler                                   build/debug/stm32h7xx_it.o
+MDIOS_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+MDIOS_WKUP_IRQHandler                             build/debug/startup_stm32h7a3xx.o
+MDMA_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+MemManage_Handler                                 build/debug/stm32h7xx_it.o
+NMI_Handler                                       build/debug/stm32h7xx_it.o
+OCTOSPI1_IRQHandler                               build/debug/startup_stm32h7a3xx.o
+OCTOSPI2_IRQHandler                               build/debug/startup_stm32h7a3xx.o
+OTG_HS_EP1_IN_IRQHandler                          build/debug/startup_stm32h7a3xx.o
+OTG_HS_EP1_OUT_IRQHandler                         build/debug/startup_stm32h7a3xx.o
+OTG_HS_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+OTG_HS_WKUP_IRQHandler                            build/debug/startup_stm32h7a3xx.o
+PVD_PVM_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+PendSV_Handler                                    build/debug/stm32h7xx_it.o
+PeriphCommonClock_Config                          build/debug/main.o
+RCC_IRQHandler                                    build/debug/startup_stm32h7a3xx.o
+RNG_IRQHandler                                    build/debug/startup_stm32h7a3xx.o
+RTC_Alarm_IRQHandler                              build/debug/startup_stm32h7a3xx.o
+RTC_TAMP_STAMP_CSS_LSE_IRQHandler                 build/debug/startup_stm32h7a3xx.o
+RTC_WKUP_IRQHandler                               build/debug/startup_stm32h7a3xx.o
+Reset_Handler                                     build/debug/startup_stm32h7a3xx.o
+SAI1_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+SAI2_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+SDMMC1_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+SDMMC2_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+SDMMC_CmdAppCommand                               build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdAppOperCommand                           build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdBlockCount                               build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_CmdBlockLength                              build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdBusWidth                                 build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdErase                                    build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdEraseEndAdd                              build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_CmdEraseStartAdd                            build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_CmdGoIdleState                              build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdOpCondition                              build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_CmdOperCond                                 build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdReadMultiBlock                           build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd_ex.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdReadSingleBlock                          build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdSDEraseEndAdd                            build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdSDEraseStartAdd                          build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdSelDesel                                 build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdSendCID                                  build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdSendCSD                                  build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdSendEXTCSD                               build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_CmdSendOperationcondition                   build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_CmdSendSCR                                  build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdSendStatus                               build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdSetRelAdd                                build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdSetRelAddMmc                             build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_CmdSleepMmc                                 build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_CmdStatusRegister                           build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdStopTransfer                             build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdSwitch                                   build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdVoltageSwitch                            build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_CmdWriteMultiBlock                          build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd_ex.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_CmdWriteSingleBlock                         build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_ConfigData                                  build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd_ex.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_GetCmdResp1                                 build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_GetCmdResp2                                 build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_GetCmdResp3                                 build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_GetCmdResp4                                 build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_GetCmdResp5                                 build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_GetCmdResp6                                 build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_GetCmdResp7                                 build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_GetCommandResponse                          build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_GetDataCounter                              build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_GetFIFOCount                                build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_GetPowerState                               build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_GetResponse                                 build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_Init                                        build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_PowerState_Cycle                            build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_PowerState_OFF                              build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_PowerState_ON                               build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_ReadFIFO                                    build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SDMMC_SDIO_CmdReadWriteDirect                     build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_SDIO_CmdReadWriteExtended                   build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_SendCommand                                 build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_SetSDMMCReadWaitMode                        build/debug/stm32h7xx_ll_sdmmc.o
+SDMMC_WriteFIFO                                   build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_sd.o
+SPDIF_RX_IRQHandler                               build/debug/startup_stm32h7a3xx.o
+SPI1_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+SPI2_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+SPI3_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+SPI4_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+SPI5_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+SPI6_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+SVC_Handler                                       build/debug/stm32h7xx_it.o
+SWPMI1_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+SysTick_Handler                                   build/debug/stm32h7xx_it.o
+SystemClock_Config                                build/debug/main.o
+SystemCoreClock                                   build/debug/system_stm32h7xx.o
+                                                  build/debug/stm32h7xx_ll_sdmmc.o
+                                                  build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/stm32h7xx_hal_mdma.o
+                                                  build/debug/stm32h7xx_hal_dma.o
+                                                  build/debug/stm32h7xx_hal.o
+SystemCoreClockUpdate                             build/debug/system_stm32h7xx.o
+SystemD2Clock                                     build/debug/system_stm32h7xx.o
+                                                  build/debug/stm32h7xx_hal_rcc_ex.o
+                                                  build/debug/stm32h7xx_hal_rcc.o
+                                                  build/debug/stm32h7xx_hal.o
+SystemInit                                        build/debug/system_stm32h7xx.o
+                                                  build/debug/startup_stm32h7a3xx.o
+TIM15_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+TIM16_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+TIM17_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+TIM1_BRK_IRQHandler                               build/debug/startup_stm32h7a3xx.o
+TIM1_CC_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+TIM1_TRG_COM_IRQHandler                           build/debug/startup_stm32h7a3xx.o
+TIM1_UP_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+TIM2_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+TIM3_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+TIM4_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+TIM5_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+TIM6_DAC_IRQHandler                               build/debug/startup_stm32h7a3xx.o
+TIM7_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+TIM8_BRK_TIM12_IRQHandler                         build/debug/startup_stm32h7a3xx.o
+TIM8_CC_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+TIM8_TRG_COM_TIM14_IRQHandler                     build/debug/startup_stm32h7a3xx.o
+TIM8_UP_TIM13_IRQHandler                          build/debug/startup_stm32h7a3xx.o
+UART4_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+UART5_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+UART7_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+UART8_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+UART9_IRQHandler                                  build/debug/startup_stm32h7a3xx.o
+UARTPrescTable                                    build/debug/stm32h7xx_hal_uart.o
+UART_AdvFeatureConfig                             build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_uart_ex.o
+UART_CheckIdleState                               build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_uart_ex.o
+UART_SetConfig                                    build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_uart_ex.o
+UART_Start_Receive_DMA                            build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_uart_ex.o
+UART_Start_Receive_IT                             build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_uart_ex.o
+UART_WaitOnFlagUntilTimeout                       build/debug/stm32h7xx_hal_uart.o
+                                                  build/debug/stm32h7xx_hal_uart_ex.o
+USART10_IRQHandler                                build/debug/startup_stm32h7a3xx.o
+USART1_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+USART2_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+USART3_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+USART6_IRQHandler                                 build/debug/startup_stm32h7a3xx.o
+USB_ActivateDedicatedEndpoint                     build/debug/stm32h7xx_ll_usb.o
+USB_ActivateEndpoint                              build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_ActivateRemoteWakeup                          build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_ActivateSetup                                 build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_ClearInterrupts                               build/debug/stm32h7xx_ll_usb.o
+USB_CoreInit                                      build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_DeActivateRemoteWakeup                        build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_DeactivateDedicatedEndpoint                   build/debug/stm32h7xx_ll_usb.o
+USB_DeactivateEndpoint                            build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_DevConnect                                    build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_DevDisconnect                                 build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_DevInit                                       build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_DisableGlobalInt                              build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_DoPing                                        build/debug/stm32h7xx_ll_usb.o
+USB_DriveVbus                                     build/debug/stm32h7xx_ll_usb.o
+USB_EP0_OutStart                                  build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_EPClearStall                                  build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_EPSetStall                                    build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_EPStartXfer                                   build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_EPStopXfer                                    build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_EnableGlobalInt                               build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_FlushRxFifo                                   build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_FlushTxFifo                                   build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_GetCurrentFrame                               build/debug/stm32h7xx_ll_usb.o
+USB_GetDevSpeed                                   build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_GetHostSpeed                                  build/debug/stm32h7xx_ll_usb.o
+USB_GetMode                                       build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_HC_Halt                                       build/debug/stm32h7xx_ll_usb.o
+USB_HC_Init                                       build/debug/stm32h7xx_ll_usb.o
+USB_HC_ReadInterrupt                              build/debug/stm32h7xx_ll_usb.o
+USB_HC_StartXfer                                  build/debug/stm32h7xx_ll_usb.o
+USB_HostInit                                      build/debug/stm32h7xx_ll_usb.o
+USB_InitFSLSPClkSel                               build/debug/stm32h7xx_ll_usb.o
+USB_ReadChInterrupts                              build/debug/stm32h7xx_ll_usb.o
+USB_ReadDevAllInEpInterrupt                       build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_ReadDevAllOutEpInterrupt                      build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_ReadDevInEPInterrupt                          build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_ReadDevOutEPInterrupt                         build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_ReadInterrupts                                build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_ReadPacket                                    build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_ResetPort                                     build/debug/stm32h7xx_ll_usb.o
+USB_SetCurrentMode                                build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_SetDevAddress                                 build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_SetDevSpeed                                   build/debug/stm32h7xx_ll_usb.o
+USB_SetTurnaroundTime                             build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_StopDevice                                    build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+USB_StopHost                                      build/debug/stm32h7xx_ll_usb.o
+USB_WritePacket                                   build/debug/stm32h7xx_ll_usb.o
+                                                  build/debug/stm32h7xx_hal_pcd.o
+UsageFault_Handler                                build/debug/stm32h7xx_it.o
+WAKEUP_PIN_IRQHandler                             build/debug/startup_stm32h7a3xx.o
+WWDG_IRQHandler                                   build/debug/startup_stm32h7a3xx.o
+_ITM_deregisterTMCloneTable                       /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+_ITM_registerTMCloneTable                         /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+_Min_Stack_Size                                   build/debug/sysmem.o
+__TMC_END__                                       /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+__aeabi_idiv0                                     /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+__aeabi_ldiv0                                     /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+__aeabi_uldivmod                                  /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+                                                  build/debug/stm32h7xx_hal_uart.o
+__atexit                                          /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+__atexit0                                         /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+__atexit_dummy                                    /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+__atexit_recursive_mutex                          /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+__bss_end__                                       /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+__bss_start__                                     /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+__call_exitprocs                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+__deregister_frame_info                           /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+__dso_handle                                      /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+__env                                             build/debug/syscalls.o
+__errno                                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+                                                  build/debug/sysmem.o
+                                                  build/debug/syscalls.o
+__fini_array_end                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+__fini_array_start                                /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+__fp_lock_all                                     /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__fp_unlock_all                                   /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__init_array_end                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+__init_array_start                                /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+__io_getchar                                      build/debug/syscalls.o
+__io_putchar                                      build/debug/syscalls.o
+__libc_fini_array                                 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+__libc_init_array                                 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+                                                  build/debug/startup_stm32h7a3xx.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+__lock___arc4random_mutex                         /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__lock___at_quick_exit_mutex                      /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__lock___atexit_recursive_mutex                   /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+__lock___dd_hash_mutex                            /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__lock___env_recursive_mutex                      /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__lock___malloc_recursive_mutex                   /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+__lock___sfp_recursive_mutex                      /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__lock___tz_mutex                                 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__malloc_free_list                                /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+__malloc_lock                                     /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+__malloc_sbrk_start                               /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+__malloc_unlock                                   /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+__on_exit_args                                    /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+__preinit_array_end                               /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+__preinit_array_start                             /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+__register_exitproc                               /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+__register_frame_info                             /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o
+__retarget_lock_acquire                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__retarget_lock_acquire_recursive                 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__retarget_lock_close                             /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__retarget_lock_close_recursive                   /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__retarget_lock_init                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__retarget_lock_init_recursive                    /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__retarget_lock_release                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__retarget_lock_release_recursive                 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__retarget_lock_try_acquire                       /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__retarget_lock_try_acquire_recursive             /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o)
+__sclose                                          /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__seofread                                        /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+__sf                                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+__sflush_r                                        /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+__sfp                                             /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__sfp_lock_acquire                                /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__sfp_lock_release                                /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__sglue                                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+__sinit                                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+__sread                                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__sseek                                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__stack                                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+__stdio_exit_handler                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+__swrite                                          /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+__udivmoddi4                                      /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o)
+_close                                            build/debug/syscalls.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+_close_r                                          /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+_ebss                                             build/debug/startup_stm32h7a3xx.o
+_edata                                            build/debug/startup_stm32h7a3xx.o
+_end                                              build/debug/sysmem.o
+_estack                                           build/debug/startup_stm32h7a3xx.o
+                                                  build/debug/sysmem.o
+_execve                                           build/debug/syscalls.o
+_exit                                             build/debug/syscalls.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+_fflush_r                                         /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+_fini                                             /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o)
+_fork                                             build/debug/syscalls.o
+_free_r                                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+_fstat                                            build/debug/syscalls.o
+_fwalk_sglue                                      /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+_getpid                                           build/debug/syscalls.o
+_impure_data                                      /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+_impure_ptr                                       /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+_init                                             /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o)
+_isatty                                           build/debug/syscalls.o
+_kill                                             build/debug/syscalls.o
+_link                                             build/debug/syscalls.o
+_lseek                                            build/debug/syscalls.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+_lseek_r                                          /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+_mainCRTStartup                                   /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+_malloc_r                                         /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+_open                                             build/debug/syscalls.o
+_read                                             build/debug/syscalls.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+_read_r                                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+_reclaim_reent                                    /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+_sbrk                                             build/debug/sysmem.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+_sbrk_r                                           /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o)
+_sbss                                             build/debug/startup_stm32h7a3xx.o
+_sdata                                            build/debug/startup_stm32h7a3xx.o
+_sidata                                           build/debug/startup_stm32h7a3xx.o
+_stack_init                                       /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+_start                                            /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+_stat                                             build/debug/syscalls.o
+_times                                            build/debug/syscalls.o
+_unlink                                           build/debug/syscalls.o
+_wait                                             build/debug/syscalls.o
+_write                                            build/debug/syscalls.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+_write_r                                          /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o)
+atexit                                            /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+environ                                           build/debug/syscalls.o
+errno                                             /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o)
+exit                                              /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+fflush                                            /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o)
+framebuffer                                       build/debug/main.o
+g_pfnVectors                                      build/debug/startup_stm32h7a3xx.o
+hardware_init_hook                                /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+hcrc                                              build/debug/main.o
+hfdcan1                                           build/debug/main.o
+                                                  build/debug/stm32h7xx_it.o
+hi2c4                                             build/debug/main.o
+hltdc                                             build/debug/main.o
+                                                  build/debug/stm32h7xx_it.o
+hpcd_USB_OTG_HS                                   build/debug/main.o
+hsd2                                              build/debug/main.o
+hsdram1                                           build/debug/main.o
+                                                  build/debug/stm32h7xx_it.o
+huart10                                           build/debug/main.o
+huart5                                            build/debug/main.o
+initialise_monitor_handles                        build/debug/syscalls.o
+main                                              build/debug/main.o
+                                                  build/debug/startup_stm32h7a3xx.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+malloc                                            /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o)
+memcpy                                            /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o)
+                                                  build/debug/stm32h7xx_hal_fdcan.o
+memset                                            /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o)
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o)
+                                                  build/debug/stm32h7xx_hal_sd.o
+                                                  build/debug/stm32h7xx_hal_msp.o
+                                                  build/debug/main.o
+                                                  /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+pFlash                                            build/debug/stm32h7xx_hal_flash.o
+                                                  build/debug/stm32h7xx_hal_flash_ex.o
+software_init_hook                                /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
+uwTick                                            build/debug/stm32h7xx_hal.o
+uwTickFreq                                        build/debug/stm32h7xx_hal.o
+uwTickPrio                                        build/debug/stm32h7xx_hal.o
+                                                  build/debug/stm32h7xx_hal_rcc.o
diff --git a/Software/openocd.cfg b/Software/openocd.cfg
new file mode 100644
index 0000000..bb2c93b
--- /dev/null
+++ b/Software/openocd.cfg
@@ -0,0 +1,8 @@
+#OpenOCD configuration file, generated by STM32 for VSCode
+
+# Programmer, can be changed to several interfaces
+# Standard will be the STLink interface as this is the standard for STM32 dev boards
+source [find interface/stlink.cfg]
+
+# The target MCU. This should match your board
+source [find target/stm32h7x.cfg]
diff --git a/Software/Core/Startup/startup_stm32h7a3zitx.s b/Software/startup_stm32h7a3xx.s
similarity index 100%
rename from Software/Core/Startup/startup_stm32h7a3zitx.s
rename to Software/startup_stm32h7a3xx.s
diff --git a/Software/STM32H7A3ZITX_FLASH.ld b/Software/stm32h7a3zitx_flash.ld
similarity index 58%
rename from Software/STM32H7A3ZITX_FLASH.ld
rename to Software/stm32h7a3zitx_flash.ld
index 10f4fb5..8939802 100644
--- a/Software/STM32H7A3ZITX_FLASH.ld
+++ b/Software/stm32h7a3zitx_flash.ld
@@ -1,179 +1,190 @@
-/*
-******************************************************************************
-**
-**  File        : LinkerScript.ld
-**
-**  Author      : STM32CubeIDE
-**
-**  Abstract    : Linker script for STM32H7 series
-**                2048Kbytes FLASH and 1376Kbytes RAM
-**
-**                Set heap size, stack size and stack location according
-**                to application requirements.
-**
-**                Set memory bank area and size if external memory is used.
-**
-**  Target      : STMicroelectronics STM32
-**
-**  Distribution: The file is distributed as is, without any warranty
-**                of any kind.
-**
-*****************************************************************************
-** @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.
-**
-****************************************************************************
-*/
-
-/* Entry Point */
-ENTRY(Reset_Handler)
-
-/* Highest address of the user mode stack */
-_estack = ORIGIN(RAM) + LENGTH(RAM);    /* end of RAM */
-/* Generate a link error if heap and stack don't fit into RAM */
-_Min_Heap_Size = 0x200;      /* required amount of heap  */
-_Min_Stack_Size = 0x400; /* required amount of stack */
-
-/* Specify the memory areas */
-MEMORY
-{
-  ITCMRAM (xrw)  : ORIGIN = 0x00000000, LENGTH = 64K
-  FLASH (rx)     : ORIGIN = 0x08000000, LENGTH = 2048K
-  DTCMRAM1 (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
-  DTCMRAM2 (xrw) : ORIGIN = 0x20010000, LENGTH = 64K
-  RAM (xrw)      : ORIGIN = 0x24000000, LENGTH = 1024K
-  RAM_CD (xrw)   : ORIGIN = 0x30000000, LENGTH = 128K
-  RAM_SRD (xrw)  : ORIGIN = 0x38000000, LENGTH = 32K
-}
-
-/* Define output sections */
-SECTIONS
-{
-  /* The startup code goes first into FLASH */
-  .isr_vector :
-  {
-    . = ALIGN(4);
-    KEEP(*(.isr_vector)) /* Startup code */
-    . = ALIGN(4);
-  } >FLASH
-
-  /* The program code and other data goes into FLASH */
-  .text :
-  {
-    . = ALIGN(4);
-    *(.text)           /* .text sections (code) */
-    *(.text*)          /* .text* sections (code) */
-    *(.glue_7)         /* glue arm to thumb code */
-    *(.glue_7t)        /* glue thumb to arm code */
-    *(.eh_frame)
-
-    KEEP (*(.init))
-    KEEP (*(.fini))
-
-    . = ALIGN(4);
-    _etext = .;        /* define a global symbols at end of code */
-  } >FLASH
-
-  /* Constant data goes into FLASH */
-  .rodata :
-  {
-    . = ALIGN(4);
-    *(.rodata)         /* .rodata sections (constants, strings, etc.) */
-    *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */
-    . = ALIGN(4);
-  } >FLASH
-
-  .ARM.extab (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
-  {
-    *(.ARM.extab* .gnu.linkonce.armextab.*)
-  } >FLASH
-  .ARM (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
-  {
-    __exidx_start = .;
-    *(.ARM.exidx*)
-    __exidx_end = .;
-  } >FLASH
-
-  .preinit_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
-  {
-    PROVIDE_HIDDEN (__preinit_array_start = .);
-    KEEP (*(.preinit_array*))
-    PROVIDE_HIDDEN (__preinit_array_end = .);
-  } >FLASH
-
-  .init_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
-  {
-    PROVIDE_HIDDEN (__init_array_start = .);
-    KEEP (*(SORT(.init_array.*)))
-    KEEP (*(.init_array*))
-    PROVIDE_HIDDEN (__init_array_end = .);
-  } >FLASH
-
-  .fini_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
-  {
-    PROVIDE_HIDDEN (__fini_array_start = .);
-    KEEP (*(SORT(.fini_array.*)))
-    KEEP (*(.fini_array*))
-    PROVIDE_HIDDEN (__fini_array_end = .);
-  } >FLASH
-
-  /* used by the startup to initialize data */
-  _sidata = LOADADDR(.data);
-
-  /* Initialized data sections goes into RAM, load LMA copy after code */
-  .data :
-  {
-    . = ALIGN(4);
-    _sdata = .;        /* create a global symbol at data start */
-    *(.data)           /* .data sections */
-    *(.data*)          /* .data* sections */
-    *(.RamFunc)        /* .RamFunc sections */
-    *(.RamFunc*)       /* .RamFunc* sections */
-
-    . = ALIGN(4);
-    _edata = .;        /* define a global symbol at data end */
-  } >RAM AT> FLASH
-
-  /* Uninitialized data section */
-  . = ALIGN(4);
-  .bss :
-  {
-    /* This is used by the startup in order to initialize the .bss section */
-    _sbss = .;         /* define a global symbol at bss start */
-    __bss_start__ = _sbss;
-    *(.bss)
-    *(.bss*)
-    *(COMMON)
-
-    . = ALIGN(4);
-    _ebss = .;         /* define a global symbol at bss end */
-    __bss_end__ = _ebss;
-  } >RAM
-
-  /* User_heap_stack section, used to check that there is enough RAM left */
-  ._user_heap_stack :
-  {
-    . = ALIGN(8);
-    PROVIDE ( end = . );
-    PROVIDE ( _end = . );
-    . = . + _Min_Heap_Size;
-    . = . + _Min_Stack_Size;
-    . = ALIGN(8);
-  } >RAM
-
-  /* Remove information from the standard libraries */
-  /DISCARD/ :
-  {
-    libc.a ( * )
-    libm.a ( * )
-    libgcc.a ( * )
-  }
-
-  .ARM.attributes 0 : { *(.ARM.attributes) }
-}
+/*
+******************************************************************************
+**
+
+**  File        : LinkerScript.ld
+**
+**  Author		: STM32CubeMX
+**
+**  Abstract    : Linker script for STM32H7A3ZITx series
+**                2048Kbytes FLASH and 1216Kbytes RAM
+**
+**                Set heap size, stack size and stack location according
+**                to application requirements.
+**
+**                Set memory bank area and size if external memory is used.
+**
+**  Target      : STMicroelectronics STM32
+**
+**  Distribution: The file is distributed “as is,” without any warranty
+**                of any kind.
+**
+*****************************************************************************
+** @attention
+**
+** <h2><center>&copy; COPYRIGHT(c) 2019 STMicroelectronics</center></h2>
+**
+** Redistribution and use in source and binary forms, with or without modification,
+** are permitted provided that the following conditions are met:
+**   1. Redistributions of source code must retain the above copyright notice,
+**      this list of conditions and the following disclaimer.
+**   2. Redistributions in binary form must reproduce the above copyright notice,
+**      this list of conditions and the following disclaimer in the documentation
+**      and/or other materials provided with the distribution.
+**   3. Neither the name of STMicroelectronics nor the names of its contributors
+**      may be used to endorse or promote products derived from this software
+**      without specific prior written permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+**
+*****************************************************************************
+*/
+
+/* Entry Point */
+ENTRY(Reset_Handler)
+
+/* Highest address of the user mode stack */
+_estack = ORIGIN(DTCMRAM) + LENGTH(DTCMRAM);    /* end of RAM */
+/* Generate a link error if heap and stack don't fit into RAM */
+_Min_Heap_Size = 0x200;      /* required amount of heap  */
+_Min_Stack_Size = 0x400; /* required amount of stack */
+
+/* Specify the memory areas */
+MEMORY
+{
+DTCMRAM (xrw)      : ORIGIN = 0x20000000, LENGTH = 128K
+RAM (xrw)      : ORIGIN = 0x24000000, LENGTH = 1024K
+ITCMRAM (xrw)      : ORIGIN = 0x00000000, LENGTH = 64K
+FLASH (rx)      : ORIGIN = 0x8000000, LENGTH = 2048K
+}
+
+/* Define output sections */
+SECTIONS
+{
+  /* The startup code goes first into FLASH */
+  .isr_vector :
+  {
+    . = ALIGN(4);
+    KEEP(*(.isr_vector)) /* Startup code */
+    . = ALIGN(4);
+  } >FLASH
+
+  /* The program code and other data goes into FLASH */
+  .text :
+  {
+    . = ALIGN(4);
+    *(.text)           /* .text sections (code) */
+    *(.text*)          /* .text* sections (code) */
+    *(.glue_7)         /* glue arm to thumb code */
+    *(.glue_7t)        /* glue thumb to arm code */
+    *(.eh_frame)
+
+    KEEP (*(.init))
+    KEEP (*(.fini))
+
+    . = ALIGN(4);
+    _etext = .;        /* define a global symbols at end of code */
+  } >FLASH
+
+  /* Constant data goes into FLASH */
+  .rodata :
+  {
+    . = ALIGN(4);
+    *(.rodata)         /* .rodata sections (constants, strings, etc.) */
+    *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */
+    . = ALIGN(4);
+  } >FLASH
+
+  .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH
+  .ARM : {
+    __exidx_start = .;
+    *(.ARM.exidx*)
+    __exidx_end = .;
+  } >FLASH
+
+  .preinit_array     :
+  {
+    PROVIDE_HIDDEN (__preinit_array_start = .);
+    KEEP (*(.preinit_array*))
+    PROVIDE_HIDDEN (__preinit_array_end = .);
+  } >FLASH
+  .init_array :
+  {
+    PROVIDE_HIDDEN (__init_array_start = .);
+    KEEP (*(SORT(.init_array.*)))
+    KEEP (*(.init_array*))
+    PROVIDE_HIDDEN (__init_array_end = .);
+  } >FLASH
+  .fini_array :
+  {
+    PROVIDE_HIDDEN (__fini_array_start = .);
+    KEEP (*(SORT(.fini_array.*)))
+    KEEP (*(.fini_array*))
+    PROVIDE_HIDDEN (__fini_array_end = .);
+  } >FLASH
+
+  /* used by the startup to initialize data */
+  _sidata = LOADADDR(.data);
+
+  /* Initialized data sections goes into RAM, load LMA copy after code */
+  .data : 
+  {
+    . = ALIGN(4);
+    _sdata = .;        /* create a global symbol at data start */
+    *(.data)           /* .data sections */
+    *(.data*)          /* .data* sections */
+
+    . = ALIGN(4);
+    _edata = .;        /* define a global symbol at data end */
+  } >DTCMRAM AT> FLASH
+
+  
+  /* Uninitialized data section */
+  . = ALIGN(4);
+  .bss :
+  {
+    /* This is used by the startup in order to initialize the .bss secion */
+    _sbss = .;         /* define a global symbol at bss start */
+    __bss_start__ = _sbss;
+    *(.bss)
+    *(.bss*)
+    *(COMMON)
+
+    . = ALIGN(4);
+    _ebss = .;         /* define a global symbol at bss end */
+    __bss_end__ = _ebss;
+  } >DTCMRAM
+
+  /* User_heap_stack section, used to check that there is enough RAM left */
+  ._user_heap_stack :
+  {
+    . = ALIGN(8);
+    PROVIDE ( end = . );
+    PROVIDE ( _end = . );
+    . = . + _Min_Heap_Size;
+    . = . + _Min_Stack_Size;
+    . = ALIGN(8);
+  } >DTCMRAM
+
+  
+
+  /* Remove information from the standard libraries */
+  /DISCARD/ :
+  {
+    libc.a ( * )
+    libm.a ( * )
+    libgcc.a ( * )
+  }
+
+}
+
+