openocd.git
14 years agoCortex-M3 vector_catch testing support
David Brownell [Wed, 20 Jan 2010 19:07:42 +0000 (11:07 -0800)]
Cortex-M3 vector_catch testing support

The "cm3-ftest.cfg" can be used to verify that OpenOCD handles
certain faults correctly:

 - Test #1: it ignores faults that it wasn't told to catch
 - Test #2: if vector_catch is told to catch, it catches

The "fault.c" generates ASM code to trigger faults, while the
config script loads and runs pre-compiled code.

This covers most, but not all, of the vector_catch options.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoboard configs -- unique names for flash chips
David Brownell [Wed, 20 Jan 2010 18:46:53 +0000 (10:46 -0800)]
board configs -- unique names for flash chips

Don't give the same names to both flash chips on two OMAP boards.

For OSK, enable DCC downloads (removing a warning).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agogdb_server: correctly report flash sector sizes
David Brownell [Wed, 20 Jan 2010 18:43:32 +0000 (10:43 -0800)]
gdb_server: correctly report flash sector sizes

Report each region of same-size sectors separately, instead of
incorrectly reporting that every sector has the same size.

This is a longstanding bug on NOR flash chips with non-uniform
sector sizes.  It was largely hidden by other bugs in flash
handling.  When some of those were recently fixed, this one was
exposed as a regression on str710.

[oyvind.harboe@zylin.com: update the loop to behave on str7 ]

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agotcl/target/at91sam3u4e.cfg: changed case in dependent file
Michael Grzeschik [Wed, 20 Jan 2010 18:06:13 +0000 (19:06 +0100)]
tcl/target/at91sam3u4e.cfg: changed case in dependent file

openocd does not start with the target configfile due to the case in the
dependent config file.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agotesting: fix str710 test case now builds
Øyvind Harboe [Wed, 20 Jan 2010 14:11:09 +0000 (15:11 +0100)]
testing: fix str710 test case now builds

Make the test case easily adjustable in size. str710
has very peculiar flash sector layout, nice for testing,
but a larget test_rom.elf is required.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm7/9: add nags upon reset about options to improve performance
Øyvind Harboe [Wed, 20 Jan 2010 12:04:56 +0000 (13:04 +0100)]
arm7/9: add nags upon reset about options to improve performance

arm7_9 fast_memory_access and working area nags added.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoARMV7M: handle bkpt instruction on resume/step
Spencer Oliver [Tue, 19 Jan 2010 21:00:55 +0000 (21:00 +0000)]
ARMV7M: handle bkpt instruction on resume/step

Skip over a bkpt instruction if found on resume/step.
Only software breakpoints known to OpenOCD are currently handled.

So this handles the special case of either a user added bkpt
or library added, eg. semi-hosting support.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoUser's guide: mention lpc2000 checksum issue
David Brownell [Wed, 20 Jan 2010 08:04:17 +0000 (00:04 -0800)]
User's guide: mention lpc2000 checksum issue

Folk almost certainly want to have OpenOCD compute the checksum
when they modify the vector table.  However, that almost guarantees
that "verify_image" will fail.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agogdb_server -- subroutinize memory map logic
David Brownell [Wed, 20 Jan 2010 07:32:54 +0000 (23:32 -0800)]
gdb_server -- subroutinize memory map logic

Put the memory map logic into its own subroutine.
This will make it a bit easier to package bugfixes,
and simplifies the query packet handling.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agogdb_server -- symbol cleanup
David Brownell [Wed, 20 Jan 2010 07:30:36 +0000 (23:30 -0800)]
gdb_server -- symbol cleanup

Make most methods static; net minor object code shrink.
Likewise various data symbols; no net change.
Shrink some overlong lines.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoupdate win32 script search path
Andreas Fritiofson [Sat, 21 Nov 2009 15:53:31 +0000 (16:53 +0100)]
update win32 script search path

The default script search path on Windows is out of date with
the current layout (from installation and documentation), which
makes the standard script library not be found after a normal

./configure && make && make install

under msys/MinGW. The same should hold true for cygwin native builds
(not verified).

Update search path to ../share/openocd/scripts not ../lib/openocd,
relative to the openocd executable.

Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoNOR: fix diagnostic
David Brownell [Tue, 19 Jan 2010 21:56:33 +0000 (13:56 -0800)]
NOR: fix diagnostic

The "NOR: last_addr also needs correction when checking alignment"
patch omitted a necessary update to the key diagnostic; fix.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agozy1000: flush jtag buffer before changing speed
Øyvind Harboe [Mon, 18 Jan 2010 20:54:58 +0000 (21:54 +0100)]
zy1000: flush jtag buffer before changing speed

It is conceivable that there could be commands in the
queue when a speed change request comes in. Flush the
hw queue before changing speed. Not observed, found by
inspection.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agozy1000: print out PCB revision upon boot
Øyvind Harboe [Tue, 19 Jan 2010 08:46:49 +0000 (09:46 +0100)]
zy1000: print out PCB revision upon boot

Simplify debugging a bit.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoflash: add error messages upon incorrect arguments to flash iteration
Øyvind Harboe [Tue, 19 Jan 2010 08:47:21 +0000 (09:47 +0100)]
flash: add error messages upon incorrect arguments to flash iteration

According to OpenOCD error handling rules the error is
logged at where it occurs(same site where an exception
would have been thrown).

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agovsllink -- add comment
David Brownell [Mon, 18 Jan 2010 21:17:05 +0000 (13:17 -0800)]
vsllink -- add comment

Previous patch deserved *inline* comment, not just
in git revision history.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agocommands: allow scan_chain command to be executed during config
Øyvind Harboe [Mon, 18 Jan 2010 13:45:08 +0000 (14:45 +0100)]
commands: allow scan_chain command to be executed during config

Adding taps and then dumping them is quite reasonable thing
to do in a config script.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoread target voltage first in vsllink
simon qian [Mon, 18 Jan 2010 07:37:15 +0000 (23:37 -0800)]
read target voltage first in vsllink

The very first command after init command should be "read target voltage".

This is a tweak for the Old Versaloon firmware.  Without this, in most
most cases, it works.   Under Ubuntu9.04, there is a chance that the USB
will fail.  The problem disappears if I read target voltage first.

For the lastest Versaloon firmware, it's OK.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoNAND: lpc3180 crashes on LPC3250
richard vegh [Sat, 16 Jan 2010 20:27:45 +0000 (12:27 -0800)]
NAND: lpc3180 crashes on LPC3250

The LPC3180 NAND driver was crashing on some large page chips.
Fix:

 - Crash and related functionality (don't memset too much OOB data)
 - Some debug messages
 - Command handling now works

[dbrownell@users.sourceforge.net: whitespace/linelength/message cleanup]

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoADIv5 improved diagnostic
David Brownell [Fri, 15 Jan 2010 21:02:45 +0000 (13:02 -0800)]
ADIv5 improved diagnostic

Don't just complain about an invalid ACK; say what the
value was, to help troubleshooting.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM DPM: disable some nyet-ready breakpoint code
David Brownell [Fri, 15 Jan 2010 20:53:26 +0000 (12:53 -0800)]
ARM DPM: disable some nyet-ready breakpoint code

Until we manage breakpoints at runtime (patches not ready for 0.4)
the only way this code should touch them is to disable them at server
startup (a previous debug session may have left them active).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoNEWS: include s3c64xx NAND driver
David Brownell [Fri, 15 Jan 2010 17:36:01 +0000 (09:36 -0800)]
NEWS: include s3c64xx NAND driver

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agojtag.h whitespace/comment cleanup
David Brownell [Thu, 14 Jan 2010 22:38:24 +0000 (14:38 -0800)]
jtag.h whitespace/comment cleanup

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM ADIv5: add comments
David Brownell [Thu, 14 Jan 2010 20:58:39 +0000 (12:58 -0800)]
ARM ADIv5: add comments

Add doxygen and other comments for what's more or less the lowest
level JDAG-DP primitive, to access JTAG_DP_{A,D}PACC registers.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM7/ARM9: improved reset support
David Brownell [Thu, 14 Jan 2010 20:45:58 +0000 (12:45 -0800)]
ARM7/ARM9: improved reset support

Teach most remaining ARM cores how to use the "reset-assert" event.

Same model as elsewhere:  iff a handler is provided for that event,
use that instead of trying to assert SRST (which may be unavailable,
or inappropriate since it resets too much).  Else no change.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agonand flash support for s3c64xx
Peter Korsgaard [Mon, 11 Jan 2010 21:59:29 +0000 (22:59 +0100)]
nand flash support for s3c64xx

Identical to the existing 2412/2443 support except for the base address
and NFCONF value (bit 2 is reserved and should be written as 1 ref UM).

Tested on a s3c6410 board, but controller is identical in 6400/6410
except for 8bit MLC ECC support in 6410 which isn't supported by the
driver.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agostr9x.c: remove optimization when erasing the whole bank
Laurentiu Cocanu [Thu, 14 Jan 2010 12:59:36 +0000 (13:59 +0100)]
str9x.c: remove optimization when erasing the whole bank

Using the erase bank command will cause a time out error. Replacing
this with the erase sector bank will provide a slower but safer and
stable method to erase the flash.

Signed-off-by: Laurentiu Cocanu <laurentiu.cocanu@zylin.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoARM7/9 minor cleanups
David Brownell [Thu, 14 Jan 2010 11:16:07 +0000 (03:16 -0800)]
ARM7/9 minor cleanups

Shrink some overlong lines.  Add my 2009 copyright.
Move a declaration to the beginning of its block.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoGDB: change gdb_breakpoint_override to COMMAND_ANY
Spencer Oliver [Thu, 14 Jan 2010 00:58:07 +0000 (00:58 +0000)]
GDB: change gdb_breakpoint_override to COMMAND_ANY

 - enable gdb_breakpoint_override to be used within config script.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoUser's Guide updates
David Brownell [Thu, 14 Jan 2010 07:33:53 +0000 (23:33 -0800)]
User's Guide updates

Capture various bits of useful information that have come up on the
list but haven't yet gotten into the documentation:

 - Watchdog timers firing during JTAG debug need attention;

 - Some chips have special registers to help JTAG debug;

 - Cortex-M3 stepping example with IRQs and maskisr;

 - Clarifications re adaptive clocking:  not all ARMs do it, and
   explain it a bit better.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoNOR: add optional "flash erase_address" sector padding
David Brownell [Thu, 14 Jan 2010 07:33:25 +0000 (23:33 -0800)]
NOR: add optional "flash erase_address" sector padding

Add a NOR flash mechanism where erase_address ranges can be padded
out to sector boundaries, triggering a diagnostic:

  > flash erase_address 0x0001f980 16
  address range 0x0001f980 .. 0x0001f98f is not sector-aligned
  Command handler execution failed
  in procedure 'flash' called at file "command.c", line 647
  called at file "command.c", line 361
  >

  > flash erase_address pad 0x0001f980 16
  Adding extra erase range, 0x0001f800 to 0x0001f97f
  Adding extra erase range, 0x0001f990 to 0x0001fbff
  erased address 0x0001f980 (length 16) in 0.095975s (0.163 kb/s)
  >

This addresses what would otherwise be something of a functional
regression.  An earlier version of the interface had a dangerous
problem:  it would silently erase data outside the range it was
told to erase.  Fixing that bug turned up some folk who relied on
that unsafe behavior.  (The classic problem with interface bugs!)
Now they can get that behavior again.  If they really need it,
just specify "pad".

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoCortex-M3: improved core exception handling
David Brownell [Wed, 13 Jan 2010 11:16:37 +0000 (03:16 -0800)]
Cortex-M3: improved core exception handling

This updates three aspects of debugger/exception interactions:

 - Save the user's "vector_catch" setting, and restore it after reset.
   Previously, it was obliterated (rather annoyingly) each time.

 - Don't catch BusFault and HardFault exceptions unless the user says
   to do so.  Target firmware may need to handle them.

 - Don't modify SHCSR to prevent escalating BusFault to HardFault.
   Target firmware may expect to handle it as a HardFault.

Those simplifications fix several bugs.  In one annoying case, OpenOCD
would cause the target to lock up on ome faults which triggered after
the debugger disconnected.

NOTE:  a known remaining issue is that OpenOCD can still leave DEMCR
set after an otherwise-clean OpenOCD shutdown.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoarm7/9: enable check that DCC downloads have been enabled
Øyvind Harboe [Mon, 11 Jan 2010 14:30:22 +0000 (15:30 +0100)]
arm7/9: enable check that DCC downloads have been enabled

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoarm7/9: add fn to check if dcc downloads have been enabled
Øyvind Harboe [Mon, 11 Jan 2010 14:29:09 +0000 (15:29 +0100)]
arm7/9: add fn to check if dcc downloads have been enabled

DCC downloads should be enabled for any self repecting
openocd config file for arm7/9. Print out note about
it otherwise.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agotarget: add check_reset hook
Øyvind Harboe [Mon, 11 Jan 2010 14:28:18 +0000 (15:28 +0100)]
target: add check_reset hook

Allow targets to run checks post reset. Used to check
that e.g. DCC downloads have been enabled.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agogdbserver: fix typo that broke read/write watchpoint
Øyvind Harboe [Mon, 11 Jan 2010 08:22:08 +0000 (09:22 +0100)]
gdbserver: fix typo that broke read/write watchpoint

It looks like a bugfix from normal breakpoints was not
copied over.

Do not use clever mathematics and assumptions to convert from
GDB enum for break/watchpoints to OpenOCD enum.

Drop connection upon unknown breakpoint type, this code path
was not really considered by the previous code I think.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agodebug: make logging of commands terser
Øyvind Harboe [Mon, 11 Jan 2010 14:54:52 +0000 (15:54 +0100)]
debug: make logging of commands terser

one line / command instead of one line per argument.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoARM: bugfix for "movt" disassembly
David Brownell [Tue, 12 Jan 2010 20:40:39 +0000 (12:40 -0800)]
ARM: bugfix for "movt" disassembly

Use the correct bitfield to specify the register whose
top halfword gets replaced.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoAdded Openmoko USB JTAG interface config file.
Vladimir Zapolskiy [Mon, 11 Jan 2010 14:49:37 +0000 (17:49 +0300)]
Added Openmoko USB JTAG interface config file.

Added interface config file for JTAG/RS232 debug board originally
integrated to Neo 1973 and Neo FreeRunner phones.
Adapter was tested with i.MX31, S3C2410 and AT91SAM9260 processors.

Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
14 years agotarget: return JIM_OK instead of ERROR_OK
Øyvind Harboe [Mon, 11 Jan 2010 13:59:14 +0000 (14:59 +0100)]
target: return JIM_OK instead of ERROR_OK

No change in actual binary as JIM_OK == ERROR_OK,
but JIM_OK is correct here.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoreset: better error messages
Øyvind Harboe [Mon, 11 Jan 2010 11:54:49 +0000 (12:54 +0100)]
reset: better error messages

Use correct tcl syntax to throw exception.

the syntax is "return -code error" not "return -error"

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agocommands: make error messages a bit more terse
Øyvind Harboe [Mon, 11 Jan 2010 11:53:55 +0000 (12:53 +0100)]
commands: make error messages a bit more terse

we don't need to know the build path of command.c when
reading normal user level error messages.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agozy1000: reset bugfix
Øyvind Harboe [Mon, 11 Jan 2010 09:21:56 +0000 (10:21 +0100)]
zy1000: reset bugfix

flush JTAG FIFO before reset. Fixes RCLK problems observed
w/lpc2148, but really fixes a wider range of problems.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoDoxygen file comments
David Brownell [Mon, 11 Jan 2010 08:14:01 +0000 (00:14 -0800)]
Doxygen file comments

Add file comments to a few files.  Make the GDB server use
more conventional (pointer-free) hex digit conversion.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoshutdown: more graceful shutdown
Øyvind Harboe [Fri, 8 Jan 2010 14:30:10 +0000 (15:30 +0100)]
shutdown: more graceful shutdown

Shutdown is not an error condition, do not return error
from main.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agobuild: doxygen build
Spencer Oliver [Sun, 10 Jan 2010 14:30:06 +0000 (14:30 +0000)]
build: doxygen build

 - Fix for building doxygen out of tree

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoFreeBSD build fixes
David Brownell [Sun, 10 Jan 2010 18:06:58 +0000 (10:06 -0800)]
FreeBSD build fixes

Based on notes from Tomek Cedro <tomek.cedro@gmail.com> and
Steve Franks <bahamasfranks@gmail.com>.

In the User's Guide, sort the list of operating systems reported
through Tcl with $ocd_HOSTOS ... and include FreeBSD.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoPresto: doxygen fix
David Brownell [Sun, 10 Jan 2010 06:24:43 +0000 (22:24 -0800)]
Presto: doxygen fix

Newline needed.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agojtag/tcl help/usage fixups
David Brownell [Sun, 10 Jan 2010 06:15:57 +0000 (22:15 -0800)]
jtag/tcl help/usage fixups

The usual: expand several helptexts to be more correct and to use
full sentences; make the usage messages use the same EBNF as the
User's Guide; use function names for their addresses.

Also add a comment about that odd jtag_command_handlers_to_move[] thing.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoZY1000 help/usage fixups
David Brownell [Sun, 10 Jan 2010 06:14:08 +0000 (22:14 -0800)]
ZY1000 help/usage fixups

The usual:  same EBNF as in the User's Guide, full sentence helptext,
function names *are* their addresses.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agojtag: presto, parport help/usage updates
David Brownell [Sun, 10 Jan 2010 06:09:08 +0000 (22:09 -0800)]
jtag: presto, parport help/usage updates

Presto: add doxygen file comment.

Parport: note a couple gaps in layout config.

Both: use the uniform EBNF for usage, bugfix helptexts, use function
name as its address not "&name".

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agojtag/gw16012 usage/help updates
David Brownell [Sun, 10 Jan 2010 06:05:55 +0000 (22:05 -0800)]
jtag/gw16012 usage/help updates

Use standard BNF.  Improve/correct helptext for its "parport_port"
command.  Function address is just its name.

14 years agoparport (mostly) doc fixes
David Brownell [Sun, 10 Jan 2010 05:56:11 +0000 (21:56 -0800)]
parport (mostly) doc fixes

The "parport_port" commands generally don't *require* a port_number;
they're of the "apply any parameter, then print result" variety.  Update
the User's Guide accordingly.

Some of those commands are intended to be write-once: parport_port,
and parport_cable.  Say so.

Use proper EBNF for the parport_write_on_exit parameter.

Parport address 0xc8b8 is evidently mutant.  Say so in the "parport.cfg"
file, to avoid breaking anyone with that mutant config.  But update the
User's Guide to include a sane example for the LP2 port.

Finally document the "presto_serial" command.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agosrc/helper: usage/help updates
David Brownell [Sat, 9 Jan 2010 21:32:08 +0000 (13:32 -0800)]
src/helper: usage/help updates

Make "usage" messages use the same EBNF as the User's Guide;
no angle brackets.  Improve and correct various helptexts.

Don't use "&function"; a function's name is its address.
Fix some whitespace glitches, shrink a few overlong lines.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agosrc/flash/nor: usage/help/doc updates
David Brownell [Sat, 9 Jan 2010 16:58:38 +0000 (08:58 -0800)]
src/flash/nor: usage/help/doc updates

Make "usage" messages use the same EBNF as the User's Guide;
no angle brackets.  Improve and correct various helptexts.

Don't use "&function"; a function's name is its address.
Remove a couple instances of pointless whitespace; shrink a
few overlong lines; fix some bad indents.

Add TODO list entry re full support for NAND/NOR bank names.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoMIPS: update arch_info access to match other targets
Spencer Oliver [Fri, 8 Jan 2010 22:35:08 +0000 (22:35 +0000)]
MIPS: update arch_info access to match other targets

 - add target_to_mips32 and target_to_m4k to match test of codebase.
 - mips32_arch_state now shows if processer is running mips16e isa.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agosrc/server: usage/help/doc updates
David Brownell [Sat, 9 Jan 2010 08:55:41 +0000 (00:55 -0800)]
src/server: usage/help/doc updates

Make "usage" messages use the same EBNF as the User's Guide;
no angle brackets.  Improve and correct various helptexts.

Specifically for the port commands, clarify that the number
is optional, and omitting it causes the current number to be
displayed.

Don't use "&function"; a function's name is its address.
Remove a couple instances of pointless whitespace; shrink a
few overlong lines.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agobuildfix on MacOS
Masaki Muranaka [Sat, 9 Jan 2010 06:41:31 +0000 (15:41 +0900)]
buildfix on MacOS

Recent Apple gcc versions use __APPLE__ instead of __DARWIN__; accept
that too.

Also use #warning, not #warn; neither is standard, but most CPP versions
require it to be spelled out.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoPLD: usage/help updates
David Brownell [Sat, 9 Jan 2010 07:23:55 +0000 (23:23 -0800)]
PLD: usage/help updates

Make "usage" messages use the same EBNF as the User's Guide;
no angle brackets.  Improve and correct various helptexts.

Don't use "&function"; a function's name is its address.
Remove a couple instances of pointless whitespace, shrink
a few overlong lines.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoNAND: help/usage/doc updates
David Brownell [Sat, 9 Jan 2010 07:18:46 +0000 (23:18 -0800)]
NAND: help/usage/doc updates

Usage messages should use the same EBNF as the User's Guide;
no angle brackets.  Be more complete too ... some params were
missing.  Improve and correct various helptexts.

Make user's guide refer to the NAND "driver" name, not the
controller name; that's a bit more precise.

Don't use "&function"; its name is its address.  Line up struct
initializers properly.  Remove some blank lines.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoDoc/examples: clarify usage messages
David Brownell [Sat, 9 Jan 2010 07:13:39 +0000 (23:13 -0800)]
Doc/examples: clarify usage messages

Update/bugfix the "hello" example; emphasize using EBNF syntax,
matching the User's Guide.  Correct the Texinfo style guide to
say EBNF, not BNF.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years ago*SVF: help/usage updates
David Brownell [Sat, 9 Jan 2010 04:16:05 +0000 (20:16 -0800)]
*SVF: help/usage updates

Usage messages should use the same EBNF as the User's Guide;
no angle brackets.  Be more complete too ... some params were
missing.

Don't use "&function"; its name is its address.

Unrelated: fix typo in one "target.c" usage message.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoMFLASH: help/usage updates
David Brownell [Sat, 9 Jan 2010 04:12:18 +0000 (20:12 -0800)]
MFLASH: help/usage updates

Make "usage" messages use the same EBNF as the User's Guide;
no angle brackets.  Improve and correct various helptexts.

Don't use "&function"; a function's name is its address.
Remove a couple instances of pointless whitespace.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoCoexist with quilt: rename PATCHES --> PATCHES.txt
David Brownell [Sat, 9 Jan 2010 01:20:47 +0000 (17:20 -0800)]
Coexist with quilt: rename PATCHES --> PATCHES.txt

The issues is on Win32, which ignores case in filesystem
and thus doesn't tolerate the quilt "patches" directory.

Rename, and add "patches" to .gitignore so that developers
can choose to use quilt for local patch management.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoNOR: add FIXMEs for writing ones
David Brownell [Sat, 9 Jan 2010 00:47:58 +0000 (16:47 -0800)]
NOR: add FIXMEs for writing ones

It can invalidate ECC codes, and in general is not guaranteed
to work.  (However on some chips it _appears_ to behave.)  Just
don't do it; don't write in those cases.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agomisc ARM help/usage updates
David Brownell [Fri, 8 Jan 2010 00:41:42 +0000 (16:41 -0800)]
misc ARM help/usage updates

Usage syntax messages have the same EBNF as the User's Guide;
there should be no angle brackets in either place.

Uupdate some helptext to be more accurate.

Don't use "&function"; functions are like arrays, their address
is their name.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM966: help/usage updates
David Brownell [Fri, 8 Jan 2010 00:39:32 +0000 (16:39 -0800)]
ARM966: help/usage updates

Usage syntax messages have the same EBNF as the User's Guide;
there should be no angle brackets in either place.

Fix the User's Guide to say where the magic CP15 bits are defined;
and add comments in case someone provides mcr/mrc methods.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoXscale: User's Guide updates
David Brownell [Fri, 8 Jan 2010 00:34:44 +0000 (16:34 -0800)]
Xscale: User's Guide updates

Fix some EBNF goofs ... these commands have *optional* params, etc

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM720: help/usage updates
David Brownell [Fri, 8 Jan 2010 00:30:09 +0000 (16:30 -0800)]
ARM720: help/usage updates

Deprecate the "pass an instruction opcode" flavor of cp15
access in favor of the "arm mcr ..." and "arm mrc ..."
commands, which offer fewer ways to break things.

Use the same EBNF syntax in the code as for the user's guide.

Update User's Guide to say where to find those magic values
(which table in the ARM920 TRM).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM720: help/usage updates
David Brownell [Fri, 8 Jan 2010 00:25:03 +0000 (16:25 -0800)]
ARM720: help/usage updates

Deprecate the "pass an instruction opcode" flavor of cp15 access
in favor of the "arm mcr ..." and "arm mrc ..." commands, which
offer fewer ways to break things.

Use the same EBNF syntax in the code as for the user's guide.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM11: help/usage updates
David Brownell [Fri, 8 Jan 2010 00:21:10 +0000 (16:21 -0800)]
ARM11: help/usage updates

Usage syntax messages have the same EBNF as the User's Guide;
there should be no angle brackets in either place.

Uupdate some helptext to be more accurate.

Fix the User's Guide in a few places to be more consistent (mostly
to use brackets not parentheses) and to recognize that parameter may
be entirely optional (in which case the command just displays output,
and changes nothing).  Also reference NXP, not Philips, for LPC chips.

Don't use "&function"; functions are like arrays, their address
is their name.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM7/ARM9: help/usage updates
David Brownell [Fri, 8 Jan 2010 00:20:14 +0000 (16:20 -0800)]
ARM7/ARM9: help/usage updates

Provide helptext which was sometimes missing; update some of it
to be more accurate.

Usage syntax messages have the same EBNF as the User's Guide;
there should be no angle brackets in either place.

Fix the User's Guide in a few places to be more consistent (mostly
to use brackets not parentheses) and to recognize that parameter may
be entirely optional (in which case the command just displays output,
and changes nothing).  Also reference NXP, not Philips, for LPC chips.

Don't use "&function"; functions are like arrays, their address
is their name.  Shrink some overlong lines.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARMv7: help/usage updates
David Brownell [Thu, 7 Jan 2010 23:52:38 +0000 (15:52 -0800)]
ARMv7: help/usage updates

Provide helptext which was sometimes missing; update some of it
to be more accurate.

Usage syntax messages have the same EBNF as the User's Guide;
there should be no angle brackets in either place.

Don't use "&function"; functions are like arrays, their address
is their name.  Shrink some overlong lines, remove some empties.

Add a couple comments about things that should change:  those
extra TCK cycles for MEM-AP reads are in the wrong place (that
might explain some problems we've seen); the DAP command tables
should be shared, not copied.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM ETM/ETB/trace: help/usage updates
David Brownell [Thu, 7 Jan 2010 23:22:41 +0000 (15:22 -0800)]
ARM ETM/ETB/trace: help/usage updates

Provide helptext which was sometimes missing; update some of it
to be more accurate.

Usage syntax messages have the same EBNF as the User's Guide;
no angle brackets in either place.

Don't use "&function"; functions are like arrays, their address
is their name.  Shrink some overlong lines, remove some empties.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agotarget misc: help/usage updates
David Brownell [Thu, 7 Jan 2010 23:05:26 +0000 (15:05 -0800)]
target misc: help/usage updates

Provide helptext which was sometimes missing; update some of it
to be more accurate.

Usage syntax messages have the same EBNF as the User's Guide.

Don't use "&function"; functions are like arrays, their address
is their name.  Shrink some overlong lines; remove some empties.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoXScale: help/usage updates
David Brownell [Thu, 7 Jan 2010 22:51:59 +0000 (14:51 -0800)]
XScale: help/usage updates

Provide helptext which was sometimes missing; update some of it
to be more accurate (mostly they display something w/no args).

Usage syntax messages have the same EBNF as the User's Guide.
In some cases, *exactly* what the user's guide shows... e.g.
talking about "offset" not "address" for trace_image.

Don't use "&function"; functions are like arrays, their name
is their address.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoMIPS: change bulk_write_memory fallback msg to LOG_DEBUG
Spencer Oliver [Thu, 7 Jan 2010 22:39:35 +0000 (22:39 +0000)]
MIPS: change bulk_write_memory fallback msg to LOG_DEBUG

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoMIPS: whitespace cleanup
Spencer Oliver [Thu, 7 Jan 2010 20:56:07 +0000 (20:56 +0000)]
MIPS: whitespace cleanup

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoMIPS: fastdata bulk write fallback
Spencer Oliver [Wed, 6 Jan 2010 20:24:31 +0000 (20:24 +0000)]
MIPS: fastdata bulk write fallback

If fastdata access fails, then fallback to default mips_m4k_write_memory
Remove unnecessary fastdata loader verify check

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agobuildfix with -DNDEBUG
David Brownell [Tue, 5 Jan 2010 22:11:03 +0000 (14:11 -0800)]
buildfix with -DNDEBUG

Don't save that state unless its only user, an assertion,
is compiled.  Saving it broke a cygwin build.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agodon't require 'openocd.cfg' to start
David Brownell [Tue, 5 Jan 2010 21:32:39 +0000 (13:32 -0800)]
don't require 'openocd.cfg' to start

Starting the daemon with with just a bare "openocd" I saw:

Can't find openocd.cfg

That's not an error; don't treat it as if it were.  There may
be an error later -- like, "no interface set up" -- but let
messages only report real errors, not fake ones.

14 years agoARM: add #defines for JTAG ack codes
David Brownell [Tue, 5 Jan 2010 21:03:27 +0000 (13:03 -0800)]
ARM: add #defines for JTAG ack codes

JTAG has only two possible JTAG ack codes for APACC and DPACC
register reads/writes.  Define them, and remove empty "else"
clause in the code which now uses those codes.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM: add comments re DAP assumptions
David Brownell [Tue, 5 Jan 2010 20:55:46 +0000 (12:55 -0800)]
ARM: add comments re DAP assumptions

I think some of these assumptions are not well-founded.
Related, that swjdp_transaction_endcheck() is a bit iffy.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoMIPS: pracc access tweaks
Spencer Oliver [Tue, 5 Jan 2010 17:43:29 +0000 (17:43 +0000)]
MIPS: pracc access tweaks

reorder the pracc access so we can save a few access cycles

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoPIC32: enable ram execution
Spencer Oliver [Mon, 21 Dec 2009 17:23:09 +0000 (17:23 +0000)]
PIC32: enable ram execution

add reset-init script to allow ram execution from reset, this is required for ejtag fastdata access.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoMIPS: optimize pracc access
Spencer Oliver [Mon, 21 Dec 2009 16:33:03 +0000 (16:33 +0000)]
MIPS: optimize pracc access

remove unnecessary nops when accessing ejtag pracc
general fastdata patch cleanup

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoparport: output port as hex rather than dec
Spencer Oliver [Thu, 17 Dec 2009 11:53:39 +0000 (11:53 +0000)]
parport: output port as hex rather than dec

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agoMIPS: merge mips fast_data patch from David N. Claffey
David Claffey [Wed, 16 Dec 2009 11:23:52 +0000 (11:23 +0000)]
MIPS: merge mips fast_data patch from David N. Claffey

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
14 years agogdb: fix regression in gdb_port command
Øyvind Harboe [Tue, 5 Jan 2010 13:57:45 +0000 (14:57 +0100)]
gdb: fix regression in gdb_port command

The gdb_port command can be invoked during normal execution
to report the port used for gdb, whereas it was listed as
CONFIG stage only, which caused an error when excuting
it to return the reported error.

Also in line with the grander goal of making more commands
available during all "modes" (perhaps retiring config mode),
there is no particular reason to limit gdb_port to the
config stage.

Regression was introduced in:

b3bf1d12b2fdfba1c1cbee3e1afbfbb27cbd1a26 aka
v0.4.0-rc1-32-gb3bf1d1

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
14 years agoupdate udev rules for new udev version
Johannes Stezenbach [Mon, 4 Jan 2010 15:08:10 +0000 (16:08 +0100)]
update udev rules for new udev version

New versions of udev (148+) emit the following warnings:

udevd[425]: BUS= will be removed in a future udev version,
  please use SUBSYSTEM= to match the event device, or
  SUBSYSTEMS= to match a parent device, in /lib/udev/rules.d/60-openocd.rules:1
udevd[425]: SYSFS{}= will be removed in a future udev version,
  please use ATTR{}= to match the event device, or
  ATTRS{}= to match a parent device, in /lib/udev/rules.d/60-openocd.rules:4
udevd[425]: SYSFS{}= will be removed in a future udev version,
  please use ATTR{}= to match the event device, or
  ATTRS{}= to match a parent device, in /lib/udev/rules.d/60-openocd.rules:7
...

See also http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560141

[dbrownell@users.sourceforge.net: add IDs for Stellaris ICDI, Olimex Tiny-H]

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARMv7-M: use AP_REG_* symbol
David Brownell [Tue, 5 Jan 2010 06:11:34 +0000 (22:11 -0800)]
ARMv7-M:  use AP_REG_* symbol

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoFT2232: fix doc typo
David Brownell [Sun, 3 Jan 2010 23:02:51 +0000 (15:02 -0800)]
FT2232: fix doc typo

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoJTAG/drivers: ft2232 docs
David Brownell [Sun, 3 Jan 2010 22:54:52 +0000 (14:54 -0800)]
JTAG/drivers: ft2232 docs

Add doxyegen description for this driver.

Correct the helptext (configures *or* displays based on #params),
and usage (use the same BNF as the User's Guide).

Remove superfluous #include

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoJTAG/Drivers: Amontec JTAG accelerator fixes
David Brownell [Sun, 3 Jan 2010 22:51:01 +0000 (14:51 -0800)]
JTAG/Drivers: Amontec JTAG accelerator fixes

Remove superfluous #include.

Correct the helptext (configures *or* displays based on #params),
and usage (use the same BNF as the User's Guide).

Add doxygen -- file-level description and a @todo for doing
RTCK correctly.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoJTAG: Amontec JTAG accelerater "rtck" is back
David Brownell [Sun, 3 Jan 2010 21:30:06 +0000 (13:30 -0800)]
JTAG: Amontec JTAG accelerater "rtck" is back

The command processing conversion a while back lost the
"rtck" enable/disable command; restore it.

NOTE that having such a command is wrong; there's a standard
way to enable adaptive clocking ("speed 0").

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoJTAG/drivers: cleanup jtag_interface structs
David Brownell [Sun, 3 Jan 2010 21:07:18 +0000 (13:07 -0800)]
JTAG/drivers: cleanup jtag_interface structs

Get rid of excess indents.
Ditto superfluous "&" before function pointers.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoJTAG/drivers: amt_jtagaccel fixes + cleanup
David Brownell [Sun, 3 Jan 2010 20:59:51 +0000 (12:59 -0800)]
JTAG/drivers: amt_jtagaccel fixes + cleanup

Build fixes:  it failed abysmally with PPDEV enabled.  Swapped
a build-time error with a FIXME comment in the affected macros.

Cleanup: remove "&" before function pointers, and excess indent,
for the interface struct declaration.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM: ADIv5 JTAG symbol cleanup
David Brownell [Sat, 2 Jan 2010 23:53:33 +0000 (15:53 -0800)]
ARM: ADIv5 JTAG symbol cleanup

Rename DAP_IR_* as JTAG_DP_* since those symbols are specifically
for JTAG-DP (or SWJ-DP in JTAG mode), and won't work with SWD.
Define the JTAG ABORT and IDCODE instructions for completeness;
add a comment about where to (someday) use ABORT.

Fix messaging which assumes everything is an SWJ-DP; say "JTAG-DP"
instead, it's at least more appropriate for all JTAG transports.

Shrink the affected lines.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM: dap info fix + tweaks
David Brownell [Sat, 2 Jan 2010 23:53:18 +0000 (15:53 -0800)]
ARM: dap info fix + tweaks

Fix: don't print the BASE address except if it's a MEM-AP;
that's an unlikely error, but there's no point getting it wrong.
Tweaks: comments, capitalization.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
14 years agoARM: ADIv5 export cleanup
David Brownell [Sat, 2 Jan 2010 23:53:06 +0000 (15:53 -0800)]
ARM: ADIv5 export cleanup

Make some private functions "static".  Remove their public declarations,
and what is now an obviously unused function.  Shrinks this object's size
(about 5% on x86_64) while making the code's scope easier to understand.
Shrink the affected lines.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)