@@ -123,9 +123,20 @@ Nucleo_144.menu.upload_method.MassStorage=Mass Storage
123123Nucleo_144.menu.upload_method.MassStorage.upload.protocol=
124124Nucleo_144.menu.upload_method.MassStorage.upload.tool=massStorageCopy
125125
126- Nucleo_144.menu.upload_method.STLink=STLink
127- Nucleo_144.menu.upload_method.STLink.upload.protocol=STLink
128- Nucleo_144.menu.upload_method.STLink.upload.tool=stlink_upload
126+ Nucleo_144.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
127+ Nucleo_144.menu.upload_method.swdMethod.upload.protocol=0
128+ Nucleo_144.menu.upload_method.swdMethod.upload.options=-rst
129+ Nucleo_144.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
130+
131+ Nucleo_144.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
132+ Nucleo_144.menu.upload_method.serialMethod.upload.protocol=1
133+ Nucleo_144.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
134+ Nucleo_144.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
135+
136+ Nucleo_144.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
137+ Nucleo_144.menu.upload_method.dfuMethod.upload.protocol=2
138+ Nucleo_144.menu.upload_method.dfuMethod.upload.options=
139+ Nucleo_144.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
129140
130141################################################################################
131142# Nucleo 64 boards
@@ -326,9 +337,20 @@ Nucleo_64.menu.upload_method.MassStorage=Mass Storage
326337Nucleo_64.menu.upload_method.MassStorage.upload.protocol=
327338Nucleo_64.menu.upload_method.MassStorage.upload.tool=massStorageCopy
328339
329- Nucleo_64.menu.upload_method.STLink=STLink
330- Nucleo_64.menu.upload_method.STLink.upload.protocol=STLink
331- Nucleo_64.menu.upload_method.STLink.upload.tool=stlink_upload
340+ Nucleo_64.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
341+ Nucleo_64.menu.upload_method.swdMethod.upload.protocol=0
342+ Nucleo_64.menu.upload_method.swdMethod.upload.options=-rst
343+ Nucleo_64.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
344+
345+ Nucleo_64.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
346+ Nucleo_64.menu.upload_method.serialMethod.upload.protocol=1
347+ Nucleo_64.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
348+ Nucleo_64.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
349+
350+ Nucleo_64.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
351+ Nucleo_64.menu.upload_method.dfuMethod.upload.protocol=2
352+ Nucleo_64.menu.upload_method.dfuMethod.upload.options=
353+ Nucleo_64.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
332354
333355################################################################################
334356# Nucleo 32 boards
@@ -393,9 +415,20 @@ Nucleo_32.menu.upload_method.MassStorage=Mass Storage
393415Nucleo_32.menu.upload_method.MassStorage.upload.protocol=
394416Nucleo_32.menu.upload_method.MassStorage.upload.tool=massStorageCopy
395417
396- Nucleo_32.menu.upload_method.STLink=STLink
397- Nucleo_32.menu.upload_method.STLink.upload.protocol=STLink
398- Nucleo_32.menu.upload_method.STLink.upload.tool=stlink_upload
418+ Nucleo_32.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
419+ Nucleo_32.menu.upload_method.swdMethod.upload.protocol=0
420+ Nucleo_32.menu.upload_method.swdMethod.upload.options=-rst
421+ Nucleo_32.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
422+
423+ Nucleo_32.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
424+ Nucleo_32.menu.upload_method.serialMethod.upload.protocol=1
425+ Nucleo_32.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
426+ Nucleo_32.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
427+
428+ Nucleo_32.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
429+ Nucleo_32.menu.upload_method.dfuMethod.upload.protocol=2
430+ Nucleo_32.menu.upload_method.dfuMethod.upload.options=
431+ Nucleo_32.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
399432
400433################################################################################
401434# Discovery boards
@@ -497,9 +530,20 @@ Disco.menu.upload_method.MassStorage=Mass Storage
497530Disco.menu.upload_method.MassStorage.upload.protocol=
498531Disco.menu.upload_method.MassStorage.upload.tool=massStorageCopy
499532
500- Disco.menu.upload_method.STLink=STLink
501- Disco.menu.upload_method.STLink.upload.protocol=STLink
502- Disco.menu.upload_method.STLink.upload.tool=stlink_upload
533+ Disco.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
534+ Disco.menu.upload_method.swdMethod.upload.protocol=0
535+ Disco.menu.upload_method.swdMethod.upload.options=-rst
536+ Disco.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
537+
538+ Disco.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
539+ Disco.menu.upload_method.serialMethod.upload.protocol=1
540+ Disco.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
541+ Disco.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
542+
543+ Disco.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
544+ Disco.menu.upload_method.dfuMethod.upload.protocol=2
545+ Disco.menu.upload_method.dfuMethod.upload.options=
546+ Disco.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
503547
504548################################################################################
505549# Other boards
@@ -524,13 +568,20 @@ GenF0.menu.pnum.DEMO_F030F4.build.variant=DEMO_F030F4
524568GenF0.menu.pnum.DEMO_F030F4.build.cmsis_lib_gcc=arm_cortexM0l_math
525569
526570# Upload menu
527- GenF0.menu.upload_method.STLinkMethod=STLink
528- GenF0.menu.upload_method.STLinkMethod.upload.protocol=STLink
529- GenF0.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
571+ GenF0.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
572+ GenF0.menu.upload_method.swdMethod.upload.protocol=0
573+ GenF0.menu.upload_method.swdMethod.upload.options=-rst
574+ GenF0.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
575+
576+ GenF0.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
577+ GenF0.menu.upload_method.serialMethod.upload.protocol=1
578+ GenF0.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
579+ GenF0.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
530580
531- GenF0.menu.upload_method.serialMethod=Serial
532- GenF0.menu.upload_method.serialMethod.upload.protocol=maple_serial
533- GenF0.menu.upload_method.serialMethod.upload.tool=serial_upload
581+ GenF0.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
582+ GenF0.menu.upload_method.dfuMethod.upload.protocol=2
583+ GenF0.menu.upload_method.dfuMethod.upload.options=
584+ GenF0.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
534585
535586################################################################################
536587# Generic F1
@@ -599,13 +650,20 @@ GenF1.menu.pnum.HY_TinySTM103TB.build.product_line=STM32F103xB
599650GenF1.menu.pnum.HY_TinySTM103TB.build.variant=HY_TinySTM103T
600651
601652# Upload menu
602- GenF1.menu.upload_method.STLinkMethod=STLink
603- GenF1.menu.upload_method.STLinkMethod.upload.protocol=STLink
604- GenF1.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
653+ GenF1.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
654+ GenF1.menu.upload_method.swdMethod.upload.protocol=0
655+ GenF1.menu.upload_method.swdMethod.upload.options=-rst
656+ GenF1.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
605657
606- GenF1.menu.upload_method.serialMethod=Serial
607- GenF1.menu.upload_method.serialMethod.upload.protocol=maple_serial
608- GenF1.menu.upload_method.serialMethod.upload.tool=serial_upload
658+ GenF1.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
659+ GenF1.menu.upload_method.serialMethod.upload.protocol=1
660+ GenF1.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
661+ GenF1.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
662+
663+ GenF1.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
664+ GenF1.menu.upload_method.dfuMethod.upload.protocol=2
665+ GenF1.menu.upload_method.dfuMethod.upload.options=
666+ GenF1.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
609667
610668GenF1.menu.upload_method.bmpMethod=BMP (Black Magic Probe)
611669GenF1.menu.upload_method.bmpMethod.upload.protocol=gdb_bmp
@@ -681,13 +739,20 @@ GenF4.menu.pnum.FK407M1.build.product_line=STM32F407xx
681739GenF4.menu.pnum.FK407M1.build.variant=FK407M1
682740
683741# Upload menu
684- GenF4.menu.upload_method.STLink=STLink
685- GenF4.menu.upload_method.STLink.upload.protocol=STLink
686- GenF4.menu.upload_method.STLink.upload.tool=stlink_upload
742+ GenF4.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
743+ GenF4.menu.upload_method.swdMethod.upload.protocol=0
744+ GenF4.menu.upload_method.swdMethod.upload.options=-rst
745+ GenF4.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
746+
747+ GenF4.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
748+ GenF4.menu.upload_method.serialMethod.upload.protocol=1
749+ GenF4.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
750+ GenF4.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
687751
688- GenF4.menu.upload_method.serialMethod=Serial
689- GenF4.menu.upload_method.serialMethod.upload.protocol=maple_serial
690- GenF4.menu.upload_method.serialMethod.upload.tool=serial_upload
752+ GenF4.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
753+ GenF4.menu.upload_method.dfuMethod.upload.protocol=2
754+ GenF4.menu.upload_method.dfuMethod.upload.options=
755+ GenF4.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
691756
692757GenF4.menu.upload_method.bmpMethod=BMP (Black Magic Probe)
693758GenF4.menu.upload_method.bmpMethod.upload.protocol=gdb_bmp
@@ -715,9 +780,20 @@ Sparky.menu.pnum.Sparky_V1.build.variant=SPARKY_F303CC
715780Sparky.menu.pnum.Sparky_V1.build.cmsis_lib_gcc=arm_cortexM4l_math
716781
717782# Upload menu
718- Sparky.menu.upload_method.STLinkMethod=STLink
719- Sparky.menu.upload_method.STLinkMethod.upload.protocol=STLink
720- Sparky.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
783+ Sparky.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
784+ Sparky.menu.upload_method.swdMethod.upload.protocol=0
785+ Sparky.menu.upload_method.swdMethod.upload.options=-rst
786+ Sparky.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
787+
788+ Sparky.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
789+ Sparky.menu.upload_method.serialMethod.upload.protocol=1
790+ Sparky.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
791+ Sparky.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
792+
793+ Sparky.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
794+ Sparky.menu.upload_method.dfuMethod.upload.protocol=2
795+ Sparky.menu.upload_method.dfuMethod.upload.options=
796+ Sparky.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
721797
722798################################################################################
723799# RAK boards
@@ -748,13 +824,20 @@ RAK.menu.pnum.RAK811_TRACKERA.build.product_line=STM32L151xBA
748824RAK.menu.pnum.RAK811_TRACKERA.build.variant=RAK811_TRACKER
749825
750826# Upload menu
751- RAK.menu.upload_method.serialMethod=Serial
752- RAK.menu.upload_method.serialMethod.upload.protocol=maple_serial
753- RAK.menu.upload_method.serialMethod.upload.tool=serial_upload
827+ RAK.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
828+ RAK.menu.upload_method.swdMethod.upload.protocol=0
829+ RAK.menu.upload_method.swdMethod.upload.options=-rst
830+ RAK.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
831+
832+ RAK.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
833+ RAK.menu.upload_method.serialMethod.upload.protocol=1
834+ RAK.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
835+ RAK.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
754836
755- RAK.menu.upload_method.STLink=STLink
756- RAK.menu.upload_method.STLink.upload.protocol=STLink
757- RAK.menu.upload_method.STLink.upload.tool=stlink_upload
837+ RAK.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
838+ RAK.menu.upload_method.dfuMethod.upload.protocol=2
839+ RAK.menu.upload_method.dfuMethod.upload.options=
840+ RAK.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
758841
759842###############################
760843# 3D printer boards
@@ -824,6 +907,18 @@ RAK.menu.upload_method.STLink.upload.tool=stlink_upload
8249073dprinter.menu.pnum.EEXTR_F030_V1.build.cmsis_lib_gcc=arm_cortexM0l_math
825908
826909# MALYANM200_F103CB board
910+ 3dprinter.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
911+ 3dprinter.menu.upload_method.swdMethod.upload.protocol=SWD
912+ 3dprinter.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
913+
914+ 3dprinter.menu.upload_method.STLinkMethod=STLink (deprecated)
915+ 3dprinter.menu.upload_method.STLinkMethod.upload.protocol=STLink
916+ 3dprinter.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
917+
918+ 3dprinter.menu.upload_method.serialMethod=Serial
919+ 3dprinter.menu.upload_method.serialMethod.upload.protocol=maple_serial
920+ 3dprinter.menu.upload_method.serialMethod.upload.tool=serial_upload
921+
8279223dprinter.menu.pnum.MALYANM200_F103CB=Malyan M200 V1
8289233dprinter.menu.pnum.MALYANM200_F103CB.upload.maximum_size=122880
8299243dprinter.menu.pnum.MALYANM200_F103CB.upload.maximum_data_size=20480
@@ -850,13 +945,20 @@ RAK.menu.upload_method.STLink.upload.tool=stlink_upload
8509453dprinter.menu.pnum.MALYANM200_F070CB.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} -DVECT_TAB_OFFSET=0x2000
851946
852947# Upload menu
853- 3dprinter.menu.upload_method.STLinkMethod=STLink
854- 3dprinter.menu.upload_method.STLinkMethod.upload.protocol=STLink
855- 3dprinter.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
856-
857- 3dprinter.menu.upload_method.serialMethod=Serial
858- 3dprinter.menu.upload_method.serialMethod.upload.protocol=maple_serial
859- 3dprinter.menu.upload_method.serialMethod.upload.tool=serial_upload
948+ 3dprinter.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
949+ 3dprinter.menu.upload_method.swdMethod.upload.protocol=0
950+ 3dprinter.menu.upload_method.swdMethod.upload.options=-rst
951+ 3dprinter.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
952+
953+ 3dprinter.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
954+ 3dprinter.menu.upload_method.serialMethod.upload.protocol=1
955+ 3dprinter.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
956+ 3dprinter.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
957+
958+ 3dprinter.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
959+ 3dprinter.menu.upload_method.dfuMethod.upload.protocol=2
960+ 3dprinter.menu.upload_method.dfuMethod.upload.options=
961+ 3dprinter.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
860962
861963################################################################################
862964# Serialx activation