Skip to content

Commit 5b7dca0

Browse files
author
Owen
authored
Merge pull request #136 from sparkfun/export-format-configurability
Export Compiled AXF
2 parents 3777c57 + bc3202d commit 5b7dca0

File tree

6 files changed

+78
-7
lines changed

6 files changed

+78
-7
lines changed

boards.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ artemis.build.f_cpu=48000000L
3838
artemis.build.core=arduino
3939
artemis.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3
4040
artemis.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp"
41-
artemis.build.preferred_export_format=axf
41+
artemis.build.preferred_export_format=bin
4242
artemis.build.defs=
4343
artemis.build.libs=
4444
artemis.menu.svl_baud.921600=921600
@@ -76,7 +76,7 @@ amap3redboard.build.core=arduino
7676
amap3redboard.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp"
7777
amap3redboard.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld
7878
amap3redboard.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3
79-
amap3redboard.build.preferred_export_format=axf
79+
amap3redboard.build.preferred_export_format=bin
8080
amap3redboard.build.defs=
8181
amap3redboard.build.libs=
8282
amap3redboard.menu.svl_baud.921600=921600
@@ -113,7 +113,7 @@ amap3nano.build.core=arduino
113113
amap3nano.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp"
114114
amap3nano.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld
115115
amap3nano.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3
116-
amap3nano.build.preferred_export_format=axf
116+
amap3nano.build.preferred_export_format=bin
117117
amap3nano.build.defs=
118118
amap3nano.build.libs=
119119
amap3nano.menu.svl_baud.921600=921600
@@ -150,7 +150,7 @@ amap3atp.build.core=arduino
150150
amap3atp.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp"
151151
amap3atp.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3
152152
amap3atp.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld
153-
amap3atp.build.preferred_export_format=axf
153+
amap3atp.build.preferred_export_format=bin
154154
amap3atp.build.defs=
155155
amap3atp.build.libs=
156156
amap3atp.menu.svl_baud.921600=921600
@@ -187,7 +187,7 @@ amap3thing.build.core=arduino
187187
amap3thing.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp"
188188
amap3thing.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld
189189
amap3thing.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3
190-
amap3thing.build.preferred_export_format=axf
190+
amap3thing.build.preferred_export_format=bin
191191
amap3thing.build.defs=
192192
amap3thing.build.libs=
193193
amap3thing.menu.svl_baud.921600=921600
@@ -226,7 +226,7 @@ edge.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp"
226226
edge.build.libs=
227227
edge.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3
228228
edge.build.ldscript={build.variant.path}/linker_scripts/gcc/ambiq_sbl_app.ld
229-
edge.build.preferred_export_format=axf
229+
edge.build.preferred_export_format=bin
230230

231231
edge.menu.sbl_baud.921600=921600 (Default)
232232
edge.menu.sbl_baud.115200=115200 (TensorFlow Conference Versions)
@@ -271,7 +271,7 @@ edge2.build.core=arduino
271271
edge2.build.includes="-I{build.variant.path}/config" "-I{build.variant.path}/bsp"
272272
edge2.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3
273273
edge2.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld
274-
edge2.build.preferred_export_format=axf
274+
edge2.build.preferred_export_format=bin
275275
edge2.build.defs=
276276
edge2.build.libs=
277277
edge2.menu.svl_baud.921600=921600

platform.txt

+6
Original file line numberDiff line numberDiff line change
@@ -180,3 +180,9 @@ tools.artemis_svl.upload.params.quiet=
180180

181181
# Upload tool pattern
182182
tools.artemis_svl.upload.pattern={pgm} {args}
183+
184+
#### postsavehex hook to also copy out .axf file into the sketch path
185+
executable_exporter={runtime.platform.path}/tools/exporter/linux/apollo3_ee
186+
executable_exporter.macosx={runtime.platform.path}/tools/exporter/macosx/apollo3_ee
187+
executable_exporter.windows={runtime.platform.path}/tools/exporter/windows/apollo3_ee.exe
188+
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"

tools/exporter/apollo3_ee.py

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
#!/usr/bin/env python
2+
# File Output Tool for Apollo3 Arduino Core
3+
# Allows users to export compiled executables in a variety of formats
4+
5+
# ***********************************************************************************
6+
#
7+
# Imports
8+
#
9+
# ***********************************************************************************
10+
11+
import argparse
12+
import shutil
13+
import sys
14+
from sys import exit
15+
16+
# ***********************************************************************************
17+
#
18+
# Main function
19+
#
20+
# ***********************************************************************************
21+
def main(args):
22+
print("\n\nApollo3 Arduino Executable Exporter")
23+
24+
if args.format == "axf":
25+
sourcepath = args.axfpath
26+
elif args.format == "bin":
27+
sourcepath = args.binpath
28+
else:
29+
print('"' + str(args.format) + '" is not a valid format - exit')
30+
exit()
31+
32+
shutil.copy2(sourcepath, args.sketchpath)
33+
print("exported " + str(args.axfpath) + " to " + str(args.sketchpath))
34+
35+
exit()
36+
37+
38+
# ******************************************************************************
39+
#
40+
# Main program flow
41+
#
42+
# ******************************************************************************
43+
if __name__ == "__main__":
44+
45+
parser = argparse.ArgumentParser(description="Apollo3 Executable Exporter")
46+
47+
parser.add_argument(
48+
"-s",
49+
"--sketchpath",
50+
dest="sketchpath",
51+
help="path to sketch folder (file will be saved there)",
52+
)
53+
parser.add_argument("-b", "--binpath", dest="binpath", help="path to .bin file")
54+
parser.add_argument("-a", "--axfpath", dest="axfpath", help="path to .axf file")
55+
parser.add_argument(
56+
"-f",
57+
"--format",
58+
dest="format",
59+
default="axf",
60+
help="which format to export (axf, bin)",
61+
)
62+
63+
args = parser.parse_args()
64+
65+
main(args)

tools/exporter/linux/apollo3_ee

5.43 MB
Binary file not shown.

tools/exporter/macosx/apollo3_ee

4.76 MB
Binary file not shown.

tools/exporter/windows/apollo3_ee.exe

3.88 MB
Binary file not shown.

0 commit comments

Comments
 (0)