diff --git a/STM32/boards.txt b/STM32/boards.txt index 73de956..1c770ad 100644 --- a/STM32/boards.txt +++ b/STM32/boards.txt @@ -4,6 +4,7 @@ menu.serial=Serial communication menu.subboard=Specific Board menu.upload_method=Upload method menu.usb=USB +menu.jtag_swd=JTAG/SWD debugging ################################################################################ @@ -76,6 +77,12 @@ MapleMini_F103CB.menu.serial.SerialUSB.build.extra_flags_serial=-DMENU_SERIAL=Se MapleMini_F103CB.menu.serial.SerialUART1=SerialUART1 MapleMini_F103CB.menu.serial.SerialUART1.build.extra_flags_serial=-DMENU_SERIAL=SerialUART1 +MapleMini_F103CB.menu.jtag_swd.Disabled=Disabled [debug pins free] +MapleMini_F103CB.menu.jtag_swd.Disabled.build.extra_flags_jtag=-DMENU_DEBUG_DISABLED +MapleMini_F103CB.menu.jtag_swd.SWD=SWD [debug pins reserved: 21(PA14), 22(PA13)] +MapleMini_F103CB.menu.jtag_swd.SWD.build.extra_flags_jtag=-DMENU_DEBUG_SWD +MapleMini_F103CB.menu.jtag_swd.JTAG=JTAG [debug pins reserved: 18(PB4), 19(PB3), 20(PA15), 21(PA14), 22(PA13)] +MapleMini_F103CB.menu.jtag_swd.JTAG.build.extra_flags_jtag=-DMENU_DEBUG_JTAG ################################################################################ # BluePill board @@ -135,6 +142,13 @@ BluePill.menu.serial.SerialUSB.build.extra_flags_serial=-DMENU_SERIAL=SerialUSB BluePill.menu.serial.SerialUART1=SerialUART1 BluePill.menu.serial.SerialUART1.build.extra_flags_serial=-DMENU_SERIAL=SerialUART1 +BluePill.menu.jtag_swd.SWD=SWD [debug pins reserved: IO(PA13), CLK(PA14)] +BluePill.menu.jtag_swd.SWD.build.extra_flags_jtag=-DMENU_DEBUG_SWD +BluePill.menu.jtag_swd.JTAG=JTAG [debug pins reserved: IO(PA13), CLK(PA14), PA15, PB3, PB4] +BluePill.menu.jtag_swd.JTAG.build.extra_flags_jtag=-DMENU_DEBUG_JTAG +BluePill.menu.jtag_swd.Disabled=Disabled [debug pins free] +BluePill.menu.jtag_swd.Disabled.build.extra_flags_jtag=-DMENU_DEBUG_DISABLED + ################################################################################ # Generic F103RF board diff --git a/STM32/cores/arduino/main.cpp b/STM32/cores/arduino/main.cpp index 65f4011..6c7570c 100644 --- a/STM32/cores/arduino/main.cpp +++ b/STM32/cores/arduino/main.cpp @@ -47,6 +47,14 @@ int main(void) initVariant(); + #if defined(MENU_DEBUG_DISABLED) + __HAL_AFIO_REMAP_SWJ_DISABLE(); + #elif defined(MENU_DEBUG_SWD) + __HAL_AFIO_REMAP_SWJ_NOJTAG(); + #elif defined(MENU_DEBUG_JTAG) + __HAL_AFIO_REMAP_SWJ_ENABLE(); + #endif + #if defined(USB_BASE) || defined(USB_OTG_DEVICE_BASE) #ifdef MENU_USB_SERIAL diff --git a/STM32/platform.txt b/STM32/platform.txt index 066c148..e75f4ce 100644 --- a/STM32/platform.txt +++ b/STM32/platform.txt @@ -51,7 +51,8 @@ build.extra_flags= build.extra_flags_usb= build.extra_flags_serial= build.extra_flags_serial_auto= -build.extra_flags_menu={build.extra_flags_usb} {build.extra_flags_serial} {build.extra_flags_serial_auto} +build.extra_flags_jtag= +build.extra_flags_menu={build.extra_flags_usb} {build.extra_flags_serial} {build.extra_flags_serial_auto} {build.extra_flags_jtag} build.ldscript=ldscript.ld # These can be overridden in platform.local.txt