stlink: deprecate HLA support

The STLink API that supports dap-direct is available from STLink
firmware v2j24, published in early 2015.
We can reasonably expect that any old STLink still in use today
has got at least one firmware update during the last 10 years.

Most of the board files in upstream OpenOCD still use the STLink
in HLA mode. This limits the test coverage of the dap-direct code,
which was introduced in OpenOCD v0.11.0.

- Rename interface/stlink.cfg as interface/stlink-hla.cfg to still
  provide support for HLA, adding a deprecated message.

- Rename interface/stlink-dap.cfg as interface/stlink.cfg to make
  dap-direct the default trasport.

- Add a redirect file interface/stlink-dap.cfg for users that have
  out-of-tree custom board files.

- Update all the board files to the new setup.

- Remove STLink HLA mentions from the documentation, while adding
  a reference to interface/stlink-hla.cfg

Checkpatch-ignore: LONG_LINE
Change-Id: I99366bb03cd3b83f8f408514e657f30e59813063
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8523
Tested-by: jenkins
Reviewed-by: Andrzej Sierżęga <asier70@gmail.com>
This commit is contained in:
Antonio Borneo
2024-10-12 11:48:05 +02:00
parent 3ce0962f2c
commit 34ec5536c0
55 changed files with 94 additions and 92 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 96KB
set WORKAREASIZE 0x18000
+1 -1
View File
@@ -3,7 +3,7 @@
# This is a ST NUCLEO 8L152R8 board with a single STM8L152R8T6 chip.
# http://www.st.com/en/evaluation-tools/nucleo-8l152r8.html
source [find interface/stlink-dap.cfg]
source [find interface/stlink.cfg]
transport select swim
+1 -1
View File
@@ -3,7 +3,7 @@
# This is a ST NUCLEO 8S208RB board with a single STM8S208RBT6 chip.
# https://www.st.com/en/evaluation-tools/nucleo-8s208rb.html
source [find interface/stlink-dap.cfg]
source [find interface/stlink.cfg]
transport select swim
+1 -1
View File
@@ -10,7 +10,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32f0x.cfg]
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32f1x.cfg]
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32f3x.cfg]
+1 -1
View File
@@ -8,7 +8,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32f4x.cfg]
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32f7x.cfg]
+1 -1
View File
@@ -12,7 +12,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32g0x.cfg]
+1 -1
View File
@@ -12,7 +12,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32g4x.cfg]
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32h7x_dual_bank.cfg]
+1 -1
View File
@@ -2,7 +2,7 @@
# This is an ST NUCLEO-H745ZI-Q board with single STM32H745ZITx chip.
source [find interface/stlink-dap.cfg]
source [find interface/stlink.cfg]
transport select dapdirect_swd
# STM32H745xx devices are dual core (Cortex-M7 and Cortex-M4)
+1 -1
View File
@@ -4,7 +4,7 @@
# http://www.st.com/en/evaluation-tools/nucleo-l073rz.html
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
set WORKAREASIZE 0x2000
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32l1x_dual_bank.cfg]
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32l4x.cfg]
+1 -1
View File
@@ -3,7 +3,7 @@
# This is for STM32L5 Nucleo Dev Boards.
# http://www.st.com/en/evaluation-tools/stm32-mcu-nucleo.html
source [find interface/stlink-dap.cfg]
source [find interface/stlink.cfg]
transport select dapdirect_swd
+1 -1
View File
@@ -6,7 +6,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32wbx.cfg]
+1 -1
View File
@@ -8,7 +8,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 8KB
set WORKAREASIZE 0x2000
+1 -1
View File
@@ -8,7 +8,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
+1 -1
View File
@@ -8,7 +8,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
+1 -1
View File
@@ -8,7 +8,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
+1 -1
View File
@@ -8,7 +8,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
set WORKAREASIZE 0x2000
source [find target/stm32f0x.cfg]
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32f3x.cfg]
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
+1 -1
View File
@@ -10,7 +10,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
+1 -1
View File
@@ -7,7 +7,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32f4x.cfg]
+1 -1
View File
@@ -7,7 +7,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
+1 -1
View File
@@ -7,7 +7,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 64KB
set WORKAREASIZE 0x10000
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 256KB
set WORKAREASIZE 0x40000
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 256KB
set WORKAREASIZE 0x40000
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK/V2-1
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 256KB
set WORKAREASIZE 0x40000
+1 -1
View File
@@ -7,7 +7,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
set CHIPNAME stm32h735igk6
+1 -1
View File
@@ -7,7 +7,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
set CHIPNAME stm32h745xih6
+1 -1
View File
@@ -7,7 +7,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
set CHIPNAME stm32h747xih6
+1 -1
View File
@@ -7,7 +7,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
set CHIPNAME stm32h750xbh6
+1 -1
View File
@@ -7,7 +7,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
set CHIPNAME stm32h7b3lih6q
+1 -1
View File
@@ -8,7 +8,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32h7x_dual_bank.cfg]
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
set WORKAREASIZE 0x2000
source [find target/stm32l0.cfg]
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 96KB
set WORKAREASIZE 0x18000
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 96KB
set WORKAREASIZE 0x18000
+1 -1
View File
@@ -8,7 +8,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
source [find target/stm32l4x.cfg]
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 96KB
set WORKAREASIZE 0x18000
+1 -1
View File
@@ -6,7 +6,7 @@
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
# increase working area to 96KB
set WORKAREASIZE 0x18000
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
set WORKAREASIZE 0x4000
source [find target/stm32l1.cfg]
+1 -1
View File
@@ -3,7 +3,7 @@
# board MB1635x
# http://www.st.com/en/evaluation-tools/stm32mp135f-dk.html
source [find interface/stlink-dap.cfg]
source [find interface/stlink.cfg]
transport select dapdirect_swd
+1 -1
View File
@@ -4,7 +4,7 @@
# http://www.st.com/en/evaluation-tools/stm32mp157a-dk1.html
# http://www.st.com/en/evaluation-tools/stm32mp157c-dk2.html
source [find interface/stlink-dap.cfg]
source [find interface/stlink.cfg]
transport select dapdirect_swd
+1 -1
View File
@@ -5,7 +5,7 @@
source [find interface/stlink.cfg]
transport select hla_swd
transport select dapdirect_swd
set WORKAREASIZE 0x2000
source [find target/stm32f1x.cfg]
+2 -19
View File
@@ -1,22 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
# STMicroelectronics ST-LINK/V1, ST-LINK/V2, ST-LINK/V2-1, STLINK-V3 in-circuit
# debugger/programmer
#
# This new interface driver creates a ST-Link wrapper for ARM-DAP named "dapdirect"
# Old ST-LINK/V1 and ST-LINK/V2 pre version V2J24 don't support "dapdirect"
#
# SWIM transport is natively supported
#
echo "WARNING: interface/stlink-dap.cfg is deprecated, please switch to interface/stlink.cfg"
source [find interface/stlink.cfg]
adapter driver st-link
st-link vid_pid 0x0483 0x3744 0x0483 0x3748 0x0483 0x374b 0x0483 0x374d 0x0483 0x374e 0x0483 0x374f 0x0483 0x3752 0x0483 0x3753 0x0483 0x3754 0x0483 0x3755 0x0483 0x3757
# transport select dapdirect_jtag
# transport select dapdirect_swd
# transport select swim
# Optionally specify the serial number of usb device
# e.g.
# adapter serial "\xaa\xbc\x6e\x06\x50\x75\xff\x55\x17\x42\x19\x3f"
+21
View File
@@ -0,0 +1,21 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
# STMicroelectronics ST-LINK/V1, ST-LINK/V2, ST-LINK/V2-1, STLINK-V3 in-circuit
# debugger/programmer
#
echo "DEPRECATED: OpenOCD support for ST-Link HLA transport will be dropped soon!"
echo "Consider updating your ST-Link firmware to a version >= V2J24 (2015)"
adapter driver hla
hla layout stlink
hla device_desc "ST-LINK"
hla vid_pid 0x0483 0x3744 0x0483 0x3748 0x0483 0x374b 0x0483 0x374d 0x0483 0x374e 0x0483 0x374f 0x0483 0x3752 0x0483 0x3753 0x0483 0x3754 0x0483 0x3755 0x0483 0x3757
# Optionally specify the serial number of ST-LINK/V2 usb device. ST-LINK/V2
# devices seem to have serial numbers with unreadable characters. ST-LINK/V2
# firmware version >= V2.J21.S4 recommended to avoid issues with adapter serial
# number reset issues.
# eg.
# adapter serial "\xaa\xbc\x6e\x06\x50\x75\xff\x55\x17\x42\x19\x3f"
+13 -9
View File
@@ -4,15 +4,19 @@
# STMicroelectronics ST-LINK/V1, ST-LINK/V2, ST-LINK/V2-1, STLINK-V3 in-circuit
# debugger/programmer
#
# This new interface driver creates a ST-Link wrapper for ARM-DAP named "dapdirect"
# Old ST-LINK/V1 and ST-LINK/V2 pre version V2J24 don't support "dapdirect"
#
# SWIM transport is natively supported
#
adapter driver hla
hla layout stlink
hla device_desc "ST-LINK"
hla vid_pid 0x0483 0x3744 0x0483 0x3748 0x0483 0x374b 0x0483 0x374d 0x0483 0x374e 0x0483 0x374f 0x0483 0x3752 0x0483 0x3753 0x0483 0x3754 0x0483 0x3755 0x0483 0x3757
adapter driver st-link
st-link vid_pid 0x0483 0x3744 0x0483 0x3748 0x0483 0x374b 0x0483 0x374d 0x0483 0x374e 0x0483 0x374f 0x0483 0x3752 0x0483 0x3753 0x0483 0x3754 0x0483 0x3755 0x0483 0x3757
# Optionally specify the serial number of ST-LINK/V2 usb device. ST-LINK/V2
# devices seem to have serial numbers with unreadable characters. ST-LINK/V2
# firmware version >= V2.J21.S4 recommended to avoid issues with adapter serial
# number reset issues.
# eg.
# transport select dapdirect_jtag
# transport select dapdirect_swd
# transport select swim
# Optionally specify the serial number of usb device
# e.g.
# adapter serial "\xaa\xbc\x6e\x06\x50\x75\xff\x55\x17\x42\x19\x3f"