Skip to content

Commit d739bec

Browse files
committed
fix(programmer): properly define programmer interface
Fixes stm32duino#2415 Signed-off-by: Frederic Pillon <[email protected]>
1 parent 74255d5 commit d739bec

File tree

3 files changed

+62
-47
lines changed

3 files changed

+62
-47
lines changed

Diff for: boards.txt

+36-36
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Nucleo_144.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build
2323
Nucleo_144.build.flash_offset=0x0
2424
Nucleo_144.upload.maximum_size=0
2525
Nucleo_144.upload.maximum_data_size=0
26-
Nucleo_144.programmer.default=stlink
26+
Nucleo_144.programmer.default=stlink_swd
2727
Nucleo_144.vid.0=0x0483
2828
Nucleo_144.pid.0=0x5740
2929
Nucleo_144.vid.1=0x0483
@@ -395,7 +395,7 @@ Nucleo_64.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.
395395
Nucleo_64.build.flash_offset=0x0
396396
Nucleo_64.upload.maximum_size=0
397397
Nucleo_64.upload.maximum_data_size=0
398-
Nucleo_64.programmer.default=stlink
398+
Nucleo_64.programmer.default=stlink_swd
399399
Nucleo_64.vid.0=0x0483
400400
Nucleo_64.pid.0=0x5740
401401
# STlink V1/V2.1/V3
@@ -875,7 +875,7 @@ Nucleo_32.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.
875875
Nucleo_32.build.flash_offset=0x0
876876
Nucleo_32.upload.maximum_size=0
877877
Nucleo_32.upload.maximum_data_size=0
878-
Nucleo_32.programmer.default=stlink
878+
Nucleo_32.programmer.default=stlink_swd
879879
Nucleo_32.vid.0=0x0483
880880
Nucleo_32.pid.0=0x5740
881881
# STlink V1/V2.1/V3
@@ -1038,7 +1038,7 @@ Disco.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSer
10381038
Disco.build.flash_offset=0x0
10391039
Disco.upload.maximum_size=0
10401040
Disco.upload.maximum_data_size=0
1041-
Disco.programmer.default=stlink
1041+
Disco.programmer.default=stlink_swd
10421042
Disco.vid.0=0x0483
10431043
Disco.pid.0=0x5740
10441044
# STlink V1/V2.1/V3
@@ -1359,7 +1359,7 @@ Eval.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSeri
13591359
Eval.build.flash_offset=0x0
13601360
Eval.upload.maximum_size=0
13611361
Eval.upload.maximum_data_size=0
1362-
Eval.programmer.default=stlink
1362+
Eval.programmer.default=stlink_swd
13631363
Eval.vid.0=0x0483
13641364
Eval.pid.0=0x5740
13651365
# STlink V1/V2.1/V3
@@ -1425,7 +1425,7 @@ STM32MP1.name=STM32MP1 series coprocessor
14251425
STM32MP1.build.flash_offset=0x0
14261426
STM32MP1.upload.maximum_size=0
14271427
STM32MP1.upload.maximum_data_size=0
1428-
STM32MP1.programmer.default=stlink
1428+
STM32MP1.programmer.default=stlink_swd
14291429
STM32MP1.vid.0=0x0483
14301430
STM32MP1.pid.0=0x5740
14311431

@@ -1474,7 +1474,7 @@ GenC0.build.st_extra_flags=-D{build.product_line} {build.xSerial} -D__CORTEX_SC=
14741474
GenC0.build.flash_offset=0x0
14751475
GenC0.upload.maximum_size=0
14761476
GenC0.upload.maximum_data_size=0
1477-
GenC0.programmer.default=stlink
1477+
GenC0.programmer.default=stlink_swd
14781478
GenC0.debug.server.openocd.scripts.2=target/stm32c0x.cfg
14791479
GenC0.vid.0=0x0483
14801480
GenC0.pid.0=0x5740
@@ -1619,7 +1619,7 @@ GenF0.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSer
16191619
GenF0.build.flash_offset=0x0
16201620
GenF0.upload.maximum_size=0
16211621
GenF0.upload.maximum_data_size=0
1622-
GenF0.programmer.default=stlink
1622+
GenF0.programmer.default=stlink_swd
16231623
GenF0.debug.server.openocd.scripts.2=target/stm32f0x.cfg
16241624
GenF0.vid.0=0x0483
16251625
GenF0.pid.0=0x5740
@@ -2528,7 +2528,7 @@ GenF1.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSer
25282528
GenF1.build.flash_offset=0x0
25292529
GenF1.upload.maximum_size=0
25302530
GenF1.upload.maximum_data_size=0
2531-
GenF1.programmer.default=stlink
2531+
GenF1.programmer.default=stlink_swd
25322532
GenF1.debug.server.openocd.scripts.2=target/stm32f1x.cfg
25332533
GenF1.vid.0=0x0483
25342534
GenF1.pid.0=0x5740
@@ -3373,7 +3373,7 @@ GenF2.build.series=STM32F2xx
33733373
GenF2.build.flash_offset=0x0
33743374
GenF2.upload.maximum_size=0
33753375
GenF2.upload.maximum_data_size=0
3376-
GenF2.programmer.default=stlink
3376+
GenF2.programmer.default=stlink_swd
33773377
GenF2.debug.server.openocd.scripts.2=target/stm32f2x.cfg
33783378
GenF2.vid.0=0x0483
33793379
GenF2.pid.0=0x5740
@@ -3832,7 +3832,7 @@ GenF3.build.series=STM32F3xx
38323832
GenF3.build.flash_offset=0x0
38333833
GenF3.upload.maximum_size=0
38343834
GenF3.upload.maximum_data_size=0
3835-
GenF3.programmer.default=stlink
3835+
GenF3.programmer.default=stlink_swd
38363836
GenF3.debug.server.openocd.scripts.2=target/stm32f3x.cfg
38373837
GenF3.vid.0=0x0483
38383838
GenF3.pid.0=0x5740
@@ -4288,7 +4288,7 @@ GenF4.build.series=STM32F4xx
42884288
GenF4.build.flash_offset=0x0
42894289
GenF4.upload.maximum_size=0
42904290
GenF4.upload.maximum_data_size=0
4291-
GenF4.programmer.default=stlink
4291+
GenF4.programmer.default=stlink_swd
42924292
GenF4.debug.server.openocd.scripts.2=target/stm32f4x.cfg
42934293
GenF4.vid.0=0x0483
42944294
GenF4.pid.0=0x5740
@@ -5304,7 +5304,7 @@ GenF7.build.series=STM32F7xx
53045304
GenF7.build.flash_offset=0x0
53055305
GenF7.upload.maximum_size=0
53065306
GenF7.upload.maximum_data_size=0
5307-
GenF7.programmer.default=stlink
5307+
GenF7.programmer.default=stlink_swd
53085308
GenF7.debug.server.openocd.scripts.2=target/stm32f7x.cfg
53095309
GenF7.vid.0=0x0483
53105310
GenF7.pid.0=0x5740
@@ -5832,7 +5832,7 @@ GenG0.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSer
58325832
GenG0.build.flash_offset=0x0
58335833
GenG0.upload.maximum_size=0
58345834
GenG0.upload.maximum_data_size=0
5835-
GenG0.programmer.default=stlink
5835+
GenG0.programmer.default=stlink_swd
58365836
GenG0.debug.server.openocd.scripts.2=target/stm32g0x.cfg
58375837
GenG0.vid.0=0x0483
58385838
GenG0.pid.0=0x5740
@@ -7246,7 +7246,7 @@ GenG4.build.series=STM32G4xx
72467246
GenG4.build.flash_offset=0x0
72477247
GenG4.upload.maximum_size=0
72487248
GenG4.upload.maximum_data_size=0
7249-
GenG4.programmer.default=stlink
7249+
GenG4.programmer.default=stlink_swd
72507250
GenG4.debug.server.openocd.scripts.2=target/stm32g4x.cfg
72517251
GenG4.vid.0=0x0483
72527252
GenG4.pid.0=0x5740
@@ -8415,7 +8415,7 @@ GenH5.build.series=STM32H5xx
84158415
GenH5.build.flash_offset=0x0
84168416
GenH5.upload.maximum_size=0
84178417
GenH5.upload.maximum_data_size=0
8418-
GenH5.programmer.default=stlink
8418+
GenH5.programmer.default=stlink_swd
84198419
# Current openocd version does not support H5
84208420
# GenH5.debug.server.openocd.scripts.2=target/stm32h5x.cfg
84218421
GenH5.vid.0=0x0483
@@ -8505,7 +8505,7 @@ GenH7.build.mcu=cortex-m7
85058505
GenH7.build.flash_offset=0x0
85068506
GenH7.upload.maximum_size=0
85078507
GenH7.upload.maximum_data_size=0
8508-
GenH7.programmer.default=stlink
8508+
GenH7.programmer.default=stlink_swd
85098509
GenH7.debug.server.openocd.scripts.2=target/stm32h7x.cfg
85108510
GenH7.vid.0=0x0483
85118511
GenH7.pid.0=0x5740
@@ -9140,7 +9140,7 @@ GenL0.build.series=STM32L0xx
91409140
GenL0.build.flash_offset=0x0
91419141
GenL0.upload.maximum_size=0
91429142
GenL0.upload.maximum_data_size=0
9143-
GenL0.programmer.default=stlink
9143+
GenL0.programmer.default=stlink_swd
91449144
GenL0.debug.server.openocd.scripts.2=target/stm32l0x.cfg
91459145
GenL0.vid.0=0x0483
91469146
GenL0.pid.0=0x5740
@@ -10423,7 +10423,7 @@ GenL1.build.series=STM32L1xx
1042310423
GenL1.build.flash_offset=0x0
1042410424
GenL1.upload.maximum_size=0
1042510425
GenL1.upload.maximum_data_size=0
10426-
GenL1.programmer.default=stlink
10426+
GenL1.programmer.default=stlink_swd
1042710427
GenL1.debug.server.openocd.scripts.2=target/stm32l1x.cfg
1042810428
GenL1.vid.0=0x0483
1042910429
GenL1.pid.0=0x5740
@@ -10746,7 +10746,7 @@ GenL4.build.series=STM32L4xx
1074610746
GenL4.build.flash_offset=0x0
1074710747
GenL4.upload.maximum_size=0
1074810748
GenL4.upload.maximum_data_size=0
10749-
GenL4.programmer.default=stlink
10749+
GenL4.programmer.default=stlink_swd
1075010750
GenL4.debug.server.openocd.scripts.2=target/stm32l4x.cfg
1075110751
GenL4.vid.0=0x0483
1075210752
GenL4.pid.0=0x5740
@@ -11511,7 +11511,7 @@ GenL5.build.series=STM32L5xx
1151111511
GenL5.build.flash_offset=0x0
1151211512
GenL5.upload.maximum_size=0
1151311513
GenL5.upload.maximum_data_size=0
11514-
GenL5.programmer.default=stlink
11514+
GenL5.programmer.default=stlink_swd
1151511515
GenL5.debug.server.openocd.scripts.2=target/stm32l5x.cfg
1151611516
GenL5.vid.0=0x0483
1151711517
GenL5.pid.0=0x5740
@@ -11573,7 +11573,7 @@ GenU5.build.series=STM32U5xx
1157311573
GenU5.build.flash_offset=0x0
1157411574
GenU5.upload.maximum_size=0
1157511575
GenU5.upload.maximum_data_size=0
11576-
GenU5.programmer.default=stlink
11576+
GenU5.programmer.default=stlink_swd
1157711577
GenU5.debug.server.openocd.scripts.2=target/stm32u5x.cfg
1157811578
GenU5.vid.0=0x0483
1157911579
GenU5.pid.0=0x5740
@@ -11698,7 +11698,7 @@ GenWB.build.series=STM32WBxx
1169811698
GenWB.build.flash_offset=0x0
1169911699
GenWB.upload.maximum_size=0
1170011700
GenWB.upload.maximum_data_size=0
11701-
GenWB.programmer.default=stlink
11701+
GenWB.programmer.default=stlink_swd
1170211702
GenWB.debug.server.openocd.scripts.2=target/stm32wbx.cfg
1170311703
GenWB.vid.0=0x0483
1170411704
GenWB.pid.0=0x5740
@@ -11805,7 +11805,7 @@ GenWBA.build.series=STM32WBAxx
1180511805
GenWBA.build.flash_offset=0x0
1180611806
GenWBA.upload.maximum_size=0
1180711807
GenWBA.upload.maximum_data_size=0
11808-
GenWBA.programmer.default=stlink
11808+
GenWBA.programmer.default=stlink_swd
1180911809
GenWBA.debug.server.openocd.scripts.2=target/stm32wbax.cfg
1181011810
GenWBA.vid.0=0x0483
1181111811
GenWBA.pid.0=0x5740
@@ -11853,7 +11853,7 @@ GenWL.build.series=STM32WLxx
1185311853
GenWL.build.flash_offset=0x0
1185411854
GenWL.upload.maximum_size=0
1185511855
GenWL.upload.maximum_data_size=0
11856-
GenWL.programmer.default=stlink
11856+
GenWL.programmer.default=stlink_swd
1185711857
GenWL.debug.server.openocd.scripts.2=target/stm32wlx.cfg
1185811858
GenWL.vid.0=0x0483
1185911859
GenWL.pid.0=0x5740
@@ -12030,7 +12030,7 @@ GenWL.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
1203012030
3dprinter.build.flash_offset=0x0
1203112031
3dprinter.upload.maximum_size=0
1203212032
3dprinter.upload.maximum_data_size=0
12033-
3dprinter.programmer.default=stlink
12033+
3dprinter.programmer.default=stlink_swd
1203412034
3dprinter.vid.0=0x0483
1203512035
3dprinter.pid.0=0x5740
1203612036

@@ -12262,7 +12262,7 @@ Blues.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSer
1226212262
Blues.build.flash_offset=0x0
1226312263
Blues.upload.maximum_size=0
1226412264
Blues.upload.maximum_data_size=0
12265-
Blues.programmer.default=stlink
12265+
Blues.programmer.default=stlink_swd
1226612266
Blues.vid.0=0x30A4
1226712267

1226812268
# Swan R5 board
@@ -12325,7 +12325,7 @@ Elecgator.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.
1232512325
Elecgator.build.flash_offset=0x0
1232612326
Elecgator.upload.maximum_size=0
1232712327
Elecgator.upload.maximum_data_size=0
12328-
Elecgator.programmer.default=stlink
12328+
Elecgator.programmer.default=stlink_swd
1232912329
Elecgator.vid.0=0x0483
1233012330
Elecgator.pid.0=0x5740
1233112331

@@ -12367,7 +12367,7 @@ ESC_board.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.
1236712367
ESC_board.build.flash_offset=0x0
1236812368
ESC_board.upload.maximum_size=0
1236912369
ESC_board.upload.maximum_data_size=0
12370-
ESC_board.programmer.default=stlink
12370+
ESC_board.programmer.default=stlink_swd
1237112371
ESC_board.vid.0=0x0483
1237212372
ESC_board.pid.0=0x5740
1237312373

@@ -12425,7 +12425,7 @@ Garatronic.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build
1242512425
Garatronic.build.flash_offset=0x0
1242612426
Garatronic.upload.maximum_size=0
1242712427
Garatronic.upload.maximum_data_size=0
12428-
Garatronic.programmer.default=stlink
12428+
Garatronic.programmer.default=stlink_swd
1242912429
Garatronic.vid.0=0x0483
1243012430
Garatronic.pid.0=0x5740
1243112431

@@ -12505,7 +12505,7 @@ GenFlight.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.
1250512505
GenFlight.build.flash_offset=0x0
1250612506
GenFlight.upload.maximum_size=0
1250712507
GenFlight.upload.maximum_data_size=0
12508-
GenFlight.programmer.default=stlink
12508+
GenFlight.programmer.default=stlink_swd
1250912509
GenFlight.vid.0=0x0483
1251012510
GenFlight.pid.0=0x5740
1251112511

@@ -12605,7 +12605,7 @@ IotContinuum.build.st_extra_flags=-D{build.product_line} {build.xSerial}
1260512605
IotContinuum.build.flash_offset=0x0
1260612606
IotContinuum.upload.maximum_size=0
1260712607
IotContinuum.upload.maximum_data_size=0
12608-
IotContinuum.programmer.default=stlink
12608+
IotContinuum.programmer.default=stlink_swd
1260912609
IotContinuum.vid.0=0x0483
1261012610
IotContinuum.pid.0=0x5740
1261112611

@@ -12651,7 +12651,7 @@ LoRa.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSeri
1265112651
LoRa.build.flash_offset=0x0
1265212652
LoRa.upload.maximum_size=0
1265312653
LoRa.upload.maximum_data_size=0
12654-
LoRa.programmer.default=stlink
12654+
LoRa.programmer.default=stlink_swd
1265512655
LoRa.vid.0=0x0483
1265612656
LoRa.pid.0=0x5740
1265712657

@@ -12807,7 +12807,7 @@ Midatronics.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {buil
1280712807
Midatronics.build.flash_offset=0x0
1280812808
Midatronics.upload.maximum_size=0
1280912809
Midatronics.upload.maximum_data_size=0
12810-
Midatronics.programmer.default=stlink
12810+
Midatronics.programmer.default=stlink_swd
1281112811
Midatronics.vid.0=0x0483
1281212812
Midatronics.pid.0=0x5740
1281312813

@@ -12858,7 +12858,7 @@ SparkFun.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.x
1285812858
SparkFun.build.flash_offset=0x0
1285912859
SparkFun.upload.maximum_size=0
1286012860
SparkFun.upload.maximum_data_size=0
12861-
SparkFun.programmer.default=stlink
12861+
SparkFun.programmer.default=stlink_swd
1286212862
SparkFun.vid.0=0x0483
1286312863
SparkFun.pid.0=0x5740
1286412864

@@ -12922,7 +12922,7 @@ ELV_Modular_System.build.board=ELV_Modular_System
1292212922
ELV_Modular_System.build.variant_h=variant_{build.board}.h
1292312923
ELV_Modular_System.upload.maximum_size=0
1292412924
ELV_Modular_System.upload.maximum_data_size=0
12925-
ELV_Modular_System.programmer.default=stlink
12925+
ELV_Modular_System.programmer.default=stlink_swd
1292612926
ELV_Modular_System.vid.0=0x0483
1292712927
ELV_Modular_System.pid.0=0x5740
1292812928

Diff for: platform.txt

+3-2
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ tools.stm32CubeProg.cmd=stm32CubeProg.sh
203203
tools.stm32CubeProg.upload.params.verbose=
204204
tools.stm32CubeProg.upload.params.quiet=
205205
tools.stm32CubeProg.upload.pattern="{busybox}" sh "{path}/{cmd}" -i {upload.protocol} -f "{build.path}/{build.project_name}.bin" -o {build.flash_offset} {upload.options}
206+
tools.stm32CubeProg.program.pattern="{busybox}" sh "{path}/{cmd}" -i {program.protocol} -f "{build.path}/{build.project_name}.bin" -o {build.flash_offset} {program.extra_params}
206207

207208
# blackmagic upload for generic STM32
208209
tools.bmp_upload.cmd=arm-none-eabi-gdb
@@ -245,5 +246,5 @@ debug.server=openocd
245246
debug.server.openocd.path={openocd_dir}/bin/openocd
246247
debug.server.openocd.scripts_dir={openocd_dir}/openocd/scripts
247248
# Common config
248-
debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
249-
debug.server.openocd.scripts.1={programmer.transport_script}
249+
debug.server.openocd.scripts.0=interface/stlink.cfg
250+
debug.server.openocd.scripts.1={runtime.platform.path}/debugger/select_hla.cfg

Diff for: programmers.txt

+23-9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,23 @@
1-
stlink.name=STMicroelectronics ST-LINK
2-
stlink.communication=USB
3-
stlink.protocol=
4-
stlink.program.protocol=
5-
stlink.program.tool=openocd
6-
stlink.program.tool.default=openocd
7-
stlink.program.extra_params=
8-
stlink.programmer.protocol=stlink
9-
stlink.programmer.transport_script={runtime.platform.path}/debugger/select_hla.cfg
1+
stlink_swd.name=STMicroelectronics ST-LINK (swd)
2+
stlink_swd.communication=USB
3+
stlink_swd.protocol=swd
4+
stlink_swd.program.protocol=swd
5+
stlink_swd.program.tool=stm32CubeProg
6+
stlink_swd.program.tool.default=stm32CubeProg
7+
stlink_swd.program.extra_params=
8+
9+
stlink_serial.name=STMicroelectronics ST-LINK (serial)
10+
stlink_serial.communication=USB
11+
stlink_serial.protocol=serial
12+
stlink_serial.program.protocol=serial
13+
stlink_serial.program.tool=stm32CubeProg
14+
stlink_serial.program.tool.default=stm32CubeProg
15+
stlink_serial.program.extra_params=-c {serial.port.file}
16+
17+
stlink_dfu.name=STMicroelectronics ST-LINK (dfu)
18+
stlink_dfu.communication=USB
19+
stlink_dfu.protocol=dfu
20+
stlink_dfu.program.protocol=dfu
21+
stlink_dfu.program.tool=stm32CubeProg
22+
stlink_dfu.program.tool.default=stm32CubeProg
23+
stlink_dfu.program.extra_params=-v {upload.vid} -p {upload.pid}

0 commit comments

Comments
 (0)