Skip to content

Commit 225a22d

Browse files
WIP: Allow uploading using open-ocd-supported programmers
1 parent df6b4f7 commit 225a22d

File tree

4 files changed

+58
-0
lines changed

4 files changed

+58
-0
lines changed

Diff for: boards.txt

+1
Original file line numberDiff line numberDiff line change
@@ -795,6 +795,7 @@ GenF1.build.mcu=cortex-m3
795795
GenF1.build.series=STM32F1xx
796796
GenF1.build.cmsis_lib_gcc=arm_cortexM3l_math
797797
GenF1.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} {build.bootloader_flags}
798+
GenF1.build.openocd_script=openocd.cfg
798799

799800
# BLUEPILL_F103C6 board
800801
GenF1.menu.pnum.BLUEPILL_F103C6=BluePill F103C6 (32K)

Diff for: platform.txt

+25
Original file line numberDiff line numberDiff line change
@@ -210,3 +210,28 @@ tools.remoteproc_gen.script=run_arduino_gen.sh
210210
tools.remoteproc_gen.upload.params.verbose=
211211
tools.remoteproc_gen.upload.params.quiet=
212212
tools.remoteproc_gen.upload.pattern="{busybox}" sh "{path}/{script}" generate "{build.path}/{build.project_name}.elf" "{build.path}/run_arduino_{build.project_name}.sh"
213+
214+
#
215+
# OpenOCD, for upload using programmer
216+
#
217+
tools.openocd.path={runtime.tools.openocd-0.10.0-arduino7.path}
218+
tools.openocd.cmd=bin/openocd
219+
tools.openocd.cmd.windows=bin/openocd.exe
220+
221+
tools.openocd.program.params.verbose=-d2
222+
tools.openocd.program.params.quiet=-d0
223+
tools.openocd.program.init_args=-c "telnet_port disabled" -s "{path}/share/openocd/scripts/"
224+
tools.openocd.program.interface_args=-c "source [find interface/{program.interface}]"
225+
tools.openocd.program.board_args=-f "{runtime.platform.path}/variants/{build.variant}/{build.openocd_script}"
226+
tools.openocd.program.program_args=-c "program {{build.path}/{build.project_name}.elf} verify reset; shutdown"
227+
tools.openocd.program.pattern="{path}/{cmd}" {program.verbose} {program.init_args} {program.interface_args} {program.board_args} {program.program_args}
228+
229+
# Used for burn bootloader, must exist even if empty
230+
tools.openocd.erase.params.verbose=-d2
231+
tools.openocd.erase.params.quiet=-d0
232+
tools.openocd.erase.pattern=
233+
234+
# Upload bootloader, but which?
235+
#tools.openocd.bootloader.params.verbose=-d2
236+
#tools.openocd.bootloader.params.quiet=-d0
237+
#tools.openocd.bootloader.pattern="{path}/{cmd}" {bootloader.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/variants/{build.variant}/{build.openocdscript}" -c "telnet_port disabled; init; halt; at91samd bootloader 0; program {{runtime.platform.path}/bootloaders/{bootloader.file}} verify reset; shutdown"

Diff for: programmers.txt

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
cmsis_dap.name=CMSIS-DAP compatible programmer
2+
cmsis_dap.communication=USB
3+
cmsis_dap.protocol=
4+
cmsis_dap.program.protocol=
5+
cmsis_dap.program.interface=cmsis-dap.cfg
6+
cmsis_dap.program.tool=openocd
7+
cmsis_dap.program.extra_params=
8+
9+
stlink-v1.name=ST-LINK/V1
10+
stlink-v1.communication=USB
11+
stlink-v1.protocol=
12+
stlink-v1.program.protocol=
13+
stlink-v1.program.interface=stlink-v1.cfg
14+
stlink-v1.program.tool=openocd
15+
stlink-v1.program.extra_params=
16+
17+
stlink-v2.name=ST-LINK/V2
18+
stlink-v2.communication=USB
19+
stlink-v2.protocol=
20+
stlink-v2.program.protocol=
21+
stlink-v2.program.interface=stlink-v2.cfg
22+
stlink-v2.program.tool=openocd
23+
stlink-v2.program.extra_params=
24+
25+
stlink-v2-1.name=ST-LINK/V2-1
26+
stlink-v2-1.communication=USB
27+
stlink-v2-1.protocol=
28+
stlink-v2-1.program.protocol=
29+
stlink-v2-1.program.interface=stlink-v2-1.cfg
30+
stlink-v2-1.program.tool=openocd
31+
stlink-v2-1.program.extra_params=

Diff for: variants/PILL_F103XX/openocd.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
source [find target/stm32f1x.cfg]

0 commit comments

Comments
 (0)