Specifies the @var{serial_string} of the adapter to use.
If this command is not specified, serial strings are not checked.
Only the following adapter drivers use the serial string from this command:
-arm-jtag-ew, cmsis_dap, esp_usb_jtag, ft232r, ftdi, hla (stlink, ti-icdi), jlink, kitprog, opendus,
+arm-jtag-ew, cmsis_dap, esp_usb_jtag, ft232r, ftdi, hla (ti-icdi), jlink, kitprog, opendus,
openjtag, osbdm, presto, rlink, st-link, usb_blaster (ublast2), usbprog, vsllink, xds110.
@end deffn
Currently Not Supported.
@end deffn
-@deffn {Config Command} {hla layout} (@option{stlink}|@option{icdi}|@option{nulink})
+@deffn {Config Command} {hla layout} (@option{icdi}|@option{nulink})
Specifies the adapter layout to use.
@end deffn
Pairs of vendor IDs and product IDs of the device.
@end deffn
-@deffn {Config Command} {hla stlink_backend} (usb | tcp [port])
-@emph{ST-Link only:} Choose between 'exclusive' USB communication (the default backend) or
-'shared' mode using ST-Link TCP server (the default port is 7184).
-
-@emph{Note:} ST-Link TCP server is a binary application provided by ST
-available from @url{https://www.st.com/en/development-tools/st-link-server.html,
-ST-LINK server software module}.
-@end deffn
-
@deffn {Command} {hla command} command
Execute a custom adapter-specific command. The @var{command} string is
passed as is to the underlying adapter layout handler.
@anchor{st_link_dap_interface}
@deffn {Interface Driver} {st-link}
This is a driver that supports STMicroelectronics adapters ST-LINK/V2
-(from firmware V2J24), STLINK-V3 and STLINK-V3PWR, thanks to a new API that provides
+(from 2015 firmware V2J24), STLINK-V3 and STLINK-V3PWR, thanks to a new API that provides
directly access the arm ADIv5 DAP.
+The older API that requires HLA transport is deprecated and will be dropped
+from OpenOCD. In mean time it's still available by using @file{interface/stlink-hla.cfg}.
+
The new API provide access to multiple AP on the same DAP, but the
maximum number of the AP port is limited by the specific firmware version
(e.g. firmware V2J29 has 3 as maximum AP number, while V2J32 has 8).
@item OpenOCD invocation line:
@example
openocd -f interface/stlink.cfg \
--c "transport select hla_swd" \
+-c "transport select dapdirect_swd" \
-f target/stm32l1.cfg \
-c "stm32l1.tpiu configure -protocol uart" \
-c "stm32l1.tpiu configure -traceclk 24000000 -pin-freq 12000000" \
# 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
# 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
# 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
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32f0x.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32f1x.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32f3x.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32f4x.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32f7x.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32g0x.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32g4x.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32h7x_dual_bank.cfg]
# 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)
# 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
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32l1x_dual_bank.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32l4x.cfg]
# 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
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32wbx.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
# increase working area to 8KB
set WORKAREASIZE 0x2000
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
set WORKAREASIZE 0x2000
source [find target/stm32f0x.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32f3x.cfg]
# 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
# 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
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32f4x.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
# increase working area to 128KB
set WORKAREASIZE 0x20000
# 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
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
# increase working area to 64KB
set WORKAREASIZE 0x10000
# 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
# 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
# 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
# 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
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
set CHIPNAME stm32h735igk6
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
set CHIPNAME stm32h745xih6
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
set CHIPNAME stm32h747xih6
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
set CHIPNAME stm32h750xbh6
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
set CHIPNAME stm32h7b3lih6q
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32h7x_dual_bank.cfg]
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
set WORKAREASIZE 0x2000
source [find target/stm32l0.cfg]
# 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
# 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
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
source [find target/stm32l4x.cfg]
# 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
# 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
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
set WORKAREASIZE 0x4000
source [find target/stm32l1.cfg]
# 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
# 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
source [find interface/stlink.cfg]
-transport select hla_swd
+transport select dapdirect_swd
set WORKAREASIZE 0x2000
source [find target/stm32f1x.cfg]
# 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"
--- /dev/null
+# 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"
# 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 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
-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
+# transport select dapdirect_jtag
+# transport select dapdirect_swd
+# transport select swim
-# 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.
+# Optionally specify the serial number of usb device
+# e.g.
# adapter serial "\xaa\xbc\x6e\x06\x50\x75\xff\x55\x17\x42\x19\x3f"