jtag/drivers: Add support for TI XDS110 debug probe
Add support for the XDS110 debug probe using the APIs in the probe's firmware. Includes support for older versions of the firmware (with reduced performance) and support for a newer version that includes OpenOCD specific APIs. Tested on various TI LauchPads including MSP432P4, MSP432E4, CC2650, CC2652, and CC3220SF. Updated to add better support for swd switch. Removed issues found with clang static analysis. Updated to add rules entry for the XDS110 probe and Tiva DFU mode (which affects both XDS110 and ICDI probes). Change-Id: Ib274143111a68e67e80003797c6a68e3e80976b2 Signed-off-by: Edward Fewell <efewell@ti.com> Reviewed-on: http://openocd.zylin.com/4322 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>riscv-compliance
parent
b50fa9a19d
commit
2ba27e2f3e
|
@ -115,7 +115,8 @@ m4_define([USB1_ADAPTERS],
|
||||||
[[ulink], [Keil ULINK JTAG Programmer], [ULINK]],
|
[[ulink], [Keil ULINK JTAG Programmer], [ULINK]],
|
||||||
[[usb_blaster_2], [Altera USB-Blaster II Compatible], [USB_BLASTER_2]],
|
[[usb_blaster_2], [Altera USB-Blaster II Compatible], [USB_BLASTER_2]],
|
||||||
[[ft232r], [Bitbang mode of FT232R based devices], [FT232R]],
|
[[ft232r], [Bitbang mode of FT232R based devices], [FT232R]],
|
||||||
[[vsllink], [Versaloon-Link JTAG Programmer], [VSLLINK]]])
|
[[vsllink], [Versaloon-Link JTAG Programmer], [VSLLINK]],
|
||||||
|
[[xds110], [TI XDS110 Debug Probe], [XDS110]]])
|
||||||
|
|
||||||
m4_define([USB_ADAPTERS],
|
m4_define([USB_ADAPTERS],
|
||||||
[[[osbdm], [OSBDM (JTAG only) Programmer], [OSBDM]],
|
[[[osbdm], [OSBDM (JTAG only) Programmer], [OSBDM]],
|
||||||
|
|
|
@ -128,6 +128,12 @@ ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c63", MODE="660", GROUP="plugdev",
|
||||||
# TI/Luminary Stellaris In-Circuit Debug Interface (ICDI) Board
|
# TI/Luminary Stellaris In-Circuit Debug Interface (ICDI) Board
|
||||||
ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||||
|
|
||||||
|
# TI XDS110 Debug Probe (Launchpads and Standalone)
|
||||||
|
ATTRS{idVendor}=="0451", ATTRS{idProduct}=="bef3", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||||
|
|
||||||
|
# TI Tiva-based ICDI and XDS110 probes in DFU mode
|
||||||
|
ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00ff", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||||
|
|
||||||
# Ambiq Micro EVK and Debug boards.
|
# Ambiq Micro EVK and Debug boards.
|
||||||
ATTRS{idVendor}=="2aec", ATTRS{idProduct}=="6010", MODE="664", GROUP="plugdev", TAG+="uaccess"
|
ATTRS{idVendor}=="2aec", ATTRS{idProduct}=="6010", MODE="664", GROUP="plugdev", TAG+="uaccess"
|
||||||
ATTRS{idVendor}=="2aec", ATTRS{idProduct}=="6011", MODE="664", GROUP="plugdev", TAG+="uaccess"
|
ATTRS{idVendor}=="2aec", ATTRS{idProduct}=="6011", MODE="664", GROUP="plugdev", TAG+="uaccess"
|
||||||
|
|
|
@ -531,6 +531,12 @@ debuggers to ARM Cortex based targets @url{http://www.keil.com/support/man/docs/
|
||||||
|
|
||||||
@item @b{Keil ULINK v1}
|
@item @b{Keil ULINK v1}
|
||||||
@* Link: @url{http://www.keil.com/ulink1/}
|
@* Link: @url{http://www.keil.com/ulink1/}
|
||||||
|
|
||||||
|
@item @b{TI XDS110 Debug Probe}
|
||||||
|
@* The XDS110 is included as the embedded debug probe on many Texas Instruments
|
||||||
|
LaunchPad evaluation boards.
|
||||||
|
@* Link: @url{http://processors.wiki.ti.com/index.php/XDS110}
|
||||||
|
@* Link: @url{http://processors.wiki.ti.com/index.php/XDS_Emulation_Software_Package#XDS110_Support_Utilities}
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@section IBM PC Parallel Printer Port Based
|
@section IBM PC Parallel Printer Port Based
|
||||||
|
|
|
@ -156,10 +156,12 @@ endif
|
||||||
if IMX_GPIO
|
if IMX_GPIO
|
||||||
DRIVERFILES += %D%/imx_gpio.c
|
DRIVERFILES += %D%/imx_gpio.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if KITPROG
|
if KITPROG
|
||||||
DRIVERFILES += %D%/kitprog.c
|
DRIVERFILES += %D%/kitprog.c
|
||||||
endif
|
endif
|
||||||
|
if XDS110
|
||||||
|
DRIVERFILES += %D%/xds110.c
|
||||||
|
endif
|
||||||
|
|
||||||
DRIVERHEADERS = \
|
DRIVERHEADERS = \
|
||||||
%D%/bitbang.h \
|
%D%/bitbang.h \
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -132,6 +132,9 @@ extern struct jtag_interface kitprog_interface;
|
||||||
#if BUILD_IMX_GPIO == 1
|
#if BUILD_IMX_GPIO == 1
|
||||||
extern struct jtag_interface imx_gpio_interface;
|
extern struct jtag_interface imx_gpio_interface;
|
||||||
#endif
|
#endif
|
||||||
|
#if BUILD_XDS110 == 1
|
||||||
|
extern struct jtag_interface xds110_interface;
|
||||||
|
#endif
|
||||||
#endif /* standard drivers */
|
#endif /* standard drivers */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -234,6 +237,9 @@ struct jtag_interface *jtag_interfaces[] = {
|
||||||
#if BUILD_IMX_GPIO == 1
|
#if BUILD_IMX_GPIO == 1
|
||||||
&imx_gpio_interface,
|
&imx_gpio_interface,
|
||||||
#endif
|
#endif
|
||||||
|
#if BUILD_XDS110 == 1
|
||||||
|
&xds110_interface,
|
||||||
|
#endif
|
||||||
#endif /* standard drivers */
|
#endif /* standard drivers */
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
#
|
||||||
|
# Texas Instruments XDS110
|
||||||
|
#
|
||||||
|
# http://processors.wiki.ti.com/index.php/XDS110
|
||||||
|
# http://processors.wiki.ti.com/index.php/Emulation_Software_Package#XDS110_Support_Utilities
|
||||||
|
#
|
||||||
|
|
||||||
|
interface xds110
|
||||||
|
|
||||||
|
# Use serial number option to use a specific XDS110
|
||||||
|
# when more than one are connected to the host.
|
||||||
|
#xds110_serial 00000000
|
Loading…
Reference in New Issue