aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers/Makefile.am
AgeCommit message (Collapse)Author
2014-04-14Makefile.am: fix build for libftdi1, pass CFLAGS where appropriatePaul Fertser
Change-Id: I9d8afa6ae32fc01e69ec434b5bc9d71524d386a2 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/2079 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com> Reviewed-by: Xiaofan <xiaofanc@gmail.com>
2014-03-29Add usb_blaster cheap clone notes to distPaul Fertser
Change-Id: Ie9569634415ef76e88d5ca58bae6184838cf7114 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1908 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-29Add rlink speed table sources and everything related to distPaul Fertser
GPL requires providing sources for any derived work. I do not see any reason to not include the rlink stuff into release tarballs. Change-Id: I686ab88994030312aca5bdfe731a72f10803b5c3 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1907 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-01-09cmsis-dap: add initial cmsis-dap supportSpencer Oliver
This is based on work from: https://github.com/TheShed/OpenOCD-CMSIS-DAP/tree/cmsis-dap Main changes include moving over to using HIDAPI rather than libusb-1.0 and cleaning up to merge into master. Support for reset using srst has also been added. It has been tested on all the mbed boards as well as the Freedom board from Freescale. These boards only implement SWD mode, however JTAG mode has been tested with a Keil ULINK2 and a stm32 target - but requires a lot more work. Change-Id: I96d5ee1993bc9c0526219ab754c5aad3b55d812d Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-on: http://openocd.zylin.com/1542 Tested-by: jenkins
2013-09-13configure: auto-enable USB adapters based on libusb availabilityPaul Fertser
This unifies the way the USB adapters are handled, and enables them automatically whenever possible (until explicitly disabled). If an adapter is explicitly enabled but can't be built, abort the configure. Also add infrastructure for generic handling of adapter drivers in configure and print a summary of the configuration results after finishing. The m4 quoting is as conservative as I could get it, and seems appropriate. Change-Id: I1655691e5ea0d8eb9e3f67830b96992ffe33640a Signed-off-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1475 Reviewed-by: Xiaofan <xiaofanc@gmail.com> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Tested-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-09-13libusb: require pkg-config supportPaul Fertser
An alternative approach to show how much cleaner the pure pkg-config way is. This changes the discovery procedures for libusb-1.0 and libusb-0.1, making them depend on pkg-config being properly installed and configured, including the necessary build host configuration for the cross-builds (see http://www.flameeyes.eu/autotools-mythbuster/pkgconfig/cross-compiling.html) It should make it possible to compile OpenOCD without changes and extra effort on GNU/Linux, FreeBSD users would need to supply a .pc file for their libusb implementation or add LIBUSB1_LIBS and LIBUSB1_CFLAGS to the configure environment. Change-Id: I826e378dd1e0d101a549a573b2c63212a7e00b64 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1467 Reviewed-by: Xiaofan <xiaofanc@gmail.com> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Tested-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-09-08jtag: drivers: Add JTAP VPI client driverFranck Jullien
This patch adds a driver for the jtag_vpi server [1]. This server is now part of the ORPSoC version 3 (OpenRISC Reference Platform SoC). The jtag_vpi server provides an interface between OpenOCD and a simulated core. [1] http://github.com/fjullien/jtag_vpi Change-Id: I717b72cace4845f66c878581345074f99002e21a Signed-off-by: Franck Jullien <franck.jullien@gmail.com> Reviewed-on: http://openocd.zylin.com/1609 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-07-15ulink: Move firmware install from pkglibdir to pkgdatadirAndreas Fritiofson
The precompiled OpenULINK firmware is just data to OpenOCD so I think it belongs in $(prefix)/share/openocd rather than in $(prefix)/lib. Change-Id: Id84c32cd0ddfb96861e903e8f23c16a81e1a0ca1 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1487 Tested-by: jenkins Reviewed-by: Martin Schmölzer <martin.schmoelzer@student.tuwien.ac.at> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-06-12configure: remove --enable-libusb0 option, rework libusb selectionPaul Fertser
This makes libusb handling more consistent: if any driver requires libusb, first check for libusb-1 availability, if not found and libusb0 is ok for this case, try libusb0. A user-visible bug fixed by this is that when a user was selecting a driver that required libusb-1 but was lacking the necessary dev files or libraries, configure didn't complain (but the build was failing of course). --enable-stlink doesn't really require libusb-1 but since it's using the same automake symbol HLAADAPTER, ti_icdi is getting built too which needs libusb1 unconditionally. Since using libusb-0.1 makes little sense anyway, leave that as is. Signed-off-by: Paul Fertser <fercerpav@gmail.com> Change-Id: I630a4ad9e4583743d45b2233bf5d8f4e5c0aab82 Reviewed-on: http://openocd.zylin.com/1434 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-06-10Add BCM2835 (as found in Raspberry Pi) interface driverPaul Fertser
This adds support for JTAG programming by bitbanging GPIOs exposed on the RaspberryPi's expansion header. Tested by connecting directly to an STM32VLDiscovery board, without any additional circuity. I observed maximum about 4MHz on the TCK pin with an old analogue 'scope and about 100kHz when setting the speed to 100kHz. Busyloop waiting is needed because even with a single 0ns nanosleep call (with FIFO priority) it lowers the TCK speed to ~30kHz which is way too low to be useful. The speed testing with adapter_khz 2000 gave the following results: sudo chrt -f 1 nice -n -19 ./src/openocd \ -f interface/raspberrypi-native.cfg \ -c "set WORKAREASIZE 0x2000" \ -f target/stm32f1x.cfg -c "adapter_khz 2000" wrote 131072 bytes from file random.bin in 3.973677s (32.212 KiB/s) dumped 131072 bytes in 1.445699s (88.538 KiB/s) This is 3.7 times faster for writing and 14.3 times faster for reading compared to the generic sysfsgpio driver; probably the writing speed is limited by the target itself here and reading speed might be considerably higher too with appropriate connection and a capable target. BCM2835 name is choosen over BCM2708 because the published peripherals datasheet uses the particular model name and not family name. Change-Id: Ib78168be27f53c2a3c88c3dd8154d1190c318c78 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/758 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-06-05Added OpenJTAG DriverRyan Corbin
Updated OpenJTAG driver from www.openjtag.org to work with latest version of OpenOCD. Change-Id: I2917f4e5835fb9ca5265e81dc38515fa97ae9503 Signed-off-by: Ryan Corbin <corbin.ryan@gmail.com> Reviewed-on: http://openocd.zylin.com/1406 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-06-04drivers/jtag: rewrite usb_blaster driverRobert Jarzmik
Rewrite the Altera USB Blaster dongle driver : - make extensive use of byte-shift mode, to improve JTAG speed. This is the main reason of the rewrite. It improves the memory dumps with a factor 3 at least, and upload 100 times, from 1 kBytes/sec to 100 kBytes/sec with a USB-Blaster connected to an Altera Virtual JTAG TAP + OpenRISC CPU. - split the low level API part (between FTDI and FTD2xx) from core driver, so that in the future, if both libftdi and ftd2xx can coexist, the driver will be able to switch dynamically from one access to the other. Change-Id: I2ee9cedf4a5eb27501f337993ee0cdee52517e7c Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Marek Czerski <ma.czerski@gmail.com> Tested-by: Franck Jullien <franck.jullien@gmail.com> Reviewed-on: http://openocd.zylin.com/467 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-by: Alexandre Becoulet <alexandre.becoulet@free.fr> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2012-12-23icdi: add TI icdi interfaceSpencer Oliver
This is the new proprietary interface replacing the older FTDI based adapters. It is currently fitted to the ek-lm4f232 and Stellaris LaunchPad. Change-Id: I794ad79e31ff61ec8e9f49530aca9308025c0b60 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/922 Tested-by: jenkins
2012-12-23target: add deprecated target name supportSpencer Oliver
This enables us to change the target name without breaking any target scripts. Change-Id: I635f961e573264d3dab2560f3a803ef1986ccfde Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/919 Tested-by: jenkins
2012-09-26drivers: new jtag bitbang driver using sysfs gpioMarc Reilly
This driver implements a bitbang jtag interface using gpio lines exported via sysfs. The aim of this driver implementation is to use system GPIOs but to avoid the need for an additional kernel driver. A config suitable for RaspberryPi is included. Change-Id: Ib2acf720247a219768d1cbfeebd88057ed2d7b8b Signed-off-by: Marc Reilly <marc@cpdesign.com.au> Reviewed-on: http://openocd.zylin.com/762 Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
2012-08-02Add missing files (header and .txt) for release.Freddie Chopin
make distcheck is used to make packages with OpenOCD release, this command uses information from Makefile.am files to know which files should be included in the package and which can be left only in repository. This patch makes a few headers from recent JTAG drivers and one txt file with info about target tcl config files included in released packages. Change-Id: I91202290633a30f53624a8c7d9a0ebf72c40772b Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com> Reviewed-on: http://openocd.zylin.com/767 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2012-07-17Add FTDI JTAG driver using MPSSE layerAndreas Fritiofson
Based on ft2232.c but uses the MPSSE layer for low-level access, greatly simplifying the JTAG logic. Remove all libftdi/FTD2XX code and all layout specific code. Layout specifications are instead handled in Tcl. Use a signal abstraction to enable Tcl configuration files to define outputs for one or several FTDI GPIO. These outputs can then be controlled using the ftdi_set_signal command. Special signal names are reserved for nTRST, nSRST and LED (for blink) so that they, if defined, will be used for their customary purpose. Depending on the type of buffer attached to the FTDI GPIO, the outputs have to be controlled differently. In order to support tristateable signals such as nSRST, both a data GPIO and an output-enable GPIO can be specified for each signal. The following output buffer configurations are supported: * Push-pull with one FTDI output as (non-)inverted data line * Open drain with one FTDI output as (non-)inverted output-enable * Tristate with one FTDI output as (non-)inverted data line and another FTDI output as (non-)inverted output-enable * Unbuffered, using the FTDI GPIO as a tristate output directly by switching data and direction as necessary The data and output-enables are specified as 16-bit bitmasks, corresponding to the concatenation of the high and low FTDI GPIO registers. To specify an unbuffered output, use the same bitmask for both data and output-enable. The adapter configuration file must also specify default values for the FTDI data and direction GPIO registers, and the channel being used (if different from 0). Change-Id: I287a41d4c696cf5fc74eb10d5e63578b0dc7f826 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/452 Tested-by: jenkins Reviewed-by: Peter Stuge <peter@stuge.se>
2012-05-19stlink: remove superfluous stlink_usb.hSpencer Oliver
Change-Id: I34bc59b35fafd3fa659549e350b91310c5b33dd4 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/650 Tested-by: jenkins Reviewed-by: Xiaofan <xiaofanc@gmail.com>
2012-05-14jtag: add opendous and estick supportSpencer Oliver
Change-Id: I49c25d226f05fdcaca6cbfc35c2ab47e8464abec Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/611 Tested-by: jenkins
2012-03-13jtag: basic support for P&E Micro OSBDM (aka OSJTAG) adapterJan Dakinevich
This driver provides support for the P&E Micro OSBDM adapter (sometimes named as OSJTAG), mounted on the Freescale TWRK60N512 bord. Thus, it provides a quick start when working with this board. The driver doesn't use BDM commands, but work with OSBDM adapter using only JTAG commands. Change-Id: Ibc3779538e666e07651d3136431e5d44344f3b07 Signed-off-by: Jan Dakinevich <jan.dakinevich@gmail.com> Reviewed-on: http://openocd.zylin.com/492 Tested-by: jenkins Reviewed-by: Tomas Frydrych <tf+openocd@r-finger.com> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2012-02-16build: fix automake 1.11.2 issuesSpencer Oliver
automake 1.11.2 throws `pkglibdir' is not a legitimate directory for `DATA' if nobase_dist_pkglib_DATA is used. We work around this issue by defining our own location. Change-Id: I3c29e2df0b67e745283c50d358e31699bd60dc74 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/457 Tested-by: jenkins
2012-01-03ST-LINK USB initial releaseMathias K
ST-Link USB support added. Change-Id: I2812646f2895b1529ff3f911edbdce7fa0051c8f Signed-off-by: Mathias K <kesmtp@freenet.de> Reviewed-on: http://openocd.zylin.com/261 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2011-11-18libusb-1.0 supportMauro Gamba
The configuration script check for libusb-1.0 availability first and only if not found check for libusb-0. So if both libraries are installed on the system the build script will use libusb-1.0 It's possible to force compiling with libusb-0 with the --enable-libusb0 switch. If the driver support only libusb0 the script check anly for it. Change-Id: I7eb045d4e2bd553abefad53f3f4023ff46b0f5f6 Signed-off-by: Mauro Gamba <maurillo71@gmail.com> Reviewed-on: http://openocd.zylin.com/33 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2011-09-02Implementation of a new jtag remote_bitbang driver.Richard Uhler
The driver sends ascii encoded bitbang commands over unix sockets or TCP to another process. This driver is useful for debugging software running on processors which are being simulated.
2011-08-16versaloon driver updateSimonQian
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-26Include ULINK driver in src/jtag/drivers/Makefile.amMartin Schmölzer
A new variable "nobase_dist_pkglib_DATA" is introduced to install the OpenULINK firmware image to $PREFIX/lib/openocd/OpenULINK/ulink_firmware.hex Also, the variable "EXTRA_DIST" is used to include the OpenULINK firmware source in the OpenOCD source distribution.
2010-11-18build: add common.mkSpencer Oliver
Rather than specifying common makefile variables move them all to a common.mk. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2010-03-11Add support for Bus Pirate as a JTAG adapter.Michal Demin
This includes a driver and matching config file. This support needs to be enabled through the initial "configure" (use "--enable-buspirate"). Signed-off-by: Michal Demin <michaldemin@gmail.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-26Driver for USB-JTAG, Altera USB-Blaster and compatiblesCatalin Patulea
The 10-pin JTAG layout used with these adapters is used by a variety of platforms including AVR. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-08build: add build/src to include pathØyvind Harboe
This allows including generated include files. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2009-12-03remove tertiary include pathsZachary T Welch
With all #include directives converted, we only need to have the top-level src/ directory in the search path.
2009-12-03allow #include directives to use module nameZachary T Welch
Includes the src directory in the search path, so header files may be migrated from: #include "foo.h" to #include <module/foo.h> which is more conducive for installation.
2009-12-02remove #if HAVE_JTAG_INTERFACE_H from minidriver.hZachary T Welch
Adds two "minidriver_imp.h" files, so the right one is allowed to be "#included" by the Makefile logic.
2009-12-02move jtag drivers to src/jtag/driversZachary T Welch
Moves JTAG interface drivers to src/jtag/drivers/, Adds src/jtag/drivers/Makefile.am. Builds libocdjtagdrivers.la. Flattens the rlink driver files into the drivers/ directory, adding the 'rlink_' prefix or '.rlink' suffix as appropriate.