view RefPrj/FontPack/.cproject @ 240:625d20070261 div-fixes-5

Improvement SPI stability/recoverability The core part of this commit comes from careful code reading. The core is the swap of Scheduler_Request_sync_with_SPI(SPI_SYNC_METHOD_SOFT) and SPI_Start_single_TxRx_with_Master(). This code is sitting in an if-clause that is triggered on SPI comms failure. Instead of blindly trying to communicate again (which will very likely fail again), first try to reset the comms link, and then try to communicate again. That simply makes more sense in this case. This is heavily tested, on 2 simple dives, and 5 very long deco schedules from the simulator (10+ hour deco's), and a lot of small simulated dives (upto 2h runtime). Of all these tests, only one long session failed after 9 out of 11h runtime. Analyzing that one failure, suggests that the RTE is looping in some error handler, which (obviously) results in a SPI comms failure as a result. I consider this not part of this change. Additionally, some more cleanup is done in this code. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author Jan Mulder <jlmulder@xs4all.nl>
date Mon, 08 Apr 2019 11:49:13 +0200
parents a984d87a1ec0
children 61f14abce25d
line wrap: on
line source

<?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="fr.ac6.managedbuild.config.gnu.cross.exe.debug.8604359">
			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.8604359" moduleId="org.eclipse.cdt.core.settings" name="Debug">
				<externalSettings>
					<externalSetting>
						<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/OSTC4_FontPack"/>
						<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/OSTC4_FontPack/Debug"/>
						<entry flags="RESOLVED" kind="libraryFile" name="OSTC4_FontPack" srcPrefixMapping="" srcRootPath=""/>
					</externalSetting>
				</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="fr.ac6.managedbuild.config.gnu.cross.exe.debug.8604359" name="Debug" parent="fr.ac6.managedbuild.config.gnu.cross.exe.debug" postannouncebuildStep="Generating binary and Printing size information:" postbuildStep="arm-none-eabi-objcopy -j.font_firmware_data -j .upper* -O binary &quot;${BuildArtifactFileBaseName}.elf&quot; &quot;${BuildArtifactFileBaseName}.bin&quot;; arm-none-eabi-size &quot;${BuildArtifactFileName}&quot;">
					<folderInfo id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.8604359." name="/" resourcePath="">
						<toolChain id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.1031134958" name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug">
							<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.307744431" name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu" useByScannerDiscovery="false" value="STM32F429IITx" valueType="string"/>
							<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.1234035109" name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.fpu.fpv4-sp-d16" valueType="enumerated"/>
							<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.610293390" name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.floatabi.hard" valueType="enumerated"/>
							<option id="fr.ac6.managedbuild.option.gnu.cross.board.1261632945" name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board" useByScannerDiscovery="false" value="OSTC_Discovery" valueType="string"/>
							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross.1695752923" isAbstract="false" osList="all" superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross"/>
							<builder buildPath="${workspace_loc:/OSTC4_FontPack}/Debug" id="fr.ac6.managedbuild.builder.gnu.cross.12809590" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="fr.ac6.managedbuild.builder.gnu.cross"/>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.290205685" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler">
								<option id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.1539031986" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.c.optimization.level.size" valueType="enumerated"/>
								<option id="gnu.c.compiler.option.debugging.level.820939322" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
								<option id="gnu.c.compiler.option.preprocessor.def.symbols.1312255715" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
									<listOptionValue builtIn="false" value="STM32"/>
									<listOptionValue builtIn="false" value="STM32F4"/>
									<listOptionValue builtIn="false" value="STM32F429IITx"/>
									<listOptionValue builtIn="false" value="BUILD_LIBRARY"/>
									<listOptionValue builtIn="false" value="DEBUG"/>
								</option>
								<option id="gnu.c.compiler.option.include.paths.1100726123" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ostc4/Discovery/Inc}&quot;"/>
									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ostc4/Common/Inc}&quot;"/>
								</option>
								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1264378341" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.848913141" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
							</tool>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.754431699" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler">
								<option id="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level.275189529" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
								<option id="gnu.cpp.compiler.option.debugging.level.263533406" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
							</tool>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.974050716" name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker">
								<option id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script.1276477164" name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script" useByScannerDiscovery="false" value="${ProjDirPath}\..\ostc4\Common\CPU1-F429.ld" valueType="string"/>
								<option id="gnu.c.link.option.ldflags.1724198262" name="Linker flags" superClass="gnu.c.link.option.ldflags" useByScannerDiscovery="false" value="-specs=nosys.specs -specs=nano.specs -specs=rdimon.specs -lc -lrdimon" valueType="string"/>
								<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.538362104" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
								</inputType>
							</tool>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.588916629" name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker"/>
							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.1284247717" name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver"/>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.662423576" name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler">
								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1874777245" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.55815928" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input"/>
							</tool>
						</toolChain>
					</folderInfo>
					<sourceEntries>
						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="startup"/>
					</sourceEntries>
				</configuration>
			</storageModule>
			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
		</cconfiguration>
		<cconfiguration id="fr.ac6.managedbuild.config.gnu.cross.exe.release.85982751">
			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="fr.ac6.managedbuild.config.gnu.cross.exe.release.85982751" 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="fr.ac6.managedbuild.config.gnu.cross.exe.release.85982751" name="Release" parent="fr.ac6.managedbuild.config.gnu.cross.exe.release" postannouncebuildStep="Generating binary and Printing size information:" postbuildStep="arm-none-eabi-objcopy -j.font_firmware_data -j .upper* -O binary &quot;${BuildArtifactFileBaseName}.elf&quot; &quot;${BuildArtifactFileBaseName}.bin&quot;; arm-none-eabi-size &quot;${BuildArtifactFileName}&quot;">
					<folderInfo id="fr.ac6.managedbuild.config.gnu.cross.exe.release.85982751." name="/" resourcePath="">
						<toolChain id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.release.82093752" name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.release">
							<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.1846726325" name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu" useByScannerDiscovery="false" value="STM32F429IITx" valueType="string"/>
							<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.914670237" name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.fpu.fpv4-sp-d16" valueType="enumerated"/>
							<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.1719772845" name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.floatabi.hard" valueType="enumerated"/>
							<option id="fr.ac6.managedbuild.option.gnu.cross.board.685755771" name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board" useByScannerDiscovery="false" value="OSTC_Discovery" valueType="string"/>
							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross.1764280635" isAbstract="false" osList="all" superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross"/>
							<builder buildPath="${workspace_loc:/OSTC4_FontPack}/Release" id="fr.ac6.managedbuild.builder.gnu.cross.994448876" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="fr.ac6.managedbuild.builder.gnu.cross"/>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.1451356873" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler">
								<option id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.1636772741" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.c.optimization.level.size" valueType="enumerated"/>
								<option id="gnu.c.compiler.option.debugging.level.1687174546" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
								<option id="gnu.c.compiler.option.preprocessor.def.symbols.1782566881" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
									<listOptionValue builtIn="false" value="BUILD_LIBRARY"/>
									<listOptionValue builtIn="false" value="STM32"/>
									<listOptionValue builtIn="false" value="STM32F4"/>
									<listOptionValue builtIn="false" value="STM32F429IITx"/>
								</option>
								<option id="gnu.c.compiler.option.include.paths.2095854364" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ostc4/Discovery/Inc}&quot;"/>
									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ostc4/Common/Inc}&quot;"/>
								</option>
								<option id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.ffunction.1964060747" name="Place the function in their own section (-ffunction-sections)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.ffunction" useByScannerDiscovery="false" value="false" valueType="boolean"/>
								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1105204667" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1803519542" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
							</tool>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.1063476805" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler">
								<option id="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level.1229086514" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.cpp.optimization.level.most" valueType="enumerated"/>
								<option id="gnu.cpp.compiler.option.debugging.level.447927632" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
							</tool>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.1086419053" name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker">
								<option id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script.1362967323" name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script" useByScannerDiscovery="false" value="${ProjDirPath}\..\ostc4\Common\CPU1-F429.ld" valueType="string"/>
								<option id="gnu.c.link.option.ldflags.948436028" name="Linker flags" superClass="gnu.c.link.option.ldflags" useByScannerDiscovery="false" value="" valueType="string"/>
								<option id="gnu.c.link.option.libs.26271697" name="Libraries (-l)" superClass="gnu.c.link.option.libs" useByScannerDiscovery="false" valueType="libs">
									<listOptionValue builtIn="false" value="OSTC4_FontPack"/>
								</option>
								<option id="gnu.c.link.option.paths.992619057" name="Library search path (-L)" superClass="gnu.c.link.option.paths" useByScannerDiscovery="false" valueType="libPaths">
									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Library}&quot;"/>
								</option>
								<option id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.libmath.170919225" name="Use C math library (-lm)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.libmath" useByScannerDiscovery="false" value="false" valueType="boolean"/>
								<option id="gnu.c.link.option.nostdlibs.1982413845" name="No startup or default libs (-nostdlib)" superClass="gnu.c.link.option.nostdlibs" useByScannerDiscovery="false" value="true" valueType="boolean"/>
								<option id="gnu.c.link.option.defname.273075010" name="DEF file name (-Wl,--output-def=)" superClass="gnu.c.link.option.defname" useByScannerDiscovery="false" value="" valueType="string"/>
								<option id="gnu.c.link.option.nodeflibs.722744601" name="Do not use default libraries (-nodefaultlibs)" superClass="gnu.c.link.option.nodeflibs" useByScannerDiscovery="false" value="true" valueType="boolean"/>
								<option id="gnu.c.link.option.nostart.716813369" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" useByScannerDiscovery="false" value="true" valueType="boolean"/>
								<option id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.gcsections.935355899" name="Discard unused sections (-Wl,--gc-sections)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.gcsections" useByScannerDiscovery="false" value="false" valueType="boolean"/>
								<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1997315207" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
								</inputType>
							</tool>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.368276847" name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker"/>
							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.107591558" name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver"/>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.exe.release.1426632343" name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.exe.release">
								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.513460627" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1648779625" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input"/>
							</tool>
						</toolChain>
					</folderInfo>
					<sourceEntries>
						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
						<entry excluding="sysmem.c|startup_stm32.s" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="startup"/>
					</sourceEntries>
				</configuration>
			</storageModule>
			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
		</cconfiguration>
		<cconfiguration id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.8604359.909071357">
			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.8604359.909071357" moduleId="org.eclipse.cdt.core.settings" name="Library">
				<externalSettings>
					<externalSetting>
						<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/OSTC4_FontPack"/>
						<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/OSTC4_FontPack/Debug"/>
						<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/OSTC4_FontPack/Library"/>
						<entry flags="RESOLVED" kind="libraryFile" name="OSTC4_FontPack" srcPrefixMapping="" srcRootPath=""/>
					</externalSetting>
				</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.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="a" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.8604359.909071357" name="Library" parent="fr.ac6.managedbuild.config.gnu.cross.exe.debug" postannouncebuildStep="Generating binary and Printing size information:" postbuildStep="">
					<folderInfo id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.8604359.909071357." name="/" resourcePath="">
						<toolChain id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.716142956" name="Ac6 STM32 MCU GCC" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug">
							<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.851600135" name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu" useByScannerDiscovery="false" value="STM32F429IITx" valueType="string"/>
							<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.66923943" name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.fpu.fpv4-sp-d16" valueType="enumerated"/>
							<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.1895212320" name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.floatabi.hard" valueType="enumerated"/>
							<option id="fr.ac6.managedbuild.option.gnu.cross.board.1172718385" name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board" useByScannerDiscovery="false" value="OSTC_Discovery" valueType="string"/>
							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross.1763358241" isAbstract="false" osList="all" superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross"/>
							<builder buildPath="${workspace_loc:/OSTC4_FontPack}/Debug" id="fr.ac6.managedbuild.builder.gnu.cross.704483138" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="fr.ac6.managedbuild.builder.gnu.cross"/>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.1803634375" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler">
								<option id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.1841868987" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.c.optimization.level.size" valueType="enumerated"/>
								<option id="gnu.c.compiler.option.debugging.level.345718747" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
								<option id="gnu.c.compiler.option.preprocessor.def.symbols.376731920" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
									<listOptionValue builtIn="false" value="BUILD_LIBRARY"/>
									<listOptionValue builtIn="false" value="STM32"/>
									<listOptionValue builtIn="false" value="STM32F4"/>
									<listOptionValue builtIn="false" value="STM32F429IITx"/>
								</option>
								<option id="gnu.c.compiler.option.include.paths.902474985" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ostc4/Discovery/Inc}&quot;"/>
									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ostc4/Common/Inc}&quot;"/>
								</option>
								<option id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.ffunction.636156041" name="Place the function in their own section (-ffunction-sections)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.ffunction" useByScannerDiscovery="false" value="false" valueType="boolean"/>
								<option id="gnu.c.compiler.option.dialect.std.717247782" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>
								<option id="fr.ac6.managedbuid.gnu.c.compiler.option.misc.other.1947577353" name="Other flags" superClass="fr.ac6.managedbuid.gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-fmessage-length=0 -u symbol" valueType="string"/>
								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.130180392" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1496213048" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
							</tool>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.297117296" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler">
								<option id="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level.1051900381" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
								<option id="gnu.cpp.compiler.option.debugging.level.54545315" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
							</tool>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.186877509" name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker">
								<option id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script.984692934" name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script" useByScannerDiscovery="false" value="D:\Projekte\OSTC\workspace\ostc4\Common\CPU1-F429.ld" valueType="string"/>
								<option id="gnu.c.link.option.ldflags.607567160" name="Linker flags" superClass="gnu.c.link.option.ldflags" useByScannerDiscovery="false" value="" valueType="string"/>
								<option defaultValue="true" id="gnu.c.link.option.shared.1993088520" name="Shared (-shared)" superClass="gnu.c.link.option.shared" useByScannerDiscovery="false" value="true" valueType="boolean"/>
								<option id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.libmath.56830929" name="Use C math library (-lm)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.libmath" useByScannerDiscovery="false" value="false" valueType="boolean"/>
								<option id="gnu.c.link.option.nostdlibs.1464483722" name="No startup or default libs (-nostdlib)" superClass="gnu.c.link.option.nostdlibs" useByScannerDiscovery="false" value="true" valueType="boolean"/>
								<option id="gnu.c.link.option.nodeflibs.1536962786" name="Do not use default libraries (-nodefaultlibs)" superClass="gnu.c.link.option.nodeflibs" useByScannerDiscovery="false" value="true" valueType="boolean"/>
								<option id="gnu.c.link.option.nostart.1772588839" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" useByScannerDiscovery="false" value="true" valueType="boolean"/>
								<option id="gnu.c.link.option.defname.1036522968" name="DEF file name (-Wl,--output-def=)" superClass="gnu.c.link.option.defname" useByScannerDiscovery="false" value="" valueType="string"/>
								<option id="gnu.c.link.option.soname.1729002893" name="Shared object name (-Wl,-soname=)" superClass="gnu.c.link.option.soname" useByScannerDiscovery="false" value="" valueType="string"/>
								<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1169750436" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
								</inputType>
								<outputType id="cdt.managedbuild.tool.gnu.c.linker.output.1270989360" outputPrefix="lib" superClass="cdt.managedbuild.tool.gnu.c.linker.output"/>
							</tool>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.651745697" name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker">
								<option defaultValue="true" id="gnu.cpp.link.option.shared.164600601" name="Shared (-shared)" superClass="gnu.cpp.link.option.shared" valueType="boolean"/>
							</tool>
							<tool id="fr.ac6.managedbuild.tool.gnu.archiver.974344177" name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver"/>
							<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.1475237248" name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler">
								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.23100294" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
								<inputType id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1352464072" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input"/>
							</tool>
						</toolChain>
					</folderInfo>
					<sourceEntries>
						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
						<entry excluding="sysmem.c|startup_stm32.s" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="startup"/>
					</sourceEntries>
				</configuration>
			</storageModule>
			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
		</cconfiguration>
	</storageModule>
	<storageModule moduleId="cdtBuildSystem" version="4.0.0">
		<project id="OSTC4_FontPack.fr.ac6.managedbuild.target.gnu.cross.exe.771009941" name="Executable" projectType="fr.ac6.managedbuild.target.gnu.cross.exe"/>
	</storageModule>
	<storageModule moduleId="scannerConfiguration">
		<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
		<scannerConfigBuildInfo instanceId="fr.ac6.managedbuild.config.gnu.cross.exe.debug.8604359;fr.ac6.managedbuild.config.gnu.cross.exe.debug.8604359.;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.290205685;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1264378341">
			<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
		</scannerConfigBuildInfo>
		<scannerConfigBuildInfo instanceId="fr.ac6.managedbuild.config.gnu.cross.exe.release.85982751;fr.ac6.managedbuild.config.gnu.cross.exe.release.85982751.;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.1451356873;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.1105204667">
			<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
		</scannerConfigBuildInfo>
	</storageModule>
	<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
	<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
	<storageModule moduleId="refreshScope" versionNumber="2">
		<configuration configurationName="Library"/>
		<configuration configurationName="Debug">
			<resource resourceType="PROJECT" workspacePath="/OSTC4_FontPack"/>
		</configuration>
		<configuration configurationName="Release">
			<resource resourceType="PROJECT" workspacePath="/OSTC4_FontPack"/>
		</configuration>
	</storageModule>
	<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject>