openocd/src/target
David Brownell db6c994642 ARM: start abstracting ADIv5 transports (JTAG/SWD)
To support both JTAG and SWD, ADIv5 needs DAP operations which are
transport-neutral, instead being of JTAG-specific.  This patch:

 - Defines such a transport-neutral interface, abstracting access
   to DP and AP registers through a conceptual queue of operations.

 - Builds the first implementation of such a transport with the existing
   JTAG-specific code.

In contrast to the current JTAG-only interface, the interface adds
support for two previously-missing (and unused) DAP operations:

 - aborting the current AP transaction (untested);
 - reading the IDCODE register (tested) ... required for SWD init.

The choice of transports may be fixed at the chip, board, or JTAG/SWD
adapter level.  Or if all the relevant hardware supports both transport
options, the choice may be made at runtime, This patch provides basic
infrastructure to support whichever choice is made.

The current "JTAG-only" transport choice policy will necessarily continue
for now, until SWD support becomes available in OpenOCD.  Later patches
start phasing out JTAG-specific calls in favor of transport-neutral calls.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-03-02 22:41:59 -08:00
..
ecos - reverted some of the changes that possibly broke arm926ejs. Waiting 2008-04-04 13:47:38 +00:00
xscale Remove annoying end-of-line whitespace from most src/* 2009-09-21 18:40:55 +00:00
algorithm.c change #include "binarybuffer.h" to <helper/binarybuffer.h> 2009-12-03 04:22:17 -08:00
algorithm.h target: don't implicitly include "algorithm.h" 2009-11-16 00:35:05 -08:00
arm_adi_v5.c ARM: start abstracting ADIv5 transports (JTAG/SWD) 2010-03-02 22:41:59 -08:00
arm_adi_v5.h ARM: start abstracting ADIv5 transports (JTAG/SWD) 2010-03-02 22:41:59 -08:00
arm_disassembler.c Various doc/comment updates 2010-01-21 16:45:00 -08:00
arm_disassembler.h change #include "types.h" to <helper/types.h> 2009-12-03 04:22:52 -08:00
arm_dpm.c ARM: keep a handle to the PC 2010-02-21 14:34:33 -08:00
arm_dpm.h ARM DPM: support updating HW breakpoints 2009-12-11 15:26:10 -08:00
arm_jtag.c embedded hosts: optimize common code path for core arm operations 2009-12-11 09:17:23 +01:00
arm_jtag.h embedded hosts: optimize common code path for core arm operations 2009-12-11 09:17:23 +01:00
arm_opcodes.h ARM: update arm_opcodes.h copyright 2009-12-09 21:43:23 -08:00
arm_semihosting.c arm_semihosting buildfix 2010-03-01 10:39:57 -08:00
arm_semihosting.h ARM: remove semihosting globals 2009-12-04 16:51:48 -08:00
arm_simulator.c ARM: use <target/arm.h> not armv4_5.h 2009-12-07 14:57:44 -08:00
arm_simulator.h ARM: rename armv4_5_state_* as arm_state_* 2009-12-04 19:39:25 -08:00
arm.h semihosting: move semihosting cmd to arm cmd group 2010-02-28 22:48:37 +00:00
arm7_9_common.c semihosting: move semihosting cmd to arm cmd group 2010-02-28 22:48:37 +00:00
arm7_9_common.h arm7/9: add fn to check if dcc downloads have been enabled 2010-01-13 12:00:02 +01:00
arm7tdmi.c ARM: keep a handle to the PC 2010-02-21 14:34:33 -08:00
arm7tdmi.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
arm9tdmi.c ARM: keep a handle to the PC 2010-02-21 14:34:33 -08:00
arm9tdmi.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
arm11_dbgtap.c arm11: allow minidrivers to implement inner loop of memory writes 2010-02-22 10:15:51 +01:00
arm11_dbgtap.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
arm11.c ARM: keep a handle to the PC 2010-02-21 14:34:33 -08:00
arm11.h ARM11: per-core options should not be global 2010-02-21 14:30:27 -08:00
arm720t.c ARM: keep a handle to the PC 2010-02-21 14:34:33 -08:00
arm720t.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
arm920t.c ARM: keep a handle to the PC 2010-02-21 14:34:33 -08:00
arm920t.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
arm926ejs.c ARM: keep a handle to the PC 2010-02-21 14:34:33 -08:00
arm926ejs.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
arm966e.c arm7/9: enable check that DCC downloads have been enabled 2010-01-13 12:00:02 +01:00
arm966e.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
armv4_5_cache.c change #include "log.h" to <helper/log.h> 2009-12-03 04:22:52 -08:00
armv4_5_cache.h change #include "types.h" to <helper/types.h> 2009-12-03 04:22:52 -08:00
armv4_5_mmu.c change #include "log.h" to <helper/log.h> 2009-12-03 04:22:52 -08:00
armv4_5_mmu.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
armv4_5.c armv4_5: remove core_type check in mcr/mrc cmd 2010-02-28 23:06:49 +00:00
armv4_5.h ARM: use <target/arm.h> not armv4_5.h 2009-12-07 14:57:44 -08:00
armv7a.c ARMv7: help/usage updates 2010-01-07 16:18:01 -08:00
armv7a.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
armv7m.c semihosting: add armv7m semihosting support 2010-02-28 22:48:44 +00:00
armv7m.h ARMv7-M: start using "struct arm" 2010-02-21 14:28:53 -08:00
avrt.c use ARRAY_SIZE macro 2009-11-25 10:32:00 -08:00
avrt.h change #include "jtag.h" to <jtag/jtag.h> 2009-12-03 04:24:33 -08:00
breakpoints.c change #include "log.h" to <helper/log.h> 2009-12-03 04:22:52 -08:00
breakpoints.h change #include "types.h" to <helper/types.h> 2009-12-03 04:22:52 -08:00
cortex_a8.c ADIv5 clean up AP selection and register caching 2010-02-21 14:48:04 -08:00
cortex_a8.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
cortex_m3.c semihosting: add armv7m semihosting support 2010-02-28 22:48:44 +00:00
cortex_m3.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
dsp563xx_once.c target: add basic dsp563xx support 2009-12-15 18:38:52 +01:00
dsp563xx_once.h target: add basic dsp563xx support 2009-12-15 18:38:52 +01:00
dsp563xx.c fix crash with DSP563XX 2010-02-14 12:59:10 -08:00
dsp563xx.h target: add basic dsp563xx support 2009-12-15 18:38:52 +01:00
embeddedice.c EmbeddedICE - fix Feroceon/Dragonite message 2010-01-22 22:54:39 -08:00
embeddedice.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
etb.c ARM ETM/ETB/trace: help/usage updates 2010-01-07 15:22:41 -08:00
etb.h ETM trigger_percent becomes an ETB command 2009-12-19 13:06:46 -08:00
etm_dummy.c ARM ETM/ETB/trace: help/usage updates 2010-01-07 15:22:41 -08:00
etm_dummy.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
etm.c ARM ETM/ETB/trace: help/usage updates 2010-01-07 15:22:41 -08:00
etm.h ETM: more ETM_CTRL bit cleanup 2009-12-19 13:07:26 -08:00
fa526.c arm7/9: enable check that DCC downloads have been enabled 2010-01-13 12:00:02 +01:00
feroceon.c ARM: keep a handle to the PC 2010-02-21 14:34:33 -08:00
image.c change #include "log.h" to <helper/log.h> 2009-12-03 04:22:52 -08:00
image.h change #include "fileio.h" to <helper/fileio.h> 2009-12-03 04:22:51 -08:00
Makefile.am Packaging fix 2009-12-21 12:31:12 -08:00
mips_ejtag.c MIPS: update arch_info access to match other targets 2010-01-09 13:37:02 +00:00
mips_ejtag.h MIPS: update arch_info access to match other targets 2010-01-09 13:37:02 +00:00
mips_m4k.c MIPS: add mips algorithm support 2010-02-28 22:26:53 +00:00
mips_m4k.h MIPS: update arch_info access to match other targets 2010-01-09 13:37:02 +00:00
mips32_dmaacc.c mips_ejtag_t -> struct mips_ejtag 2009-11-13 11:58:11 -08:00
mips32_dmaacc.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
mips32_pracc.c MIPS: add mips algorithm support 2010-02-28 22:26:53 +00:00
mips32_pracc.h MIPS: whitespace cleanup 2010-01-07 20:56:07 +00:00
mips32.c MIPS: add mips algorithm support 2010-02-28 22:26:53 +00:00
mips32.h MIPS: add mips algorithm support 2010-02-28 22:26:53 +00:00
oocd_trace.c ARM ETM/ETB/trace: help/usage updates 2010-01-07 15:22:41 -08:00
oocd_trace.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00
register.c change #include "types.h" to <helper/types.h> 2009-12-03 04:22:52 -08:00
register.h target: make register flags "bool" 2009-11-22 10:27:29 -08:00
startup.tcl reset: better error messages 2010-01-11 12:58:06 +01:00
target_request.c target misc: help/usage updates 2010-01-07 15:05:26 -08:00
target_request.h #include "target.h" less wildly 2009-11-16 00:35:24 -08:00
target_type.h target: add check_reset hook 2010-01-13 12:00:02 +01:00
target.c target_resume() doxygen 2010-03-02 15:45:12 -08:00
target.h target: add todo in target_write_memory() about alignment 2010-02-09 21:57:23 +01:00
testee.c target: further shrink Jim-awareness 2009-12-13 12:52:23 -08:00
trace.c target misc: help/usage updates 2010-01-07 15:05:26 -08:00
trace.h change #include "types.h" to <helper/types.h> 2009-12-03 04:22:52 -08:00
xscale.c ARM: keep a handle to the PC 2010-02-21 14:34:33 -08:00
xscale.h target files shouldn't #include <target/...h> 2009-12-13 12:52:23 -08:00