Skip to content

Commit 8a20dde

Browse files
committed
feat(platform): Add OpenOCD programming support for STeaMi and Nucleo 64 boards
- Modified `platform.txt` to enable programming via OpenOCD, which was already used for debugging. - Added an example demonstrating how to program all Nucleo-64 boards, whether they use STLink or DAPLink. To avoid conflict, the support for STeaMi will be added after the merge of the PR #2526 *Benefits:* - Enables programming of STeaMi boards. - Supports P_NUCLEO boards that use DAPLink instead of STLink to leverage WebUSB functionality.
1 parent 8da4af2 commit 8a20dde

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

Diff for: boards.txt

+12
Original file line numberDiff line numberDiff line change
@@ -876,6 +876,18 @@ Nucleo_64.menu.upload_method.dfuMethod.upload.protocol=dfu
876876
Nucleo_64.menu.upload_method.dfuMethod.upload.options=-v {upload.vid} -p {upload.pid}
877877
Nucleo_64.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
878878

879+
Nucleo_64.menu.upload_method.OpenOCD=OpenOCD STLink (SWD)
880+
Nucleo_64.menu.upload_method.OpenOCD.upload.protocol=stlink
881+
Nucleo_64.menu.upload_method.OpenOCD.upload.target=stm32wbx
882+
Nucleo_64.menu.upload_method.OpenOCD.upload.setup_command=transport select hla_swd;
883+
Nucleo_64.menu.upload_method.OpenOCD.upload.tool=openocd_upload
884+
885+
Nucleo_64.menu.upload_method.OpenOCD=OpenOCD DapLink (SWD)
886+
Nucleo_64.menu.upload_method.OpenOCD.upload.protocol=cmsis-dap
887+
Nucleo_64.menu.upload_method.OpenOCD.upload.target=stm32wbx
888+
Nucleo_64.menu.upload_method.OpenOCD.upload.setup_command=transport select swd;
889+
Nucleo_64.menu.upload_method.OpenOCD.upload.tool=openocd_upload
890+
879891
################################################################################
880892
# Nucleo 32 boards
881893

Diff for: platform.txt

+8
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,14 @@ tools.remoteproc_gen.upload.params.verbose=
238238
tools.remoteproc_gen.upload.params.quiet=
239239
tools.remoteproc_gen.upload.pattern="{busybox}" sh "{path}/{script}" generate "{build.path}/{build.project_name}.elf" "{build.path}/run_arduino_{build.project_name}.sh"
240240

241+
# OpenOCD sketch upload
242+
tools.openocd_upload.path={openocd_dir}
243+
tools.openocd_upload.cmd=bin/openocd
244+
tools.openocd_upload.cmd.windows=bin/openocd.exe
245+
tools.openocd_upload.upload.params.verbose=-d2
246+
tools.openocd_upload.upload.params.quiet=-d0
247+
tools.openocd_upload.upload.pattern="{path}/{cmd}" {upload.verbose} -f interface/{upload.protocol}.cfg -c "{upload.setup_command}" -f target/{upload.target}.cfg -c "program {{build.path}/{build.project_name}.bin} verify reset; shutdown;"
248+
241249
#
242250
# Debugger
243251
#

0 commit comments

Comments
 (0)