Skip to content

Commit 52a91c4

Browse files
authored
Merge pull request #746 from facchinm/debugger_support
debug: add support for latest arduino-cli
2 parents 3142985 + 2ecf783 commit 52a91c4

10 files changed

+374533
-5
lines changed

Diff for: boards.txt

+54
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ edge_control.bootloader.config=-f target/nrf52.cfg
4747
edge_control.bootloader.programmer=-f interface/cmsis-dap.cfg
4848
edge_control.bootloader.file=EDGE_CONTROL/bootloader.hex
4949

50+
edge_control.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
51+
edge_control.debug.server.openocd.scripts.1={programmer.transport_script}
52+
edge_control.debug.server.openocd.scripts.2=target/nrf52.cfg
53+
edge_control.debug.svd_file={runtime.platform.path}/svd/nrf52840.svd
54+
5055
##############################################################
5156

5257
menu.split=Flash split
@@ -160,6 +165,12 @@ envie_m7.bootloader.programmer=-f interface/stlink.cfg
160165
envie_m7.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
161166
envie_m7.bootloader.file=PORTENTA_H7/portentah7_bootloader_mbed_hs_v2.elf
162167

168+
envie_m7.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
169+
envie_m7.debug.server.openocd.scripts.1={programmer.transport_script}
170+
envie_m7.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
171+
envie_m7.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
172+
envie_m7.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd
173+
163174
envie_m7_thread_debug.name=Arduino Portenta H7 (ThreadDebug)
164175
envie_m7_thread_debug.vid.0=0x2341
165176
envie_m7_thread_debug.pid.0=0x025B
@@ -277,6 +288,11 @@ nano33ble.bootloader.config=-f target/nrf52.cfg
277288
nano33ble.bootloader.programmer=-f interface/cmsis-dap.cfg
278289
nano33ble.bootloader.file=nano33ble/bootloader.hex
279290

291+
nano33ble.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
292+
nano33ble.debug.server.openocd.scripts.1={programmer.transport_script}
293+
nano33ble.debug.server.openocd.scripts.2=target/nrf52.cfg
294+
nano33ble.debug.svd_file={runtime.platform.path}/svd/nrf52840.svd
295+
280296
##############################################################
281297

282298
nanorp2040connect.name=Arduino Nano RP2040 Connect
@@ -333,6 +349,11 @@ nanorp2040connect.bootloader.tool.default=openocd
333349
nanorp2040connect.bootloader.config=-f target/rp2040.cfg
334350
nanorp2040connect.bootloader.programmer=-f interface/cmsis-dap.cfg
335351

352+
nanorp2040connect.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
353+
nanorp2040connect.debug.server.openocd.scripts.1={programmer.transport_script}
354+
nanorp2040connect.debug.server.openocd.scripts.2=target/rp2040-core0.cfg
355+
nanorp2040connect.debug.svd_file={runtime.platform.path}/svd/rp2040.svd
356+
336357
##############################################################
337358

338359
pico.name=Raspberry Pi Pico
@@ -377,6 +398,11 @@ pico.bootloader.tool.default=openocd
377398
pico.bootloader.config=-f target/rp2040.cfg
378399
pico.bootloader.programmer=-f interface/cmsis-dap.cfg
379400

401+
pico.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
402+
pico.debug.server.openocd.scripts.1={programmer.transport_script}
403+
pico.debug.server.openocd.scripts.2=target/rp2040-core0.cfg
404+
pico.debug.svd_file={runtime.platform.path}/svd/rp2040.svd
405+
380406
##############################################################
381407

382408
nicla_sense.name=Arduino Nicla Sense ME
@@ -424,6 +450,11 @@ nicla_sense.bootloader.config=-f target/nrf52.cfg
424450
nicla_sense.bootloader.programmer=-f interface/cmsis-dap.cfg
425451
nicla_sense.bootloader.file=NICLA/bootloader.hex
426452

453+
nicla_sense.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
454+
nicla_sense.debug.server.openocd.scripts.1={programmer.transport_script}
455+
nicla_sense.debug.server.openocd.scripts.2=target/nrf52.cfg
456+
nicla_sense.debug.svd_file={runtime.platform.path}/svd/nrf52833.svd
457+
427458
##############################################################
428459

429460
nicla_voice.name=Arduino Nicla Voice
@@ -472,6 +503,11 @@ nicla_voice.bootloader.config=-f target/nrf52.cfg
472503
nicla_voice.bootloader.programmer=-f interface/cmsis-dap.cfg
473504
nicla_voice.bootloader.file=NICLA_VOICE/bootloader_application.hex
474505

506+
nicla_voice.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
507+
nicla_voice.debug.server.openocd.scripts.1={programmer.transport_script}
508+
nicla_voice.debug.server.openocd.scripts.2=target/nrf52.cfg
509+
nicla_voice.debug.svd_file={runtime.platform.path}/svd/nrf52833.svd
510+
475511
##############################################################
476512

477513
nicla_vision.name=Arduino Nicla Vision
@@ -567,6 +603,12 @@ nicla_vision.bootloader.programmer=-f interface/stlink.cfg
567603
nicla_vision.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
568604
nicla_vision.bootloader.file=NICLA_VISION/bootloader.elf
569605

606+
nicla_vision.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
607+
nicla_vision.debug.server.openocd.scripts.1={programmer.transport_script}
608+
nicla_vision.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
609+
nicla_vision.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
610+
nicla_vision.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd
611+
570612
##############################################################
571613

572614
opta.name=Opta
@@ -696,6 +738,12 @@ opta.bootloader.programmer=-f interface/stlink.cfg
696738
opta.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
697739
opta.bootloader.file=OPTA/bootloader.elf
698740

741+
opta.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
742+
opta.debug.server.openocd.scripts.1={programmer.transport_script}
743+
opta.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
744+
opta.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
745+
opta.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd
746+
699747
##############################################################
700748

701749
giga.name=Arduino Giga R1
@@ -791,3 +839,9 @@ giga.bootloader.config=-f target/stm32h7x_dual_bank.cfg
791839
giga.bootloader.programmer=-f interface/stlink.cfg
792840
giga.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
793841
giga.bootloader.file=GIGA/bootloader.elf
842+
843+
giga.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
844+
giga.debug.server.openocd.scripts.1={programmer.transport_script}
845+
giga.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
846+
giga.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
847+
giga.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd

Diff for: debugger/select_hla.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
transport select hla_swd

Diff for: debugger/select_swd.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
transport select swd

Diff for: platform.txt

+17-4
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,25 @@ tools.adb.upload.params.quiet=
204204
tools.adb.upload.pattern="{path}/{cmd}" push "{build.path}/{build.project_name}.elf" "/tmp/arduino/m4-user-sketch.elf"
205205

206206
#
207-
# GDB (Debugger)
207+
# Debugger
208208
#
209-
# EXPERIMENTAL feature: debug.pattern
210-
# - this is alpha and may be subject to change without notice
211209

212210
tools.gdb.path={runtime.tools.arm-none-eabi-gcc-7-2017q4.path}/bin/
213211
tools.gdb.cmd=arm-none-eabi-gdb
214212
tools.gdb.cmd.windows=arm-none-eabi-gdb.exe
215-
tools.gdb.debug.pattern="{path}/{cmd}" --interpreter=mi2 -ex "set pagination off" --baud 115200 -ex "set target-charset ASCII" -ex "target remote {debug.port}" {build.path}/{build.project_name}.elf
213+
214+
debug.executable={build.path}/{build.project_name}.elf
215+
debug.toolchain=gcc
216+
debug.toolchain.path={runtime.tools.arm-none-eabi-gcc-7-2017q4.path}/bin/
217+
debug.toolchain.prefix=arm-none-eabi-
218+
debug.server=openocd
219+
debug.server.openocd.path={runtime.tools.openocd-0.11.0-arduino2.path}/bin/openocd
220+
debug.server.openocd.scripts_dir={runtime.tools.openocd-0.11.0-arduino2.path}/share/openocd/scripts/
221+
222+
debug.cortex-debug.custom.postAttachCommands.0=set remote hardware-watchpoint-limit 2
223+
debug.cortex-debug.custom.postAttachCommands.1=monitor reset halt
224+
debug.cortex-debug.custom.postAttachCommands.2=monitor gdb_sync
225+
debug.cortex-debug.custom.postAttachCommands.3=c
226+
debug.cortex-debug.custom.overrideRestartCommands.0=monitor reset halt
227+
debug.cortex-debug.custom.overrideRestartCommands.1=monitor gdb_sync
228+
debug.cortex-debug.custom.overrideRestartCommands.2=c

Diff for: programmers.txt

+24-1
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,34 @@ cmsis-dap.program.protocol=
55
cmsis-dap.program.tool=openocd
66
cmsis-dap.program.tool.default=openocd
77
cmsis-dap.program.extra_params=
8+
cmsis-dap.programmer.protocol=cmsis-dap
9+
cmsis-dap.programmer.transport_script={runtime.platform.path}/debugger/select_swd.cfg
810

911
stlink.name=STMicroelectronics STLINK
1012
stlink.communication=USB
1113
stlink.protocol=
1214
stlink.program.protocol=
1315
stlink.program.tool=openocd
1416
stlink.program.tool.default=openocd
15-
stlink.program.extra_params=
17+
stlink.program.extra_params=
18+
stlink.programmer.protocol=stlink
19+
stlink.programmer.transport_script={runtime.platform.path}/debugger/select_hla.cfg
20+
21+
jlink.name=JLink
22+
jlink.communication=USB
23+
jlink.protocol=
24+
jlink.program.protocol=
25+
jlink.program.tool=openocd
26+
jlink.program.tool.default=openocd
27+
jlink.program.extra_params=
28+
jlink.programmer.protocol=jlink
29+
jlink.programmer.transport_script={runtime.platform.path}/debugger/select_swd.cfg
30+
31+
blackmagic.name=BlackMagic
32+
blackmagic.communication=USB
33+
blackmagic.protocol=
34+
blackmagic.program.protocol=
35+
blackmagic.program.tool=
36+
blackmagic.program.tool.default=
37+
blackmagic.program.extra_params=
38+
blackmagic.debug.server=blackmagic

0 commit comments

Comments
 (0)