Merge branch 'master' into add-device-name
This commit is contained in:
35
.travis.yml
35
.travis.yml
@@ -1,18 +1,25 @@
|
|||||||
language: generic
|
language: generic
|
||||||
os: osx
|
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- $HOME/Library/Caches/Homebrew/Cask
|
- $HOME/Library/Caches/Homebrew/Cask
|
||||||
install:
|
install: eclipse -noSplash
|
||||||
- brew update && brew bundle -v
|
-application org.eclipse.equinox.p2.director
|
||||||
- /Applications/Eclipse\ CPP.app/Contents/MacOS/eclipse -noSplash
|
-repository http://gnuarmeclipse.sourceforge.net/updates
|
||||||
-application org.eclipse.equinox.p2.director
|
-installIUs ilg.gnuarmeclipse.managedbuild.cross.feature.group
|
||||||
-repository http://gnuarmeclipse.sourceforge.net/updates
|
-profileProperties org.eclipse.update.install.features=true
|
||||||
-installIUs ilg.gnuarmeclipse.managedbuild.cross.feature.group
|
script: eclipse -noSplash
|
||||||
-profileProperties org.eclipse.update.install.features=true
|
-application org.eclipse.cdt.managedbuilder.core.headlessbuild
|
||||||
script:
|
-import $TRAVIS_BUILD_DIR/left/build/kds
|
||||||
- /Applications/Eclipse\ CPP.app/Contents/MacOS/eclipse -noSplash
|
-import $TRAVIS_BUILD_DIR/right/build/kds
|
||||||
-application org.eclipse.cdt.managedbuilder.core.headlessbuild
|
-build all
|
||||||
-import $TRAVIS_BUILD_DIR/left/build/kds
|
matrix:
|
||||||
-import $TRAVIS_BUILD_DIR/right/build/kds
|
include:
|
||||||
-build all
|
- os: linux
|
||||||
|
sudo: required
|
||||||
|
before_install:
|
||||||
|
- curl https://nixos.org/nix/install | sh && . ~/.nix-profile/etc/profile.d/nix.sh
|
||||||
|
- nix-env -i gcc-arm-embedded-4.8-2014q1-20140314
|
||||||
|
- nix-env -i eclipse-cpp
|
||||||
|
- os: osx
|
||||||
|
env: PATH="$PATH:/Applications/Eclipse CPP.app/Contents/MacOS"
|
||||||
|
before_install: brew update && brew bundle -v
|
||||||
|
|||||||
@@ -160,320 +160,8 @@
|
|||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||||
<storageModule moduleId="ilg.gnuarmeclipse.managedbuild.packs"/>
|
<storageModule moduleId="ilg.gnuarmeclipse.managedbuild.packs"/>
|
||||||
</cconfiguration>
|
</cconfiguration>
|
||||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834" moduleId="org.eclipse.cdt.core.settings" name="uhk-left-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"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GASErrorParser" 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.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
</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.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834" name="uhk-left-release" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release">
|
|
||||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834." name="/" resourcePath="">
|
|
||||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.release.338803166" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.release">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1916499380" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.size" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.1460543599" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.177322323" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.356292453" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.666658360" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1018775359" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.597989734" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.none" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.773110826" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.default" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.28437861" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="Custom" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1461080496" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.1124565964" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m0plus" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.1600158089" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.thumb" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.1115996221" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" value="arm-none-eabi-" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1677262447" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" value="gcc" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1626484215" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" value="g++" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.634682233" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" value="objcopy" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.361919006" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" value="objdump" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.279076886" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" value="size" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1573227602" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" value="make" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.1269834234" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" value="rm" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.286942610" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.992362786" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.useglobalpath.1682061124" name="Use global path" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.useglobalpath" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.43762243" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" value="ar" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.5693655059" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.soft" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nocommon.8146812883" name="No common unitialized (-fno-common)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nocommon" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.freestanding.4482371611" name="Assume freestanding environment (-ffreestanding)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.freestanding" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nobuiltin.4377908586" name="Disable builtin (-fno-builtin)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nobuiltin" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.lto.2037909220" name="Link-time optimizer (-flto)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.lto" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.nowarn.8198410493" name="Inhibit all warnings (-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.nowarn" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.2889697565" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.963839977" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.1577750080" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.1179807636" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.222898878" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.6928493557" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.7305726218" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.toerrors.4257651081" name="Generate errors instead of warnings (-Werror)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.toerrors" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unitialized.3064955983" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unitialized" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.1443241087" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.badfunctioncast.6545741443" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.badfunctioncast" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createlisting.8392794942" name="Create extended listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createlisting" value="false" valueType="boolean"/>
|
|
||||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.1508624923" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
|
||||||
<builder buildPath="${workspace_loc:/k64f}/release" id="ilg.gnuarmeclipse.managedbuild.cross.builder.506636371" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" stopOnErr="false" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.142183468" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.260968363" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.4222914640" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.1618121763" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="__STARTUP_CLEAR_BSS"/>
|
|
||||||
</option>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.nostdinc.1605248625" name="Do not search system directories (-nostdinc)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.nostdinc" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other.4171444554" name="Other assembler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other" value=" -mapcs " valueType="string"/>
|
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.871599837" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.955273220" name="Cross ARM C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.767758500" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/CMSIS/Include"/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/devices"/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/devices/MKL03Z4/drivers"/>
|
|
||||||
<listOptionValue builtIn="false" value="../.."/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/devices/MKL03Z4/utilities"/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../.."/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/devices/MKL03Z4"/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../../shared"/>
|
|
||||||
</option>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.997197032" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.gnu99" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.5122531351" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="false" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="NDEBUG"/>
|
|
||||||
<listOptionValue builtIn="false" value="CPU_MKL03Z32VFK4"/>
|
|
||||||
<listOptionValue builtIn="false" value="PRINTF_FLOAT_ENABLE=0"/>
|
|
||||||
<listOptionValue builtIn="false" value="SCANF_FLOAT_ENABLE=0"/>
|
|
||||||
<listOptionValue builtIn="false" value="PRINTF_ADVANCED_ENABLE=0"/>
|
|
||||||
<listOptionValue builtIn="false" value="SCANF_ADVANCED_ENABLE=0"/>
|
|
||||||
<listOptionValue builtIn="false" value="FRDM_KL03Z"/>
|
|
||||||
<listOptionValue builtIn="false" value="FREEDOM"/>
|
|
||||||
</option>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.nostdinc.5005614710" name="Do not search system directories (-nostdinc)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.nostdinc" useByScannerDiscovery="true" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.5330074440" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" useByScannerDiscovery="true" value=" -mapcs " valueType="string"/>
|
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1711058916" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.270191615" name="Cross ARM C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.1877658137" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="false" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="UHK_PCB_MAJOR_VERSION=7"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.1469754472" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.1286541465" name="Cross ARM C Linker" outputPrefix="" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.1012325190" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano.1816597929" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano" value="true" valueType="boolean"/>
|
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input.1297163151" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
|
||||||
</inputType>
|
|
||||||
</tool>
|
|
||||||
<tool commandLinePattern="${COMMAND} ${cross_toolchain_flags} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} -Xlinker --start-group ${INPUTS} -Xlinker --end-group" id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1288631479" name="Cross ARM C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.1722094624" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano.1816597929" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.otherobjs.4296748696" name="Other objects" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.otherobjs"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile.8112752451" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile" valueType="stringList">
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/devices/MKL03Z4/gcc/MKL03Z32xxx4_flash.ld"/>
|
|
||||||
</option>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart.8981327500" name="Do not use standard start files (-nostartfiles)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs.4862651308" name="Do not use default libraries (-nodefaultlibs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs.7103093290" name="Libraries (-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs" valueType="libs">
|
|
||||||
<listOptionValue builtIn="false" value="m"/>
|
|
||||||
<listOptionValue builtIn="false" value="g"/>
|
|
||||||
<listOptionValue builtIn="false" value="gcc"/>
|
|
||||||
<listOptionValue builtIn="false" value="nosys"/>
|
|
||||||
</option>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.cref.2232183349" name="Cross reference (-Xlinker --cref)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.cref" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printgcsections.3012895541" name="Print removed sections (-Xlinker --print-gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printgcsections" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.strip.8142494542" name="Omit all symbol information (-s)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.strip" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other.1261986804" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other" value="-mapcs -Xlinker -static -Xlinker -z -Xlinker muldefs" valueType="string"/>
|
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input.1924084905" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
|
||||||
</inputType>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.571275503" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.815118717" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash"/>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.254728314" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.1925404631" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.167640084" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.1474313123" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.1969680589" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.240541858" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.572718337" name="Cross ARM GNU Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.1162591107" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format"/>
|
|
||||||
</tool>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
<storageModule moduleId="ilg.gnuarmeclipse.managedbuild.packs"/>
|
|
||||||
</cconfiguration>
|
|
||||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1792027861.1729173329">
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1792027861.1729173329" moduleId="org.eclipse.cdt.core.settings" name="uhk-left-debug-srec">
|
|
||||||
<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"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
|
||||||
<extension id="org.eclipse.cdt.core.GASErrorParser" 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.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
|
||||||
</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.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1792027861.1729173329" name="uhk-left-debug-srec" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug">
|
|
||||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.1792027861.1729173329." name="/" resourcePath="">
|
|
||||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.2133871643" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1710381331" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.none" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.429047074" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.312509698" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1560882653" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.1244873454" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1224563384" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.51128404" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.default" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.895296756" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.default" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.306086854" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="Custom" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1650100265" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.957721554" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m0plus" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.399445211" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.thumb" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.434053481" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" value="arm-none-eabi-" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1779809438" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" value="gcc" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1358302548" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" value="g++" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1564683414" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" value="objcopy" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.722931380" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" value="objdump" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.1526932654" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" value="size" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1832358918" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" value="make" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.1782194510" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" value="rm" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.1356502053" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.71824158" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.useglobalpath.1546091571" name="Use global path" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.useglobalpath" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.715590821" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.default" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.2089084295" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.soft" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.254352757" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" value="ar" valueType="string"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nocommon.430828223" name="No common unitialized (-fno-common)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nocommon" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.freestanding.2099829674" name="Assume freestanding environment (-ffreestanding)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.freestanding" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nobuiltin.1684287371" name="Disable builtin (-fno-builtin)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.nobuiltin" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.lto.1902233021" name="Link-time optimizer (-flto)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.lto" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.nowarn.1571725165" name="Inhibit all warnings (-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.nowarn" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn.1139881120" name="Enable extra warnings (-Wextra)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.extrawarn" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion.119345944" name="Warn on implicit conversions (-Wconversion)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.conversion" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith.2082562957" name="Warn if pointer arithmetic (-Wpointer-arith)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.pointerarith" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow.201006297" name="Warn if shadowed variable (-Wshadow)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.shadow" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.179658206" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1635609490" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1898566588" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.toerrors.652919932" name="Generate errors instead of warnings (-Werror)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.toerrors" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unitialized.8290768044.771865820" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.unitialized" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration.289934285" name="Warn on undeclared global function (-Wmissing-declaration)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.missingdeclaration" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.badfunctioncast.2943267007.157012102" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.badfunctioncast" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createlisting.1909731417" name="Create extended listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createlisting" value="false" valueType="boolean"/>
|
|
||||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.1323730860" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
|
|
||||||
<builder buildPath="${workspace_loc:/k64f}/debug" id="ilg.gnuarmeclipse.managedbuild.cross.builder.1847637422" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" stopOnErr="false" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1755598744" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1168655629" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1048901144" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.1835773950" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
|
||||||
<listOptionValue builtIn="false" value="__STARTUP_CLEAR_BSS"/>
|
|
||||||
</option>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.nostdinc.423506678" name="Do not search system directories (-nostdinc)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.nostdinc" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other.670449665" name="Other assembler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.other" value=" -mapcs " valueType="string"/>
|
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1431878191" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.30462401" name="Cross ARM C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.740054391" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/CMSIS/Include"/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/devices"/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/devices/MKL03Z4/drivers"/>
|
|
||||||
<listOptionValue builtIn="false" value="../.."/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/devices/MKL03Z4/utilities"/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../.."/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/devices/MKL03Z4"/>
|
|
||||||
<listOptionValue builtIn="false" value="../../../../shared"/>
|
|
||||||
</option>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.1615612837" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.gnu99" valueType="enumerated"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.1722431295" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="false" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
|
||||||
<listOptionValue builtIn="false" value="CPU_MKL03Z32VFK4"/>
|
|
||||||
<listOptionValue builtIn="false" value="PRINTF_FLOAT_ENABLE=0"/>
|
|
||||||
<listOptionValue builtIn="false" value="SCANF_FLOAT_ENABLE=0"/>
|
|
||||||
<listOptionValue builtIn="false" value="PRINTF_ADVANCED_ENABLE=0"/>
|
|
||||||
<listOptionValue builtIn="false" value="SCANF_ADVANCED_ENABLE=0"/>
|
|
||||||
<listOptionValue builtIn="false" value="FRDM_KL03Z"/>
|
|
||||||
<listOptionValue builtIn="false" value="FREEDOM"/>
|
|
||||||
</option>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.nostdinc.1105587652" name="Do not search system directories (-nostdinc)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.nostdinc" useByScannerDiscovery="true" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.279210740" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" useByScannerDiscovery="true" value=" -mapcs " valueType="string"/>
|
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1132836546" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1765363951" name="Cross ARM C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.1212638749" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="false" valueType="definedSymbols">
|
|
||||||
<listOptionValue builtIn="false" value="UHK_PCB_MAJOR_VERSION=7"/>
|
|
||||||
</option>
|
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.705482747" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.2070286001" name="Cross ARM C Linker" outputPrefix="" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.1552481443" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano.1015801758" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.scriptfile.2123863712" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.scriptfile"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.libs.609269442" name="Libraries (-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.libs"/>
|
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input.1964570401" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
|
||||||
</inputType>
|
|
||||||
</tool>
|
|
||||||
<tool commandLinePattern="${COMMAND} ${cross_toolchain_flags} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} -Xlinker --start-group ${INPUTS} -Xlinker --end-group" id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1321274496" name="Cross ARM C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.1982435644" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano.788852454" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.otherobjs.355291018" name="Other objects" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.otherobjs"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile.1624816842" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile" valueType="stringList">
|
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MKL03Z8xxx4/devices/MKL03Z4/gcc/MKL03Z32xxx4_flash.ld"/>
|
|
||||||
</option>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart.301052263" name="Do not use standard start files (-nostartfiles)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs.65929385" name="Do not use default libraries (-nodefaultlibs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs.1593929190" name="Libraries (-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs" valueType="libs">
|
|
||||||
<listOptionValue builtIn="false" value="m"/>
|
|
||||||
<listOptionValue builtIn="false" value="g"/>
|
|
||||||
<listOptionValue builtIn="false" value="gcc"/>
|
|
||||||
<listOptionValue builtIn="false" value="nosys"/>
|
|
||||||
</option>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.cref.224283476" name="Cross reference (-Xlinker --cref)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.cref" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printgcsections.1978753179" name="Print removed sections (-Xlinker --print-gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printgcsections" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.strip.637293730" name="Omit all symbol information (-s)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.strip" value="false" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other.482673490" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other" value="-mapcs -Xlinker -static -Xlinker -z -Xlinker muldefs" valueType="string"/>
|
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input.1476511614" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input">
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
|
||||||
</inputType>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1815612795" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
|
|
||||||
<tool command="${cross_prefix}${cross_objcopy}${cross_suffix}" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT}" id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.2130313318" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.26267605" name="Output file format (-O)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice" value="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.binary" valueType="enumerated"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.105156901" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.1110082228" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.684983922" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.1210133326" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.153044958" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/>
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.2056586637" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/>
|
|
||||||
</tool>
|
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.1898736312" name="Cross ARM GNU Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
|
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.1163990896" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format"/>
|
|
||||||
</tool>
|
|
||||||
</toolChain>
|
|
||||||
</folderInfo>
|
|
||||||
</configuration>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
|
||||||
<storageModule moduleId="ilg.gnuarmeclipse.managedbuild.packs"/>
|
|
||||||
</cconfiguration>
|
|
||||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834.1792647078">
|
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834.1792647078">
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834.1792647078" moduleId="org.eclipse.cdt.core.settings" name="uhk-left-release-srec">
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834.1792647078" moduleId="org.eclipse.cdt.core.settings" name="uhk-left-release">
|
||||||
<externalSettings/>
|
<externalSettings/>
|
||||||
<extensions>
|
<extensions>
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
@@ -485,7 +173,7 @@
|
|||||||
</extensions>
|
</extensions>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
<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.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834.1792647078" name="uhk-left-release-srec" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release">
|
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834.1792647078" name="uhk-left-release" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release">
|
||||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834.1792647078." name="/" resourcePath="">
|
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834.1792647078." name="/" resourcePath="">
|
||||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.release.1802192936" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.release">
|
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.release.1802192936" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.release">
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.918206081" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.size" valueType="enumerated"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.918206081" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.size" valueType="enumerated"/>
|
||||||
@@ -608,7 +296,7 @@
|
|||||||
</tool>
|
</tool>
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1579053840" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
|
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1579053840" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.1400319152" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash">
|
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.1400319152" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash">
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.1328839591" name="Output file format (-O)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice" value="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.srec" valueType="enumerated"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.1328839591" name="Output file format (-O)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice" value="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.binary" valueType="enumerated"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.733953661" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.733953661" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.1802395103" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.1802395103" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
||||||
@@ -656,11 +344,11 @@
|
|||||||
<configuration configurationName="v7-debug-srec">
|
<configuration configurationName="v7-debug-srec">
|
||||||
<resource resourceType="PROJECT" workspacePath="/uhk-left"/>
|
<resource resourceType="PROJECT" workspacePath="/uhk-left"/>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<configuration configurationName="v6-release"/>
|
||||||
<configuration configurationName="v7-debug"/>
|
<configuration configurationName="v7-debug"/>
|
||||||
<configuration configurationName="release">
|
<configuration configurationName="release">
|
||||||
<resource resourceType="PROJECT" workspacePath="/uhk-left"/>
|
<resource resourceType="PROJECT" workspacePath="/uhk-left"/>
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration configurationName="v6-release"/>
|
|
||||||
<configuration configurationName="uhk-left-release">
|
<configuration configurationName="uhk-left-release">
|
||||||
<resource resourceType="PROJECT" workspacePath="/uhk-left"/>
|
<resource resourceType="PROJECT" workspacePath="/uhk-left"/>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="uhk-left-release/uhk-left.elf"/>
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="uhk-left-release/uhk-left.elf"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="uhk-left"/>
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="uhk-left"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834"/>
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.1939339834.1792647078"/>
|
||||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
<listEntry value="/uhk-left"/>
|
<listEntry value="/uhk-left"/>
|
||||||
</listAttribute>
|
</listAttribute>
|
||||||
|
|||||||
@@ -36,17 +36,12 @@ key_matrix_t keyMatrix = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ALWAYS_ENTER_BOOTLOADER (0)
|
|
||||||
/*! set to 1 for easier bootloader debugging. With this, the KL03 always enters bootloader mode after reset */
|
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
InitClock();
|
InitClock();
|
||||||
InitPeripherals();
|
InitPeripherals();
|
||||||
KeyMatrix_Init(&keyMatrix);
|
KeyMatrix_Init(&keyMatrix);
|
||||||
#if ALWAYS_ENTER_BOOTLOADER
|
|
||||||
JumpToBootloader(); /* << EST: \todo Temporary only */
|
|
||||||
#endif
|
|
||||||
while (1) {
|
while (1) {
|
||||||
KeyMatrix_Scan(&keyMatrix);
|
KeyMatrix_Scan(&keyMatrix);
|
||||||
__WFI();
|
__WFI();
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ void SlaveRxHandler(void)
|
|||||||
uint8_t commandId = RxMessage.data[0];
|
uint8_t commandId = RxMessage.data[0];
|
||||||
switch (commandId) {
|
switch (commandId) {
|
||||||
case SlaveCommand_JumpToBootloader:
|
case SlaveCommand_JumpToBootloader:
|
||||||
JumpToBootloader();
|
NVIC_SystemReset();
|
||||||
break;
|
break;
|
||||||
case SlaveCommand_SetTestLed:
|
case SlaveCommand_SetTestLed:
|
||||||
TxMessage.length = 0;
|
TxMessage.length = 0;
|
||||||
|
|||||||
Submodule lib/agent updated: 3b59a1a6fa...133f8be370
Submodule lib/bootloader updated: b754ecbe68...40cbba1da1
@@ -11,6 +11,10 @@
|
|||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/UltimateHackingKeyboard/firmware/issues"
|
"url": "https://github.com/UltimateHackingKeyboard/firmware/issues"
|
||||||
},
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"commander": "^2.11.0",
|
||||||
|
"shelljs": "^0.7.8"
|
||||||
|
},
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"dataModelVersion": "1.0.0",
|
"dataModelVersion": "1.0.0",
|
||||||
"usbProtocolVersion": "1.2.0",
|
"usbProtocolVersion": "1.2.0",
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ set -e # fail the script if a command fails
|
|||||||
|
|
||||||
PATH=$PATH:/usr/local/bin # This should make node and npm accessible on OSX.
|
PATH=$PATH:/usr/local/bin # This should make node and npm accessible on OSX.
|
||||||
firmware_image=`pwd`/$1
|
firmware_image=`pwd`/$1
|
||||||
usb_dir=../../../lib/agent/usb
|
usb_dir=../../../lib/agent/packages/usb
|
||||||
usb_binding=$usb_dir/node_modules/usb/build/Release/usb_bindings.node
|
usb_binding=$usb_dir/node_modules/node-hid/build/Release/HID.node
|
||||||
|
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
Linux)
|
Linux)
|
||||||
@@ -24,11 +24,11 @@ blhost="../../../lib/bootloader/bin/Tools/blhost/$blhost_path/blhost --usb 0x1d5
|
|||||||
set -x # echo on
|
set -x # echo on
|
||||||
|
|
||||||
if [ ! -f $usb_binding ]; then
|
if [ ! -f $usb_binding ]; then
|
||||||
cd $usb_dir
|
echo 'You have to make jump-to-bootloader.js work by executing `npm i` in ${UhkFirmwareDirectory}/lib/agent'
|
||||||
npm install
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$usb_dir/jump-to-bootloader.js
|
$usb_dir/reenumerate.js bootloader
|
||||||
$blhost flash-security-disable 0403020108070605
|
$blhost flash-security-disable 0403020108070605
|
||||||
$blhost flash-erase-region 0xc000 475136
|
$blhost flash-erase-region 0xc000 475136
|
||||||
$blhost flash-image $firmware_image
|
$blhost flash-image $firmware_image
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
#ifndef __BOOTLOADER_CONFIG_H__
|
|
||||||
#define __BOOTLOADER_CONFIG_H__
|
|
||||||
|
|
||||||
//#define ENABLE_BUSPAL
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
#include "usb_descriptor.h"
|
#include "usb_descriptor.h"
|
||||||
#include "usb_device_config.h"
|
#include "usb_device_config.h"
|
||||||
#include "composite.h"
|
#include "composite.h"
|
||||||
#include "bootloader_config.h"
|
|
||||||
#include "microseconds/microseconds.h"
|
#include "microseconds/microseconds.h"
|
||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
#include "peripherals/test_led.h"
|
#include "peripherals/test_led.h"
|
||||||
|
|||||||
@@ -3,9 +3,10 @@
|
|||||||
#include "crc16.h"
|
#include "crc16.h"
|
||||||
#include "bus_pal_hardware.h"
|
#include "bus_pal_hardware.h"
|
||||||
#include "peripherals/test_led.h"
|
#include "peripherals/test_led.h"
|
||||||
#if FIXED_BUSPAL_BOOTLOADER
|
#include "microseconds/microseconds.h"
|
||||||
#include "microseconds/microseconds.h"
|
#include "bootloader/wormhole.h"
|
||||||
#endif
|
|
||||||
|
#define FIXED_BUSPAL_BOOTLOADER 1 // Used to mark the fixed BusPal bootloader. Macro usage can be removed in the future.
|
||||||
|
|
||||||
command_processor_data_t g_commandData;
|
command_processor_data_t g_commandData;
|
||||||
buspal_state_t g_buspalState = kBuspal_Idle;
|
buspal_state_t g_buspalState = kBuspal_Idle;
|
||||||
@@ -483,6 +484,10 @@ status_t bootloader_command_pump()
|
|||||||
handle_write_memory_command(g_commandData.packet, g_commandData.packetLength);
|
handle_write_memory_command(g_commandData.packet, g_commandData.packetLength);
|
||||||
|
|
||||||
g_commandData.state = kCommandState_DataPhaseWrite;
|
g_commandData.state = kCommandState_DataPhaseWrite;
|
||||||
|
} else if (cmdTag == kCommandTag_Reset) {
|
||||||
|
Wormhole.magicNumber = WORMHOLE_MAGIC_NUMBER;
|
||||||
|
Wormhole.enumerationMode = EnumerationMode_NormalKeyboard;
|
||||||
|
NVIC_SystemReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
status = handle_command_internal(g_commandData.packet, g_commandData.packetLength);
|
status = handle_command_internal(g_commandData.packet, g_commandData.packetLength);
|
||||||
|
|||||||
@@ -5,7 +5,5 @@
|
|||||||
|
|
||||||
#define I2C_WATCHDOG
|
#define I2C_WATCHDOG
|
||||||
// #define LED_DRIVER_STRESS_TEST
|
// #define LED_DRIVER_STRESS_TEST
|
||||||
#define FIXED_BUSPAL_BOOTLOADER 1 // Used to mark the fixed BusPal bootloader. Macro usage can be removed in the future.
|
|
||||||
// #define FORCE_BUSPAL 1
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
#include "peripherals/test_led.h"
|
#include "peripherals/test_led.h"
|
||||||
#include "usb_interfaces/usb_interface_basic_keyboard.h"
|
#include "usb_interfaces/usb_interface_basic_keyboard.h"
|
||||||
#include "usb_interfaces/usb_interface_media_keyboard.h"
|
#include "usb_interfaces/usb_interface_media_keyboard.h"
|
||||||
|
#include "usb_protocol_handler.h"
|
||||||
#include "bus_pal_hardware.h"
|
#include "bus_pal_hardware.h"
|
||||||
#include "bootloader_config.h"
|
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
#include "bootloader/wormhole.h"
|
#include "bootloader/wormhole.h"
|
||||||
#include "eeprom.h"
|
#include "eeprom.h"
|
||||||
@@ -44,13 +44,14 @@ void UpdateUsbReports(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
KeyMatrix_Scan(&KeyMatrix);
|
||||||
|
|
||||||
|
memcpy(CurrentKeyStates[SlotId_RightKeyboardHalf], KeyMatrix.keyStates, MAX_KEY_COUNT_PER_MODULE);
|
||||||
|
|
||||||
ResetActiveUsbBasicKeyboardReport();
|
ResetActiveUsbBasicKeyboardReport();
|
||||||
ResetActiveUsbMediaKeyboardReport();
|
ResetActiveUsbMediaKeyboardReport();
|
||||||
ResetActiveUsbSystemKeyboardReport();
|
ResetActiveUsbSystemKeyboardReport();
|
||||||
|
|
||||||
KeyMatrix_Scan(&KeyMatrix);
|
|
||||||
|
|
||||||
memcpy(CurrentKeyStates[SlotId_RightKeyboardHalf], KeyMatrix.keyStates, MAX_KEY_COUNT_PER_MODULE);
|
|
||||||
UpdateActiveUsbReports();
|
UpdateActiveUsbReports();
|
||||||
|
|
||||||
SwitchActiveUsbBasicKeyboardReport();
|
SwitchActiveUsbBasicKeyboardReport();
|
||||||
@@ -79,11 +80,6 @@ void main(void)
|
|||||||
InitPeripherals();
|
InitPeripherals();
|
||||||
EEPROM_LaunchTransfer(EepromOperation_Read, ConfigBufferId_HardwareConfig, hardwareConfigurationReadFinished);
|
EEPROM_LaunchTransfer(EepromOperation_Read, ConfigBufferId_HardwareConfig, hardwareConfigurationReadFinished);
|
||||||
|
|
||||||
#ifdef FORCE_BUSPAL
|
|
||||||
Wormhole.magicNumber = WORMHOLE_MAGIC_NUMBER;
|
|
||||||
Wormhole.enumerationMode = EnumerationMode_BusPal;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (Wormhole.magicNumber == WORMHOLE_MAGIC_NUMBER && Wormhole.enumerationMode == EnumerationMode_BusPal) {
|
if (Wormhole.magicNumber == WORMHOLE_MAGIC_NUMBER && Wormhole.enumerationMode == EnumerationMode_BusPal) {
|
||||||
Wormhole.magicNumber = 0;
|
Wormhole.magicNumber = 0;
|
||||||
init_hardware();
|
init_hardware();
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ void LedSlaveDriver_Init(uint8_t ledDriverId) {
|
|||||||
currentLedDriverState->phase = LedDriverPhase_SetFunctionFrame;
|
currentLedDriverState->phase = LedDriverPhase_SetFunctionFrame;
|
||||||
currentLedDriverState->ledIndex = 0;
|
currentLedDriverState->ledIndex = 0;
|
||||||
memset(LedDriverValues[ledDriverId], LED_BRIGHTNESS_LEVEL, LED_DRIVER_LED_COUNT);
|
memset(LedDriverValues[ledDriverId], LED_BRIGHTNESS_LEVEL, LED_DRIVER_LED_COUNT);
|
||||||
LedDisplay_SetText(3, "ABC");
|
LedDisplay_SetText(3, "FTY");
|
||||||
}
|
}
|
||||||
|
|
||||||
status_t LedSlaveDriver_Update(uint8_t ledDriverId) {
|
status_t LedSlaveDriver_Update(uint8_t ledDriverId) {
|
||||||
|
|||||||
80
right/src/slave_drivers/kboot_driver.c
Normal file
80
right/src/slave_drivers/kboot_driver.c
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
#include "slave_drivers/kboot_driver.h"
|
||||||
|
#include "slave_scheduler.h"
|
||||||
|
#include "i2c.h"
|
||||||
|
|
||||||
|
kboot_driver_state_t KbootDriverState;
|
||||||
|
|
||||||
|
static uint8_t rxBuffer[MAX_KBOOT_COMMAND_LENGTH];
|
||||||
|
static uint8_t pingCommand[] = {0x5a, 0xa6};
|
||||||
|
static uint8_t resetCommand[] = {0x5a, 0xa4, 0x04, 0x00, 0x6f, 0x46, 0x0b, 0x00, 0x00, 0x00};
|
||||||
|
static uint8_t ackMessage[] = {0x5a, 0xa1};
|
||||||
|
|
||||||
|
static status_t tx(uint8_t *buffer, uint8_t length)
|
||||||
|
{
|
||||||
|
return I2cAsyncWrite(KbootDriverState.i2cAddress, buffer, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
static status_t rx(uint8_t length)
|
||||||
|
{
|
||||||
|
return I2cAsyncRead(KbootDriverState.i2cAddress, rxBuffer, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KbootSlaveDriver_Init(uint8_t kbootInstanceId)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
status_t KbootSlaveDriver_Update(uint8_t kbootInstanceId)
|
||||||
|
{
|
||||||
|
status_t status = kStatus_Uhk_IdleSlave;
|
||||||
|
|
||||||
|
switch (KbootDriverState.commandType) {
|
||||||
|
case KbootCommand_Idle:
|
||||||
|
break;
|
||||||
|
case KbootCommand_Ping:
|
||||||
|
switch (KbootDriverState.phase) {
|
||||||
|
case 0:
|
||||||
|
status = tx(pingCommand, sizeof(pingCommand));
|
||||||
|
KbootDriverState.phase++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
KbootDriverState.status = Slaves[SlaveId_KbootDriver].previousStatus;
|
||||||
|
KbootDriverState.phase = KbootDriverState.status == kStatus_Success ? 2 : 0;
|
||||||
|
return kStatus_Uhk_NoTransfer;
|
||||||
|
case 2:
|
||||||
|
status = rx(10);
|
||||||
|
KbootDriverState.phase++;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
KbootDriverState.status = Slaves[SlaveId_KbootDriver].previousStatus;
|
||||||
|
if (KbootDriverState.status == kStatus_Success) {
|
||||||
|
KbootDriverState.commandType = KbootCommand_Idle;
|
||||||
|
} else {
|
||||||
|
KbootDriverState.phase = 0;
|
||||||
|
return kStatus_Uhk_NoTransfer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KbootCommand_Reset:
|
||||||
|
switch (KbootDriverState.phase) {
|
||||||
|
case 0:
|
||||||
|
status = tx(resetCommand, sizeof(resetCommand));
|
||||||
|
KbootDriverState.phase++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
status = rx(2);
|
||||||
|
KbootDriverState.phase++;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
status = rx(18);
|
||||||
|
KbootDriverState.phase++;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
status = tx(ackMessage, sizeof(ackMessage));
|
||||||
|
KbootDriverState.commandType = KbootCommand_Idle;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
40
right/src/slave_drivers/kboot_driver.h
Normal file
40
right/src/slave_drivers/kboot_driver.h
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#ifndef __KBOOT_DRIVER_H__
|
||||||
|
#define __KBOOT_DRIVER_H__
|
||||||
|
|
||||||
|
// Includes:
|
||||||
|
|
||||||
|
#include "fsl_common.h"
|
||||||
|
|
||||||
|
// Macros:
|
||||||
|
|
||||||
|
#define MAX_KBOOT_COMMAND_LENGTH 32
|
||||||
|
|
||||||
|
// Typedefs:
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
KbootDriverId_Singleton,
|
||||||
|
} kboot_driver_id_t;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
KbootCommand_Idle,
|
||||||
|
KbootCommand_Ping,
|
||||||
|
KbootCommand_Reset,
|
||||||
|
} kboot_command_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
kboot_command_t commandType;
|
||||||
|
uint8_t i2cAddress;
|
||||||
|
uint8_t phase;
|
||||||
|
uint32_t status;
|
||||||
|
} kboot_driver_state_t;
|
||||||
|
|
||||||
|
// Variables:
|
||||||
|
|
||||||
|
extern kboot_driver_state_t KbootDriverState;
|
||||||
|
|
||||||
|
// Functions:
|
||||||
|
|
||||||
|
void KbootSlaveDriver_Init(uint8_t kbootInstanceId);
|
||||||
|
status_t KbootSlaveDriver_Update(uint8_t kbootInstanceId);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "slave_drivers/is31fl3731_driver.h"
|
#include "slave_drivers/is31fl3731_driver.h"
|
||||||
#include "slave_drivers/uhk_module_driver.h"
|
#include "slave_drivers/uhk_module_driver.h"
|
||||||
|
#include "slave_drivers/kboot_driver.h"
|
||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
#include "i2c_addresses.h"
|
#include "i2c_addresses.h"
|
||||||
|
|
||||||
@@ -39,6 +40,11 @@ uhk_slave_t Slaves[] = {
|
|||||||
.update = LedSlaveDriver_Update,
|
.update = LedSlaveDriver_Update,
|
||||||
.perDriverId = LedDriverId_Left,
|
.perDriverId = LedDriverId_Left,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.init = KbootSlaveDriver_Init,
|
||||||
|
.update = KbootSlaveDriver_Update,
|
||||||
|
.perDriverId = KbootDriverId_Singleton,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static void slaveSchedulerCallback(I2C_Type *base, i2c_master_handle_t *handle, status_t previousStatus, void *userData)
|
static void slaveSchedulerCallback(I2C_Type *base, i2c_master_handle_t *handle, status_t previousStatus, void *userData)
|
||||||
@@ -51,6 +57,8 @@ static void slaveSchedulerCallback(I2C_Type *base, i2c_master_handle_t *handle,
|
|||||||
uhk_slave_t *previousSlave = Slaves + previousSlaveId;
|
uhk_slave_t *previousSlave = Slaves + previousSlaveId;
|
||||||
uhk_slave_t *currentSlave = Slaves + currentSlaveId;
|
uhk_slave_t *currentSlave = Slaves + currentSlaveId;
|
||||||
|
|
||||||
|
previousSlave->previousStatus = previousStatus;
|
||||||
|
|
||||||
if (isFirstIteration) {
|
if (isFirstIteration) {
|
||||||
bool wasPreviousSlaveConnected = previousSlave->isConnected;
|
bool wasPreviousSlaveConnected = previousSlave->isConnected;
|
||||||
previousSlave->isConnected = previousStatus == kStatus_Success;
|
previousSlave->isConnected = previousStatus == kStatus_Success;
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
SlaveId_RightAddon,
|
SlaveId_RightAddon,
|
||||||
SlaveId_RightLedDriver,
|
SlaveId_RightLedDriver,
|
||||||
SlaveId_LeftLedDriver,
|
SlaveId_LeftLedDriver,
|
||||||
|
SlaveId_KbootDriver,
|
||||||
} slave_id_t;
|
} slave_id_t;
|
||||||
|
|
||||||
typedef void (slave_init_t)(uint8_t);
|
typedef void (slave_init_t)(uint8_t);
|
||||||
@@ -25,6 +26,7 @@
|
|||||||
slave_update_t *update;
|
slave_update_t *update;
|
||||||
slave_disconnect_t *disconnect;
|
slave_disconnect_t *disconnect;
|
||||||
bool isConnected;
|
bool isConnected;
|
||||||
|
status_t previousStatus;
|
||||||
} uhk_slave_t;
|
} uhk_slave_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
#include "usb_composite_device.h"
|
#include "usb_composite_device.h"
|
||||||
#include "usb_descriptors/usb_descriptor_hid.h"
|
#include "usb_descriptors/usb_descriptor_hid.h"
|
||||||
#include "usb_descriptors/usb_descriptor_strings.h"
|
#include "usb_descriptors/usb_descriptor_strings.h"
|
||||||
#include "bootloader_config.h"
|
|
||||||
#include "bus_pal_hardware.h"
|
#include "bus_pal_hardware.h"
|
||||||
#include "bootloader/wormhole.h"
|
#include "bootloader/wormhole.h"
|
||||||
|
|
||||||
@@ -12,9 +11,9 @@ usb_composite_device_t UsbCompositeDevice;
|
|||||||
usb_device_class_config_struct_t UsbDeviceCompositeClassConfig[USB_DEVICE_CONFIG_HID] = {
|
usb_device_class_config_struct_t UsbDeviceCompositeClassConfig[USB_DEVICE_CONFIG_HID] = {
|
||||||
{UsbGenericHidCallback, (class_handle_t)NULL, &UsbGenericHidClass},
|
{UsbGenericHidCallback, (class_handle_t)NULL, &UsbGenericHidClass},
|
||||||
{UsbBasicKeyboardCallback, (class_handle_t)NULL, &UsbBasicKeyboardClass},
|
{UsbBasicKeyboardCallback, (class_handle_t)NULL, &UsbBasicKeyboardClass},
|
||||||
{UsbMouseCallback, (class_handle_t)NULL, &UsbMouseClass},
|
|
||||||
{UsbMediaKeyboardCallback, (class_handle_t)NULL, &UsbMediaKeyboardClass},
|
{UsbMediaKeyboardCallback, (class_handle_t)NULL, &UsbMediaKeyboardClass},
|
||||||
{UsbSystemKeyboardCallback, (class_handle_t)NULL, &UsbSystemKeyboardClass},
|
{UsbSystemKeyboardCallback, (class_handle_t)NULL, &UsbSystemKeyboardClass},
|
||||||
|
{UsbMouseCallback, (class_handle_t)NULL, &UsbMouseClass},
|
||||||
};
|
};
|
||||||
|
|
||||||
usb_device_class_config_list_struct_t UsbDeviceCompositeConfigList = {
|
usb_device_class_config_list_struct_t UsbDeviceCompositeConfigList = {
|
||||||
@@ -43,9 +42,9 @@ static usb_status_t UsbDeviceCallback(usb_device_handle handle, uint32_t event,
|
|||||||
UsbCompositeDevice.currentConfiguration = *temp8;
|
UsbCompositeDevice.currentConfiguration = *temp8;
|
||||||
UsbGenericHidSetConfiguration(UsbCompositeDevice.genericHidHandle, *temp8);
|
UsbGenericHidSetConfiguration(UsbCompositeDevice.genericHidHandle, *temp8);
|
||||||
UsbBasicKeyboardSetConfiguration(UsbCompositeDevice.basicKeyboardHandle, *temp8);
|
UsbBasicKeyboardSetConfiguration(UsbCompositeDevice.basicKeyboardHandle, *temp8);
|
||||||
UsbMouseSetConfiguration(UsbCompositeDevice.mouseHandle, *temp8);
|
|
||||||
UsbMediaKeyboardSetConfiguration(UsbCompositeDevice.mediaKeyboardHandle, *temp8);
|
UsbMediaKeyboardSetConfiguration(UsbCompositeDevice.mediaKeyboardHandle, *temp8);
|
||||||
UsbSystemKeyboardSetConfiguration(UsbCompositeDevice.systemKeyboardHandle, *temp8);
|
UsbSystemKeyboardSetConfiguration(UsbCompositeDevice.systemKeyboardHandle, *temp8);
|
||||||
|
UsbMouseSetConfiguration(UsbCompositeDevice.mouseHandle, *temp8);
|
||||||
error = kStatus_USB_Success;
|
error = kStatus_USB_Success;
|
||||||
break;
|
break;
|
||||||
case kUSB_DeviceEventGetConfiguration:
|
case kUSB_DeviceEventGetConfiguration:
|
||||||
@@ -60,9 +59,9 @@ static usb_status_t UsbDeviceCallback(usb_device_handle handle, uint32_t event,
|
|||||||
UsbCompositeDevice.currentInterfaceAlternateSetting[interface] = alternateSetting;
|
UsbCompositeDevice.currentInterfaceAlternateSetting[interface] = alternateSetting;
|
||||||
UsbGenericHidSetInterface(UsbCompositeDevice.genericHidHandle, interface, alternateSetting);
|
UsbGenericHidSetInterface(UsbCompositeDevice.genericHidHandle, interface, alternateSetting);
|
||||||
UsbBasicKeyboardSetInterface(UsbCompositeDevice.basicKeyboardHandle, interface, alternateSetting);
|
UsbBasicKeyboardSetInterface(UsbCompositeDevice.basicKeyboardHandle, interface, alternateSetting);
|
||||||
UsbMouseSetInterface(UsbCompositeDevice.mouseHandle, interface, alternateSetting);
|
|
||||||
UsbMediaKeyboardSetInterface(UsbCompositeDevice.mediaKeyboardHandle, interface, alternateSetting);
|
UsbMediaKeyboardSetInterface(UsbCompositeDevice.mediaKeyboardHandle, interface, alternateSetting);
|
||||||
UsbSystemKeyboardSetInterface(UsbCompositeDevice.systemKeyboardHandle, interface, alternateSetting);
|
UsbSystemKeyboardSetInterface(UsbCompositeDevice.systemKeyboardHandle, interface, alternateSetting);
|
||||||
|
UsbMouseSetInterface(UsbCompositeDevice.mouseHandle, interface, alternateSetting);
|
||||||
error = kStatus_USB_Success;
|
error = kStatus_USB_Success;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -118,9 +117,9 @@ void InitUsb(void)
|
|||||||
USB_DeviceClassInit(CONTROLLER_ID, &UsbDeviceCompositeConfigList, &UsbCompositeDevice.deviceHandle);
|
USB_DeviceClassInit(CONTROLLER_ID, &UsbDeviceCompositeConfigList, &UsbCompositeDevice.deviceHandle);
|
||||||
UsbCompositeDevice.genericHidHandle = UsbDeviceCompositeConfigList.config[USB_GENERIC_HID_INTERFACE_INDEX].classHandle;
|
UsbCompositeDevice.genericHidHandle = UsbDeviceCompositeConfigList.config[USB_GENERIC_HID_INTERFACE_INDEX].classHandle;
|
||||||
UsbCompositeDevice.basicKeyboardHandle = UsbDeviceCompositeConfigList.config[USB_BASIC_KEYBOARD_INTERFACE_INDEX].classHandle;
|
UsbCompositeDevice.basicKeyboardHandle = UsbDeviceCompositeConfigList.config[USB_BASIC_KEYBOARD_INTERFACE_INDEX].classHandle;
|
||||||
UsbCompositeDevice.mouseHandle = UsbDeviceCompositeConfigList.config[USB_MOUSE_INTERFACE_INDEX].classHandle;
|
|
||||||
UsbCompositeDevice.mediaKeyboardHandle = UsbDeviceCompositeConfigList.config[USB_MEDIA_KEYBOARD_INTERFACE_INDEX].classHandle;
|
UsbCompositeDevice.mediaKeyboardHandle = UsbDeviceCompositeConfigList.config[USB_MEDIA_KEYBOARD_INTERFACE_INDEX].classHandle;
|
||||||
UsbCompositeDevice.systemKeyboardHandle = UsbDeviceCompositeConfigList.config[USB_SYSTEM_KEYBOARD_INTERFACE_INDEX].classHandle;
|
UsbCompositeDevice.systemKeyboardHandle = UsbDeviceCompositeConfigList.config[USB_SYSTEM_KEYBOARD_INTERFACE_INDEX].classHandle;
|
||||||
|
UsbCompositeDevice.mouseHandle = UsbDeviceCompositeConfigList.config[USB_MOUSE_INTERFACE_INDEX].classHandle;
|
||||||
|
|
||||||
NVIC_SetPriority((IRQn_Type)irqNumber, USB_DEVICE_INTERRUPT_PRIORITY);
|
NVIC_SetPriority((IRQn_Type)irqNumber, USB_DEVICE_INTERRUPT_PRIORITY);
|
||||||
NVIC_EnableIRQ((IRQn_Type)irqNumber);
|
NVIC_EnableIRQ((IRQn_Type)irqNumber);
|
||||||
|
|||||||
@@ -89,37 +89,6 @@ uint8_t UsbConfigurationDescriptor[USB_CONFIGURATION_DESCRIPTOR_TOTAL_LENGTH] =
|
|||||||
USB_SHORT_GET_HIGH(USB_BASIC_KEYBOARD_INTERRUPT_IN_PACKET_SIZE),
|
USB_SHORT_GET_HIGH(USB_BASIC_KEYBOARD_INTERRUPT_IN_PACKET_SIZE),
|
||||||
USB_BASIC_KEYBOARD_INTERRUPT_IN_INTERVAL,
|
USB_BASIC_KEYBOARD_INTERRUPT_IN_INTERVAL,
|
||||||
|
|
||||||
// Mouse interface descriptor
|
|
||||||
USB_DESCRIPTOR_LENGTH_INTERFACE,
|
|
||||||
USB_DESCRIPTOR_TYPE_INTERFACE,
|
|
||||||
USB_MOUSE_INTERFACE_INDEX,
|
|
||||||
USB_INTERFACE_ALTERNATE_SETTING_NONE,
|
|
||||||
USB_MOUSE_ENDPOINT_COUNT,
|
|
||||||
USB_CLASS_HID,
|
|
||||||
USB_HID_SUBCLASS_BOOT,
|
|
||||||
USB_HID_PROTOCOL_MOUSE,
|
|
||||||
USB_STRING_DESCRIPTOR_NONE,
|
|
||||||
|
|
||||||
// Mouse HID descriptor
|
|
||||||
USB_DESCRIPTOR_LENGTH_HID,
|
|
||||||
USB_DESCRIPTOR_TYPE_HID,
|
|
||||||
USB_SHORT_GET_LOW(USB_HID_VERSION),
|
|
||||||
USB_SHORT_GET_HIGH(USB_HID_VERSION),
|
|
||||||
USB_HID_COUNTRY_CODE_NOT_SUPPORTED,
|
|
||||||
USB_REPORT_DESCRIPTOR_COUNT_PER_HID_DEVICE,
|
|
||||||
USB_DESCRIPTOR_TYPE_HID_REPORT,
|
|
||||||
USB_SHORT_GET_LOW(USB_MOUSE_REPORT_DESCRIPTOR_LENGTH),
|
|
||||||
USB_SHORT_GET_HIGH(USB_MOUSE_REPORT_DESCRIPTOR_LENGTH),
|
|
||||||
|
|
||||||
// Mouse endpoint descriptor
|
|
||||||
USB_DESCRIPTOR_LENGTH_ENDPOINT,
|
|
||||||
USB_DESCRIPTOR_TYPE_ENDPOINT,
|
|
||||||
USB_MOUSE_ENDPOINT_INDEX | (USB_IN << USB_DESCRIPTOR_ENDPOINT_ADDRESS_DIRECTION_SHIFT),
|
|
||||||
USB_ENDPOINT_INTERRUPT,
|
|
||||||
USB_SHORT_GET_LOW(USB_MOUSE_INTERRUPT_IN_PACKET_SIZE),
|
|
||||||
USB_SHORT_GET_HIGH(USB_MOUSE_INTERRUPT_IN_PACKET_SIZE),
|
|
||||||
USB_MOUSE_INTERRUPT_IN_INTERVAL,
|
|
||||||
|
|
||||||
// Media keyboard interface descriptor
|
// Media keyboard interface descriptor
|
||||||
USB_DESCRIPTOR_LENGTH_INTERFACE,
|
USB_DESCRIPTOR_LENGTH_INTERFACE,
|
||||||
USB_DESCRIPTOR_TYPE_INTERFACE,
|
USB_DESCRIPTOR_TYPE_INTERFACE,
|
||||||
@@ -181,6 +150,37 @@ uint8_t UsbConfigurationDescriptor[USB_CONFIGURATION_DESCRIPTOR_TOTAL_LENGTH] =
|
|||||||
USB_SHORT_GET_LOW(USB_SYSTEM_KEYBOARD_INTERRUPT_IN_PACKET_SIZE),
|
USB_SHORT_GET_LOW(USB_SYSTEM_KEYBOARD_INTERRUPT_IN_PACKET_SIZE),
|
||||||
USB_SHORT_GET_HIGH(USB_SYSTEM_KEYBOARD_INTERRUPT_IN_PACKET_SIZE),
|
USB_SHORT_GET_HIGH(USB_SYSTEM_KEYBOARD_INTERRUPT_IN_PACKET_SIZE),
|
||||||
USB_SYSTEM_KEYBOARD_INTERRUPT_IN_INTERVAL,
|
USB_SYSTEM_KEYBOARD_INTERRUPT_IN_INTERVAL,
|
||||||
|
|
||||||
|
// Mouse interface descriptor
|
||||||
|
USB_DESCRIPTOR_LENGTH_INTERFACE,
|
||||||
|
USB_DESCRIPTOR_TYPE_INTERFACE,
|
||||||
|
USB_MOUSE_INTERFACE_INDEX,
|
||||||
|
USB_INTERFACE_ALTERNATE_SETTING_NONE,
|
||||||
|
USB_MOUSE_ENDPOINT_COUNT,
|
||||||
|
USB_CLASS_HID,
|
||||||
|
USB_HID_SUBCLASS_BOOT,
|
||||||
|
USB_HID_PROTOCOL_MOUSE,
|
||||||
|
USB_STRING_DESCRIPTOR_NONE,
|
||||||
|
|
||||||
|
// Mouse HID descriptor
|
||||||
|
USB_DESCRIPTOR_LENGTH_HID,
|
||||||
|
USB_DESCRIPTOR_TYPE_HID,
|
||||||
|
USB_SHORT_GET_LOW(USB_HID_VERSION),
|
||||||
|
USB_SHORT_GET_HIGH(USB_HID_VERSION),
|
||||||
|
USB_HID_COUNTRY_CODE_NOT_SUPPORTED,
|
||||||
|
USB_REPORT_DESCRIPTOR_COUNT_PER_HID_DEVICE,
|
||||||
|
USB_DESCRIPTOR_TYPE_HID_REPORT,
|
||||||
|
USB_SHORT_GET_LOW(USB_MOUSE_REPORT_DESCRIPTOR_LENGTH),
|
||||||
|
USB_SHORT_GET_HIGH(USB_MOUSE_REPORT_DESCRIPTOR_LENGTH),
|
||||||
|
|
||||||
|
// Mouse endpoint descriptor
|
||||||
|
USB_DESCRIPTOR_LENGTH_ENDPOINT,
|
||||||
|
USB_DESCRIPTOR_TYPE_ENDPOINT,
|
||||||
|
USB_MOUSE_ENDPOINT_INDEX | (USB_IN << USB_DESCRIPTOR_ENDPOINT_ADDRESS_DIRECTION_SHIFT),
|
||||||
|
USB_ENDPOINT_INTERRUPT,
|
||||||
|
USB_SHORT_GET_LOW(USB_MOUSE_INTERRUPT_IN_PACKET_SIZE),
|
||||||
|
USB_SHORT_GET_HIGH(USB_MOUSE_INTERRUPT_IN_PACKET_SIZE),
|
||||||
|
USB_MOUSE_INTERRUPT_IN_INTERVAL,
|
||||||
};
|
};
|
||||||
|
|
||||||
usb_status_t USB_DeviceGetConfigurationDescriptor(
|
usb_status_t USB_DeviceGetConfigurationDescriptor(
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ usb_status_t USB_DeviceGetHidDescriptor(
|
|||||||
usb_status_t USB_DeviceGetHidReportDescriptor(
|
usb_status_t USB_DeviceGetHidReportDescriptor(
|
||||||
usb_device_handle handle, usb_device_get_hid_report_descriptor_struct_t *hidReportDescriptor)
|
usb_device_handle handle, usb_device_get_hid_report_descriptor_struct_t *hidReportDescriptor)
|
||||||
{
|
{
|
||||||
if (USB_MOUSE_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
if (USB_GENERIC_HID_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
||||||
hidReportDescriptor->buffer = UsbMouseReportDescriptor;
|
hidReportDescriptor->buffer = UsbGenericHidReportDescriptor;
|
||||||
hidReportDescriptor->length = USB_MOUSE_REPORT_DESCRIPTOR_LENGTH;
|
hidReportDescriptor->length = USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH;
|
||||||
} else if (USB_BASIC_KEYBOARD_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
} else if (USB_BASIC_KEYBOARD_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
||||||
hidReportDescriptor->buffer = UsbBasicKeyboardReportDescriptor;
|
hidReportDescriptor->buffer = UsbBasicKeyboardReportDescriptor;
|
||||||
hidReportDescriptor->length = USB_BASIC_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
|
hidReportDescriptor->length = USB_BASIC_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
|
||||||
@@ -24,9 +24,9 @@ usb_status_t USB_DeviceGetHidReportDescriptor(
|
|||||||
} else if (USB_SYSTEM_KEYBOARD_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
} else if (USB_SYSTEM_KEYBOARD_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
||||||
hidReportDescriptor->buffer = UsbSystemKeyboardReportDescriptor;
|
hidReportDescriptor->buffer = UsbSystemKeyboardReportDescriptor;
|
||||||
hidReportDescriptor->length = USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
|
hidReportDescriptor->length = USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
|
||||||
} else if (USB_GENERIC_HID_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
} else if (USB_MOUSE_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
||||||
hidReportDescriptor->buffer = UsbGenericHidReportDescriptor;
|
hidReportDescriptor->buffer = UsbMouseReportDescriptor;
|
||||||
hidReportDescriptor->length = USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH;
|
hidReportDescriptor->length = USB_MOUSE_REPORT_DESCRIPTOR_LENGTH;
|
||||||
} else {
|
} else {
|
||||||
return kStatus_USB_InvalidRequest;
|
return kStatus_USB_InvalidRequest;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,12 +6,13 @@ uint8_t UsbSystemKeyboardReportDescriptor[USB_SYSTEM_KEYBOARD_REPORT_DESCRIPTOR_
|
|||||||
HID_RI_USAGE(8, HID_RI_USAGE_GENERIC_DESKTOP_SYSTEM_CONTROL),
|
HID_RI_USAGE(8, HID_RI_USAGE_GENERIC_DESKTOP_SYSTEM_CONTROL),
|
||||||
HID_RI_COLLECTION(8, HID_RI_COLLECTION_APPLICATION),
|
HID_RI_COLLECTION(8, HID_RI_COLLECTION_APPLICATION),
|
||||||
// System key
|
// System key
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_REPORT_SIZE(8, 2),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
|
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x00),
|
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0xFF),
|
|
||||||
HID_RI_REPORT_COUNT(8, USB_SYSTEM_KEYBOARD_MAX_KEYS),
|
HID_RI_REPORT_COUNT(8, USB_SYSTEM_KEYBOARD_MAX_KEYS),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_LOGICAL_MINIMUM(8, 1),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
|
HID_RI_LOGICAL_MAXIMUM(8, 3),
|
||||||
|
HID_RI_USAGE(8, 0x82),
|
||||||
|
HID_RI_USAGE(8, 0x81),
|
||||||
|
HID_RI_USAGE(8, 0x83),
|
||||||
|
HID_RI_INPUT(8, HID_IOF_NO_PREFERRED_STATE | HID_IOF_NULLSTATE),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
// Macros:
|
// Macros:
|
||||||
|
|
||||||
#define USB_SYSTEM_KEYBOARD_REPORT_DESCRIPTOR_LENGTH 21
|
#define USB_SYSTEM_KEYBOARD_REPORT_DESCRIPTOR_LENGTH 23
|
||||||
#define USB_SYSTEM_KEYBOARD_MAX_KEYS 1
|
#define USB_SYSTEM_KEYBOARD_MAX_KEYS 1
|
||||||
|
|
||||||
// Variables:
|
// Variables:
|
||||||
|
|||||||
@@ -4,22 +4,22 @@
|
|||||||
// KHCI instance count
|
// KHCI instance count
|
||||||
#define USB_DEVICE_CONFIG_KHCI 1
|
#define USB_DEVICE_CONFIG_KHCI 1
|
||||||
|
|
||||||
|
#include "usb_interfaces/usb_interface_generic_hid.h"
|
||||||
#include "usb_interfaces/usb_interface_basic_keyboard.h"
|
#include "usb_interfaces/usb_interface_basic_keyboard.h"
|
||||||
#include "usb_interfaces/usb_interface_media_keyboard.h"
|
#include "usb_interfaces/usb_interface_media_keyboard.h"
|
||||||
#include "usb_interfaces/usb_interface_system_keyboard.h"
|
#include "usb_interfaces/usb_interface_system_keyboard.h"
|
||||||
#include "usb_interfaces/usb_interface_mouse.h"
|
#include "usb_interfaces/usb_interface_mouse.h"
|
||||||
#include "usb_interfaces/usb_interface_generic_hid.h"
|
|
||||||
|
|
||||||
// Device instance count, the sum of KHCI and EHCI instance counts
|
// Device instance count, the sum of KHCI and EHCI instance counts
|
||||||
#define USB_DEVICE_CONFIG_NUM 1
|
#define USB_DEVICE_CONFIG_NUM 1
|
||||||
|
|
||||||
// HID instance count
|
// HID instance count
|
||||||
#define USB_DEVICE_CONFIG_HID ( \
|
#define USB_DEVICE_CONFIG_HID ( \
|
||||||
|
USB_GENERIC_HID_INTERFACE_COUNT +\
|
||||||
USB_BASIC_KEYBOARD_INTERFACE_COUNT + \
|
USB_BASIC_KEYBOARD_INTERFACE_COUNT + \
|
||||||
USB_MEDIA_KEYBOARD_INTERFACE_COUNT + \
|
USB_MEDIA_KEYBOARD_INTERFACE_COUNT + \
|
||||||
USB_SYSTEM_KEYBOARD_INTERFACE_COUNT + \
|
USB_SYSTEM_KEYBOARD_INTERFACE_COUNT + \
|
||||||
USB_MOUSE_INTERFACE_COUNT + \
|
USB_MOUSE_INTERFACE_COUNT \
|
||||||
USB_GENERIC_HID_INTERFACE_COUNT \
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Whether the device is self-powered: 1 supported, 0 not supported
|
// Whether the device is self-powered: 1 supported, 0 not supported
|
||||||
@@ -34,11 +34,11 @@
|
|||||||
// How many endpoints are supported in the stack
|
// How many endpoints are supported in the stack
|
||||||
#define USB_DEVICE_CONFIG_ENDPOINTS ( \
|
#define USB_DEVICE_CONFIG_ENDPOINTS ( \
|
||||||
USB_CONTROL_ENDPOINT_COUNT + \
|
USB_CONTROL_ENDPOINT_COUNT + \
|
||||||
|
USB_GENERIC_HID_ENDPOINT_COUNT + \
|
||||||
USB_BASIC_KEYBOARD_ENDPOINT_COUNT + \
|
USB_BASIC_KEYBOARD_ENDPOINT_COUNT + \
|
||||||
USB_MEDIA_KEYBOARD_ENDPOINT_COUNT + \
|
USB_MEDIA_KEYBOARD_ENDPOINT_COUNT + \
|
||||||
USB_SYSTEM_KEYBOARD_ENDPOINT_COUNT + \
|
USB_SYSTEM_KEYBOARD_ENDPOINT_COUNT + \
|
||||||
USB_MOUSE_ENDPOINT_COUNT + \
|
USB_MOUSE_ENDPOINT_COUNT \
|
||||||
USB_GENERIC_HID_ENDPOINT_COUNT \
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// The maximum buffer length for the KHCI DMA workaround
|
// The maximum buffer length for the KHCI DMA workaround
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "usb_composite_device.h"
|
#include "usb_composite_device.h"
|
||||||
#include "usb_interface_generic_hid.h"
|
#include "usb_interface_generic_hid.h"
|
||||||
|
#include "usb_protocol_handler.h"
|
||||||
|
|
||||||
static usb_device_endpoint_struct_t UsbGenericHidEndpoints[USB_GENERIC_HID_ENDPOINT_COUNT] =
|
static usb_device_endpoint_struct_t UsbGenericHidEndpoints[USB_GENERIC_HID_ENDPOINT_COUNT] =
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
#include "usb_api.h"
|
#include "usb_api.h"
|
||||||
#include "usb_descriptors/usb_descriptor_device.h"
|
#include "usb_descriptors/usb_descriptor_device.h"
|
||||||
#include "usb_protocol_handler.h"
|
|
||||||
|
|
||||||
// Macros:
|
// Macros:
|
||||||
|
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
|
|
||||||
// Macros:
|
// Macros:
|
||||||
|
|
||||||
#define USB_MEDIA_KEYBOARD_INTERFACE_INDEX 3
|
#define USB_MEDIA_KEYBOARD_INTERFACE_INDEX 2
|
||||||
#define USB_MEDIA_KEYBOARD_INTERFACE_COUNT 1
|
#define USB_MEDIA_KEYBOARD_INTERFACE_COUNT 1
|
||||||
|
|
||||||
#define USB_MEDIA_KEYBOARD_ENDPOINT_INDEX 5
|
#define USB_MEDIA_KEYBOARD_ENDPOINT_INDEX 4
|
||||||
#define USB_MEDIA_KEYBOARD_ENDPOINT_COUNT 1
|
#define USB_MEDIA_KEYBOARD_ENDPOINT_COUNT 1
|
||||||
|
|
||||||
#define USB_MEDIA_KEYBOARD_INTERRUPT_IN_PACKET_SIZE 8
|
#define USB_MEDIA_KEYBOARD_INTERRUPT_IN_PACKET_SIZE 8
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
|
|
||||||
// Macros:
|
// Macros:
|
||||||
|
|
||||||
#define USB_MOUSE_INTERFACE_INDEX 2
|
#define USB_MOUSE_INTERFACE_INDEX 4
|
||||||
#define USB_MOUSE_INTERFACE_COUNT 1
|
#define USB_MOUSE_INTERFACE_COUNT 1
|
||||||
|
|
||||||
#define USB_MOUSE_ENDPOINT_INDEX 4
|
#define USB_MOUSE_ENDPOINT_INDEX 6
|
||||||
#define USB_MOUSE_ENDPOINT_COUNT 1
|
#define USB_MOUSE_ENDPOINT_COUNT 1
|
||||||
|
|
||||||
#define USB_MOUSE_INTERRUPT_IN_PACKET_SIZE 8
|
#define USB_MOUSE_INTERRUPT_IN_PACKET_SIZE 8
|
||||||
|
|||||||
@@ -10,10 +10,10 @@
|
|||||||
|
|
||||||
// Macros:
|
// Macros:
|
||||||
|
|
||||||
#define USB_SYSTEM_KEYBOARD_INTERFACE_INDEX 4
|
#define USB_SYSTEM_KEYBOARD_INTERFACE_INDEX 3
|
||||||
#define USB_SYSTEM_KEYBOARD_INTERFACE_COUNT 1
|
#define USB_SYSTEM_KEYBOARD_INTERFACE_COUNT 1
|
||||||
|
|
||||||
#define USB_SYSTEM_KEYBOARD_ENDPOINT_INDEX 6
|
#define USB_SYSTEM_KEYBOARD_ENDPOINT_INDEX 5
|
||||||
#define USB_SYSTEM_KEYBOARD_ENDPOINT_COUNT 1
|
#define USB_SYSTEM_KEYBOARD_ENDPOINT_COUNT 1
|
||||||
|
|
||||||
#define USB_SYSTEM_KEYBOARD_INTERRUPT_IN_PACKET_SIZE 1
|
#define USB_SYSTEM_KEYBOARD_INTERRUPT_IN_PACKET_SIZE 1
|
||||||
|
|||||||
@@ -9,12 +9,16 @@
|
|||||||
#include "led_pwm.h"
|
#include "led_pwm.h"
|
||||||
#include "slave_scheduler.h"
|
#include "slave_scheduler.h"
|
||||||
#include "slave_drivers/uhk_module_driver.h"
|
#include "slave_drivers/uhk_module_driver.h"
|
||||||
|
#include "slave_drivers/kboot_driver.h"
|
||||||
#include "bootloader/wormhole.h"
|
#include "bootloader/wormhole.h"
|
||||||
#include "peripherals/adc.h"
|
#include "peripherals/adc.h"
|
||||||
#include "eeprom.h"
|
#include "eeprom.h"
|
||||||
#include "keymaps.h"
|
#include "keymaps.h"
|
||||||
#include "microseconds/microseconds_pit.c"
|
#include "microseconds/microseconds_pit.c"
|
||||||
#include "i2c_watchdog.h"
|
#include "i2c_watchdog.h"
|
||||||
|
|
||||||
|
uint8_t UsbDebugInfo[USB_GENERIC_HID_OUT_BUFFER_LENGTH];
|
||||||
|
|
||||||
// Functions for setting error statuses
|
// Functions for setting error statuses
|
||||||
|
|
||||||
void setError(uint8_t error)
|
void setError(uint8_t error)
|
||||||
@@ -72,8 +76,8 @@ void reenumerate(void)
|
|||||||
{
|
{
|
||||||
Wormhole.magicNumber = WORMHOLE_MAGIC_NUMBER;
|
Wormhole.magicNumber = WORMHOLE_MAGIC_NUMBER;
|
||||||
Wormhole.enumerationMode = GenericHidInBuffer[1];
|
Wormhole.enumerationMode = GenericHidInBuffer[1];
|
||||||
SCB->AIRCR = 0x5FA<<SCB_AIRCR_VECTKEY_Pos | SCB_AIRCR_SYSRESETREQ_Msk; // Reset the MCU.
|
Wormhole.timeoutMs = *((uint32_t*)(GenericHidInBuffer+2));
|
||||||
for (;;);
|
NVIC_SystemReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void setTestLed(void)
|
void setTestLed(void)
|
||||||
@@ -231,26 +235,29 @@ void getKeyboardState(void)
|
|||||||
|
|
||||||
void getDebugInfo(void)
|
void getDebugInfo(void)
|
||||||
{
|
{
|
||||||
GenericHidOutBuffer[1] = I2C_Watchdog >> 0;
|
UsbDebugInfo[0] = I2C_Watchdog >> 0;
|
||||||
GenericHidOutBuffer[2] = I2C_Watchdog >> 8;
|
UsbDebugInfo[1] = I2C_Watchdog >> 8;
|
||||||
GenericHidOutBuffer[3] = I2C_Watchdog >> 16;
|
UsbDebugInfo[2] = I2C_Watchdog >> 16;
|
||||||
GenericHidOutBuffer[4] = I2C_Watchdog >> 24;
|
UsbDebugInfo[3] = I2C_Watchdog >> 24;
|
||||||
|
|
||||||
GenericHidOutBuffer[5] = I2cSchedulerCounter >> 0;
|
UsbDebugInfo[4] = I2cSchedulerCounter >> 0;
|
||||||
GenericHidOutBuffer[6] = I2cSchedulerCounter >> 8;
|
UsbDebugInfo[5] = I2cSchedulerCounter >> 8;
|
||||||
GenericHidOutBuffer[7] = I2cSchedulerCounter >> 16;
|
UsbDebugInfo[6] = I2cSchedulerCounter >> 16;
|
||||||
GenericHidOutBuffer[8] = I2cSchedulerCounter >> 24;
|
UsbDebugInfo[7] = I2cSchedulerCounter >> 24;
|
||||||
|
|
||||||
GenericHidOutBuffer[9] = I2cWatchdog_OuterCounter >> 0;
|
UsbDebugInfo[8] = I2cWatchdog_OuterCounter >> 0;
|
||||||
GenericHidOutBuffer[10] = I2cWatchdog_OuterCounter >> 8;
|
UsbDebugInfo[9] = I2cWatchdog_OuterCounter >> 8;
|
||||||
GenericHidOutBuffer[11] = I2cWatchdog_OuterCounter >> 16;
|
UsbDebugInfo[10] = I2cWatchdog_OuterCounter >> 16;
|
||||||
GenericHidOutBuffer[12] = I2cWatchdog_OuterCounter >> 24;
|
UsbDebugInfo[11] = I2cWatchdog_OuterCounter >> 24;
|
||||||
|
|
||||||
GenericHidOutBuffer[13] = I2cWatchdog_InnerCounter >> 0;
|
UsbDebugInfo[12] = I2cWatchdog_InnerCounter >> 0;
|
||||||
GenericHidOutBuffer[14] = I2cWatchdog_InnerCounter >> 8;
|
UsbDebugInfo[13] = I2cWatchdog_InnerCounter >> 8;
|
||||||
GenericHidOutBuffer[15] = I2cWatchdog_InnerCounter >> 16;
|
UsbDebugInfo[14] = I2cWatchdog_InnerCounter >> 16;
|
||||||
GenericHidOutBuffer[16] = I2cWatchdog_InnerCounter >> 24;
|
UsbDebugInfo[15] = I2cWatchdog_InnerCounter >> 24;
|
||||||
/*
|
|
||||||
|
memcpy(GenericHidOutBuffer, UsbDebugInfo, USB_GENERIC_HID_OUT_BUFFER_LENGTH);
|
||||||
|
|
||||||
|
/*
|
||||||
uint64_t ticks = microseconds_get_ticks();
|
uint64_t ticks = microseconds_get_ticks();
|
||||||
uint32_t microseconds = microseconds_convert_to_microseconds(ticks);
|
uint32_t microseconds = microseconds_convert_to_microseconds(ticks);
|
||||||
uint32_t milliseconds = microseconds/1000;
|
uint32_t milliseconds = microseconds/1000;
|
||||||
@@ -277,6 +284,13 @@ void jumpToSlaveBootloader(void)
|
|||||||
UhkModuleStates[uhkModuleDriverId].jumpToBootloader = true;
|
UhkModuleStates[uhkModuleDriverId].jumpToBootloader = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sendKbootCommand(void)
|
||||||
|
{
|
||||||
|
KbootDriverState.phase = 0;
|
||||||
|
KbootDriverState.i2cAddress = GenericHidInBuffer[2];
|
||||||
|
KbootDriverState.commandType = GenericHidInBuffer[1];
|
||||||
|
}
|
||||||
|
|
||||||
// The main protocol handler function
|
// The main protocol handler function
|
||||||
|
|
||||||
void UsbProtocolHandler(void)
|
void UsbProtocolHandler(void)
|
||||||
@@ -331,6 +345,9 @@ void UsbProtocolHandler(void)
|
|||||||
case UsbCommand_JumpToSlaveBootloader:
|
case UsbCommand_JumpToSlaveBootloader:
|
||||||
jumpToSlaveBootloader();
|
jumpToSlaveBootloader();
|
||||||
break;
|
break;
|
||||||
|
case UsbCommand_SendKbootCommand:
|
||||||
|
sendKbootCommand();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,8 @@
|
|||||||
UsbCommand_ReadUserConfiguration = 15,
|
UsbCommand_ReadUserConfiguration = 15,
|
||||||
UsbCommand_GetKeyboardState = 16,
|
UsbCommand_GetKeyboardState = 16,
|
||||||
UsbCommand_GetDebugInfo = 17,
|
UsbCommand_GetDebugInfo = 17,
|
||||||
UsbCommand_JumpToSlaveBootloader = 18,
|
UsbCommand_JumpToSlaveBootloader = 18,
|
||||||
|
UsbCommand_SendKbootCommand = 19,
|
||||||
} usb_command_t;
|
} usb_command_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@@ -40,6 +41,10 @@
|
|||||||
JumpToBootloaderError_InvalidModuleDriverId = 1,
|
JumpToBootloaderError_InvalidModuleDriverId = 1,
|
||||||
} jump_to_bootloader_error_t;
|
} jump_to_bootloader_error_t;
|
||||||
|
|
||||||
|
// Variables:
|
||||||
|
|
||||||
|
extern uint8_t UsbDebugInfo[USB_GENERIC_HID_OUT_BUFFER_LENGTH];
|
||||||
|
|
||||||
// Functions:
|
// Functions:
|
||||||
|
|
||||||
void UsbProtocolHandler(void);
|
void UsbProtocolHandler(void);
|
||||||
|
|||||||
61
scripts/update-slave-firmware.js
Executable file
61
scripts/update-slave-firmware.js
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
const program = require('commander');
|
||||||
|
require('shelljs/global');
|
||||||
|
|
||||||
|
config.fatal = true;
|
||||||
|
|
||||||
|
program
|
||||||
|
.usage('update-slave-firmware <firmware-image>')
|
||||||
|
.parse(process.argv)
|
||||||
|
|
||||||
|
let firmwareImage = program.args[0];
|
||||||
|
|
||||||
|
if (!firmwareImage) {
|
||||||
|
echo('No firmware image specified');
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!firmwareImage.endsWith('.bin')) {
|
||||||
|
echo('Firmware image extension is not .bin');
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!test('-f', firmwareImage)) {
|
||||||
|
echo('Firmware image does not exist');
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
let usbDir = '../../../lib/agent/packages/usb';
|
||||||
|
let usbBinding = usbDir + '/node_modules/usb/build/Release/usb_bindings.node';
|
||||||
|
|
||||||
|
let blhostPath;
|
||||||
|
switch (process.platform) {
|
||||||
|
case 'linux':
|
||||||
|
blhostPath = 'linux/amd64/blhost';
|
||||||
|
break;
|
||||||
|
case 'darwin':
|
||||||
|
blhostPath = 'mac/blhost';
|
||||||
|
break;
|
||||||
|
case 'win32':
|
||||||
|
blhostPath = 'win/blhost.exe';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
echo('Your operating system is not supported');
|
||||||
|
exit(1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
let blhostUsb = `../../../lib/bootloader/bin/Tools/blhost/${blhostPath} --usb 0x1d50,0x6121`;
|
||||||
|
let blhostBuspal = blhostUsb + ' --buspal i2c,0x10,100k';
|
||||||
|
|
||||||
|
config.verbose = true;
|
||||||
|
|
||||||
|
exec(`${usbDir}/send-kboot-command-to-slave.js ping 0x10`);
|
||||||
|
exec(`${usbDir}/jump-to-slave-bootloader.js`);
|
||||||
|
exec(`${usbDir}/reenumerate.js buspal`);
|
||||||
|
exec(`${blhostBuspal} get-property 1`);
|
||||||
|
exec(`${blhostBuspal} flash-erase-all-unsecure`);
|
||||||
|
exec(`${blhostBuspal} write-memory 0x0 ${firmwareImage}`);
|
||||||
|
exec(`${blhostUsb} reset`);
|
||||||
|
exec(`${usbDir}/reenumerate.js normalKeyboard`);
|
||||||
|
exec(`${usbDir}/send-kboot-command-to-slave.js reset 0x10`);
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#include "bootloader.h"
|
|
||||||
|
|
||||||
void JumpToBootloader(void) {
|
|
||||||
uint32_t runBootloaderAddress;
|
|
||||||
void (*runBootloader)(void *arg);
|
|
||||||
|
|
||||||
// Read the function address from the ROM API tree.
|
|
||||||
runBootloaderAddress = **(uint32_t **)(0x1c00001c);
|
|
||||||
runBootloader = (void (*)(void * arg))runBootloaderAddress;
|
|
||||||
|
|
||||||
runBootloader(NULL);
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user