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>© 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>© 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>© 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>© 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>© 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>© 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>© 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="{"fItems":[{"fIsFromMainTab":true,"fPath":"Debug/FT23_Charger.elf","fProjectName":"FT23_Charger","fPerformBuild":true,"fDownload":true,"fLoadSymbols":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="{"fVersion":1,"fItems":[{"fDisplayName":"Reset","fIsSuppressible":false,"fResetAttribute":"Software system reset","fResetStrategies":[{"fDisplayName":"Software system reset","fLaunchAttribute":"system_reset","fGdbCommands":["monitor reset\n"],"fCmdOptions":["-g"]},{"fDisplayName":"Hardware reset","fLaunchAttribute":"hardware_reset","fGdbCommands":["monitor reset hardware\n"],"fCmdOptions":["-g"]},{"fDisplayName":"Core reset","fLaunchAttribute":"core_reset","fGdbCommands":["monitor reset core\n"],"fCmdOptions":["-g"]},{"fDisplayName":"None","fLaunchAttribute":"no_reset","fGdbCommands":[],"fCmdOptions":["-g"]}],"fGdbCommandGroup":{"name":"Additional commands","commands":[]},"fStartApplication":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="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/> - <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 <= value < - * 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>© 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 ( * ) + } + +} + +