Skip to content

Commit 885efbd

Browse files
committed
Add SBL baud rate menu choice for Edge
Now Edge board users have two different baud rate options via the menus. One is used for the Ambiq Secure Bootloader (SBL) and the other is used for the SparkFun Variable Loader (SVL). Two baud rates are provided - 921600 for the majority of boards out there which were purchased from SparkFun, and 115200 for the TensorFlow conference boards. Edge boards do not come with the SVL, so they default to using the SBL at 921600. You may use SBL to load the SVL sketch and thus get the benefits of the variable bootloader. Future improvements would be to hide the baud rate selection for the bootloader that is not selected, but this only affects the Edge variant.
1 parent a3d7217 commit 885efbd

File tree

2 files changed

+67
-33
lines changed

2 files changed

+67
-33
lines changed

boards.txt

+61-27
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
# SOFTWARE.
2020

2121
# Menu Options
22-
menu.svl_baud=SVL Baud Rate
2322
menu.loader=Bootloader
23+
menu.svl_baud=SVL Baud Rate
24+
menu.sbl_baud=Ambiq Secure Bootloader Baud Rate
2425

2526

2627

@@ -30,6 +31,7 @@ artemis.name=SparkFun Artemis Module
3031
artemis.build.variant=SparkFun_Artemis
3132
artemis.build.board=SFE_ARTEMIS
3233
artemis.upload.maximum_size=960000
34+
artemis.upload.sbl_baud=115200
3335
artemis.build.arch=APOLLO3
3436
artemis.build.mcu=cortex-m4
3537
artemis.build.f_cpu=48000000L
@@ -47,11 +49,11 @@ artemis.menu.svl_baud.57600=57600
4749
artemis.menu.loader.sparkfun_svl=SparkFun Variable Loader (Recommended)
4850
artemis.menu.loader.ambiq_sbl=Ambiq Secure Bootloader (Advanced)
4951

50-
artemis.menu.svl_baud.57600.upload.baud=57600
51-
artemis.menu.svl_baud.115200.upload.baud=115200
52-
artemis.menu.svl_baud.230400.upload.baud=230400
53-
artemis.menu.svl_baud.460800.upload.baud=460800
54-
artemis.menu.svl_baud.921600.upload.baud=921600
52+
artemis.menu.svl_baud.57600.upload.svl_baud=57600
53+
artemis.menu.svl_baud.115200.upload.svl_baud=115200
54+
artemis.menu.svl_baud.230400.upload.svl_baud=230400
55+
artemis.menu.svl_baud.460800.upload.svl_baud=460800
56+
artemis.menu.svl_baud.921600.upload.svl_baud=921600
5557

5658
artemis.menu.loader.ambiq_sbl.upload.tool=ambiq_bin2board
5759
artemis.menu.loader.ambiq_sbl.build.ldscript={build.variant.path}/linker_scripts/gcc/ambiq_sbl_app.ld
@@ -66,6 +68,7 @@ amap3blackboard.name=SparkFun BlackBoard Artemis
6668
amap3blackboard.build.variant=SparkFun_BlackBoard_Artemis
6769
amap3blackboard.build.board=AM_AP3_SFE_BB_ARTEMIS
6870
amap3blackboard.upload.maximum_size=960000
71+
amap3blackboard.upload.sbl_baud=115200
6972
amap3blackboard.build.arch=APOLLO3
7073
amap3blackboard.build.mcu=cortex-m4
7174
amap3blackboard.build.f_cpu=48000000L
@@ -84,11 +87,11 @@ amap3blackboard.menu.svl_baud.57600=57600
8487
amap3blackboard.menu.loader.sparkfun_svl=SparkFun Variable Loader (Recommended)
8588
amap3blackboard.menu.loader.ambiq_sbl=Ambiq Secure Bootloader (Advanced)
8689

87-
amap3blackboard.menu.svl_baud.57600.upload.baud=57600
88-
amap3blackboard.menu.svl_baud.115200.upload.baud=115200
89-
amap3blackboard.menu.svl_baud.230400.upload.baud=230400
90-
amap3blackboard.menu.svl_baud.460800.upload.baud=460800
91-
amap3blackboard.menu.svl_baud.921600.upload.baud=921600
90+
amap3blackboard.menu.svl_baud.57600.upload.svl_baud=57600
91+
amap3blackboard.menu.svl_baud.115200.upload.svl_baud=115200
92+
amap3blackboard.menu.svl_baud.230400.upload.svl_baud=230400
93+
amap3blackboard.menu.svl_baud.460800.upload.svl_baud=460800
94+
amap3blackboard.menu.svl_baud.921600.upload.svl_baud=921600
9295

9396
amap3blackboard.menu.loader.ambiq_sbl.upload.tool=ambiq_bin2board
9497
amap3blackboard.menu.loader.ambiq_sbl.build.ldscript={build.variant.path}/linker_scripts/gcc/ambiq_sbl_app.ld
@@ -102,6 +105,7 @@ amap3nano.name=SparkFun BlackBoard Artemis Nano
102105
amap3nano.build.variant=SparkFun_BlackBoard_Artemis_Nano
103106
amap3nano.build.board=AM_AP3_SFE_BB_ARTEMIS_NANO
104107
amap3nano.upload.maximum_size=960000
108+
amap3nano.upload.sbl_baud=115200
105109
amap3nano.build.arch=APOLLO3
106110
amap3nano.build.mcu=cortex-m4
107111
amap3nano.build.f_cpu=48000000L
@@ -120,11 +124,11 @@ amap3nano.menu.svl_baud.57600=57600
120124
amap3nano.menu.loader.sparkfun_svl=SparkFun Variable Loader (Recommended)
121125
amap3nano.menu.loader.ambiq_sbl=Ambiq Secure Bootloader (Advanced)
122126

123-
amap3nano.menu.svl_baud.57600.upload.baud=57600
124-
amap3nano.menu.svl_baud.115200.upload.baud=115200
125-
amap3nano.menu.svl_baud.230400.upload.baud=230400
126-
amap3nano.menu.svl_baud.460800.upload.baud=460800
127-
amap3nano.menu.svl_baud.921600.upload.baud=921600
127+
amap3nano.menu.svl_baud.57600.upload.svl_baud=57600
128+
amap3nano.menu.svl_baud.115200.upload.svl_baud=115200
129+
amap3nano.menu.svl_baud.230400.upload.svl_baud=230400
130+
amap3nano.menu.svl_baud.460800.upload.svl_baud=460800
131+
amap3nano.menu.svl_baud.921600.upload.svl_baud=921600
128132

129133
amap3nano.menu.loader.ambiq_sbl.upload.tool=ambiq_bin2board
130134
amap3nano.menu.loader.ambiq_sbl.build.ldscript={build.variant.path}/linker_scripts/gcc/ambiq_sbl_app.ld
@@ -138,6 +142,7 @@ amap3atp.name=SparkFun BlackBoard Artemis ATP
138142
amap3atp.build.variant=SparkFun_BlackBoard_Artemis_ATP
139143
amap3atp.build.board=AM_AP3_SFE_BB_ARTEMIS_ATP
140144
amap3atp.upload.maximum_size=960000
145+
amap3atp.upload.sbl_baud=115200
141146
amap3atp.build.arch=APOLLO3
142147
amap3atp.build.mcu=cortex-m4
143148
amap3atp.build.f_cpu=48000000L
@@ -156,11 +161,11 @@ amap3atp.menu.svl_baud.57600=57600
156161
amap3atp.menu.loader.sparkfun_svl=SparkFun Variable Loader (Recommended)
157162
amap3atp.menu.loader.ambiq_sbl=Ambiq Secure Bootloader (Advanced)
158163

159-
amap3atp.menu.svl_baud.57600.upload.baud=57600
160-
amap3atp.menu.svl_baud.115200.upload.baud=115200
161-
amap3atp.menu.svl_baud.230400.upload.baud=230400
162-
amap3atp.menu.svl_baud.460800.upload.baud=460800
163-
amap3atp.menu.svl_baud.921600.upload.baud=921600
164+
amap3atp.menu.svl_baud.57600.upload.svl_baud=57600
165+
amap3atp.menu.svl_baud.115200.upload.svl_baud=115200
166+
amap3atp.menu.svl_baud.230400.upload.svl_baud=230400
167+
amap3atp.menu.svl_baud.460800.upload.svl_baud=460800
168+
amap3atp.menu.svl_baud.921600.upload.svl_baud=921600
164169

165170
amap3atp.menu.loader.ambiq_sbl.upload.tool=ambiq_bin2board
166171
amap3atp.menu.loader.ambiq_sbl.build.ldscript={build.variant.path}/linker_scripts/gcc/ambiq_sbl_app.ld
@@ -175,7 +180,6 @@ edge.build.variant=SparkFun_Edge
175180
edge.build.board=SFE_EDGE
176181
edge.upload.tool=ambiq_bin2board
177182
edge.upload.maximum_size=960000
178-
edge.upload.baud=115200
179183
edge.build.arch=APOLLO3
180184
edge.build.mcu=cortex-m4
181185
edge.build.f_cpu=48000000L
@@ -186,12 +190,42 @@ edge.build.libs=
186190
edge.build.extra_flags=-DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3
187191
edge.build.ldscript={build.variant.path}/linker_scripts/gcc/ambiq_sbl_app.ld
188192

193+
edge.menu.sbl_baud.921600=921600 (Default)
194+
edge.menu.sbl_baud.115200=115200 (TensorFlow Conference Versions)
195+
196+
edge.menu.svl_baud.921600=921600
197+
edge.menu.svl_baud.460800=460800
198+
edge.menu.svl_baud.230400=230400
199+
edge.menu.svl_baud.115200=115200
200+
edge.menu.svl_baud.57600=57600
201+
202+
edge.menu.loader.ambiq_sbl=Ambiq Secure Bootloader (Default)
203+
edge.menu.loader.sparkfun_svl=SparkFun Variable Loader (Enable w/ Artemis Bootloader)
204+
205+
edge.menu.sbl_baud.115200.upload.sbl_baud=115200
206+
edge.menu.sbl_baud.921600.upload.sbl_baud=921600
207+
208+
edge.menu.svl_baud.57600.upload.svl_baud=57600
209+
edge.menu.svl_baud.115200.upload.svl_baud=115200
210+
edge.menu.svl_baud.230400.upload.svl_baud=230400
211+
edge.menu.svl_baud.460800.upload.svl_baud=460800
212+
edge.menu.svl_baud.921600.upload.svl_baud=921600
213+
214+
edge.menu.loader.ambiq_sbl.upload.tool=ambiq_bin2board
215+
edge.menu.loader.ambiq_sbl.build.ldscript={build.variant.path}/linker_scripts/gcc/ambiq_sbl_app.ld
216+
217+
edge.menu.loader.sparkfun_svl.upload.tool=artemis_svl
218+
edge.menu.loader.sparkfun_svl.build.ldscript={build.variant.path}/linker_scripts/gcc/artemis_sbl_svl_app.ld
219+
220+
221+
189222
###############################################################
190223

191224
edgeV2.name=SparkFun Edge V2
192225
edgeV2.build.variant=SparkFun_Edge_V2
193226
edgeV2.build.board=SFE_EDGE_V2
194227
edgeV2.upload.maximum_size=960000
228+
edgeV2.upload.sbl_baud=115200
195229
edgeV2.build.arch=APOLLO3
196230
edgeV2.build.mcu=cortex-m4
197231
edgeV2.build.f_cpu=48000000L
@@ -209,11 +243,11 @@ edgeV2.menu.svl_baud.57600=57600
209243
edgeV2.menu.loader.sparkfun_svl=SparkFun Variable Loader (Recommended)
210244
edgeV2.menu.loader.ambiq_sbl=Ambiq Secure Bootloader (Advanced)
211245

212-
edgeV2.menu.svl_baud.57600.upload.baud=57600
213-
edgeV2.menu.svl_baud.115200.upload.baud=115200
214-
edgeV2.menu.svl_baud.230400.upload.baud=230400
215-
edgeV2.menu.svl_baud.460800.upload.baud=460800
216-
edgeV2.menu.svl_baud.921600.upload.baud=921600
246+
edgeV2.menu.svl_baud.57600.upload.svl_baud=57600
247+
edgeV2.menu.svl_baud.115200.upload.svl_baud=115200
248+
edgeV2.menu.svl_baud.230400.upload.svl_baud=230400
249+
edgeV2.menu.svl_baud.460800.upload.svl_baud=460800
250+
edgeV2.menu.svl_baud.921600.upload.svl_baud=921600
217251

218252
edgeV2.menu.loader.ambiq_sbl.upload.tool=ambiq_bin2board
219253
edgeV2.menu.loader.ambiq_sbl.build.ldscript={build.variant.path}/linker_scripts/gcc/ambiq_sbl_app.ld

platform.txt

+6-6
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,15 @@ recipe.output.save_file={build.project_name}.{build.preferred_export_format}
133133
# Host-specific definitions for upload tool (using Ambiq's Secure Bootloader SBL)
134134
# Linux
135135
tools.ambiq_bin2board.pgm={runtime.platform.path}/tools/ambiq/linux/ambiq_bin2board
136-
tools.ambiq_bin2board.args=--bin "{build.path}/{build.project_name}.bin" --load-address-blob 0x20000 --magic-num 0xCB -o {build.path}/{build.project_name} --version 0x0 --load-address-wired 0xC000 -i 6 --options 0x1 -b 115200 -port "{serial.port}" -r 2 {upload.verbose}
136+
tools.ambiq_bin2board.args=--bin "{build.path}/{build.project_name}.bin" --load-address-blob 0x20000 --magic-num 0xCB -o {build.path}/{build.project_name} --version 0x0 --load-address-wired 0xC000 -i 6 --options 0x1 -b {upload.sbl_baud} -port "{serial.port}" -r 2 {upload.verbose}
137137

138138
# MacOSX
139139
tools.ambiq_bin2board.pgm.macosx={runtime.platform.path}/tools/ambiq/macosx/ambiq_bin2board
140-
tools.ambiq_bin2board.args.macosx=--bin "{build.path}/{build.project_name}.bin" --load-address-blob 0x20000 --magic-num 0xCB -o {build.path}/{build.project_name} --version 0x0 --load-address-wired 0xC000 -i 6 --options 0x1 -b 115200 -port "{serial.port}" -r 2 {upload.verbose}
140+
tools.ambiq_bin2board.args.macosx=--bin "{build.path}/{build.project_name}.bin" --load-address-blob 0x20000 --magic-num 0xCB -o {build.path}/{build.project_name} --version 0x0 --load-address-wired 0xC000 -i 6 --options 0x1 -b {upload.sbl_baud} -port "{serial.port}" -r 2 {upload.verbose}
141141

142142
# Windows
143143
tools.ambiq_bin2board.pgm.windows="{runtime.platform.path}/tools/ambiq/windows/ambiq_bin2board.exe"
144-
tools.ambiq_bin2board.args.windows=--bin "{build.path}/{build.project_name}.bin" --load-address-blob 0x20000 --magic-num 0xCB -o {build.path}/{build.project_name} --version 0x0 --load-address-wired 0xC000 -i 6 --options 0x1 -b 115200 -port "{serial.port}" -r 2 {upload.verbose}
144+
tools.ambiq_bin2board.args.windows=--bin "{build.path}/{build.project_name}.bin" --load-address-blob 0x20000 --magic-num 0xCB -o {build.path}/{build.project_name} --version 0x0 --load-address-wired 0xC000 -i 6 --options 0x1 -b {upload.sbl_baud} -port "{serial.port}" -r 2 {upload.verbose}
145145

146146
# Additional Loader Parameters
147147
tools.ambiq_bin2board.upload.protocol=ap3
@@ -155,15 +155,15 @@ tools.ambiq_bin2board.upload.pattern={pgm} {args}
155155

156156
# Linux
157157
tools.artemis_svl.pgm={runtime.platform.path}/tools/artemis/linux/artemis_svl
158-
tools.artemis_svl.args="{serial.port}" -f "{build.path}/{build.project_name}.bin" -b {upload.baud} {upload.verbose}
158+
tools.artemis_svl.args="{serial.port}" -f "{build.path}/{build.project_name}.bin" -b {upload.svl_baud} {upload.verbose}
159159

160160
# MacOSX
161161
tools.artemis_svl.pgm.macosx={runtime.platform.path}/tools/artemis/macosx/artemis_svl
162-
tools.artemis_svl.args.macosx="{serial.port}" -f "{build.path}/{build.project_name}.bin" -b {upload.baud} {upload.verbose}
162+
tools.artemis_svl.args.macosx="{serial.port}" -f "{build.path}/{build.project_name}.bin" -b {upload.svl_baud} {upload.verbose}
163163

164164
# Windows
165165
tools.artemis_svl.pgm.windows="{runtime.platform.path}/tools/artemis/windows/artemis_svl.exe"
166-
tools.artemis_svl.args.windows="{serial.port}" -f "{build.path}/{build.project_name}.bin" -b {upload.baud} {upload.verbose}
166+
tools.artemis_svl.args.windows="{serial.port}" -f "{build.path}/{build.project_name}.bin" -b {upload.svl_baud} {upload.verbose}
167167

168168
# Additional Loader Parameters
169169
tools.artemis_svl.upload.protocol=ap3

0 commit comments

Comments
 (0)