aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers
AgeCommit message (Collapse)Author
2013-12-22stlink: remove stlink_api commandMathias K
Remove stlink_api command. Change-Id: I8f7885d3756fec462f9ebbee2ed285a98a51366c Signed-off-by: Mathias K <kesmtp@freenet.de> Reviewed-on: http://openocd.zylin.com/1760 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-12-22jtag_vpi: fix build errors under MinGWFranck Jullien
Change-Id: Ic13f9982014ead811e2f2d737ca1621e0e85577e Signed-off-by: Franck Jullien <franck.jullien@gmail.com> Reviewed-on: http://openocd.zylin.com/1839 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-12-17versaloon: Finish support for serial number matchingAndreas Fritiofson
Add a command to specify the serial string and pass it to the find helper. Actual matching was already supported for both serial and product but was using hard coded string indices. Instead use the indices from the device descriptor. Change-Id: I17c7538e5ad301ef41eace1ee70a202adab23bb4 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1816 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-11-06ulink: Fix libusb include changed since pkg-config mergeAndreas Fritiofson
Change-Id: I1556aaf117f99de046e3c16d5386faaaefdfefd8 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1795 Reviewed-by: Peter Stuge <peter@stuge.se> Tested-by: jenkins
2013-10-31ti_icdi_usb: Remove unnecessary casts and fix byte order bugsAndreas Fritiofson
Found by grepping for pointer casts. Some additional cast can be removed if hexify/unhexify arguments are changed to a more suitable type. Change-Id: I13796b056f00976979bf0e754de3aa7648f7f321 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1778 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-31ftdi: Remove unnecessary castAndreas Fritiofson
Also make sure future growth of the tap_get_tms_path() return value will get noticed. Change-Id: Id859b463e5fdc819a4bc3b4845bf4363fbe713af Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1768 Tested-by: jenkins Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-31Remove unnecessary castsAndreas Fritiofson
Change-Id: Ia97283707282ccccdc707c969f59337313b4e291 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1767 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-31Clean up const usage to avoid excessive castingAndreas Fritiofson
Don't use const on pointers that hold heap allocated data, because that means functions that free them must cast away the const. Do use const on pointer parameters or fields that needn't be modified. Remove pointer casts that are no longer needed after fixing the constness. Change-Id: I5d206f5019982fd1950bc6d6d07b6062dc24e886 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1668 Tested-by: jenkins Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-29hla/stlink: Re-order trace parameters to allow trace output file to be optionalJames G. Smith
Re-order the "trace" parameters to allow the raw capture (log) file to be an optional feature. The clock frequency for calculating the "Async Clock Prescalar" is always required when enabling trace processing and is now the first "required" parameter. The ST-Link driver is updated to use the (required parameter) "trace_source_hz" non-zero value as the indicator of trace being required, rather than the now optional output file descriptor being non-NULL. Background: This patch is groundwork for extending the OpenOCD SWO capture to implement other (OpenOCD built-in) ITM/DWT processing where the core trace support is required, but there is no requirement to store raw trace data to a configured host file. By itself this patch is almost a functional NOP, since without the other processing in place there is no reason NOT to specify a capture file. Change-Id: Ibc385dd0a7adaf9bd652bceded27262fef35fd59 Signed-off-by: James G. Smith <jsmith@ecoscentric.com> Reviewed-on: http://openocd.zylin.com/1660 Tested-by: jenkins Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-15jtag_vpi: use DIV_ROUND_UPFranck Jullien
Change-Id: I31d315a79a1587d7873c5b8713daf8276fa146d0 Signed-off-by: Franck Jullien <franck.jullien@gmail.com> Reviewed-on: http://openocd.zylin.com/1683 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2013-10-15jtag_vpi: fix path move functionFranck Jullien
Change-Id: I82bf6f733e0d9cb5c86553d0827c558fa98aa247 Signed-off-by: Franck Jullien <franck.jullien@gmail.com> Reviewed-on: http://openocd.zylin.com/1672 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2013-10-15bcm2835gpio: use maximum drive strengthPaul Fertser
According to the docs, the default drive strength for the GPIO pads is 8mA but they're capable of 16mA. Configure GPIO 0-27 to use the maximum (as they might be used on high enough frequency with JTAG). Change-Id: I621737a1b0a855bb97b56ce2cc46c0e385b74f5d Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1633 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-03hla: if the idcode callback returns 0, treat as a wildcardPaul Fertser
Also document the callback accordingly. Change-Id: I7e8ef481e8b5391b763b7f7187fac023e9fe04df Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1673 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-09-25jlink: improve USB read during jlink_tap_executePhilip Craig
Previously, when doing EMU_CMD_HW_JTAG3 commands we would do two reads, one to read the data, and one to read the result. However, we can just do a single larger read instead. The motivation for this change is a weird problem. If I run the Segger software before running OpenOCD, then the first read always fails: Error: usb_bulk_read failed (requested=1, result=0) Error: jlink_tap_execute, wrong result -107 (expected 1) Sniffing the USB traffic shows that the J-Link is returning an overflow error, meaning it is expecting to return the full result in a single read. Change-Id: I75e020d3b3732c9a74ee3d31838fdf17a7fac24c Signed-off-by: Philip Craig <phil@blackmoth.com.au> Reviewed-on: http://openocd.zylin.com/1447 Tested-by: jenkins Reviewed-by: Xiaofan <xiaofanc@gmail.com> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-09-25jlink: Replace crazy home cooked assertion with a real oneAndreas Fritiofson
Change-Id: I83d66ddef34965dd94a0ff76aa1367cc9d19f2df Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1644 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-09-25bus_blaster: do not fail on missing get_latency_timerSøren Jørvang
Patch submitted from Trac #64 Seems certain clones do not correctly emulate the ftdi chip, if the call to read the latency timer fails then do not treat this as a failure. Change-Id: Iae671b926d101adf1010639d11ca46c58d0af524 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1627 Tested-by: jenkins Reviewed-by: Xiaofan <xiaofanc@gmail.com>
2013-09-25hla: move memory read/write functionality to driverSpencer Oliver
Due to issues reported when using the jtag mode of the stlink (see Trac #61), the functionality/checking has been moved to the driver. This change also fixes unaligned 32bit memory read/write for the stlink. From testing this change also brings a 3KiB/s speed increase, this is due to the larger read/write packets. Change-Id: I8234110e7e49a683f4dadd54c442ecdc3c47b320 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1632 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2013-09-25stlink: remove usb timeout magic numbersSpencer Oliver
Change-Id: I4ec4cb0bc344c4c1de9113fa12ed84e5e2e87b31 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1631 Tested-by: jenkins Reviewed-by: Xiaofan <xiaofanc@gmail.com> Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2013-09-25hla: cleanup read/write apiSpencer Oliver
This is the first part in moving the adapter specific api back into the driver. The next task is to also move the hla read/write buffer size handling. Change-Id: I86a19144b50b6de18659bfcd05b3729b2cafc051 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1621 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
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-10sysfsgpio: fix a typo in the informational outputPaul Fertser
Change-Id: I0c9bc281e4e913f9eacba3b8b60585217a1caf2e Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1616 Tested-by: jenkins Reviewed-by: Peter Stuge <peter@stuge.se>
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-08-29stlink: Add workaround for intermittent FW info retrieval failureAndrey Smirnov
It appears that on some host USB configurations(2012 MacBook Air) multiple restarts of openocd tool cause the FW on STLINKv2 dongle to go into a weird state in which it will no longer respond to STLINK_GET_VERSION command. This patch adds code that, if said request fails for the first time, attempts to reset the device and retry to initialize it and obtain FW information one more time. Change-Id: I7227fc972adb49d52ae700ad48ab9f66b2aaa72c Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Reviewed-on: http://openocd.zylin.com/1561 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2013-08-29stlink_usb: remove gcc-specific constantAndrey Yurovsky
Replace 0b10 with 0x02, 0b is a GCC extension and isn't supported by clang, for instance, so compiling on OS X will fail. No functional changes. Change-Id: Ie882be1563df03e7ad3da0bc9aee65a907a29549 Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-on: http://openocd.zylin.com/1560 Tested-by: jenkins Reviewed-by: Xiaofan <xiaofanc@gmail.com> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-08-07stlink: add SWO tracing supportAndrey Yurovsky
Enable reading the SWO trace output via STLinkv2 dongles that support it. This adds an optional initialization parameter "trace" with which the user specifies a destination file where SWO trace output is appended as it comes in as well as the trace module's source clock rate. STLink will be configured for a 2MHz SWO data rate (STLink's highest supported rate) if the source clock is > 2MHz, otherwise the source clock is used as the data rate directly. For example: trace swo.log 168000000 If "trace" is specified with a usable file path, the stlink_usb driver will attempt to configure and read SWO trace data as follows: - on _run(), the target's TPI and TMI are configured and the STLinkv2 is told to enable tracing. Only generic ARM TPI and TMI registers are configured, any MCU-specific settings (ex: pin routing) are the responsibility of the target firmware. The configuration applied is based on the STLinkv2's capabilities (UART emulation). - on _v2_get_status(), the trace data (if any) is fetched from the STLink after the target status is checked and the target is found to be running. - on _halt(), the STLink is told to disable tracing. When fetching trace data, the entire trace frame is written to the output file and that data is flushed. An external tool may be used to parse the trace data into a more human-readable format. Tested on ARM Cortex M4F and M3 MCUs (STM32F407 and STM32L152). Change-Id: Ic3983d46c82ba77010c23b0e18ce7b275d917f12 Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-on: http://openocd.zylin.com/1524 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2013-08-05jtag/drivers: usb_blaster cheap clone documentationRobert Jarzmik
Add documentation about the cheap clone based on the Cypress chip. The documentation has schematics data, and throughtput mesures. Change-Id: I51bf19ff9229565e178dd4c1231682bd9b4b7a8b Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Reviewed-on: http://openocd.zylin.com/1520 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2013-08-01mpsse: Add missing read buffer checksAndreas Fritiofson
These two unused functions added reads without checking for available space. Change-Id: I17dbbe9988b057e5a3a1768f405fc9d1027d1c01 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1500 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-08-01mpsse: Defer errors until flushAndreas Fritiofson
Simplify the API by making all MPSSE command functions return void instead of an error code. If there is an error during an implicit flush in a command call, further commands are ignored until an explicit flush is performed. The flush function returns and clears any error code set. The only command functions that still return an error code are those that can fail directly based on the type of the FTDI chip, i.e. when trying to enable RCLK or divide-by-5 on a non-high-speed chip. Adapt the ftdi adapter driver to the new API. Change-Id: I12979c723c81f7fd022c25821b029112f02b3f95 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1499 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-07-17OpenULINK firmware: update firmware hex imageMartin Schmölzer
This image has been re-compiled with SDCC 3.3.0 and achieves slightly better performance (50-100 Byte/s for STM32F103 flash write) due to new/improved compiler optimizations. Successfully tested with ULINK probe and STM32F103 (debug, erase and write flash). Change-Id: I4329aa42f50461fa3719fd63d0054d8e86982727 Signed-off-by: Martin Schmölzer <martin.schmoelzer@student.tuwien.ac.at> Reviewed-on: http://openocd.zylin.com/1486 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-07-17OpenULINK firmware: change .lnk file extension to .lk in "make clean"Martin Schmölzer
Recent versions of SDCC generate .lk files instead of .lnk - change the OpenULINK Makefile "clean" target and top level .gitignore file to reflect this. Change-Id: I36f38638b712b962498c69c362f123378e1aa045 Signed-off-by: Martin Schmölzer <martin.schmoelzer@student.tuwien.ac.at> Reviewed-on: http://openocd.zylin.com/1485 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-07-17OpenULINK firmware: Use C99 designated struct initializersMartin Schmölzer
Recent versions of SDCC added support for C99 designated struct initializers. This provides better code readability (no functional changes). Successfully tested with ULINK probe and STM32F103 (debug, erase and write flash). Change-Id: Idfa35147d2c3043baaa21a811b926b3845c85f9b Signed-off-by: Martin Schmölzer <martin.schmoelzer@student.tuwien.ac.at> Reviewed-on: http://openocd.zylin.com/1484 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-07-17ULINK driver and OpenULINK firmware: whitespace and comment fixes (trivial)Martin Schmölzer
In commit de0130a0aad83c1ef692ee4d68ab996a8668424d, some doxygen documentation blocks of the form "///< ..." (documentation after member) got changed to "/* /< ...", which is not recognized by doxygen. This commit changes them to the correct form "/**< ...". Also, remove some leading whitespace characters and fix alignment of comment blocks where appropriate. Change-Id: I73a5cf55753722fa0e1d6551f05c47ee88172f0f Signed-off-by: Martin Schmölzer <martin.schmoelzer@student.tuwien.ac.at> Reviewed-on: http://openocd.zylin.com/1483 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-07-17OpenULINK firmware: fix name of USB Jump Table symbolMartin Schmölzer
Fix a case mistake in the name of the USB Jump Table ("USB_jump_table" vs. "USB_Jump_Table") which led to an assembler error when attempting to build the firmware with recent SDCC versions, because the assembler now treats symbol names as case-sensitive. Successfully tested with ULINK probe and STM32F103 (debug, erase and write flash). Change-Id: I979667b9130efcdccc3ac73269c38f06e0590048 Signed-off-by: Martin Schmölzer <martin.schmoelzer@student.tuwien.ac.at> Reviewed-on: http://openocd.zylin.com/1482 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-07-17ULINK driver: port from libusb-0.1 to libusb-1.0 APIMartin Schmölzer
The ULINK driver now uses libusb-1.0 calls (synchronous device I/O) directly (not the common layer provided by libusb1_common.c) Successfully tested with ULINK probe and STM32F103 (debug, erase and write flash). Change-Id: Ic037a3582db85e49a8cc1ec0dd36f629e4757929 Signed-off-by: Martin Schmölzer <martin.schmoelzer@student.tuwien.ac.at> Reviewed-on: http://openocd.zylin.com/1459 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-07-15jtag/drivers: trivial variable renamingRobert Jarzmik
Rename ublast_sleep() time variable from ms to us as the unit is in micro-seconds. Change-Id: I07ff9c36d302d5d59edb8a5faa73d78cdd6145a4 Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Reviewed-on: http://openocd.zylin.com/1457 Tested-by: jenkins Reviewed-by: Xiaofan <xiaofanc@gmail.com> 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-07-15ftdi: Fix error in calloc retval checkAndreas Fritiofson
Found by clang. Change-Id: Iaa952b063779f4d392d8bdc62a3e7ce9daef2740 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1498 Tested-by: jenkins Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-07-15versaloon: remove bogus assignmentPaul Fertser
This fixes the build with Clang 3.3. Change-Id: I729b4791c16178cdd4a87f7e1c04019da2c84b26 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1488 Reviewed-by: Laszlo Papp <lpapp@kde.org> Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-07-08usb_blaster: maintainer-clean Makefile.inAndreas Fritiofson
Change-Id: I120fc13a353c63e12d89698869b30c8e751db074 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1480 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-06-29drivers/jtag: usb_blaster add pin controlsRobert Jarzmik
Add pin controls (pin6 and pin8). These pins can be controled either : - with a fixed value (0 or 1) - by TRST or SRST reset signal (driven low when signal activated). Change-Id: Ie6a3e57fc6ba6a38fdb9a009c976e3febab8f578 Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Reviewed-on: http://openocd.zylin.com/1448 Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Tested-by: jenkins
2013-06-21Bus Pirate driver: Small assorted fixes.R. Diez
Fixes are: - Discard any stale data from the previous connection. - Disable CR/LF translation on the (virtual USB) serial port. - Increase the average USB packet size. The 1 KiB buffer was underutilised. - Option "buspirate_speed fast" now works out of the box. - Some extra comments, error checking, etc. Change-Id: I72c49d943a8ce9c5e5d1644ef90cb1482f93c618 Signed-off-by: R. Diez <rdiezmail-openocd@yahoo.de> Reviewed-on: http://openocd.zylin.com/1437 Tested-by: jenkins 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-12libusb1_common, ftdi: clarify libusb_open error messagePaul Fertser
Print a user-friendly message when libusb_open() fails, e.g. Error: libusb_open() failed with LIBUSB_ERROR_ACCESS when there's a permissions problem. Also output a configure warning if libusb older than 1.0.9 is detected. Change-Id: I800f71f06672fe06c0a98a4e469f853b5021bcfe Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1430 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-06-10build: fix incorrect GPL address from last commitSpencer Oliver
962b3eb40cc5b69d9b3d6fcc4c5d56c4d204a307 included the old GPL address. Change-Id: I7affbdc3fc1c9251ea90796ab9eeef4d56ba4308 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1440 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
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-05update files to correct FSF addressSpencer Oliver
Change-Id: I429f7fd51f77b0e7c86d7a7f110ca31afd76c173 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1426 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
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>
2013-06-03rlink: fix speed table generationPaul Fertser
The speed table generation (by using explicit make -f Makefile.rlink) was broken since 865efd828a267992db0f2a92a731c5ce23a34236 Dec 2 2009 which did a bunch of renaming and included hand-editing of a generated rlink_speed_table.c file. This patch is compile-tested, i.e. the new generated rlink_speed_table.c links fine with the rlink driver. Change-Id: I1789a2f2f5bf20183b772d55c55fe68a0bd05cf5 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1431 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>