aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/Makefile.am
AgeCommit message (Collapse)AuthorFilesLines
2023-01-15nds32: drop it, together with aice adapter driverAntonio Borneo1-5/+0
The target nds32 and its companion adapter aice have not received any real improvement since 2013. It has been hard to keep them aligned during the evolution of OpenOCD code, with no way for maintainers to really check if they are still working. No real documentation is present for them in OpenOCD. The nds32 code triggers ~50 errors/warnings with scan-build. The arch nds32 has been dropped from Linux kernel v5.18-rc1. For all the reasons above, this code has been deprecated with commit 2e5df83de7f2 ("nds32: deprecate it, together with aice adapter driver") and tagged to be dropped before v0.13.0. Let it r.i.p. in OpenOCD git history. While there, drop from checkpatch list the camelcase symbols that where only used in this code. Change-Id: Ide52a217f2228e9da2f1cc5036c48f3536f26952 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7382 Tested-by: jenkins
2022-07-23openocd: build: add SPDX tagAntonio Borneo1-0/+2
Add the SPDX tag to makefiles, configuration scripts and tcl files present in the folders under src/ Change-Id: I1e4552aafe46ef4893d510da9d732c5f181784a4 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7051 Tested-by: jenkins
2021-11-13jtag: remove file driver.hAntonio Borneo1-1/+0
The only purpose of include file driver.h was to expose the API to register the adapter's commands. Move the prototype in adapter.h, already used by openocd.c. Change-Id: Ie1090c60ef9e5bac5ea187c87bed6e7b08d9671c Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/6645 Tested-by: jenkins Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
2021-11-13jtag/adapter: move 'usb location' code in adapter.cAntonio Borneo1-3/+3
The configuration code for adapter parameters is spread around. Add a struct in adapter.c aimed at containing all the adapter's configuration data. Move in adapter.c the code related to configuring 'usb location' and the copyright tag. Add adapter.h to export the functions. While there: - rework the copyright and the SPDX tag; - rename the 'usb location' functions; - remove the JTAG_SRC variable in Makefile.am. Change-Id: I4fe0d32991a8a30e315807180688035ae9ee01ce Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/6640 Tested-by: jenkins Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
2021-03-19jtag: remove minidriver code and minidriver-dummyAntonio Borneo1-32/+0
With zy1000 removed, there is no other implementation that uses the minidriver, apart from the test/example minidriver-dummy. While the idea of the minidriver is probably still valid (that is to intercept jtag primitives before serialization), there is no current use case, no guarantee it is really working, and the way it was implemented (by macros and #if conditionals) is really hard to maintain and test. Let's let it rip in git history, from where it could eventually be taken back in a more modern implementation. The entry points of minidriver API are still in the code with the original names. Change-Id: I882e32cb26cf5842f9cba14e3badaf8948e3760d Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/6091 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2021-03-19zy1000: drop the code, deprecated in v0.10.0Antonio Borneo1-4/+0
The code for zy1000 has been marked as deprecated in release v0.10.0, 4 years ago. Time to drop it! Change-Id: I08fca2a2bf8f616f031e15fd37dac3197a40ba50 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/6090 Tested-by: jenkins
2020-05-24swim: abstract the transport in stm8 targetAntonio Borneo1-0/+2
SWIM is implemented by (ab)using the HLA API. This was acceptable when OpenOCD code did not provided a clear separation between transports and related APIs. Still today SWIM in OpenOCD is only supported by STLink, so the decision to re-use the HLA API was the simpler way to implement it. After commit efd1d642220a ("adapter: switch from struct jtag_interface to adapter_driver") the transports API are better split and SWIM can be implemented as a separate set of API. This would open the possibility to extend OpenOCD for other adapters that provide SWIM, e.g. versaloon, or through SPI emulation [1]. Introduce a new set of files swim.[ch] to handle the SWIM API. Beside the API that almost match the transport low-level data communication (system_reset, read_mem, write_mem), add a further API reconnect. Today, inside HLA STLink code, the reconnect is implemented by hacking the HLA API state(). Please notice that due to this hack the return type is incorrect; stlink_usb_state() returns ERROR_OK in SWIM mode, while its return type is enum target_state. Ignore the type mismatch and still call the HLA API state in the new SWIM API reconnect. Further commit will fix it. [1] http://kuku.eu.org/?projects/stm8spi/stm8spi Change-Id: I52018e1e2200cbd41af8e5031f7b35dc761b61d6 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5528 Tested-by: jenkins
2018-10-16jtag: make cmd_queue_scan_field_clone publicSteven Stallion1-3/+2
This patch makes the cmd_queue_scan_field_clone function public. This permits targets to insert fields without affecting the submitted scan_field list. This will be used in an upcoming target implementation that needs to insert additional padding bits. Change-Id: I8fbd3b9b4e413432471f4f1444048932c8fa189e Signed-off-by: Steven Stallion <stallion@squareup.com> Reviewed-on: http://openocd.zylin.com/4082 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
2016-12-08Convert to non-recursive makeAndreas Fritiofson1-55/+41
Change-Id: I11f8bc8553957e2ff083c09e72e16881e4d3bb6f Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/3865 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2013-06-05aice: add Andes AICE supportHsiangkai Wang1-0/+5
Andes AICE uses USB to transfer packets between OpenOCD and AICE. It uses high-level USB commands to control targets instead of using JTAG signals. I define an interface as aice_port_api_s. It contains all basic operations needed by target-dependent code. Change-Id: I117bc4f938fab2732e44c509ea68b30172d6fdb9 Signed-off-by: Hsiangkai Wang <hsiangkai@gmail.com> Reviewed-on: http://openocd.zylin.com/1256 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2012-12-23target: add deprecated target name supportSpencer Oliver1-3/+3
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-01-04build: fix make distSpencer Oliver1-1/+2
add missing files to distribution after previous commit. Change-Id: I0e4b278c090c71d15dd059b6755c9821427cc8ab Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/332 Tested-by: jenkins Reviewed-by: Mathias Küster <kesmtp@freenet.de>
2012-01-03ST-LINK USB initial releaseMathias K1-0/+6
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-06-17build: add missing files from dist releaseSpencer Oliver1-1/+2
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-13transport: move files over to transport folderØyvind Harboe1-2/+0
as we introduce swd and jtag as two transports, we want to start up with a new transport folder to organize the code a bit.
2010-11-18build: add common.mkSpencer Oliver1-3/+1
Rather than specifying common makefile variables move them all to a common.mk. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2010-07-02initial "transport" frameworkDavid Brownell1-0/+2
This adds the guts of a transport framework with initialization, which should work with current JTAG-only configurations (tested with FT2232). Each debug adapter can declare the transports it supports, and exactly one transport is initialized. (with its commands) in any given OpenOCD session. * Define a new "struct transport with init hooks and a few "transport" subcommands to support it: "list" ... list the transports configured (just "jtag" for now) "select" ... makes the debug session use that transport "init" ... initializes the selected transport (internal) * "interface_transports" ... declares transports the current interface can support. (Some will do this from C code instead, when there are no hardware versioning (or other) issues to prevent it. Plus some FT2232 tweaks, including a few to streamline upcoming support for an SWD transport (initially for Luminary adapters). Eventually src/jtag should probably become src/transport, moving jtag-specific stuff to transport/jtag. Signed-off-by: David Brownell <db@helium.(none)>
2010-06-10jtag: added mising headerThomas Koeller1-0/+1
Distributions created by 'make dist' were incomplete due to a missing header file. Signed-off-by: Thomas Koeller <thomas.koeller@baslerweb.com>
2010-03-27jtag/tcl.c cleanup -- split out "adapter.c"David Brownell1-0/+1
Clean up the jtag/tcl.c file, which was one of the biggest and messiest ones in that directory. Do it by splitting out all the generic adapter commands to a separate "adapter.c" file (leaving the "tcl.c" file holding only JTAG utilities). Also rename the little-used "jtag interface" to "adapter_name", which should have been at least re-categorized earlier (it's not jtag-only). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-12-08minidriver: fix inline capability of minidriverØyvind Harboe1-8/+24
Low latency low CPU processing power systems(embedded) will benefit greatly from being able to inline certain jtag_add_xxx() fn's. The trick is that this has to be done in such a way as to allow implementing an OpenOCD API with a shared library(eventually) on a PC hosted OpenOCD. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2009-12-08build: add build/src to include pathØyvind Harboe1-1/+2
This allows including generated include files. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2009-12-03remove tertiary include pathsZachary T Welch1-3/+1
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 Welch1-0/+1
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 Welch1-0/+7
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 Welch1-61/+7
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.
2009-11-24add jtag/usb_common.[ch] filesZachary T Welch1-1/+6
Begins to consolidate code used by several USB JTAG interfaces. This first patch provides the required build system changes and a common jtag_usb_open routine, which will replace the guts for probing the busses and devices for possible VID/PID matches. The following patches convert each driver to use it.
2009-11-18split startup.tcl file across modulesZachary T Welch1-0/+2
Moves definitions for each layer into their own file, eliminating layering violations in the built-in TCL code. Updates src/Makefile.am rules to include all files in the final startup.tcl input file, and others Makefile.am rules to distribute the new files in our packages.
2009-06-29Move JTAG interface list to new files.zwelch1-1/+3
- Adds new source files to encapsulate static/dynamic module handling. - Further work should implement the jtag_interface_modules_load routine, to populate the jtag_interfaces list from shared libraries in a path. git-svn-id: svn://svn.berlios.de/openocd/trunk@2413 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-17dummy driver now works under eCosoharboe1-1/+1
git-svn-id: svn://svn.berlios.de/openocd/trunk@2268 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-09Improve use of automake conditionals for FTDI-based JTAG drivers:zwelch1-10/+2
- Remove once-used XXX_FTD2XX symbols; replace with XXX_DRIVER symbols. - Enabled when either libftdi or FTD2xx driver should be built. - Eliminates redundant DRIVERSFILE assignment in JTAG automake input. git-svn-id: svn://svn.berlios.de/openocd/trunk@2177 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-09Simplify JTAG automake input file:zwelch1-98/+40
- Consolidate all individual driver variables into DRIVERFILES. - Eliminates all empty 'else' conditional clauses. - Move minidriver files to top of file. - Use MINIDRIVER conditional to build only driver(s) that will be linked. - Eliminate superfluous whitespace. git-svn-id: svn://svn.berlios.de/openocd/trunk@2176 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-09Rename jtag_driver.c as driver.c to remove duplicate name component.zwelch1-1/+1
git-svn-id: svn://svn.berlios.de/openocd/trunk@2175 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-09Fix make maintainer-clean for out-of-tree builds.zwelch1-1/+1
git-svn-id: svn://svn.berlios.de/openocd/trunk@2172 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-09Split main jtag.c file into two layers:zwelch1-1/+2
- src/jtag/core.c: contains the low-level JTAG TAP and scanning routines. - src/jtag/tcl.c: contains high-level JTAG TCL commands that use the core. - Remove static keywords from routines in core.c, extern from tcl.c: - jtag, jtag_interface global variables - jtag_{examine,validate}_chain and jtag_tap_{init,free} functions - Added myself to the copyright header in both of these files. - Used 'svn cp' to add files, so versioning was preserved for both. git-svn-id: svn://svn.berlios.de/openocd/trunk@2149 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-08update zy1000 to latest minidriver workoharboe1-1/+2
git-svn-id: svn://svn.berlios.de/openocd/trunk@2132 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-08Move minidummy source file, as was supposed to happen in last commit.zwelch1-1/+1
git-svn-id: svn://svn.berlios.de/openocd/trunk@2103 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-08Finish off the dummy minidriver integration:zwelch1-5/+6
- Try to disambiguates minidriver options from "standard" driver options. - Make minidummy symbols more explict about being a minidriver. - Move minidummy.c into minidummy directory to put it with its header. In configure.in: - Improve configuration option to allow new minidriver implementations: - Change option from --enable-minidummy to --enable-minidriver-dummy. - Move it to the end of the list of options. - Provides a clear pattern for future minidrivers. - Update handling of HAVE_JTAG_MINIDRIVER_H: - Check for external jtag_minidriver.h only with --enable-ecosboard. - Otherwise, define it when --enable-minidriver-dummy is provided. - Add check to ensure only one minidriver is enabled. - When a minidriver is enabled, warn user that standard drivers are not built. - Use proper AC_DEFINE semantics with MINIDRIVER_DUMMY. In src/jtag/Makefile.am: - Restructure handling of minidummy source files. - Include minidummy driver header in the distribution. In src/jtag/jtag.c: - Restructure preprocessor logic to include: - only one minidriver, or - all configured standard drivers. git-svn-id: svn://svn.berlios.de/openocd/trunk@2102 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-07minidriver build test driver "minidriver"oharboe1-0/+7
git-svn-id: svn://svn.berlios.de/openocd/trunk@2092 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-03Move JTAG command handling implementation into its own source file.zwelch1-1/+1
git-svn-id: svn://svn.berlios.de/openocd/trunk@2030 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-03Move JTAG command APIs into new jtag/commands.h header file.zwelch1-0/+1
git-svn-id: svn://svn.berlios.de/openocd/trunk@2027 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-03Move the JTAG cable interface API implementationzwelch1-0/+1
- Cloned the src/jtag/jtag.c file to src/jtag/interface.c. - For each for of those files, deleted the contents of the other. - Add new source file to automake input. git-svn-id: svn://svn.berlios.de/openocd/trunk@2012 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-02Add private src/jtag/interface.h for use by JTAG interface drivers:zwelch1-0/+1
- Move the jtag_interface structure definition. - Move the Cable API declarations. - Add new header file to automake input. The next patch will move the implementation to interface.c. git-svn-id: svn://svn.berlios.de/openocd/trunk@2008 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-02Add header file for JTAG minidriver:zwelch1-0/+1
- Wraps all minidriver API functions using API front-ends: - Outlines jtag_add_dr_out() and jtag_alloc_in_value32(). - Adds interface_ prefix to existing jtag_alloc_invalue_32 routines. - Re-inline these interface definitions in new header file. - Re-inline parts of the (mini)driver implementations in minidriver.h. - Replace INCLUDE_JTAG_MINIDRIVER_H with #include directives. The next patch will finish removing '#ifdef HAVE_JTAG_MINIDRIVER_H' from jtag.h. git-svn-id: svn://svn.berlios.de/openocd/trunk@2006 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-02Only include jtag_driver.c in the build when minidriver is not in use.zwelch1-1/+7
git-svn-id: svn://svn.berlios.de/openocd/trunk@2000 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-02Continue clean-up of JTAG driver interface:zwelch1-1/+3
- Move all interface_jtag_* functions to jtag_driver.c. - Extern command queue routines in jtag.h (with INCLUDE_JTAG_INTERFACE_H). - Add new source file to automake inputs. git-svn-id: svn://svn.berlios.de/openocd/trunk@1996 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-31Whitespace-only updates to automake input files:zwelch1-7/+25
- use continuations to break long lines of variable assignments - makes these variables more patch-friendly and conform to style guide git-svn-id: svn://svn.berlios.de/openocd/trunk@1970 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-10Extend autotools build to create shared library libopenocd with libtool:zwelch1-3/+7
- Add libtoolize step too bootstrap script; creates ltmain.sh script. - Add AC_PROG_LIBTOOL to configure.in to add libtool support to build. - Change Makefile.am library rules from static (_a) to libtool (_la). - Install libopenocd.{la,so,a} in $(libdir); update openocd link rules. - Extend MAINTAINERCLEANFILES in top-level Makefile.am to remove ltmain.sh. git-svn-id: svn://svn.berlios.de/openocd/trunk@1695 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-02Update autotools scripts to require automake 1.6. The configure.in scriptzwelch1-2/+3
already required autoconf 2.59 (circa 2006), so there is no reason to support versions of automake older than 1.6 (circa 2002). The first part of this patch upgrades the configure.in script: 1. Use current calling conventions for the AC_INIT and AM_INIT_AUTOMAKE macros, bringing their usage up-to-date with the version of autoconf already specified by AC_PREREQ. 2. Add AC_CONFIG_SRCDIR macro, required by new version of AC_INIT. 3. Automatically enable all of automake's warnings except Makefile portability (which OpenOCD violates by using GNU make's $(wildcard)). [[ While automake has its own -Werror option, I did not enabled it due to existing warnings. ]] 4. Add the missing AM_PROG_C_O check, required by the build rules for openocd.o in src/Makefile.am. 5. Adjust version number to show progress toward the next release. 6. Include a bug reporting e-mail address to direct users to this list. This patch makes the following adjustments to the Makefile.am files: 1. Update AUTOMAKE_OPTIONS to require automake version 1.6 2. Rewrite all deprecated INCLUDES assignments as AM_CPPFLAGS 3. Clean-up all AM_CPPFLAGS declarations to be patch-friendly. 4. Remove vestigial references to $(all_includes) 5. Remove erroneous references to @CPPFLAGS@ (only use AM_CPPFLAGS) 6. Remove unused -I and -D directives in helper/, flash/, target/ git-svn-id: svn://svn.berlios.de/openocd/trunk@1591 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-03-08Patch from Dimitar Dimitrov adding support for Olimex ARM-JTAG-EWduane1-1/+7
git-svn-id: svn://svn.berlios.de/openocd/trunk@1402 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-01-20Fix 'make maintainer-clean' courtesy of Zach Welch <zw@superlucidity.net>kc8apf1-0/+2
git-svn-id: svn://svn.berlios.de/openocd/trunk@1345 b42882b7-edfa-0310-969c-e2dbd0fdcd60