add 2019.2 Xilinx example and update README

fix to remove xml extension

add missing project file

update project

update dist include

rm prj files
This commit is contained in:
Jacob Barthelmeh 2020-04-30 15:56:50 -06:00
parent 7e267546cb
commit 3b6b59cea0
10 changed files with 1789 additions and 61 deletions
IDE/XilinxSDK

@ -0,0 +1,378 @@
<?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="xilinx.gnu.arm.a53.exe.debug.1782113102">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="xilinx.gnu.arm.a53.exe.debug.1782113102" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<extension id="com.xilinx.sdk.managedbuilder.XELF.arm.a53" 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="xilinx.gnu.arm.a53.exe.debug.1782113102" name="Debug" parent="xilinx.gnu.arm.a53.exe.debug">
<folderInfo id="xilinx.gnu.arm.a53.exe.debug.1782113102." name="/" resourcePath="">
<toolChain id="xilinx.gnu.arm.a53.exe.debug.toolchain.1113944170" name="Xilinx ARM v8 GNU Toolchain" superClass="xilinx.gnu.arm.a53.exe.debug.toolchain">
<targetPlatform binaryParser="com.xilinx.sdk.managedbuilder.XELF.arm.a53" id="xilinx.arm.a53.target.gnu.base.debug.1396893613" isAbstract="false" name="Debug Platform" superClass="xilinx.arm.a53.target.gnu.base.debug"/>
<builder buildPath="${workspace_loc:/wolfCrypt_example}/Debug" enableAutoBuild="true" id="xilinx.gnu.arm.a53.toolchain.builder.debug.1817433235" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="GNU make" superClass="xilinx.gnu.arm.a53.toolchain.builder.debug"/>
<tool id="xilinx.gnu.arm.a53.c.toolchain.assembler.debug.817332359" name="ARM v8 gcc assembler" superClass="xilinx.gnu.arm.a53.c.toolchain.assembler.debug">
<inputType id="xilinx.gnu.assembler.input.2136688541" superClass="xilinx.gnu.assembler.input"/>
</tool>
<tool id="xilinx.gnu.arm.a53.c.toolchain.compiler.debug.430177439" name="ARM v8 gcc compiler" superClass="xilinx.gnu.arm.a53.c.toolchain.compiler.debug">
<option defaultValue="gnu.c.optimization.level.none" id="xilinx.gnu.compiler.option.optimization.level.1111511664" name="Optimization Level" superClass="xilinx.gnu.compiler.option.optimization.level" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.option.debugging.level.2102507625" name="Debug Level" superClass="xilinx.gnu.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.inferred.swplatform.includes.1341202843" name="Software Platform Include Path" superClass="xilinx.gnu.compiler.inferred.swplatform.includes" valueType="includePath">
<listOptionValue builtIn="false" value="${resolvePlatformFile:project=wolfCrypt_example,fileType=bspInclude}"/>
</option>
<option id="xilinx.gnu.compiler.symbols.defined.28847817" name="Defined symbols (-D)" superClass="xilinx.gnu.compiler.symbols.defined" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<option id="xilinx.gnu.compiler.dircategory.includes.263244220" name="Include Paths" superClass="xilinx.gnu.compiler.dircategory.includes" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}\..\..\..\..&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}\..\..&quot;"/>
</option>
<option id="xilinx.gnu.compiler.misc.other.615983760" superClass="xilinx.gnu.compiler.misc.other" useByScannerDiscovery="false" value="-c -fmessage-length=0 -MT&quot;$@&quot; -fPIC -mstrict-align -mcpu=generic+crypto" valueType="string"/>
<inputType id="xilinx.gnu.arm.a53.c.compiler.input.4473674" name="C source files" superClass="xilinx.gnu.arm.a53.c.compiler.input"/>
</tool>
<tool id="xilinx.gnu.arm.a53.cxx.toolchain.compiler.debug.1325219017" name="ARM v8 g++ compiler" superClass="xilinx.gnu.arm.a53.cxx.toolchain.compiler.debug">
<option defaultValue="gnu.c.optimization.level.none" id="xilinx.gnu.compiler.option.optimization.level.1890920631" name="Optimization Level" superClass="xilinx.gnu.compiler.option.optimization.level" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.option.debugging.level.411131165" name="Debug Level" superClass="xilinx.gnu.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.inferred.swplatform.includes.675873812" name="Software Platform Include Path" superClass="xilinx.gnu.compiler.inferred.swplatform.includes" valueType="includePath">
<listOptionValue builtIn="false" value="${resolvePlatformFile:project=wolfCrypt_example,fileType=bspInclude}"/>
</option>
<option id="xilinx.gnu.compiler.symbols.defined.1291265844" name="Defined symbols (-D)" superClass="xilinx.gnu.compiler.symbols.defined" valueType="definedSymbols">
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<option id="xilinx.gnu.compiler.dircategory.includes.726879004" name="Include Paths" superClass="xilinx.gnu.compiler.dircategory.includes" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}\..\..\..\..\&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}\..\..&quot;"/>
</option>
<option id="xilinx.gnu.compiler.misc.other.433201736" superClass="xilinx.gnu.compiler.misc.other" value="-c -fmessage-length=0 -MT&quot;$@&quot; -fPIC -mstrict-align -mcpu=generic+crypto" valueType="string"/>
</tool>
<tool id="xilinx.gnu.arm.a53.toolchain.archiver.974889960" name="ARM v8 archiver" superClass="xilinx.gnu.arm.a53.toolchain.archiver"/>
<tool id="xilinx.gnu.arm.a53.c.toolchain.linker.debug.769612178" name="ARM v8 gcc linker" superClass="xilinx.gnu.arm.a53.c.toolchain.linker.debug">
<option id="xilinx.gnu.linker.inferred.swplatform.lpath.224661595" name="Software Platform Library Path" superClass="xilinx.gnu.linker.inferred.swplatform.lpath" valueType="libPaths">
<listOptionValue builtIn="false" value="${resolvePlatformFile:project=wolfCrypt_example,fileType=bspLib}"/>
</option>
<option id="xilinx.gnu.linker.inferred.swplatform.flags.371804950" name="Software Platform Inferred Flags" superClass="xilinx.gnu.linker.inferred.swplatform.flags" valueType="libs">
<listOptionValue builtIn="false" value="-Wl,--start-group,-lxil,-lgcc,-lc,--end-group"/>
</option>
<option id="xilinx.gnu.c.linker.option.lscript.29968817" name="Linker Script" superClass="xilinx.gnu.c.linker.option.lscript" value="../src/lscript.ld" valueType="string"/>
<inputType id="xilinx.gnu.linker.input.491345490" superClass="xilinx.gnu.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
<inputType id="xilinx.gnu.linker.input.lscript.608701781" name="Linker Script" superClass="xilinx.gnu.linker.input.lscript"/>
</tool>
<tool id="xilinx.gnu.arm.a53.cxx.toolchain.linker.debug.1859811850" name="ARM v8 g++ linker" superClass="xilinx.gnu.arm.a53.cxx.toolchain.linker.debug">
<option id="xilinx.gnu.linker.inferred.swplatform.lpath.914760911" name="Software Platform Library Path" superClass="xilinx.gnu.linker.inferred.swplatform.lpath" valueType="libPaths">
<listOptionValue builtIn="false" value="${resolvePlatformFile:project=wolfCrypt_example,fileType=bspLib}"/>
</option>
<option id="xilinx.gnu.linker.inferred.swplatform.flags.1751403377" name="Software Platform Inferred Flags" superClass="xilinx.gnu.linker.inferred.swplatform.flags" valueType="libs">
<listOptionValue builtIn="false" value="-Wl,--start-group,-lxil,-lgcc,-lc,--end-group"/>
</option>
<option id="xilinx.gnu.c.linker.option.lscript.1220943136" name="Linker Script" superClass="xilinx.gnu.c.linker.option.lscript" value="../src/lscript.ld" valueType="string"/>
</tool>
<tool id="xilinx.gnu.arm.a53.size.debug.1918062407" name="ARM v8 Print Size" superClass="xilinx.gnu.arm.a53.size.debug"/>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="xilinx.gnu.arm.a53.exe.release.545836971">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="xilinx.gnu.arm.a53.exe.release.545836971" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="com.xilinx.sdk.managedbuilder.XELF.arm.a53" 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="xilinx.gnu.arm.a53.exe.release.545836971" name="Release" parent="xilinx.gnu.arm.a53.exe.release">
<folderInfo id="xilinx.gnu.arm.a53.exe.release.545836971." name="/" resourcePath="">
<toolChain id="xilinx.gnu.arm.a53.exe.release.toolchain.4336019" name="Xilinx ARM v8 GNU Toolchain" superClass="xilinx.gnu.arm.a53.exe.release.toolchain">
<targetPlatform binaryParser="com.xilinx.sdk.managedbuilder.XELF.arm.a53" id="xilinx.arm.a53.target.gnu.base.release.1027511789" isAbstract="false" name="Release Platform" superClass="xilinx.arm.a53.target.gnu.base.release"/>
<builder buildPath="${workspace_loc:/wolfCrypt_example}/Release" enableAutoBuild="true" id="xilinx.gnu.arm.a53.toolchain.builder.release.132566140" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="GNU make" superClass="xilinx.gnu.arm.a53.toolchain.builder.release"/>
<tool id="xilinx.gnu.arm.a53.c.toolchain.assembler.release.1558208272" name="ARM v8 gcc assembler" superClass="xilinx.gnu.arm.a53.c.toolchain.assembler.release">
<inputType id="xilinx.gnu.assembler.input.18023462" superClass="xilinx.gnu.assembler.input"/>
</tool>
<tool id="xilinx.gnu.arm.a53.c.toolchain.compiler.release.243976823" name="ARM v8 gcc compiler" superClass="xilinx.gnu.arm.a53.c.toolchain.compiler.release">
<option defaultValue="gnu.c.optimization.level.more" id="xilinx.gnu.compiler.option.optimization.level.1508268855" name="Optimization Level" superClass="xilinx.gnu.compiler.option.optimization.level" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.option.debugging.level.91610746" name="Debug Level" superClass="xilinx.gnu.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.inferred.swplatform.includes.140091667" name="Software Platform Include Path" superClass="xilinx.gnu.compiler.inferred.swplatform.includes" valueType="includePath">
<listOptionValue builtIn="false" value="${resolvePlatformFile:project=wolfCrypt_example,fileType=bspInclude}"/>
</option>
<option id="xilinx.gnu.compiler.symbols.defined.571821013" name="Defined symbols (-D)" superClass="xilinx.gnu.compiler.symbols.defined" valueType="definedSymbols">
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<option id="xilinx.gnu.compiler.dircategory.includes.1793861066" name="Include Paths" superClass="xilinx.gnu.compiler.dircategory.includes" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}\..\..\..\..\&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}\..\..&quot;"/>
</option>
<option id="xilinx.gnu.compiler.misc.other.1169152303" superClass="xilinx.gnu.compiler.misc.other" value="-c -fmessage-length=0 -MT&quot;$@&quot; -fPIC -mstrict-align -mcpu=generic+crypto" valueType="string"/>
<inputType id="xilinx.gnu.arm.a53.c.compiler.input.1048385417" name="C source files" superClass="xilinx.gnu.arm.a53.c.compiler.input"/>
</tool>
<tool id="xilinx.gnu.arm.a53.cxx.toolchain.compiler.release.511730239" name="ARM v8 g++ compiler" superClass="xilinx.gnu.arm.a53.cxx.toolchain.compiler.release">
<option defaultValue="gnu.c.optimization.level.more" id="xilinx.gnu.compiler.option.optimization.level.1386880372" name="Optimization Level" superClass="xilinx.gnu.compiler.option.optimization.level" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.option.debugging.level.1608973338" name="Debug Level" superClass="xilinx.gnu.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.inferred.swplatform.includes.426143220" name="Software Platform Include Path" superClass="xilinx.gnu.compiler.inferred.swplatform.includes" valueType="includePath">
<listOptionValue builtIn="false" value="${resolvePlatformFile:project=wolfCrypt_example,fileType=bspInclude}"/>
</option>
<option id="xilinx.gnu.compiler.symbols.defined.1083592595" name="Defined symbols (-D)" superClass="xilinx.gnu.compiler.symbols.defined" valueType="definedSymbols">
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<option id="xilinx.gnu.compiler.dircategory.includes.1883034082" name="Include Paths" superClass="xilinx.gnu.compiler.dircategory.includes" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}\..\..\..\..\&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}\..\..&quot;"/>
</option>
<option id="xilinx.gnu.compiler.misc.other.1904426761" superClass="xilinx.gnu.compiler.misc.other" value="-c -fmessage-length=0 -MT&quot;$@&quot; -fPIC -mstrict-align -mcpu=generic+crypto" valueType="string"/>
</tool>
<tool id="xilinx.gnu.arm.a53.toolchain.archiver.1109174919" name="ARM v8 archiver" superClass="xilinx.gnu.arm.a53.toolchain.archiver"/>
<tool id="xilinx.gnu.arm.a53.c.toolchain.linker.release.1047975584" name="ARM v8 gcc linker" superClass="xilinx.gnu.arm.a53.c.toolchain.linker.release">
<option id="xilinx.gnu.linker.inferred.swplatform.lpath.1542856155" name="Software Platform Library Path" superClass="xilinx.gnu.linker.inferred.swplatform.lpath" valueType="libPaths">
<listOptionValue builtIn="false" value="${resolvePlatformFile:project=wolfCrypt_example,fileType=bspLib}"/>
</option>
<option id="xilinx.gnu.linker.inferred.swplatform.flags.1394395560" name="Software Platform Inferred Flags" superClass="xilinx.gnu.linker.inferred.swplatform.flags" valueType="libs">
<listOptionValue builtIn="false" value="-Wl,--start-group,-lxil,-lgcc,-lc,--end-group"/>
</option>
<option id="xilinx.gnu.c.linker.option.lscript.498453764" name="Linker Script" superClass="xilinx.gnu.c.linker.option.lscript" value="../src/lscript.ld" valueType="string"/>
<inputType id="xilinx.gnu.linker.input.1226651135" superClass="xilinx.gnu.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
<inputType id="xilinx.gnu.linker.input.lscript.1850479815" name="Linker Script" superClass="xilinx.gnu.linker.input.lscript"/>
</tool>
<tool id="xilinx.gnu.arm.a53.cxx.toolchain.linker.release.689649830" name="ARM v8 g++ linker" superClass="xilinx.gnu.arm.a53.cxx.toolchain.linker.release">
<option id="xilinx.gnu.linker.inferred.swplatform.lpath.301041429" name="Software Platform Library Path" superClass="xilinx.gnu.linker.inferred.swplatform.lpath" valueType="libPaths">
<listOptionValue builtIn="false" value="${resolvePlatformFile:project=wolfCrypt_example,fileType=bspLib}"/>
</option>
<option id="xilinx.gnu.linker.inferred.swplatform.flags.547755943" name="Software Platform Inferred Flags" superClass="xilinx.gnu.linker.inferred.swplatform.flags" valueType="libs">
<listOptionValue builtIn="false" value="-Wl,--start-group,-lxil,-lgcc,-lc,--end-group"/>
</option>
<option id="xilinx.gnu.c.linker.option.lscript.844461384" name="Linker Script" superClass="xilinx.gnu.c.linker.option.lscript" value="../src/lscript.ld" valueType="string"/>
</tool>
<tool id="xilinx.gnu.arm.a53.size.release.1728322609" name="ARM v8 Print Size" superClass="xilinx.gnu.arm.a53.size.release"/>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="wolfCrypt_example.xilinx.gnu.arm.a53.exe.2046638383" name="Xilinx ARM v8 Executable" projectType="xilinx.gnu.arm.a53.exe"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="xilinx.gnu.arm.a53.exe.debug.1782113102;xilinx.gnu.arm.a53.exe.debug.1782113102.;xilinx.gnu.arm.a53.c.toolchain.compiler.debug.430177439;xilinx.gnu.arm.a53.c.compiler.input.4473674">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.xilinx.managedbuilder.ui.ARMA53GCCManagedMakePerProjectProfileC"/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="xilinx.gnu.arm.a53.exe.release.545836971;xilinx.gnu.arm.a53.exe.release.545836971.">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.xilinx.managedbuilder.ui.ARMA53GCCManagedMakePerProjectProfileC"/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="xilinx.gnu.arm.a53.exe.debug.1782113102;xilinx.gnu.arm.a53.exe.debug.1782113102.">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.xilinx.managedbuilder.ui.ARMA53GCCManagedMakePerProjectProfileC"/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="xilinx.gnu.arm.a53.exe.release.545836971;xilinx.gnu.arm.a53.exe.release.545836971.;xilinx.gnu.arm.a53.c.toolchain.compiler.release.243976823;xilinx.gnu.arm.a53.c.compiler.input.1048385417">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.xilinx.managedbuilder.ui.ARMA53GCCManagedMakePerProjectProfileC"/>
</scannerConfigBuildInfo>
</storageModule>
</cproject>

@ -0,0 +1,849 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>wolfCrypt_example</name>
<comment>Created by Vitis v2019.2</comment>
<projects>
<project>standalone_bsp_0</project>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.xilinx.sdx.sdk.core.SdkProjectNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>src/IDE</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>src/src</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>src/wolfcrypt</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>src/IDE/XilinxSDK</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>src/src/bio.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/bio.c</locationURI>
</link>
<link>
<name>src/src/crl.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/crl.c</locationURI>
</link>
<link>
<name>src/src/include.am</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/include.am</locationURI>
</link>
<link>
<name>src/src/internal.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/internal.c</locationURI>
</link>
<link>
<name>src/src/keys.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/keys.c</locationURI>
</link>
<link>
<name>src/src/ocsp.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/ocsp.c</locationURI>
</link>
<link>
<name>src/src/sniffer.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/sniffer.c</locationURI>
</link>
<link>
<name>src/src/ssl.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/ssl.c</locationURI>
</link>
<link>
<name>src/src/tls.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/tls.c</locationURI>
</link>
<link>
<name>src/src/tls13.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/tls13.c</locationURI>
</link>
<link>
<name>src/src/wolfio.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/src/wolfio.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/benchmark</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>src/wolfcrypt/src</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>src/wolfcrypt/test</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>src/IDE/XilinxSDK/.cproject</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/.cproject</locationURI>
</link>
<link>
<name>src/IDE/XilinxSDK/.project</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/.project</locationURI>
</link>
<link>
<name>src/IDE/XilinxSDK/README.md</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/README.md</locationURI>
</link>
<link>
<name>src/IDE/XilinxSDK/include.am</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/include.am</locationURI>
</link>
<link>
<name>src/IDE/XilinxSDK/lscript.ld</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/lscript.ld</locationURI>
</link>
<link>
<name>src/IDE/XilinxSDK/user_settings.h</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/user_settings.h</locationURI>
</link>
<link>
<name>src/IDE/XilinxSDK/wolfssl_example.c</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/wolfssl_example.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/benchmark/README.md</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/benchmark/README.md</locationURI>
</link>
<link>
<name>src/wolfcrypt/benchmark/benchmark.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/benchmark/benchmark.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/benchmark/benchmark.h</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/benchmark/benchmark.h</locationURI>
</link>
<link>
<name>src/wolfcrypt/benchmark/benchmark.sln</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/benchmark/benchmark.sln</locationURI>
</link>
<link>
<name>src/wolfcrypt/benchmark/benchmark.vcproj</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/benchmark/benchmark.vcproj</locationURI>
</link>
<link>
<name>src/wolfcrypt/benchmark/include.am</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/benchmark/include.am</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/aes.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/aes.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/aes_asm.asm</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/aes_asm.asm</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/arc4.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/arc4.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/asm.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/asm.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/asn.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/asn.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/blake2b.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/blake2b.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/blake2s.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/blake2s.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/camellia.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/camellia.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/chacha.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/chacha.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/chacha20_poly1305.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/chacha20_poly1305.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/cmac.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/cmac.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/coding.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/coding.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/compress.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/compress.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/cpuid.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/cpuid.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/cryptocb.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/cryptocb.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/curve25519.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/curve25519.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/curve448.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/curve448.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/des3.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/des3.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/dh.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/dh.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/dsa.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/dsa.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/ecc.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/ecc.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/ecc_fp.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/ecc_fp.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/ed25519.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/ed25519.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/ed448.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/ed448.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/error.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/error.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/evp.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/evp.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fe_448.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fe_448.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fe_low_mem.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fe_low_mem.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fe_operations.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fe_operations.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fe_x25519_128.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fe_x25519_128.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mont_small.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mont_small.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_12.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_12.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_17.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_17.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_20.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_20.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_24.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_24.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_28.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_28.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_3.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_3.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_32.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_32.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_4.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_4.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_48.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_48.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_6.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_6.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_64.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_64.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_7.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_7.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_8.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_8.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_9.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_9.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_mul_comba_small_set.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_mul_comba_small_set.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_12.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_12.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_17.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_17.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_20.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_20.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_24.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_24.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_28.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_28.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_3.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_3.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_32.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_32.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_4.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_4.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_48.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_48.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_6.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_6.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_64.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_64.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_7.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_7.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_8.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_8.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_9.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_9.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/fp_sqr_comba_small_set.i</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/fp_sqr_comba_small_set.i</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/ge_448.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/ge_448.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/ge_low_mem.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/ge_low_mem.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/ge_operations.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/ge_operations.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/hash.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/hash.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/hc128.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/hc128.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/hmac.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/hmac.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/idea.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/idea.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/include.am</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/include.am</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/integer.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/integer.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/logging.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/logging.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/md2.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/md2.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/md4.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/md4.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/md5.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/md5.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/memory.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/memory.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/misc.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/misc.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/pkcs12.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/pkcs12.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/pkcs7.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/pkcs7.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/poly1305.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/poly1305.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/pwdbased.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/pwdbased.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/rabbit.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/rabbit.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/random.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/random.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/ripemd.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/ripemd.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/rsa.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/rsa.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sha.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sha.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sha256.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sha256.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sha3.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sha3.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sha512.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sha512.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/signature.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/signature.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sp_arm32.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sp_arm32.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sp_arm64.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sp_arm64.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sp_armthumb.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sp_armthumb.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sp_c32.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sp_c32.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sp_c64.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sp_c64.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sp_cortexm.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sp_cortexm.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sp_dsp32.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sp_dsp32.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sp_int.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sp_int.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/sp_x86_64.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/sp_x86_64.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/srp.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/srp.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/tfm.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/tfm.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/wc_dsp.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/wc_dsp.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/wc_encrypt.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/wc_encrypt.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/wc_pkcs11.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/wc_pkcs11.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/wc_port.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/wc_port.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/wolfevent.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/wolfevent.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/wolfmath.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/wolfmath.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/test/README.md</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/test/README.md</locationURI>
</link>
<link>
<name>src/wolfcrypt/test/include.am</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/test/include.am</locationURI>
</link>
<link>
<name>src/wolfcrypt/test/test.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/test/test.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/test/test.h</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/test/test.h</locationURI>
</link>
<link>
<name>src/wolfcrypt/test/test.sln</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/test/test.sln</locationURI>
</link>
<link>
<name>src/wolfcrypt/test/test.vcproj</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/test/test.vcproj</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/nrf51.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/nrf51.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/xilinx</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-32-curve25519.S</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-32-curve25519.S</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-32-curve25519.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-32-curve25519.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-32-sha512-asm.S</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-32-sha512-asm.S</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-32-sha512-asm.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-32-sha512-asm.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-aes.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-aes.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-chacha.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-chacha.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-curve25519.S</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-curve25519.S</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-curve25519.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-curve25519.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-poly1305.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-poly1305.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-sha256.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-sha256.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-sha512-asm.S</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-sha512-asm.S</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-sha512-asm.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-sha512-asm.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/armv8-sha512.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/armv8-sha512.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/cryptoCell.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/cryptoCell.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/arm/cryptoCellHash.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/arm/cryptoCellHash.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/xilinx/xil-aesgcm.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/xilinx/xil-aesgcm.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/src/port/xilinx/xil-sha3.c</name>
<type>1</type>
<locationURI>PARENT-4-PROJECT_LOC/wolfcrypt/src/port/xilinx/xil-sha3.c</locationURI>
</link>
</linkedResources>
</projectDescription>

@ -0,0 +1,309 @@
/* Linker Script for Zynq MP */
/* Stack and Heap increased to 64KB */
_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x10000;
_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x10000;
_EL0_STACK_SIZE = DEFINED(_EL0_STACK_SIZE) ? _EL0_STACK_SIZE : 1024;
_EL1_STACK_SIZE = DEFINED(_EL1_STACK_SIZE) ? _EL1_STACK_SIZE : 2048;
_EL2_STACK_SIZE = DEFINED(_EL2_STACK_SIZE) ? _EL2_STACK_SIZE : 1024;
/* Define Memories in the system */
MEMORY
{
ddr4_ctrl_C0_DDR4_ADDRESS_BLOCK : ORIGIN = 0x500000000, LENGTH = 0x20000000
psu_ddr_0_MEM_0 : ORIGIN = 0x0, LENGTH = 0x7FF00000
psu_ddr_1_MEM_0 : ORIGIN = 0x800000000, LENGTH = 0x80000000
psu_ocm_ram_0_MEM_0 : ORIGIN = 0xFFFC0000, LENGTH = 0x40000
psu_qspi_linear_0_MEM_0 : ORIGIN = 0xC0000000, LENGTH = 0x20000000
}
/* Specify the default entry point to the program */
ENTRY(_vector_table)
/* Define the sections, and where they are mapped in memory */
SECTIONS
{
.text : {
KEEP (*(.vectors))
*(.boot)
*(.text)
*(.text.*)
*(.gnu.linkonce.t.*)
*(.plt)
*(.gnu_warning)
*(.gcc_execpt_table)
*(.glue_7)
*(.glue_7t)
*(.ARM.extab)
*(.gnu.linkonce.armextab.*)
} > psu_ddr_0_MEM_0
.init (ALIGN(64)) : {
KEEP (*(.init))
} > psu_ddr_0_MEM_0
.fini (ALIGN(64)) : {
KEEP (*(.fini))
} > psu_ddr_0_MEM_0
.interp : {
KEEP (*(.interp))
} > psu_ddr_0_MEM_0
.note-ABI-tag : {
KEEP (*(.note-ABI-tag))
} > psu_ddr_0_MEM_0
.rodata : {
. = ALIGN(64);
__rodata_start = .;
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r.*)
__rodata_end = .;
} > psu_ddr_0_MEM_0
.rodata1 : {
. = ALIGN(64);
__rodata1_start = .;
*(.rodata1)
*(.rodata1.*)
__rodata1_end = .;
} > psu_ddr_0_MEM_0
.sdata2 : {
. = ALIGN(64);
__sdata2_start = .;
*(.sdata2)
*(.sdata2.*)
*(.gnu.linkonce.s2.*)
__sdata2_end = .;
} > psu_ddr_0_MEM_0
.sbss2 : {
. = ALIGN(64);
__sbss2_start = .;
*(.sbss2)
*(.sbss2.*)
*(.gnu.linkonce.sb2.*)
__sbss2_end = .;
} > psu_ddr_0_MEM_0
.data : {
. = ALIGN(64);
__data_start = .;
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
*(.jcr)
*(.got)
*(.got.plt)
__data_end = .;
} > psu_ddr_0_MEM_0
.data1 : {
. = ALIGN(64);
__data1_start = .;
*(.data1)
*(.data1.*)
__data1_end = .;
} > psu_ddr_0_MEM_0
.got : {
*(.got)
} > psu_ddr_0_MEM_0
.got1 : {
*(.got1)
} > psu_ddr_0_MEM_0
.got2 : {
*(.got2)
} > psu_ddr_0_MEM_0
.ctors : {
. = ALIGN(64);
__CTOR_LIST__ = .;
___CTORS_LIST___ = .;
KEEP (*crtbegin.o(.ctors))
KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__CTOR_END__ = .;
___CTORS_END___ = .;
} > psu_ddr_0_MEM_0
.dtors : {
. = ALIGN(64);
__DTOR_LIST__ = .;
___DTORS_LIST___ = .;
KEEP (*crtbegin.o(.dtors))
KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__DTOR_END__ = .;
___DTORS_END___ = .;
} > psu_ddr_0_MEM_0
.fixup : {
__fixup_start = .;
*(.fixup)
__fixup_end = .;
} > psu_ddr_0_MEM_0
.eh_frame : {
*(.eh_frame)
} > psu_ddr_0_MEM_0
.eh_framehdr : {
__eh_framehdr_start = .;
*(.eh_framehdr)
__eh_framehdr_end = .;
} > psu_ddr_0_MEM_0
.gcc_except_table : {
*(.gcc_except_table)
} > psu_ddr_0_MEM_0
.mmu_tbl0 (ALIGN(4096)) : {
__mmu_tbl0_start = .;
*(.mmu_tbl0)
__mmu_tbl0_end = .;
} > psu_ddr_0_MEM_0
.mmu_tbl1 (ALIGN(4096)) : {
__mmu_tbl1_start = .;
*(.mmu_tbl1)
__mmu_tbl1_end = .;
} > psu_ddr_0_MEM_0
.mmu_tbl2 (ALIGN(4096)) : {
__mmu_tbl2_start = .;
*(.mmu_tbl2)
__mmu_tbl2_end = .;
} > psu_ddr_0_MEM_0
.ARM.exidx : {
__exidx_start = .;
*(.ARM.exidx*)
*(.gnu.linkonce.armexidix.*.*)
__exidx_end = .;
} > psu_ddr_0_MEM_0
.preinit_array : {
. = ALIGN(64);
__preinit_array_start = .;
KEEP (*(SORT(.preinit_array.*)))
KEEP (*(.preinit_array))
__preinit_array_end = .;
} > psu_ddr_0_MEM_0
.init_array : {
. = ALIGN(64);
__init_array_start = .;
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
__init_array_end = .;
} > psu_ddr_0_MEM_0
.fini_array : {
. = ALIGN(64);
__fini_array_start = .;
KEEP (*(SORT(.fini_array.*)))
KEEP (*(.fini_array))
__fini_array_end = .;
} > psu_ddr_0_MEM_0
.ARM.attributes : {
__ARM.attributes_start = .;
*(.ARM.attributes)
__ARM.attributes_end = .;
} > psu_ddr_0_MEM_0
.sdata : {
. = ALIGN(64);
__sdata_start = .;
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s.*)
__sdata_end = .;
} > psu_ddr_0_MEM_0
.sbss (NOLOAD) : {
. = ALIGN(64);
__sbss_start = .;
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb.*)
. = ALIGN(64);
__sbss_end = .;
} > psu_ddr_0_MEM_0
.tdata : {
. = ALIGN(64);
__tdata_start = .;
*(.tdata)
*(.tdata.*)
*(.gnu.linkonce.td.*)
__tdata_end = .;
} > psu_ddr_0_MEM_0
.tbss : {
. = ALIGN(64);
__tbss_start = .;
*(.tbss)
*(.tbss.*)
*(.gnu.linkonce.tb.*)
__tbss_end = .;
} > psu_ddr_0_MEM_0
.bss (NOLOAD) : {
. = ALIGN(64);
__bss_start__ = .;
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
*(COMMON)
. = ALIGN(64);
__bss_end__ = .;
} > psu_ddr_0_MEM_0
_SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 );
_SDA2_BASE_ = __sdata2_start + ((__sbss2_end - __sdata2_start) / 2 );
/* Generate Stack and Heap definitions */
.heap (NOLOAD) : {
. = ALIGN(64);
_heap = .;
HeapBase = .;
_heap_start = .;
. += _HEAP_SIZE;
_heap_end = .;
HeapLimit = .;
} > psu_ddr_0_MEM_0
.stack (NOLOAD) : {
. = ALIGN(64);
_el3_stack_end = .;
. += _STACK_SIZE;
__el3_stack = .;
_el2_stack_end = .;
. += _EL2_STACK_SIZE;
. = ALIGN(64);
__el2_stack = .;
_el1_stack_end = .;
. += _EL1_STACK_SIZE;
. = ALIGN(64);
__el1_stack = .;
_el0_stack_end = .;
. += _EL0_STACK_SIZE;
. = ALIGN(64);
__el0_stack = .;
} > psu_ddr_0_MEM_0
_end = .;
}

@ -0,0 +1,106 @@
<?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.xilinx.sdx.system.managedbuilder.debugConfiguration.1747591511">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.xilinx.sdx.system.managedbuilder.debugConfiguration.1747591511" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<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"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.xilinx.sdx.system.managedbuilder.debugConfiguration.1747591511" name="Debug" parent="com.xilinx.sdx.system.managedbuilder.debugConfiguration">
<folderInfo id="com.xilinx.sdx.system.managedbuilder.debugConfiguration.1747591511." name="/" resourcePath="">
<toolChain id="com.xilinx.sdx.system.managedbuilder.debug.toolChain.2130101163" name="System Toolchain" superClass="com.xilinx.sdx.system.managedbuilder.debug.toolChain">
<targetPlatform id="com.xilinx.sdx.system.managedbuilder.debugConfiguration.1747591511..2039133948" name=""/>
<builder buildPath="${workspace_loc:/wolfCrypt_example_system}/Debug" enableAutoBuild="true" id="com.xilinx.sdx.system.managedbuilder.systemBuilder.659457512" managedBuildOn="true" name="System Project Builder.Debug" superClass="com.xilinx.sdx.system.managedbuilder.systemBuilder"/>
<tool id="com.xilinx.sdx.system.managedbuilder.toolchain.cfjoinTool.2119034169" name="System Builder" superClass="com.xilinx.sdx.system.managedbuilder.toolchain.cfjoinTool"/>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="com.xilinx.sdx.system.managedbuilder.releaseConfiguration.315007310">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.xilinx.sdx.system.managedbuilder.releaseConfiguration.315007310" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<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"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.xilinx.sdx.system.managedbuilder.releaseConfiguration.315007310" name="Release" parent="com.xilinx.sdx.system.managedbuilder.releaseConfiguration">
<folderInfo id="com.xilinx.sdx.system.managedbuilder.releaseConfiguration.315007310." name="/" resourcePath="">
<toolChain id="com.xilinx.sdx.system.managedbuilder.release.toolChain.1320610434" name="System Toolchain" superClass="com.xilinx.sdx.system.managedbuilder.release.toolChain">
<targetPlatform id="com.xilinx.sdx.system.managedbuilder.releaseConfiguration.315007310..1838809633" name=""/>
<builder buildPath="${workspace_loc:/wolfCrypt_example_system}/Release" enableAutoBuild="true" id="com.xilinx.sdx.system.managedbuilder.systemBuilder.1303178964" managedBuildOn="true" name="System Project Builder.Release" superClass="com.xilinx.sdx.system.managedbuilder.systemBuilder"/>
<tool id="com.xilinx.sdx.system.managedbuilder.toolchain.cfjoinTool.1086546437" name="System Builder" superClass="com.xilinx.sdx.system.managedbuilder.toolchain.cfjoinTool"/>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="wolfCrypt_example_system.com.xilinx.sdx.system.managedbuilder.projectType.320873684" name="Xilinx SDX System Project" projectType="com.xilinx.sdx.system.managedbuilder.projectType"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</storageModule>
</cproject>

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>wolfCrypt_example_system</name>
<comment></comment>
<projects>
<project>wolfCrypt_example</project>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.xilinx.sdx.system.systemprojectnature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>

@ -1,58 +1,111 @@
# Xilinx SDK wolfCrypt Project
To use this example project:
1. Start a new workspace
2. Create a new BSP called `standalone_bsp_0`.
3. Copy `.cproject` and `.project` into the wolfSSL root.
4. From the Xilinx SDK Import wolfBoot using "Import" -> "Existing Projects into Workspace".
## Platform
Tested on the Zynq UltraScale+ MPSoC (ZUC102).
This is a bare-metal example for wolfCrypt only with algorithm support for:
* RNG
* RSA
* ECC
* AES-GCM
* ChaCha20
* Poly1305
* SHA2
* SHA3
* PBKDF2
## Benchmark Results
```
------------------------------------------------------------------------------
wolfSSL version 4.3.0
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1024, min sec each)
RNG 72 MB took 1.000 seconds, 72.388 MB/s
AES-128-GCM-enc 370 MB took 1.000 seconds, 370.312 MB/s
AES-128-GCM-dec 187 MB took 1.000 seconds, 187.451 MB/s
AES-192-GCM-enc 341 MB took 1.000 seconds, 341.382 MB/s
AES-192-GCM-dec 180 MB took 1.000 seconds, 179.663 MB/s
AES-256-GCM-enc 316 MB took 1.000 seconds, 316.382 MB/s
AES-256-GCM-dec 172 MB took 1.000 seconds, 172.485 MB/s
CHACHA 256 MB took 1.000 seconds, 255.859 MB/s
CHA-POLY 98 MB took 1.000 seconds, 97.559 MB/s
POLY1305 517 MB took 1.000 seconds, 516.895 MB/s
SHA-256 535 MB took 1.000 seconds, 534.595 MB/s
SHA-384 123 MB took 1.000 seconds, 123.291 MB/s
SHA-512 124 MB took 1.000 seconds, 123.657 MB/s
SHA3-224 70 MB took 1.000 seconds, 70.337 MB/s
SHA3-256 67 MB took 1.000 seconds, 66.528 MB/s
SHA3-384 53 MB took 1.000 seconds, 52.710 MB/s
SHA3-512 38 MB took 1.000 seconds, 37.598 MB/s
HMAC-SHA256 520 MB took 1.000 seconds, 520.093 MB/s
HMAC-SHA384 121 MB took 1.000 seconds, 121.265 MB/s
HMAC-SHA512 121 MB took 1.000 seconds, 121.289 MB/s
PBKDF2 28 KB took 1.000 seconds, 28.375 KB/s
ECC 256 key gen 8518 ops took 1.000 sec, avg 0.117 ms, 8518.000 ops/sec
ECDHE 256 agree 1818 ops took 1.000 sec, avg 0.550 ms, 1818.000 ops/sec
ECDSA 256 sign 4448 ops took 1.000 sec, avg 0.225 ms, 4448.000 ops/sec
ECDSA 256 verify 1430 ops took 1.000 sec, avg 0.699 ms, 1430.000 ops/sec
Benchmark complete
Benchmark Test: Return code 0
```
# Common Gotcha's
- If compiling all code togther (ie no sperate wolfssl library) than the -fPIC compiler flag should be used. Without using -fPIC in this build setup there could be unexpected failures.
- If building with ARMv8 crypto extensions then the compiler flags "-mstrict-align -mcpu=generic+crypto" must be used.
- Check that enough stack and heap memory is set for the operations if a crash or stall happens.
# Xilinx SDK wolfCrypt Vitis 2018.2 Project
To use this example project:
1. Start a new workspace
2. Create a new BSP called `standalone_bsp_0`.
3. Copy `.cproject` and `.project` from IDE/XilinxSDK/2018_2 into the wolfSSL root.
4. From the Xilinx SDK Import wolfBoot using "Import" -> "Existing Projects into Workspace".
# Detailed Instructions For Example Use With Vitis 2019.2
1. Create a new workspace located in the directory wolfssl/IDE/XilinxSDK/2019_2
2. Create a new BSP, by selecting;
- File->New->Platform Project
- Setting "Project name" to standalone_bsp_0, then click "Next"
- Select the "Create from hardware specification" radius and click "Next"
- "Browse..." to the desired XSA file for the hardare
- (optional) change Processor to R5 now
- click "Finish"
3. (optional) If building for TLS support than expand the standalone_bsp_0 project, double click on platform_spr, Expand the cpu (i.e psu_cortexa53_0), click on Board Support Package, select the "Modify BSP Settings..." box and click on lwip211. Note that the api_mode should be changed from RAW API to SOCKET API.
4. Right click on the standalone_bsp_0 project and click on "Build Project"
5. Import the wolfcrypt example project "File->Import->Eclipse workspace or zip file"
6. Uncheck "Copy projects into workspace"
7. Select the root directory of wolfssl/IDE/XilinxSDK/2019_2, and select wolfCrypt_example and wolfCrypt_example_system. Then click "Finish"
# Steps For Creating Project From Scratch
1. Create a new workspace
2. Create a new BSP, by selecting;
- File->New->Platform Project
- Setting "Project name" to standalone_bsp_0, then click "Next"
- Select the "Create from hardware specification" radius and click "Next"
- "Browse..." to the desired XSA file for the hardare
- (optional) change Processor to R5 now
- click "Finish"
3. (optional) If building for TLS support than expand the standalone_bsp_0 project, double click on platform_spr, Expand the cpu (i.e psu_cortexa53_0), click on Board Support Package, select the "Modify BSP Settings..." box and click on lwip211. Note that the api_mode should be changed from RAW API to SOCKET API.
4. Right click on the standalone_bsp_0 project and click on "Build Project"
5. Create wolfssl project File->New->Application Project
6. Name the project wolfCrypt_example, select "Next"
7. For the platform select standalone_bsp_0 and click next, then next once more on Domain.
8. Select "Empty Application" and click "Finish"
9. Expand the wolfCrypt_example project and right click on the folder "src".
10. Select "Import Sources" and set the "From directory" to be the wolfssl root directory.
11. Select the folders to import as ./src, ./IDE/XilinxSDK, ./wolfcrypt/benchmark, ./wolfcrypt/test, ./wolfcrypt/src
12. (optional) Expand the Advanced tabe and select "Create links in workspace"
13. Click on "Finish"
14. Expand the wolfcrypt/src directory and exlude all .S files from the build
15. Right click on the wolfCrypt_example project and got to Properties. Set the macro WOLFSSL_USER_SETTINGS in C/C++ Build->Settings->ARM v8 gcc compiler->Symbols
16. Set the include path for finding user_settings.h by going to the Properties and setting it in C/C++ Build->Settings->ARM v8 gcc compiler->Directories. This is to the directory wolfssl/IDE/XilinxSDK
17. Set the include path for finding wolfSSL headers. To the root directory wolfssl
18. Add compiler flags "-fPIC -mstrict-align -mcpu=generic+crypto" to the project properties. C/C++ Build->Settings->ARM v8 gcc compiler->Miscellaneous
19. Right click on wolfCrypt_example and "Build Project"
## Platform
Tested on the Zynq UltraScale+ MPSoC (ZUC102).
This is a bare-metal example for wolfCrypt only with algorithm support for:
* RNG
* RSA
* ECC
* AES-GCM
* ChaCha20
* Poly1305
* SHA2
* SHA3
* PBKDF2
## Benchmark Results
```
------------------------------------------------------------------------------
wolfSSL version 4.3.0
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1024, min sec each)
RNG 72 MB took 1.000 seconds, 72.388 MB/s
AES-128-GCM-enc 370 MB took 1.000 seconds, 370.312 MB/s
AES-128-GCM-dec 187 MB took 1.000 seconds, 187.451 MB/s
AES-192-GCM-enc 341 MB took 1.000 seconds, 341.382 MB/s
AES-192-GCM-dec 180 MB took 1.000 seconds, 179.663 MB/s
AES-256-GCM-enc 316 MB took 1.000 seconds, 316.382 MB/s
AES-256-GCM-dec 172 MB took 1.000 seconds, 172.485 MB/s
CHACHA 256 MB took 1.000 seconds, 255.859 MB/s
CHA-POLY 98 MB took 1.000 seconds, 97.559 MB/s
POLY1305 517 MB took 1.000 seconds, 516.895 MB/s
SHA-256 535 MB took 1.000 seconds, 534.595 MB/s
SHA-384 123 MB took 1.000 seconds, 123.291 MB/s
SHA-512 124 MB took 1.000 seconds, 123.657 MB/s
SHA3-224 70 MB took 1.000 seconds, 70.337 MB/s
SHA3-256 67 MB took 1.000 seconds, 66.528 MB/s
SHA3-384 53 MB took 1.000 seconds, 52.710 MB/s
SHA3-512 38 MB took 1.000 seconds, 37.598 MB/s
HMAC-SHA256 520 MB took 1.000 seconds, 520.093 MB/s
HMAC-SHA384 121 MB took 1.000 seconds, 121.265 MB/s
HMAC-SHA512 121 MB took 1.000 seconds, 121.289 MB/s
PBKDF2 28 KB took 1.000 seconds, 28.375 KB/s
ECC 256 key gen 8518 ops took 1.000 sec, avg 0.117 ms, 8518.000 ops/sec
ECDHE 256 agree 1818 ops took 1.000 sec, avg 0.550 ms, 1818.000 ops/sec
ECDSA 256 sign 4448 ops took 1.000 sec, avg 0.225 ms, 4448.000 ops/sec
ECDSA 256 verify 1430 ops took 1.000 sec, avg 0.699 ms, 1430.000 ops/sec
Benchmark complete
Benchmark Test: Return code 0
```

@ -5,6 +5,11 @@
EXTRA_DIST+= IDE/XilinxSDK/README.md
EXTRA_DIST+= IDE/XilinxSDK/user_settings.h
EXTRA_DIST+= IDE/XilinxSDK/wolfssl_example.c
EXTRA_DIST+= IDE/XilinxSDK/lscript.ld
EXTRA_DIST+= IDE/XilinxSDK/.cproject
EXTRA_DIST+= IDE/XilinxSDK/.project
EXTRA_DIST+= IDE/XilinxSDK/2018_2/lscript.ld
EXTRA_DIST+= IDE/XilinxSDK/2018_2/.cproject
EXTRA_DIST+= IDE/XilinxSDK/2018_2/.project
EXTRA_DIST+= IDE/XilinxSDK/2019_2/wolfCrypt_example/.cproject
EXTRA_DIST+= IDE/XilinxSDK/2019_2/wolfCrypt_example/.project
EXTRA_DIST+= IDE/XilinxSDK/2019_2/wolfCrypt_example/src/lscript.ld
EXTRA_DIST+= IDE/XilinxSDK/2019_2/wolfCrypt_example_system/.cproject
EXTRA_DIST+= IDE/XilinxSDK/2019_2/wolfCrypt_example_system/.project