]> git.sur5r.net Git - openocd/log
openocd
14 years agoxscale documentation: vector table handling
Mike Dunn [Mon, 2 Aug 2010 19:50:29 +0000 (12:50 -0700)]
xscale documentation: vector table handling

Hi everyone.  I noticed some incorrect information in the user manual
regarding how the vector table is handled on the xscale, so for your
consideration, here's a short patch that corrects it, and adds a
little more detail I thought might be helpful.

The documentation states that OpenOCD does not attempt to synchronize
the vector tables in memory with those stored in the "mini instruction
cache".  In fact, on each resume it does copy from memory to the cache
all entries in the high and low tables that were not previously
defined using the 'xscale vector_table' command. (In
src/target/xscale.c, see xscale_update_vectors(), which is invoked by
xscale_resume().)  I take advantage of this during Linux boot-up.  The
extra detail describes in general terms how I do this.

Corrections, comments are of course gratefully received.

Thanks,
Mike

Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
14 years agoverify_image: print out a statement that there are no further errors
Øyvind Harboe [Mon, 2 Aug 2010 14:55:46 +0000 (16:55 +0200)]
verify_image: print out a statement that there are no further errors

It is useful to know that the printed errors are *all* the
errors there were.

Added missing error handling(found by inspection).

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agozy1000: use correct base clock when calculating speed divisor
Øyvind Harboe [Mon, 2 Aug 2010 20:12:33 +0000 (22:12 +0200)]
zy1000: use correct base clock when calculating speed divisor

revc uses 60MHz and revb 64MHz, use this in calculations.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agozy1000: print out khz correctly in response to setting JTAG speed
Øyvind Harboe [Mon, 2 Aug 2010 15:09:57 +0000 (17:09 +0200)]
zy1000: print out khz correctly in response to setting JTAG speed

Calculate printout based on same core routines.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agolpc1768: even if rclk "works", it isn't necessarily the correct clk
Øyvind Harboe [Mon, 2 Aug 2010 11:21:21 +0000 (13:21 +0200)]
lpc1768: even if rclk "works", it isn't necessarily the correct clk

rclk = 4MHz oon lpc1768, the correct JTAG clk is 666MHz(4MHz/6).

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoioutil: fix internal fn names
Øyvind Harboe [Mon, 2 Aug 2010 09:59:46 +0000 (11:59 +0200)]
ioutil: fix internal fn names

prefix w/ioutil_

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agojtag: measure_clk debug proc
Øyvind Harboe [Mon, 2 Aug 2010 09:15:21 +0000 (11:15 +0200)]
jtag: measure_clk debug proc

It can be useful to get an approximate measurement of
rtck frequency for debugging purposes.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agojtag: add jtag_flush_queue_sleep debug command
Øyvind Harboe [Sat, 31 Jul 2010 19:45:56 +0000 (21:45 +0200)]
jtag: add jtag_flush_queue_sleep debug command

it can be useful to throttle performance: test
differences in behavior, test performance effect
of long roundtrips.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoutil: ms command to calculate length of operations
Øyvind Harboe [Sun, 1 Aug 2010 07:35:58 +0000 (09:35 +0200)]
util: ms command to calculate length of operations

This can be used to calculate approximate RTCK frequency
for instance.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoSupport NGX Technologies product NGX ARM USB JTAG
Peter Stuge [Sun, 1 Aug 2010 01:26:48 +0000 (03:26 +0200)]
Support NGX Technologies product NGX ARM USB JTAG

This is a standard FT2232 device. More info at their web page:
http://shop.ngxtechnologies.com/product_info.php?cPath=26&products_id=30

14 years agoRemove srst_pulls_trst from LPC2148 target
Peter Stuge [Sun, 1 Aug 2010 01:26:47 +0000 (03:26 +0200)]
Remove srst_pulls_trst from LPC2148 target

srst_pulls_trst is only true on some (broken) LPC2148 boards, a fact
which is already documented in doc/openocd.texi, so it shouldn't be
set unconditionally in the target tcl.

This patch was needed to reflash when an Abort exception occured very
early after reset, before OpenOCD tried to halt the CPU.

14 years agostellaris flash comment update
David Brownell [Sun, 1 Aug 2010 06:27:14 +0000 (02:27 -0400)]
stellaris flash comment update

This flash driver works on more than just two chips.
(Though it does need work still, e.g. to protect more than 64K.
(On non-'3748-A0 chips where errata allow that.))

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agolpc7168: make flash available upon reset init
Øyvind Harboe [Fri, 30 Jul 2010 20:34:43 +0000 (22:34 +0200)]
lpc7168: make flash available upon reset init

set user mode to avoid ROM being mapped at address
0 rather than flash.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years ago"transport select" returns Jim value
David Brownell [Sat, 24 Jul 2010 18:38:46 +0000 (14:38 -0400)]
"transport select" returns Jim value

Make it scriptable, so code can be conditionalized based on
what transport is in use for the session.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoBuspirate: fix shadow
Michal Demin [Sat, 10 Jul 2010 08:08:18 +0000 (10:08 +0200)]
Buspirate: fix shadow

14 years agodocs: removed unused cmd 'fast'
Spencer Oliver [Tue, 20 Jul 2010 09:46:54 +0000 (10:46 +0100)]
docs: removed unused cmd 'fast'

The cmd fast was removed in commit c0d14dc7f19d785702eee5f69de5b1a63902554b

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoflash: remove algorithm exit_point address for supported targets
Spencer Oliver [Mon, 19 Jul 2010 19:33:04 +0000 (20:33 +0100)]
flash: remove algorithm exit_point address for supported targets

For the above targets the exit_point is
optional when used with run_algorithm, so remove it.

This makes updating the algorithm less error prone.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agomips32: exit_point optional for mips32_run_algorithm
Spencer Oliver [Mon, 19 Jul 2010 19:29:16 +0000 (20:29 +0100)]
mips32: exit_point optional for mips32_run_algorithm

As the mips32 uses instruction breakpoints for algorithms we do not really
need to check the pc on exit.

This now matches the behaviour of the arm codebase.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoarmv7m: exit_point optional for armv7m_run_algorithm
Spencer Oliver [Mon, 19 Jul 2010 19:28:30 +0000 (20:28 +0100)]
armv7m: exit_point optional for armv7m_run_algorithm

As the armv7m uses instruction breakpoints for algorithms we do not really
need to check the pc on exit.

This now matches the behaviour of the arm4_5 codebase.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoarmv4_5: add algorithms instruction breakpoint support
Spencer Oliver [Tue, 20 Jul 2010 08:02:10 +0000 (09:02 +0100)]
armv4_5: add algorithms instruction breakpoint support

Update the arm_checksum_memory and arm_blank_check_memory
algorithms to use a breakpoint instruction on v5 arch.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoarm11 error propagation fixes
Øyvind Harboe [Tue, 20 Jul 2010 06:42:52 +0000 (08:42 +0200)]
arm11 error propagation fixes

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm_jtag_scann error propagation fixes
Øyvind Harboe [Tue, 20 Jul 2010 06:23:59 +0000 (08:23 +0200)]
arm_jtag_scann error propagation fixes

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm_dpm: error propagation fixes
Øyvind Harboe [Mon, 19 Jul 2010 12:49:41 +0000 (14:49 +0200)]
arm_dpm: error propagation fixes

found by inspection

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoadi_jtag_ error propagation
Øyvind Harboe [Mon, 19 Jul 2010 12:42:54 +0000 (14:42 +0200)]
adi_jtag_ error propagation

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm: error propagation of arm_jtag_set_instr
Øyvind Harboe [Mon, 19 Jul 2010 12:37:45 +0000 (14:37 +0200)]
arm: error propagation of arm_jtag_set_instr

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm_adi_v5: dap_run() error propagation
Øyvind Harboe [Mon, 19 Jul 2010 12:22:35 +0000 (14:22 +0200)]
arm_adi_v5: dap_run() error propagation

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm_adi_v5: mem_ap_write error propagation
Øyvind Harboe [Mon, 19 Jul 2010 12:03:33 +0000 (14:03 +0200)]
arm_adi_v5: mem_ap_write error propagation

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm_adi_v5: error propagation of mem_ap_read_atomic_u32 failure
Øyvind Harboe [Mon, 19 Jul 2010 11:56:59 +0000 (13:56 +0200)]
arm_adi_v5: error propagation of mem_ap_read_atomic_u32 failure

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agomem_ap_read_u32 error propagation
Øyvind Harboe [Mon, 19 Jul 2010 11:50:28 +0000 (13:50 +0200)]
mem_ap_read_u32 error propagation

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm_adi_v5: add error propagation for dap_setup_accessport
Øyvind Harboe [Mon, 19 Jul 2010 11:45:53 +0000 (13:45 +0200)]
arm_adi_v5: add error propagation for dap_setup_accessport

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agodebug: debug entry error propagation
Øyvind Harboe [Mon, 19 Jul 2010 10:34:54 +0000 (12:34 +0200)]
debug: debug entry error propagation

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: added timeout handling
Øyvind Harboe [Mon, 19 Jul 2010 10:17:11 +0000 (12:17 +0200)]
cortex a8: added timeout handling

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm: add error propagation for enable/disable mmu caches
Øyvind Harboe [Mon, 19 Jul 2010 08:58:07 +0000 (10:58 +0200)]
arm: add error propagation for enable/disable mmu caches

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm: add error propagation to generic get_ttb fn
Øyvind Harboe [Mon, 19 Jul 2010 06:45:45 +0000 (08:45 +0200)]
arm: add error propagation to generic get_ttb fn

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agomore careful luminary init
David Brownell [Mon, 19 Jul 2010 20:08:09 +0000 (16:08 -0400)]
more careful luminary init

Set up more of the Luminary-specific signals, and stop cloning
a few of the JTAG defaults.  More comments too.

Still leaves the "dap info 0" bugs unresolved (presumably coupled
to this particular adapter family) where TPIU, ITM, DWT, and other
debug modules wrongly display as extra NVICs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agocfg: add Amontec JTAGkey2p interface config (Issue #26)
Spencer Oliver [Mon, 19 Jul 2010 16:31:38 +0000 (17:31 +0100)]
cfg: add Amontec JTAGkey2p interface config (Issue #26)

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoflash: add nuc910 nand driver
Spencer Oliver [Mon, 19 Jul 2010 11:22:18 +0000 (12:22 +0100)]
flash: add nuc910 nand driver

This adds a nand driver support for the nuc910 target.
Note that ECC is not currently supported by this driver, although
it is supported by the peripheral.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agonand: nand probe also outputs manufacturer
Spencer Oliver [Fri, 16 Jul 2010 16:01:32 +0000 (17:01 +0100)]
nand: nand probe also outputs manufacturer

The nand probe now outputs the manufacturer if found.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agocfg: update rsc-w910 script
Spencer Oliver [Fri, 16 Jul 2010 15:59:35 +0000 (16:59 +0100)]
cfg: update rsc-w910 script

 - Only enable the FMI (NAND) and DMA clocks.
 - Select NAND interface on the MFSEL.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agodocs: missing parameter from nand check_bad_blocks
Spencer Oliver [Fri, 16 Jul 2010 15:56:41 +0000 (16:56 +0100)]
docs: missing parameter from nand check_bad_blocks

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agocortex a8: lots of error propagation fixes
Øyvind Harboe [Sun, 18 Jul 2010 21:30:31 +0000 (23:30 +0200)]
cortex a8: lots of error propagation fixes

found by code inspection

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: mem_ap_read_buf_u32() error handling
Øyvind Harboe [Sun, 18 Jul 2010 21:12:25 +0000 (23:12 +0200)]
cortex a8: mem_ap_read_buf_u32() error handling

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: add missing error handling for cortex_a8_dap_write/read_coreregister_u32()
Øyvind Harboe [Sun, 18 Jul 2010 21:10:50 +0000 (23:10 +0200)]
cortex a8: add missing error handling for cortex_a8_dap_write/read_coreregister_u32()

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: add missing error handling from cortex_a8_exec_opcode()
Øyvind Harboe [Sun, 18 Jul 2010 21:08:26 +0000 (23:08 +0200)]
cortex a8: add missing error handling from cortex_a8_exec_opcode()

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: add missing error handling for mem_ap_atomic_write_u32()
Øyvind Harboe [Sun, 18 Jul 2010 21:03:05 +0000 (23:03 +0200)]
cortex a8: add missing error handling for mem_ap_atomic_write_u32()

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: add missing error handling for mem_ap_read_atomic_u32()
Øyvind Harboe [Sun, 18 Jul 2010 21:01:16 +0000 (23:01 +0200)]
cortex a8: add missing error handling for mem_ap_read_atomic_u32()

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocomments for Luminary ICDI layout
David Brownell [Sun, 18 Jul 2010 21:29:25 +0000 (17:29 -0400)]
comments for Luminary ICDI layout

Provide $defines for more of the signals involved in the
Luminary ICDI hardware, and comment some of what's going on.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agospelling fixes in comments
Øyvind Harboe [Sun, 18 Jul 2010 20:56:01 +0000 (22:56 +0200)]
spelling fixes in comments

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agodebug-feature: jtagtcpip, improve jtag performance
Øyvind Harboe [Sat, 17 Jul 2010 20:22:21 +0000 (22:22 +0200)]
debug-feature: jtagtcpip, improve jtag performance

postpone callbacks until jtag execute queue time.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agolm3s811-ek uses generic stellaris target config
David Brownell [Sat, 17 Jul 2010 06:59:23 +0000 (02:59 -0400)]
lm3s811-ek uses generic stellaris target config

There's no point in an lm3s811-specific target file,
so remove it in favor of the generic "stellaris.cfg".

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM ADI-V5: cleanup CID/PID addressing
David Brownell [Fri, 16 Jul 2010 23:22:15 +0000 (19:22 -0400)]
ARM ADI-V5: cleanup CID/PID addressing

Use addition for offsetting, not masking.  Shorten some lines.
Make "component_start" print-only (unused otherwise; don't save).

Still doesn't resolve the issue where multiple components
are wrongly displaying as NVICs on some Cortex-M3 parts because
many PIDs appear to be zeroes ... maybe adapter related??

Signed-off-by: David Brownell <db@helium.(none)>
14 years agoflash: use bkpt for str9 flash algo algorithm
Spencer Oliver [Fri, 16 Jul 2010 21:52:49 +0000 (22:52 +0100)]
flash: use bkpt for str9 flash algo algorithm

STR9 is ARMv5 arch so use bkpt instruction rather than
waste a breakpoint.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agofix warnings
Øyvind Harboe [Fri, 16 Jul 2010 14:02:42 +0000 (16:02 +0200)]
fix warnings

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agodebug-feature: jtagtcpip, reduce performance impact of ping times
Øyvind Harboe [Fri, 16 Jul 2010 13:44:12 +0000 (15:44 +0200)]
debug-feature: jtagtcpip, reduce performance impact of ping times

queue read back of data

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agodebug feature: jtagtcpip, improve performance
Øyvind Harboe [Fri, 16 Jul 2010 08:57:28 +0000 (10:57 +0200)]
debug feature: jtagtcpip, improve performance

waiting for ZY1000 fifo to idle is now queued as
an asynchronous command. This radically improves
performance when waitIdle() is interspersed with
writes as no readback is required over TCP/IP.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agodebug feature: jtagtcpip, improved performance
Øyvind Harboe [Fri, 16 Jul 2010 08:51:14 +0000 (10:51 +0200)]
debug feature: jtagtcpip, improved performance

only check error flag when rclk is actually enabled.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoARM ADI-V5: PIDs and CIDs are 8 bits
David Brownell [Tue, 13 Jul 2010 23:34:04 +0000 (19:34 -0400)]
ARM ADI-V5: PIDs and CIDs are 8 bits

Mask the upper bits after 32-bit reads.

Alsoo revert the ugly changes to use PRIx32; just cast to unsized
integers when printing (two chars not eight).

Signed-off-by: David Brownell <db@helium.(none)>
14 years agocfg: add Avalue RSC-W910 config
Spencer Oliver [Tue, 13 Jul 2010 13:17:00 +0000 (14:17 +0100)]
cfg: add Avalue RSC-W910 config

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agojtag: fix shadow issues in adapter_init
Spencer Oliver [Mon, 12 Jul 2010 19:04:57 +0000 (20:04 +0100)]
jtag: fix shadow issues in adapter_init

Use global jtag_only rather than local static.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoarm9: revert change arm9tdmi cmd group name to arm9
Spencer Oliver [Mon, 12 Jul 2010 18:48:45 +0000 (19:48 +0100)]
arm9: revert change arm9tdmi cmd group name to arm9

This reverts the incorrect change made to the arm9 cmd group in commit
d1eca9a74c7c57ba6a3210c51b2a10cc5adb22e1.

The code now matches the docs and the release notes.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agodocs: fix transport typo
Spencer Oliver [Mon, 12 Jul 2010 18:36:19 +0000 (19:36 +0100)]
docs: fix transport typo

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoadapter.c: missing space in handle_interface_command
Spencer Oliver [Mon, 12 Jul 2010 08:34:03 +0000 (09:34 +0100)]
adapter.c: missing space in handle_interface_command

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agotransport selection tweaks
David Brownell [Fri, 9 Jul 2010 22:34:31 +0000 (18:34 -0400)]
transport selection tweaks

* Bugfix and simplify legacy jtag-only defaulting
* Make "dummy" declare its jtag-only nature
* likewise update ft2232
* warn if selection is _required_ (multi-transport adapters),

fixes the "only ft2232 works" bug for at least dummy, with
other drivers going the "legacy" path (submit patches).

Signed-off-by: David Brownell <db@helium.(none)>
14 years agotransport: fix bug/typo in transport_register cmd
Spencer Oliver [Fri, 9 Jul 2010 21:02:52 +0000 (22:02 +0100)]
transport: fix bug/typo in transport_register cmd

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agotransport: fix segfault in transport select
Øyvind Harboe [Wed, 7 Jul 2010 12:56:56 +0000 (14:56 +0200)]
transport: fix segfault in transport select

String compare against addresses in range 0 or so due
to not checking if there was an active session first.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agotransport: fix bug/typo in interface_transports command
Øyvind Harboe [Wed, 7 Jul 2010 12:31:07 +0000 (14:31 +0200)]
transport: fix bug/typo in interface_transports command

Classic manifestation of weakness of dangling {
formatting :-) Hard to spot these sort of mistakes visually.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agogdbserver: incorrect memory map for multiple targets (bug #24)
sb-sf [Mon, 5 Jul 2010 13:06:34 +0000 (14:06 +0100)]
gdbserver: incorrect memory map for multiple targets (bug #24)

The gdb server incorrectly reports the memory map if we have
multiple targets with multiple flash banks.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agotransport: fix segfault in setup_command_handler()
Stacey Sheldon [Sun, 4 Jul 2010 20:19:02 +0000 (16:19 -0400)]
transport: fix segfault in setup_command_handler()

Commit 93f2afa45f4c dropped the sentinel off the end
of the command_registrants[] array.  The loop immediately
following the initialization will walk right off the end.

Signed-off-by: Stacey Sheldon <stac@solidgoldbomb.org>
14 years agoFix minor openocd.texi bug
David Brownell [Fri, 2 Jul 2010 21:14:52 +0000 (17:14 -0400)]
Fix minor openocd.texi bug
::X
Signed-off-by: David Brownell <db@helium.(none)>
14 years agoinitial "transport" framework
David Brownell [Fri, 2 Jul 2010 20:45:28 +0000 (16:45 -0400)]
initial "transport" framework

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)>
14 years agoft2232: revert ft2232_read_scan changes
Spencer Oliver [Fri, 2 Jul 2010 16:00:57 +0000 (17:00 +0100)]
ft2232: revert ft2232_read_scan changes

Revert change made in commit dd88b461da1cb8642200dd5c96fb1ff384ca9f7b.
Caused segfaults when using ftdi driver under win32.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoft2232: bugfix from previous commit
Spencer Oliver [Thu, 1 Jul 2010 18:43:58 +0000 (19:43 +0100)]
ft2232: bugfix from previous commit

fix build error with commit dd88b461da1cb8642200dd5c96fb1ff384ca9f7b

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoft2232: simplify ft2232_read_scan
Marc Pignat [Thu, 17 Jun 2010 08:07:22 +0000 (10:07 +0200)]
ft2232: simplify ft2232_read_scan

14 years agoft2232: cleanup ft2232_write
Marc Pignat [Thu, 17 Jun 2010 07:54:34 +0000 (09:54 +0200)]
ft2232: cleanup ft2232_write

* Include the size check into ft2232_write, so calling it is simpler.
* Use sizeof(buffer) when possible

14 years agoat91sam3s* support
Olaf Lüke [Fri, 25 Jun 2010 18:21:31 +0000 (20:21 +0200)]
at91sam3s* support

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoopenocd: setup_command_handler() must not be static
Øyvind Harboe [Tue, 22 Jun 2010 11:02:00 +0000 (13:02 +0200)]
openocd: setup_command_handler() must not be static

when OpenOCD is linked with an app this fn can be used from
the outside.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm11: fix gaffe in no-ack transfers
Øyvind Harboe [Wed, 23 Jun 2010 08:47:54 +0000 (10:47 +0200)]
arm11: fix gaffe in no-ack transfers

The code did not transfer the last word in no-ack transfers.

The strange thing is that this did not lead to any
observable errors.

This gaffe was introduced in commit 1f5883ea56cb058221f

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoerror number: review
Antonio Borneo [Tue, 22 Jun 2010 16:53:17 +0000 (00:53 +0800)]
error number: review

Review allocation of error numbers in openocd
to avoid overlap.
Put brackets around negative numbers to avoid
issues during macro expansion.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
14 years agoam3517 evm: use physical write to memory while target is running
Øyvind Harboe [Tue, 22 Jun 2010 10:49:56 +0000 (12:49 +0200)]
am3517 evm: use physical write to memory while target is running

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: only physical read/write's are available when target is running
Øyvind Harboe [Tue, 22 Jun 2010 10:47:30 +0000 (12:47 +0200)]
cortex a8: only physical read/write's are available when target is running

Memory read/writes to virtual memory, requires that the CPU is
halted.

Use 'phys' option to write to memory while target is running.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agotarget: $_TARGET mdw now has a phys option
Øyvind Harboe [Tue, 22 Jun 2010 10:35:00 +0000 (12:35 +0200)]
target: $_TARGET mdw now has a phys option

just like the mdw command

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agotarget: mwX on target object now supporst phys argument
Øyvind Harboe [Tue, 22 Jun 2010 09:49:00 +0000 (11:49 +0200)]
target: mwX on target object now supporst phys argument

$_TARGETNAME mww phys 0x10 0xdeadbeef

=> write 0xdeadbeef to physical address 0x10

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoxsvf: Fix shadow issues on Mac
Edgar Grimberg [Mon, 21 Jun 2010 21:06:15 +0000 (23:06 +0200)]
xsvf: Fix shadow issues on Mac

wait is declared in /usr/include/sys/wait.h

Signed-off-by: Edgar Grimberg <edgar.grimberg@zylin.com>
14 years agotarget: Fix shadow issues on Mac
Edgar Grimberg [Mon, 21 Jun 2010 21:04:16 +0000 (23:04 +0200)]
target: Fix shadow issues on Mac

wait is declared in /usr/include/sys/wait.h

Signed-off-by: Edgar Grimberg <edgar.grimberg@zylin.com>
14 years agoflash: fix shadow issues on Mac
Edgar Grimberg [Mon, 21 Jun 2010 21:02:41 +0000 (23:02 +0200)]
flash: fix shadow issues on Mac

Wait is declared in /usr/include/sys/wait.h

Signed-off-by: Edgar Grimberg <edgar.grimberg@zylin.com>
14 years agoboard: add alpha am3517evm ti board config file
Øyvind Harboe [Mon, 21 Jun 2010 14:07:25 +0000 (16:07 +0200)]
board: add alpha am3517evm ti board config file

Signs of life: reset(kinda), halt, resume and memory
display/modify.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agogitignore: start list of emacs temp files to ignore
Øyvind Harboe [Mon, 21 Jun 2010 14:07:00 +0000 (16:07 +0200)]
gitignore: start list of emacs temp files to ignore

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: print message that locking debug access succeeded on second try
Øyvind Harboe [Mon, 21 Jun 2010 12:34:07 +0000 (14:34 +0200)]
cortex a8: print message that locking debug access succeeded on second try

when locking the debug access fails on the first try, it's a
bit noisy, so print out message that it succeeded on second try.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: add error propagation for poll/resume
Øyvind Harboe [Mon, 21 Jun 2010 12:26:19 +0000 (14:26 +0200)]
cortex a8: add error propagation for poll/resume

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: add timeouts waiting for restart, prepare and halt
Øyvind Harboe [Mon, 21 Jun 2010 12:14:31 +0000 (14:14 +0200)]
cortex a8: add timeouts waiting for restart, prepare and halt

It would previously sit in an infinite loop rather
than reporting an error.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocortex a8: add error propagation for mem_ap_read/write_atomic_u32
Øyvind Harboe [Mon, 21 Jun 2010 11:58:52 +0000 (13:58 +0200)]
cortex a8: add error propagation for mem_ap_read/write_atomic_u32

Error propagation avoids e.g. infinite loops waiting
for target to halt, etc.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm_adi_v5: error propagation fixes
Øyvind Harboe [Mon, 21 Jun 2010 11:41:53 +0000 (13:41 +0200)]
arm_adi_v5: error propagation fixes

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agonand/mx2: review scope of symbols
Antonio Borneo [Sun, 20 Jun 2010 10:40:02 +0000 (18:40 +0800)]
nand/mx2: review scope of symbols

Add "static" qualifier to private variable.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
14 years agonor/str7x: review scope of symbols
Antonio Borneo [Sun, 20 Jun 2010 09:44:24 +0000 (17:44 +0800)]
nor/str7x: review scope of symbols

Add "static" qualifier to private function.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
14 years agoopenocd.c: review scope of symbols
Antonio Borneo [Sun, 20 Jun 2010 09:40:28 +0000 (17:40 +0800)]
openocd.c: review scope of symbols

Add "static" qualifier to private data.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
14 years agonor/virtual: review scope of symbols
Antonio Borneo [Sun, 20 Jun 2010 09:38:19 +0000 (17:38 +0800)]
nor/virtual: review scope of symbols

Add "static" qualifier to private functions.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
14 years agotarget/avrt: review unused symbols
Antonio Borneo [Sun, 20 Jun 2010 05:05:56 +0000 (13:05 +0800)]
target/avrt: review unused symbols

Remove unused functions:
- mcu_write_dr_u16
- mcu_write_dr_u8
- mcu_write_ir_u16
- mcu_write_ir_u32

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
14 years agotarget/avr: review scope of symbols
Antonio Borneo [Sun, 20 Jun 2010 04:52:07 +0000 (12:52 +0800)]
target/avr: review scope of symbols

Add "static" qualifier to private functions.
Move duplicated global declarations from "target/avrt.c"
and "nor/avrf.c" to "target/avrt.h".
Remove unused declarations form "nor/avrf.c".

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
14 years agotarget/feroceon: review scope of symbols
Antonio Borneo [Sun, 20 Jun 2010 04:20:01 +0000 (12:20 +0800)]
target/feroceon: review scope of symbols

Add "static" qualifier to private functions.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
14 years agotarget/mips_m4k: review scope of symbols
Antonio Borneo [Sat, 19 Jun 2010 16:22:12 +0000 (00:22 +0800)]
target/mips_m4k: review scope of symbols

Add "static" qualifier to private functions.
Remove private prototypes from include file.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>