Skip to content

Commit 973fa02

Browse files
author
rogerclarkmelbourne
committed
Added Black Magic Probe upload support for C series boards, Note Windows BAT file has not been tested yet
1 parent 89d3262 commit 973fa02

3 files changed

Lines changed: 36 additions & 9 deletions

File tree

STM32F1/boards.txt

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -187,18 +187,18 @@ genericSTM32F103C.upload.auto_reset=true
187187
genericSTM32F103C.menu.device_variant.STM32F103CB=STM32F103CB (20k RAM. 128k Flash)
188188
genericSTM32F103C.menu.device_variant.STM32F103CB.build.cpu_flags=-DMCU_STM32F103CB
189189
genericSTM32F103C.menu.device_variant.STM32F103CB.build.ldscript=ld/jtag.ld
190-
genericSTM32F103C.menu.device_variant.STM32F103CB.upload.maximum_size=128000
191-
genericSTM32F103C.menu.device_variant.STM32F103CB.upload.ram.maximum_size=20000
192-
genericSTM32F103C.menu.device_variant.STM32F103CB.upload.flash.maximum_size=128000
190+
genericSTM32F103C.menu.device_variant.STM32F103CB.upload.maximum_size=131072
191+
genericSTM32F103C.menu.device_variant.STM32F103CB.upload.ram.maximum_size=20480
192+
genericSTM32F103C.menu.device_variant.STM32F103CB.upload.flash.maximum_size=131072
193193

194194

195195
## STM32F103C8 -------------------------
196196
genericSTM32F103C.menu.device_variant.STM32F103C8=STM32F103C8 (20k RAM. 64k Flash)
197197
genericSTM32F103C.menu.device_variant.STM32F103C8.build.cpu_flags=-DMCU_STM32F103C8
198198
genericSTM32F103C.menu.device_variant.STM32F103C8.build.ldscript=ld/jtag_c8.ld
199-
genericSTM32F103C.menu.device_variant.STM32F103C8.upload.maximum_size=64000
200-
genericSTM32F103C.menu.device_variant.STM32F103C8.upload.ram.maximum_size=20000
201-
genericSTM32F103C.menu.device_variant.STM32F103C8.upload.flash.maximum_size=64000
199+
genericSTM32F103C.menu.device_variant.STM32F103C8.upload.maximum_size=65536
200+
genericSTM32F103C.menu.device_variant.STM32F103C8.upload.ram.maximum_size=20480
201+
genericSTM32F103C.menu.device_variant.STM32F103C8.upload.flash.maximum_size=65536
202202

203203
#---------------------------- UPLOAD METHODS ---------------------------
204204
genericSTM32F103C.menu.upload_method.serialMethod=Serial
@@ -212,6 +212,11 @@ genericSTM32F103C.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
212212
genericSTM32F103C.menu.upload_method.STLinkMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1
213213

214214

215+
genericSTM32F103C.menu.upload_method.BMPMethod=BMP (Black Magic Probe)
216+
genericSTM32F103C.menu.upload_method.BMPMethod.upload.protocol=gdb_bmp
217+
genericSTM32F103C.menu.upload_method.BMPMethod.upload.tool=bmp_upload
218+
genericSTM32F103C.menu.upload_method.BMPMethod.build.upload_flags=-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG
219+
215220
########################### Generic STM32F103R ###########################
216221

217222
genericSTM32F103R.name= Generic STM32F103R series

STM32F1/platform.txt

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
# For more info:
44
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
55

6-
name=STM32 Boards
7-
version=0.1.0
6+
name=STM32 Boards (stm32duino)
7+
version=0.1.1
88

99
# compiler variables
1010
# ----------------------
@@ -132,7 +132,7 @@ tools.serial_upload.path.macosx={runtime.hardware.path}/tools/macosx
132132
tools.serial_upload.path.linux={runtime.hardware.path}/tools/linux
133133

134134
tools.serial_upload.upload.params.verbose=-d
135-
tools.serial_upload.upload.params.quiet=
135+
tools.serial_upload.upload.params.quiet=n
136136
tools.serial_upload.upload.pattern="{path}/{cmd}" {serial.port.file} {upload.altID} {upload.usbID} "{build.path}/{build.project_name}.bin"
137137

138138

@@ -157,3 +157,14 @@ tools.stlink_upload.upload.params.verbose=-d
157157
tools.stlink_upload.upload.params.quiet=
158158
tools.stlink_upload.upload.pattern="{path}/{cmd}" {serial.port.file} {upload.altID} {upload.usbID} "{build.path}/{build.project_name}.bin"
159159

160+
# blackmagic probe upload
161+
tools.bmp_upload.cmd=arm-none-eabi-gdb
162+
tools.bmp_upload.cmd.windows=bmp_upload.bat
163+
tools.bmp_upload.path={runtime.tools.arm-none-eabi-gcc.path}/bin/
164+
tools.bmp_upload.path.windows={runtime.hardware.path}/tools/win
165+
166+
tools.bmp_upload.upload.speed=230400
167+
tools.bmp_upload.upload.params.verbose=
168+
tools.bmp_upload.upload.params.quiet=-q --batch-silent
169+
tools.bmp_upload.upload.pattern="{path}{cmd}" -b {upload.speed} {upload.verbose} -ex "set debug remote 0" -ex "set target-async off" -ex "set remotetimeout 60" -ex "set confirm off" -ex "set height 0" -ex "target extended-remote {serial.port}" -ex "monitor swdp_scan" -ex "attach 1" -ex "x/wx 0x8000004" -ex "monitor erase_mass" -ex "echo 0x8000004 expect 0xffffffff after erase\n" -ex "x/wx 0x8000004" -ex "file {build.path}/{build.project_name}.elf" -ex "load" -ex "x/i *0x8000004" -ex "kill" -ex "tbreak main" -ex "run" -ex "detach" -ex "echo \n\n\n{build.project_name}.elf uploaded!\n" -ex "quit"
170+
tools.bmp_upload.upload.pattern.windows="{path}/{cmd}" {runtime.tools.arm-none-eabi-gcc.path}/bin/ {upload.speed} {upload.verbose} "target extended-remote {serial.port}" "{build.path}/{build.project_name}.elf"

tools/win/bmp_upload.bat

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
rem: @echo off
2+
rem: Note %~dp0 get path of this batch file
3+
rem: Need to change drive if My Documents is on a drive other than C:
4+
set driverLetter=%~dp0
5+
set driverLetter=%driverLetter:~0,2%
6+
%driverLetter%
7+
cd %~dp0
8+
rem: the two line below are needed to fix path issues with incorrect slashes before the bin file name
9+
set str=%4
10+
set str=%str:/=\%
11+
%1arm-none-eabi-gdb.exe -b %2 -ex "set debug remote 0" -ex "set target-async off" -ex "set remotetimeout 60" -ex "set confirm off" -ex "set height 0" -ex %3 -ex "monitor swdp_scan" -ex "attach 1" -ex "x/wx 0x8000004" -ex "monitor erase_mass" -ex "echo 0x8000004 expect 0xffffffff after erase\n" -ex "x/wx 0x8000004" -ex "file %str%" -ex "load" -ex "x/i *0x8000004" -ex "kill" -ex "tbreak main" -ex "run" -ex "detach" -ex "echo \n\n\n%6 uploaded!\n" -ex "quit"

0 commit comments

Comments
 (0)