diff --git a/boards.txt b/boards.txt index 2f30745..f866be3 100644 --- a/boards.txt +++ b/boards.txt @@ -38,7 +38,7 @@ artemis.build.f_cpu=48000000L artemis.build.core=arduino artemis.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3 artemis.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp" -artemis.build.preferred_export_format=axf +artemis.build.preferred_export_format=bin artemis.build.defs= artemis.build.libs= artemis.menu.svl_baud.921600=921600 @@ -76,7 +76,7 @@ amap3redboard.build.core=arduino amap3redboard.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp" amap3redboard.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld amap3redboard.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3 -amap3redboard.build.preferred_export_format=axf +amap3redboard.build.preferred_export_format=bin amap3redboard.build.defs= amap3redboard.build.libs= amap3redboard.menu.svl_baud.921600=921600 @@ -113,7 +113,7 @@ amap3nano.build.core=arduino amap3nano.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp" amap3nano.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld amap3nano.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3 -amap3nano.build.preferred_export_format=axf +amap3nano.build.preferred_export_format=bin amap3nano.build.defs= amap3nano.build.libs= amap3nano.menu.svl_baud.921600=921600 @@ -150,7 +150,7 @@ amap3atp.build.core=arduino amap3atp.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp" amap3atp.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3 amap3atp.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld -amap3atp.build.preferred_export_format=axf +amap3atp.build.preferred_export_format=bin amap3atp.build.defs= amap3atp.build.libs= amap3atp.menu.svl_baud.921600=921600 @@ -187,7 +187,7 @@ amap3thing.build.core=arduino amap3thing.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp" amap3thing.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld amap3thing.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3 -amap3thing.build.preferred_export_format=axf +amap3thing.build.preferred_export_format=bin amap3thing.build.defs= amap3thing.build.libs= amap3thing.menu.svl_baud.921600=921600 @@ -226,7 +226,7 @@ edge.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp" edge.build.libs= edge.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3 edge.build.ldscript={build.variant.path}/linker_scripts/gcc/ambiq_sbl_app.ld -edge.build.preferred_export_format=axf +edge.build.preferred_export_format=bin edge.menu.sbl_baud.921600=921600 (Default) edge.menu.sbl_baud.115200=115200 (TensorFlow Conference Versions) @@ -271,7 +271,7 @@ edge2.build.core=arduino edge2.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp" edge2.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3 edge2.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld -edge2.build.preferred_export_format=axf +edge2.build.preferred_export_format=bin edge2.build.defs= edge2.build.libs= edge2.menu.svl_baud.921600=921600 diff --git a/platform.txt b/platform.txt index 241f0a9..4dc98f8 100644 --- a/platform.txt +++ b/platform.txt @@ -180,3 +180,9 @@ tools.artemis_svl.upload.params.quiet= # Upload tool pattern tools.artemis_svl.upload.pattern={pgm} {args} + +#### postsavehex hook to also copy out .axf file into the sketch path +executable_exporter={runtime.platform.path}/tools/exporter/linux/apollo3_ee +executable_exporter.macosx={runtime.platform.path}/tools/exporter/macosx/apollo3_ee +executable_exporter.windows={runtime.platform.path}/tools/exporter/windows/apollo3_ee.exe +recipe.hooks.savehex.postsavehex.0.pattern={executable_exporter} -s "{sketch_path}" -b "{build.path}/{build.project_name}.bin" -a "{build.path}/{build.project_name}.axf" \ No newline at end of file diff --git a/tools/exporter/apollo3_ee.py b/tools/exporter/apollo3_ee.py new file mode 100644 index 0000000..2d357fd --- /dev/null +++ b/tools/exporter/apollo3_ee.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +# File Output Tool for Apollo3 Arduino Core +# Allows users to export compiled executables in a variety of formats + +# *********************************************************************************** +# +# Imports +# +# *********************************************************************************** + +import argparse +import shutil +import sys +from sys import exit + +# *********************************************************************************** +# +# Main function +# +# *********************************************************************************** +def main(args): + print("\n\nApollo3 Arduino Executable Exporter") + + if args.format == "axf": + sourcepath = args.axfpath + elif args.format == "bin": + sourcepath = args.binpath + else: + print('"' + str(args.format) + '" is not a valid format - exit') + exit() + + shutil.copy2(sourcepath, args.sketchpath) + print("exported " + str(args.axfpath) + " to " + str(args.sketchpath)) + + exit() + + +# ****************************************************************************** +# +# Main program flow +# +# ****************************************************************************** +if __name__ == "__main__": + + parser = argparse.ArgumentParser(description="Apollo3 Executable Exporter") + + parser.add_argument( + "-s", + "--sketchpath", + dest="sketchpath", + help="path to sketch folder (file will be saved there)", + ) + parser.add_argument("-b", "--binpath", dest="binpath", help="path to .bin file") + parser.add_argument("-a", "--axfpath", dest="axfpath", help="path to .axf file") + parser.add_argument( + "-f", + "--format", + dest="format", + default="axf", + help="which format to export (axf, bin)", + ) + + args = parser.parse_args() + + main(args) diff --git a/tools/exporter/linux/apollo3_ee b/tools/exporter/linux/apollo3_ee new file mode 100755 index 0000000..3b4c117 Binary files /dev/null and b/tools/exporter/linux/apollo3_ee differ diff --git a/tools/exporter/macosx/apollo3_ee b/tools/exporter/macosx/apollo3_ee new file mode 100755 index 0000000..12294cf Binary files /dev/null and b/tools/exporter/macosx/apollo3_ee differ diff --git a/tools/exporter/windows/apollo3_ee.exe b/tools/exporter/windows/apollo3_ee.exe new file mode 100644 index 0000000..2484104 Binary files /dev/null and b/tools/exporter/windows/apollo3_ee.exe differ