From c3d53add3664900077a8469e5e1177258085ebde Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 22 Jun 2023 23:05:24 +0700 Subject: [PATCH] add support for jlink as transport for openocd though menu selection does not seem to work with debug script. Though this is probably IDE issue. --- boards.txt | 193 +++++++++++++++--- platform.txt | 22 +- scripts/jlink/samd21/debug_custom.json | 6 + scripts/jlink/samd51/debug_custom.json | 6 + .../{samd2x.cfg => daplink_samd21.cfg} | 0 .../{same5x.cfg => daplink_samd51.cfg} | 2 +- scripts/openocd/jlink_samd21.cfg | 27 +++ .../openocd/{samd5x.cfg => jlink_samd51.cfg} | 3 +- tools/makeboards.py | 14 +- 9 files changed, 224 insertions(+), 49 deletions(-) create mode 100644 scripts/jlink/samd21/debug_custom.json create mode 100644 scripts/jlink/samd51/debug_custom.json rename scripts/openocd/{samd2x.cfg => daplink_samd21.cfg} (100%) rename scripts/openocd/{same5x.cfg => daplink_samd51.cfg} (97%) create mode 100644 scripts/openocd/jlink_samd21.cfg rename scripts/openocd/{samd5x.cfg => jlink_samd51.cfg} (92%) diff --git a/boards.txt b/boards.txt index e8133198..f9047be1 100644 --- a/boards.txt +++ b/boards.txt @@ -20,6 +20,7 @@ menu.opt=Optimize menu.maxqspi=Max QSPI menu.usbstack=USB Stack menu.debug=Debug +menu.debugger=Debugger # ----------------------------------- # Adafruit Feather M0 (SAMD21) @@ -52,7 +53,6 @@ adafruit_feather_m0.build.board=SAMD_ZERO adafruit_feather_m0.build.core=arduino adafruit_feather_m0.build.extra_flags=-D__SAMD21G18A__ -DADAFRUIT_FEATHER_M0 -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_feather_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_feather_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_feather_m0.build.variant=feather_m0 adafruit_feather_m0.build.variant_system_lib= adafruit_feather_m0.build.vid=0x239A @@ -82,6 +82,11 @@ adafruit_feather_m0.menu.debug.off=Off adafruit_feather_m0.menu.debug.on=On adafruit_feather_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_feather_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_feather_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_feather_m0.menu.debugger.jlink=J-Link +adafruit_feather_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit Feather M0 Express (SAMD21) @@ -112,7 +117,6 @@ adafruit_feather_m0_express.build.board=SAMD_FEATHER_M0_EXPRESS adafruit_feather_m0_express.build.core=arduino adafruit_feather_m0_express.build.extra_flags=-D__SAMD21G18A__ -DARDUINO_SAMD_FEATHER_M0 -DADAFRUIT_FEATHER_M0_EXPRESS -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_feather_m0_express.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_feather_m0_express.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_feather_m0_express.build.variant=feather_m0_express adafruit_feather_m0_express.build.variant_system_lib= adafruit_feather_m0_express.build.vid=0x239A @@ -142,6 +146,11 @@ adafruit_feather_m0_express.menu.debug.off=Off adafruit_feather_m0_express.menu.debug.on=On adafruit_feather_m0_express.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_feather_m0_express.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_feather_m0_express.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_feather_m0_express.menu.debugger.jlink=J-Link +adafruit_feather_m0_express.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit Metro M0 Express (SAMD21) @@ -172,7 +181,6 @@ adafruit_metro_m0.build.board=SAMD_ZERO adafruit_metro_m0.build.core=arduino adafruit_metro_m0.build.extra_flags=-D__SAMD21G18A__ -DADAFRUIT_METRO_M0_EXPRESS -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_metro_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_metro_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_metro_m0.build.variant=metro_m0 adafruit_metro_m0.build.variant_system_lib= adafruit_metro_m0.build.vid=0x239A @@ -202,6 +210,11 @@ adafruit_metro_m0.menu.debug.off=Off adafruit_metro_m0.menu.debug.on=On adafruit_metro_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_metro_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_metro_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_metro_m0.menu.debugger.jlink=J-Link +adafruit_metro_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit Circuit Playground Express (SAMD21) @@ -232,7 +245,6 @@ adafruit_circuitplayground_m0.build.board=SAMD_CIRCUITPLAYGROUND_EXPRESS adafruit_circuitplayground_m0.build.core=arduino adafruit_circuitplayground_m0.build.extra_flags=-D__SAMD21G18A__ -DCRYSTALLESS -DADAFRUIT_CIRCUITPLAYGROUND_M0 -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_circuitplayground_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_circuitplayground_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_circuitplayground_m0.build.variant=circuitplay adafruit_circuitplayground_m0.build.variant_system_lib= adafruit_circuitplayground_m0.build.vid=0x239A @@ -262,6 +274,11 @@ adafruit_circuitplayground_m0.menu.debug.off=Off adafruit_circuitplayground_m0.menu.debug.on=On adafruit_circuitplayground_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_circuitplayground_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_circuitplayground_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_circuitplayground_m0.menu.debugger.jlink=J-Link +adafruit_circuitplayground_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit Gemma M0 (SAMD21) @@ -292,7 +309,6 @@ adafruit_gemma_m0.build.board=GEMMA_M0 adafruit_gemma_m0.build.core=arduino adafruit_gemma_m0.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_GEMMA_M0 -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_gemma_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_gemma_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_gemma_m0.build.variant=gemma_m0 adafruit_gemma_m0.build.variant_system_lib= adafruit_gemma_m0.build.vid=0x239A @@ -322,6 +338,11 @@ adafruit_gemma_m0.menu.debug.off=Off adafruit_gemma_m0.menu.debug.on=On adafruit_gemma_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_gemma_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_gemma_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_gemma_m0.menu.debugger.jlink=J-Link +adafruit_gemma_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit Trinket M0 (SAMD21) @@ -352,7 +373,6 @@ adafruit_trinket_m0.build.board=TRINKET_M0 adafruit_trinket_m0.build.core=arduino adafruit_trinket_m0.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_TRINKET_M0 -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_trinket_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_trinket_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_trinket_m0.build.variant=trinket_m0 adafruit_trinket_m0.build.variant_system_lib= adafruit_trinket_m0.build.vid=0x239A @@ -382,6 +402,11 @@ adafruit_trinket_m0.menu.debug.off=Off adafruit_trinket_m0.menu.debug.on=On adafruit_trinket_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_trinket_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_trinket_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_trinket_m0.menu.debugger.jlink=J-Link +adafruit_trinket_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit QT Py M0 (SAMD21) @@ -414,7 +439,6 @@ adafruit_qtpy_m0.build.board=QTPY_M0 adafruit_qtpy_m0.build.core=arduino adafruit_qtpy_m0.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_QTPY_M0 -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_qtpy_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_qtpy_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_qtpy_m0.build.variant=qtpy_m0 adafruit_qtpy_m0.build.variant_system_lib= adafruit_qtpy_m0.build.vid=0x239A @@ -444,6 +468,11 @@ adafruit_qtpy_m0.menu.debug.off=Off adafruit_qtpy_m0.menu.debug.on=On adafruit_qtpy_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_qtpy_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_qtpy_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_qtpy_m0.menu.debugger.jlink=J-Link +adafruit_qtpy_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit NeoPixel Trinkey M0 (SAMD21) @@ -476,7 +505,6 @@ adafruit_neotrinkey_m0.build.board=NEOTRINKEY_M0 adafruit_neotrinkey_m0.build.core=arduino adafruit_neotrinkey_m0.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_NEOTRINKEY_M0 -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_neotrinkey_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_neotrinkey_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_neotrinkey_m0.build.variant=neotrinkey_m0 adafruit_neotrinkey_m0.build.variant_system_lib= adafruit_neotrinkey_m0.build.vid=0x239A @@ -506,6 +534,11 @@ adafruit_neotrinkey_m0.menu.debug.off=Off adafruit_neotrinkey_m0.menu.debug.on=On adafruit_neotrinkey_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_neotrinkey_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_neotrinkey_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_neotrinkey_m0.menu.debugger.jlink=J-Link +adafruit_neotrinkey_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit Rotary Trinkey M0 (SAMD21) @@ -538,7 +571,6 @@ adafruit_rotarytrinkey_m0.build.board=ROTARYTRINKEY_M0 adafruit_rotarytrinkey_m0.build.core=arduino adafruit_rotarytrinkey_m0.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_ROTARYTRINKEY_M0 -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_rotarytrinkey_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_rotarytrinkey_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_rotarytrinkey_m0.build.variant=rotarytrinkey_m0 adafruit_rotarytrinkey_m0.build.variant_system_lib= adafruit_rotarytrinkey_m0.build.vid=0x239A @@ -568,6 +600,11 @@ adafruit_rotarytrinkey_m0.menu.debug.off=Off adafruit_rotarytrinkey_m0.menu.debug.on=On adafruit_rotarytrinkey_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_rotarytrinkey_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_rotarytrinkey_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_rotarytrinkey_m0.menu.debugger.jlink=J-Link +adafruit_rotarytrinkey_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit NeoKey Trinkey M0 (SAMD21) @@ -600,7 +637,6 @@ adafruit_neokeytrinkey_m0.build.board=NEOKEYTRINKEY_M0 adafruit_neokeytrinkey_m0.build.core=arduino adafruit_neokeytrinkey_m0.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_NEOKEYTRINKEY_M0 -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_neokeytrinkey_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_neokeytrinkey_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_neokeytrinkey_m0.build.variant=neokeytrinkey_m0 adafruit_neokeytrinkey_m0.build.variant_system_lib= adafruit_neokeytrinkey_m0.build.vid=0x239A @@ -630,6 +666,11 @@ adafruit_neokeytrinkey_m0.menu.debug.off=Off adafruit_neokeytrinkey_m0.menu.debug.on=On adafruit_neokeytrinkey_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_neokeytrinkey_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_neokeytrinkey_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_neokeytrinkey_m0.menu.debugger.jlink=J-Link +adafruit_neokeytrinkey_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit Slide Trinkey M0 (SAMD21) @@ -662,7 +703,6 @@ adafruit_slidetrinkey_m0.build.board=SLIDETRINKEY_M0 adafruit_slidetrinkey_m0.build.core=arduino adafruit_slidetrinkey_m0.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_SLIDETRINKEY_M0 -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_slidetrinkey_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_slidetrinkey_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_slidetrinkey_m0.build.variant=slidetrinkey_m0 adafruit_slidetrinkey_m0.build.variant_system_lib= adafruit_slidetrinkey_m0.build.vid=0x239A @@ -692,6 +732,11 @@ adafruit_slidetrinkey_m0.menu.debug.off=Off adafruit_slidetrinkey_m0.menu.debug.on=On adafruit_slidetrinkey_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_slidetrinkey_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_slidetrinkey_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_slidetrinkey_m0.menu.debugger.jlink=J-Link +adafruit_slidetrinkey_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit ProxLight Trinkey M0 (SAMD21) @@ -724,7 +769,6 @@ adafruit_proxlighttrinkey_m0.build.board=PROXLIGHTTRINKEY_M0 adafruit_proxlighttrinkey_m0.build.core=arduino adafruit_proxlighttrinkey_m0.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_PROXLIGHTTRINKEY_M0 -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_proxlighttrinkey_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_proxlighttrinkey_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_proxlighttrinkey_m0.build.variant=proxlighttrinkey_m0 adafruit_proxlighttrinkey_m0.build.variant_system_lib= adafruit_proxlighttrinkey_m0.build.vid=0x239A @@ -754,6 +798,11 @@ adafruit_proxlighttrinkey_m0.menu.debug.off=Off adafruit_proxlighttrinkey_m0.menu.debug.on=On adafruit_proxlighttrinkey_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_proxlighttrinkey_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_proxlighttrinkey_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_proxlighttrinkey_m0.menu.debugger.jlink=J-Link +adafruit_proxlighttrinkey_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit ItsyBitsy M0 Express (SAMD21) @@ -786,7 +835,6 @@ adafruit_itsybitsy_m0.build.board=ITSYBITSY_M0 adafruit_itsybitsy_m0.build.core=arduino adafruit_itsybitsy_m0.build.extra_flags=-D__SAMD21G18A__ -DCRYSTALLESS -DADAFRUIT_ITSYBITSY_M0 -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_itsybitsy_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_itsybitsy_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_itsybitsy_m0.build.variant=itsybitsy_m0 adafruit_itsybitsy_m0.build.variant_system_lib= adafruit_itsybitsy_m0.build.vid=0x239A @@ -816,6 +864,11 @@ adafruit_itsybitsy_m0.menu.debug.off=Off adafruit_itsybitsy_m0.menu.debug.on=On adafruit_itsybitsy_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_itsybitsy_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_itsybitsy_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_itsybitsy_m0.menu.debugger.jlink=J-Link +adafruit_itsybitsy_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit pIRKey (SAMD21) @@ -848,7 +901,6 @@ adafruit_pirkey.build.board=PIRKEY adafruit_pirkey.build.core=arduino adafruit_pirkey.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_PIRKEY -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_pirkey.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_pirkey.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_pirkey.build.variant=pirkey adafruit_pirkey.build.variant_system_lib= adafruit_pirkey.build.vid=0x239A @@ -878,6 +930,11 @@ adafruit_pirkey.menu.debug.off=Off adafruit_pirkey.menu.debug.on=On adafruit_pirkey.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_pirkey.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_pirkey.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_pirkey.menu.debugger.jlink=J-Link +adafruit_pirkey.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit Hallowing M0 (SAMD21) @@ -910,7 +967,6 @@ adafruit_hallowing.build.board=SAMD_HALLOWING adafruit_hallowing.build.core=arduino adafruit_hallowing.build.extra_flags=-D__SAMD21G18A__ -DCRYSTALLESS -DARDUINO_SAMD_HALLOWING_M0 -DADAFRUIT_HALLOWING -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_hallowing.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_hallowing.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_hallowing.build.variant=hallowing_m0_express adafruit_hallowing.build.variant_system_lib= adafruit_hallowing.build.vid=0x239A @@ -940,6 +996,11 @@ adafruit_hallowing.menu.debug.off=Off adafruit_hallowing.menu.debug.on=On adafruit_hallowing.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_hallowing.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_hallowing.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_hallowing.menu.debugger.jlink=J-Link +adafruit_hallowing.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit Crickit M0 (SAMD21) @@ -972,7 +1033,6 @@ adafruit_crickit_m0.build.board=CRICKIT_M0 adafruit_crickit_m0.build.core=arduino adafruit_crickit_m0.build.extra_flags=-D__SAMD21G18A__ -DCRYSTALLESS -DADAFRUIT_CRICKIT_M0 -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_crickit_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_crickit_m0.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_crickit_m0.build.variant=crickit_m0 adafruit_crickit_m0.build.variant_system_lib= adafruit_crickit_m0.build.vid=0x239A @@ -1002,6 +1062,11 @@ adafruit_crickit_m0.menu.debug.off=Off adafruit_crickit_m0.menu.debug.on=On adafruit_crickit_m0.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_crickit_m0.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_crickit_m0.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_crickit_m0.menu.debugger.jlink=J-Link +adafruit_crickit_m0.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit BLM Badge (SAMD21) @@ -1034,7 +1099,6 @@ adafruit_blm_badge.build.board=BLM_BADGE_M0 adafruit_blm_badge.build.core=arduino adafruit_blm_badge.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_BLM_BADGE -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags} adafruit_blm_badge.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_blm_badge.build.openocdscript=scripts/openocd/samd2x.cfg adafruit_blm_badge.build.variant=blm_badge adafruit_blm_badge.build.variant_system_lib= adafruit_blm_badge.build.vid=0x239A @@ -1064,6 +1128,11 @@ adafruit_blm_badge.menu.debug.off=Off adafruit_blm_badge.menu.debug.on=On adafruit_blm_badge.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_blm_badge.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_blm_badge.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd21.cfg +adafruit_blm_badge.menu.debugger.jlink=J-Link +adafruit_blm_badge.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd21.cfg # ----------------------------------- # Adafruit Metro M4 (SAMD51) @@ -1098,7 +1167,6 @@ adafruit_metro_m4.build.board=METRO_M4 adafruit_metro_m4.build.core=arduino adafruit_metro_m4.build.extra_flags=-D__SAMD51J19A__ -DADAFRUIT_METRO_M4_EXPRESS -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_metro_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_metro_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_metro_m4.build.variant=metro_m4 adafruit_metro_m4.build.variant_system_lib= adafruit_metro_m4.build.vid=0x239A @@ -1151,6 +1219,11 @@ adafruit_metro_m4.menu.debug.off=Off adafruit_metro_m4.menu.debug.on=On adafruit_metro_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_metro_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_metro_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_metro_m4.menu.debugger.jlink=J-Link +adafruit_metro_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit Grand Central M4 (SAMD51) @@ -1183,7 +1256,6 @@ adafruit_grandcentral_m4.build.board=GRAND_CENTRAL_M4 adafruit_grandcentral_m4.build.core=arduino adafruit_grandcentral_m4.build.extra_flags=-D__SAMD51P20A__ -DADAFRUIT_GRAND_CENTRAL_M4 -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_grandcentral_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_grandcentral_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_grandcentral_m4.build.variant=grand_central_m4 adafruit_grandcentral_m4.build.variant_system_lib= adafruit_grandcentral_m4.build.vid=0x239A @@ -1236,6 +1308,11 @@ adafruit_grandcentral_m4.menu.debug.off=Off adafruit_grandcentral_m4.menu.debug.on=On adafruit_grandcentral_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_grandcentral_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_grandcentral_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_grandcentral_m4.menu.debugger.jlink=J-Link +adafruit_grandcentral_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit ItsyBitsy M4 (SAMD51) @@ -1266,7 +1343,6 @@ adafruit_itsybitsy_m4.build.board=ITSYBITSY_M4 adafruit_itsybitsy_m4.build.core=arduino adafruit_itsybitsy_m4.build.extra_flags=-D__SAMD51G19A__ -DCRYSTALLESS -DADAFRUIT_ITSYBITSY_M4_EXPRESS -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_itsybitsy_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_itsybitsy_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_itsybitsy_m4.build.variant=itsybitsy_m4 adafruit_itsybitsy_m4.build.variant_system_lib= adafruit_itsybitsy_m4.build.vid=0x239A @@ -1319,6 +1395,11 @@ adafruit_itsybitsy_m4.menu.debug.off=Off adafruit_itsybitsy_m4.menu.debug.on=On adafruit_itsybitsy_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_itsybitsy_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_itsybitsy_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_itsybitsy_m4.menu.debugger.jlink=J-Link +adafruit_itsybitsy_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit Feather M4 Express (SAMD51) @@ -1351,7 +1432,6 @@ adafruit_feather_m4.build.board=FEATHER_M4 adafruit_feather_m4.build.core=arduino adafruit_feather_m4.build.extra_flags=-D__SAMD51J19A__ -DADAFRUIT_FEATHER_M4_EXPRESS -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_feather_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_feather_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_feather_m4.build.variant=feather_m4 adafruit_feather_m4.build.variant_system_lib= adafruit_feather_m4.build.vid=0x239A @@ -1404,6 +1484,11 @@ adafruit_feather_m4.menu.debug.off=Off adafruit_feather_m4.menu.debug.on=On adafruit_feather_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_feather_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_feather_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_feather_m4.menu.debugger.jlink=J-Link +adafruit_feather_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit Feather M4 CAN (SAME51) @@ -1434,7 +1519,6 @@ adafruit_feather_m4_can.build.board=FEATHER_M4_CAN adafruit_feather_m4_can.build.core=arduino adafruit_feather_m4_can.build.extra_flags=-D__SAME51J19A__ -DADAFRUIT_FEATHER_M4_EXPRESS -DADAFRUIT_FEATHER_M4_CAN -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_feather_m4_can.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_feather_m4_can.build.openocdscript=scripts/openocd/same5x.cfg adafruit_feather_m4_can.build.variant=feather_m4_can adafruit_feather_m4_can.build.variant_system_lib= adafruit_feather_m4_can.build.vid=0x239A @@ -1487,6 +1571,11 @@ adafruit_feather_m4_can.menu.debug.off=Off adafruit_feather_m4_can.menu.debug.on=On adafruit_feather_m4_can.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_feather_m4_can.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_feather_m4_can.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_feather_m4_can.menu.debugger.jlink=J-Link +adafruit_feather_m4_can.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit Trellis M4 (SAMD51) @@ -1519,7 +1608,6 @@ adafruit_trellis_m4.build.board=TRELLIS_M4 adafruit_trellis_m4.build.core=arduino adafruit_trellis_m4.build.extra_flags=-D__SAMD51G19A__ -DCRYSTALLESS -DADAFRUIT_TRELLIS_M4_EXPRESS -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_trellis_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_trellis_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_trellis_m4.build.variant=trellis_m4 adafruit_trellis_m4.build.variant_system_lib= adafruit_trellis_m4.build.vid=0x239A @@ -1572,6 +1660,11 @@ adafruit_trellis_m4.menu.debug.off=Off adafruit_trellis_m4.menu.debug.on=On adafruit_trellis_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_trellis_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_trellis_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_trellis_m4.menu.debugger.jlink=J-Link +adafruit_trellis_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit PyPortal M4 (SAMD51) @@ -1604,7 +1697,6 @@ adafruit_pyportal_m4.build.board=PYPORTAL_M4 adafruit_pyportal_m4.build.core=arduino adafruit_pyportal_m4.build.extra_flags=-D__SAMD51J20A__ -DCRYSTALLESS -DADAFRUIT_PYPORTAL -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_pyportal_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_pyportal_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_pyportal_m4.build.variant=pyportal_m4 adafruit_pyportal_m4.build.variant_system_lib= adafruit_pyportal_m4.build.vid=0x239A @@ -1657,6 +1749,11 @@ adafruit_pyportal_m4.menu.debug.off=Off adafruit_pyportal_m4.menu.debug.on=On adafruit_pyportal_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_pyportal_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_pyportal_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_pyportal_m4.menu.debugger.jlink=J-Link +adafruit_pyportal_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit PyPortal M4 Titano (SAMD51) @@ -1687,7 +1784,6 @@ adafruit_pyportal_m4_titano.build.board=PYPORTAL_M4_TITANO adafruit_pyportal_m4_titano.build.core=arduino adafruit_pyportal_m4_titano.build.extra_flags=-D__SAMD51J20A__ -DCRYSTALLESS -DADAFRUIT_PYPORTAL_M4_TITANO -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_pyportal_m4_titano.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_pyportal_m4_titano.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_pyportal_m4_titano.build.variant=pyportal_m4_titano adafruit_pyportal_m4_titano.build.variant_system_lib= adafruit_pyportal_m4_titano.build.vid=0x239A @@ -1740,6 +1836,11 @@ adafruit_pyportal_m4_titano.menu.debug.off=Off adafruit_pyportal_m4_titano.menu.debug.on=On adafruit_pyportal_m4_titano.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_pyportal_m4_titano.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_pyportal_m4_titano.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_pyportal_m4_titano.menu.debugger.jlink=J-Link +adafruit_pyportal_m4_titano.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit pyBadge M4 Express (SAMD51) @@ -1774,7 +1875,6 @@ adafruit_pybadge_m4.build.board=PYBADGE_M4 adafruit_pybadge_m4.build.core=arduino adafruit_pybadge_m4.build.extra_flags=-D__SAMD51J19A__ -DCRYSTALLESS -DADAFRUIT_PYBADGE_M4_EXPRESS -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_pybadge_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_pybadge_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_pybadge_m4.build.variant=pybadge_m4 adafruit_pybadge_m4.build.variant_system_lib= adafruit_pybadge_m4.build.vid=0x239A @@ -1827,6 +1927,11 @@ adafruit_pybadge_m4.menu.debug.off=Off adafruit_pybadge_m4.menu.debug.on=On adafruit_pybadge_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_pybadge_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_pybadge_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_pybadge_m4.menu.debugger.jlink=J-Link +adafruit_pybadge_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit Metro M4 AirLift Lite (SAMD51) @@ -1857,7 +1962,6 @@ adafruit_metro_m4_airliftlite.build.board=METRO_M4_AIRLIFT_LITE adafruit_metro_m4_airliftlite.build.core=arduino adafruit_metro_m4_airliftlite.build.extra_flags=-D__SAMD51J19A__ -DADAFRUIT_METRO_M4_AIRLIFT_LITE -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_metro_m4_airliftlite.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_metro_m4_airliftlite.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_metro_m4_airliftlite.build.variant=metro_m4_airlift adafruit_metro_m4_airliftlite.build.variant_system_lib= adafruit_metro_m4_airliftlite.build.vid=0x239A @@ -1910,6 +2014,11 @@ adafruit_metro_m4_airliftlite.menu.debug.off=Off adafruit_metro_m4_airliftlite.menu.debug.on=On adafruit_metro_m4_airliftlite.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_metro_m4_airliftlite.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_metro_m4_airliftlite.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_metro_m4_airliftlite.menu.debugger.jlink=J-Link +adafruit_metro_m4_airliftlite.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit PyGamer M4 Express (SAMD51) @@ -1942,7 +2051,6 @@ adafruit_pygamer_m4.build.board=PYGAMER_M4 adafruit_pygamer_m4.build.core=arduino adafruit_pygamer_m4.build.extra_flags=-D__SAMD51J19A__ -DCRYSTALLESS -DADAFRUIT_PYGAMER_M4_EXPRESS -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_pygamer_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_pygamer_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_pygamer_m4.build.variant=pygamer_m4 adafruit_pygamer_m4.build.variant_system_lib= adafruit_pygamer_m4.build.vid=0x239A @@ -1995,6 +2103,11 @@ adafruit_pygamer_m4.menu.debug.off=Off adafruit_pygamer_m4.menu.debug.on=On adafruit_pygamer_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_pygamer_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_pygamer_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_pygamer_m4.menu.debugger.jlink=J-Link +adafruit_pygamer_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit pyBadge AirLift M4 (SAMD51) @@ -2027,7 +2140,6 @@ adafruit_pybadge_airlift_m4.build.board=PYBADGE_AIRLIFT_M4 adafruit_pybadge_airlift_m4.build.core=arduino adafruit_pybadge_airlift_m4.build.extra_flags=-D__SAMD51J20A__ -DCRYSTALLESS -DADAFRUIT_PYBADGE_AIRLIFT_M4 -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_pybadge_airlift_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_pybadge_airlift_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_pybadge_airlift_m4.build.variant=pybadge_airlift_m4 adafruit_pybadge_airlift_m4.build.variant_system_lib= adafruit_pybadge_airlift_m4.build.vid=0x239A @@ -2080,6 +2192,11 @@ adafruit_pybadge_airlift_m4.menu.debug.off=Off adafruit_pybadge_airlift_m4.menu.debug.on=On adafruit_pybadge_airlift_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_pybadge_airlift_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_pybadge_airlift_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_pybadge_airlift_m4.menu.debugger.jlink=J-Link +adafruit_pybadge_airlift_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit MONSTER M4SK (SAMD51) @@ -2112,7 +2229,6 @@ adafruit_monster_m4sk.build.board=MONSTER_M4SK adafruit_monster_m4sk.build.core=arduino adafruit_monster_m4sk.build.extra_flags=-D__SAMD51G19A__ -DCRYSTALLESS -DADAFRUIT_MONSTER_M4SK_EXPRESS -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_monster_m4sk.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_monster_m4sk.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_monster_m4sk.build.variant=monster_m4sk adafruit_monster_m4sk.build.variant_system_lib= adafruit_monster_m4sk.build.vid=0x239A @@ -2165,6 +2281,11 @@ adafruit_monster_m4sk.menu.debug.off=Off adafruit_monster_m4sk.menu.debug.on=On adafruit_monster_m4sk.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_monster_m4sk.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_monster_m4sk.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_monster_m4sk.menu.debugger.jlink=J-Link +adafruit_monster_m4sk.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit Hallowing M4 (SAMD51) @@ -2197,7 +2318,6 @@ adafruit_hallowing_m4.build.board=HALLOWING_M4 adafruit_hallowing_m4.build.core=arduino adafruit_hallowing_m4.build.extra_flags=-D__SAMD51J19A__ -DCRYSTALLESS -DADAFRUIT_HALLOWING_M4_EXPRESS -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_hallowing_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_hallowing_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_hallowing_m4.build.variant=hallowing_m4 adafruit_hallowing_m4.build.variant_system_lib= adafruit_hallowing_m4.build.vid=0x239A @@ -2250,6 +2370,11 @@ adafruit_hallowing_m4.menu.debug.off=Off adafruit_hallowing_m4.menu.debug.on=On adafruit_hallowing_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_hallowing_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_hallowing_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_hallowing_m4.menu.debugger.jlink=J-Link +adafruit_hallowing_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg # ----------------------------------- # Adafruit Matrix Portal M4 (SAMD51) @@ -2282,7 +2407,6 @@ adafruit_matrixportal_m4.build.board=MATRIXPORTAL_M4 adafruit_matrixportal_m4.build.core=arduino adafruit_matrixportal_m4.build.extra_flags=-D__SAMD51J19A__ -DCRYSTALLESS -DADAFRUIT_MATRIXPORTAL_M4_EXPRESS -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags} adafruit_matrixportal_m4.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld -adafruit_matrixportal_m4.build.openocdscript=scripts/openocd/samd5x.cfg adafruit_matrixportal_m4.build.variant=matrixportal_m4 adafruit_matrixportal_m4.build.variant_system_lib= adafruit_matrixportal_m4.build.vid=0x239A @@ -2335,3 +2459,8 @@ adafruit_matrixportal_m4.menu.debug.off=Off adafruit_matrixportal_m4.menu.debug.on=On adafruit_matrixportal_m4.menu.debug.on.build.flags.debug=-g +# Menu: Debugger +adafruit_matrixportal_m4.menu.debugger.daplink=CMSIS-DAP (DAPLink) +adafruit_matrixportal_m4.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_samd51.cfg +adafruit_matrixportal_m4.menu.debugger.jlink=J-Link +adafruit_matrixportal_m4.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_samd51.cfg diff --git a/platform.txt b/platform.txt index dd5f1de3..9f41204c 100644 --- a/platform.txt +++ b/platform.txt @@ -179,7 +179,7 @@ tools.openocd.cmd.windows=bin/openocd.exe tools.openocd.upload.params.verbose=-d2 tools.openocd.upload.params.quiet=-d0 -tools.openocd.upload.pattern="{path}/{cmd}" {upload.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/variants/{build.variant}/{build.openocdscript}" -c "telnet_port disabled; program {{build.path}/{build.project_name}.bin} verify reset 0x2000; shutdown" +tools.openocd.upload.pattern="{path}/{cmd}" {upload.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/{build.openocdscript}" -c "telnet_port disabled; program {{build.path}/{build.project_name}.bin} verify reset 0x2000; shutdown" tools.openocd.network_cmd={runtime.tools.arduinoOTA.path}/bin/arduinoOTA tools.openocd.upload.network_pattern={network_cmd} -address {serial.port} -port 65280 -username arduino -password "{network.password}" -sketch "{build.path}/{build.project_name}.bin" -upload /sketch -b @@ -187,7 +187,7 @@ tools.openocd.upload.network_pattern={network_cmd} -address {serial.port} -port # Program flashes the binary at 0x0000, so use the linker script without_bootloader tools.openocd.program.params.verbose=-d2 tools.openocd.program.params.quiet=-d0 -tools.openocd.program.pattern="{path}/{cmd}" {program.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/variants/{build.variant}/{build.openocdscript}" -c "telnet_port disabled; program {{build.path}/{build.project_name}.elf} verify reset; shutdown" +tools.openocd.program.pattern="{path}/{cmd}" {program.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/{build.openocdscript}" -c "telnet_port disabled; program {{build.path}/{build.project_name}.elf} verify reset; shutdown" tools.openocd.erase.params.verbose=-d3 tools.openocd.erase.params.quiet=-d0 @@ -195,7 +195,7 @@ tools.openocd.erase.pattern= tools.openocd.bootloader.params.verbose=-d2 tools.openocd.bootloader.params.quiet=-d0 -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" +tools.openocd.bootloader.pattern="{path}/{cmd}" {bootloader.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/{build.openocdscript}" -c "telnet_port disabled; init; halt; at91samd bootloader 0; program {{runtime.platform.path}/bootloaders/{bootloader.file}} verify reset; shutdown" # # OpenOCD sketch upload - version with configurable bootloader size @@ -208,12 +208,12 @@ tools.openocd-withbootsize.cmd.windows=bin/openocd.exe tools.openocd-withbootsize.upload.params.verbose=-d2 tools.openocd-withbootsize.upload.params.quiet=-d0 -tools.openocd-withbootsize.upload.pattern="{path}/{cmd}" {upload.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/variants/{build.variant}/{build.openocdscript}" -c "telnet_port disabled; program {{build.path}/{build.project_name}.bin} verify reset {bootloader.size}; shutdown" +tools.openocd-withbootsize.upload.pattern="{path}/{cmd}" {upload.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/{build.openocdscript}" -c "telnet_port disabled; program {{build.path}/{build.project_name}.bin} verify reset {bootloader.size}; shutdown" # Program flashes the binary at 0x0000, so use the linker script without_bootloader tools.openocd-withbootsize.program.params.verbose=-d2 tools.openocd-withbootsize.program.params.quiet=-d0 -tools.openocd-withbootsize.program.pattern="{path}/{cmd}" {program.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/variants/{build.variant}/{build.openocdscript}" -c "telnet_port disabled; program {{build.path}/{build.project_name}.elf} verify reset; shutdown" +tools.openocd-withbootsize.program.pattern="{path}/{cmd}" {program.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/{build.openocdscript}" -c "telnet_port disabled; program {{build.path}/{build.project_name}.elf} verify reset; shutdown" tools.openocd-withbootsize.erase.params.verbose=-d3 tools.openocd-withbootsize.erase.params.quiet=-d0 @@ -221,7 +221,7 @@ tools.openocd-withbootsize.erase.pattern= tools.openocd-withbootsize.bootloader.params.verbose=-d2 tools.openocd-withbootsize.bootloader.params.quiet=-d0 -tools.openocd-withbootsize.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" +tools.openocd-withbootsize.bootloader.pattern="{path}/{cmd}" {bootloader.verbose} -s "{path}/share/openocd/scripts/" -f "{runtime.platform.path}/{build.openocdscript}" -c "telnet_port disabled; init; halt; at91samd bootloader 0; program {{runtime.platform.path}/bootloaders/{bootloader.file}} verify reset; shutdown" # ---------------------------------------- # Debugger configuration (general options) @@ -232,13 +232,17 @@ debug.executable={build.path}/{build.project_name}.elf debug.toolchain=gcc debug.toolchain.path={runtime.tools.arm-none-eabi-gcc.path}/bin/ debug.toolchain.prefix=arm-none-eabi- + debug.server=openocd debug.server.openocd.path={runtime.tools.openocd.path}/bin/openocd debug.server.openocd.scripts_dir={runtime.tools.openocd.path}/share/openocd/scripts/ debug.server.openocd.script={runtime.platform.path}/{build.openocdscript} -# jlink is not supported by arduino-cli yet, but supported by IDE +# JLinkServer is not supported by arduino-cli yet +# https://github.com/arduino/arduino-cli/blob/eca9d9a8f00582a08fadea8a4b7e3ef01b40d082/commands/debug/debug.go#L160 +# use debug_custom.json to run JLinkGDBServer instead +# https://docs.arduino.cc/tutorials/mkr-wifi-1010/mkr-jlink-setup #debug.server=jlink -#debug.server.jlink.path={runtime.tools.openocd.path}/bin/openocd -#debug.server.jlink.scripts_dir={runtime.tools.openocd.path}/share/openocd/scripts/ +#debug.server.jlink.path=JLinkGDBServer +#debug.server.jlink.device=ATSAMD21G18 #debug.server.jlink.script={runtime.platform.path}/{build.openocdscript} diff --git a/scripts/jlink/samd21/debug_custom.json b/scripts/jlink/samd21/debug_custom.json new file mode 100644 index 00000000..f5b62524 --- /dev/null +++ b/scripts/jlink/samd21/debug_custom.json @@ -0,0 +1,6 @@ +{ + "servertype": "jlink", + "device": "ATSAMD21G18A", + "interface": "SWD", + "serverpath": "JLinkGDBServer" +} diff --git a/scripts/jlink/samd51/debug_custom.json b/scripts/jlink/samd51/debug_custom.json new file mode 100644 index 00000000..13f57395 --- /dev/null +++ b/scripts/jlink/samd51/debug_custom.json @@ -0,0 +1,6 @@ +{ + "servertype": "jlink", + "device": "ATSAMD51G18", + "interface": "SWD", + "serverpath": "JLinkGDBServer" +} diff --git a/scripts/openocd/samd2x.cfg b/scripts/openocd/daplink_samd21.cfg similarity index 100% rename from scripts/openocd/samd2x.cfg rename to scripts/openocd/daplink_samd21.cfg diff --git a/scripts/openocd/same5x.cfg b/scripts/openocd/daplink_samd51.cfg similarity index 97% rename from scripts/openocd/same5x.cfg rename to scripts/openocd/daplink_samd51.cfg index 3a7dd2b7..f87fdeeb 100644 --- a/scripts/openocd/same5x.cfg +++ b/scripts/openocd/daplink_samd51.cfg @@ -22,6 +22,6 @@ source [find interface/cmsis-dap.cfg] transport select swd # chip name -set CHIPNAME same51 +set CHIPNAME samd51 source [find target/atsame5x.cfg] diff --git a/scripts/openocd/jlink_samd21.cfg b/scripts/openocd/jlink_samd21.cfg new file mode 100644 index 00000000..8fbe21bb --- /dev/null +++ b/scripts/openocd/jlink_samd21.cfg @@ -0,0 +1,27 @@ +# +# Arduino Zero OpenOCD script. +# +# Copyright (c) 2014-2015 Arduino LLC. All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +source [find interface/jlink.cfg] +transport select swd + +# chip name +set CHIPNAME samd21 + +source [find target/at91samdXX.cfg] diff --git a/scripts/openocd/samd5x.cfg b/scripts/openocd/jlink_samd51.cfg similarity index 92% rename from scripts/openocd/samd5x.cfg rename to scripts/openocd/jlink_samd51.cfg index 81cf0825..fd398ef6 100644 --- a/scripts/openocd/samd5x.cfg +++ b/scripts/openocd/jlink_samd51.cfg @@ -18,8 +18,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -source [find interface/cmsis-dap.cfg] -#source [find interface/jlink.cfg] +source [find interface/jlink.cfg] transport select swd # chip name diff --git a/tools/makeboards.py b/tools/makeboards.py index eedd3db3..4ce36907 100755 --- a/tools/makeboards.py +++ b/tools/makeboards.py @@ -25,7 +25,6 @@ mcu_dict = { 'build_mcu': 'cortex-m0plus', 'f_cpu': '48000000L', 'extra_flags': '-DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS', - 'openocdscript': 'scripts/openocd/samd2x.cfg', }, 'SAMD51': { @@ -35,7 +34,6 @@ mcu_dict = { 'build_mcu': 'cortex-m4', 'f_cpu': '120000000L', 'extra_flags': '-D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16', - 'openocdscript': 'scripts/openocd/samd5x.cfg', }, 'SAME51': { @@ -45,8 +43,7 @@ mcu_dict = { 'build_mcu': 'cortex-m4', 'f_cpu': '120000000L', 'extra_flags': '-D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16', - 'openocdscript': 'scripts/openocd/same5x.cfg', - }, + }, } @@ -106,7 +103,6 @@ def build_build(mcu, name, variant, vendor, product, vid, pid_list, boarddefine, print(f"{name}.build.extra_flags={extra_flags} {mcu_properties['extra_flags']} {{build.usb_flags}}") print(f"{name}.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld") - print(f"{name}.build.openocdscript={mcu_properties['openocdscript']}") print(f"{name}.build.variant={variant}") print(f"{name}.build.variant_system_lib=") print(f"{name}.build.vid={vid}") @@ -171,6 +167,13 @@ def build_menu(mcu, name): print(f"{name}.menu.debug.on.build.flags.debug=-g") print() + print("# Menu: Debugger") + script_mcu = 'samd21' if mcu == 'SAMD21' else 'samd51' + print(f"{name}.menu.debugger.daplink=CMSIS-DAP (DAPLink)") + print(f"{name}.menu.debugger.daplink.build.openocdscript=scripts/openocd/daplink_{script_mcu}.cfg") + print(f"{name}.menu.debugger.jlink=J-Link") + print(f"{name}.menu.debugger.jlink.build.openocdscript=scripts/openocd/jlink_{script_mcu}.cfg") + def build_global_menu(): print("menu.cache=Cache") @@ -179,6 +182,7 @@ def build_global_menu(): print("menu.maxqspi=Max QSPI") print("menu.usbstack=USB Stack") print("menu.debug=Debug") + print("menu.debugger=Debugger") def make_board(mcu, name, variant, vendor, product, vid, pid_list, boarddefine, extra_flags, bootloader):