openocd.git
10 years agowhitespace cleanup, mostly for docs
Antonio Borneo [Tue, 29 Dec 2009 23:48:49 +0000 (07:48 +0800)]
whitespace cleanup, mostly for docs

Remove useless space/tab at end of lines.
Remove spaces in indentation and replace with tab.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoARM9TDMI: Fix segfault.
Antonio Borneo [Wed, 30 Dec 2009 18:43:56 +0000 (02:43 +0800)]
ARM9TDMI: Fix segfault.

The handler for "arm9tdmi vector_catch ..." did not check
if target has already been examined.  Without this fix it
segfaults when using NULL pointer "arm7_9->eice_cache".

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoFix parport_dcl5 config file.
Antonio Borneo [Wed, 30 Dec 2009 14:34:48 +0000 (22:34 +0800)]
Fix parport_dcl5 config file.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
10 years agozy1000: add zy1000_ prefix to uart command
Øyvind Harboe [Wed, 30 Dec 2009 12:13:31 +0000 (13:13 +0100)]
zy1000: add zy1000_ prefix to uart command

less polution of the general namespace(preventive action,
no problems reported).

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agozy1000: unlock flash upon startup for revc
Øyvind Harboe [Wed, 30 Dec 2009 11:36:22 +0000 (12:36 +0100)]
zy1000: unlock flash upon startup for revc

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agozy1000: reconfigure FPGA upon reset instead of just the CPU
Øyvind Harboe [Tue, 29 Dec 2009 11:30:02 +0000 (12:30 +0100)]
zy1000: reconfigure FPGA upon reset instead of just the CPU

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agozy1000: firmware upgrade fixes for revc
Øyvind Harboe [Fri, 25 Dec 2009 20:50:41 +0000 (21:50 +0100)]
zy1000: firmware upgrade fixes for revc

Use ecos firmwareutil upgrade utilities

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agozy1000: less warnings
Øyvind Harboe [Fri, 25 Dec 2009 22:05:50 +0000 (23:05 +0100)]
zy1000: less warnings

use inline for static functions in header files to
avoid warnings about fn not being used.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agoAdded Open-BLDC board config file.
Piotr Esden-Tempski [Mon, 28 Dec 2009 16:30:32 +0000 (17:30 +0100)]
Added Open-BLDC board config file.

10 years agoAdded floss-jtag interface config file.
Piotr Esden-Tempski [Mon, 28 Dec 2009 16:15:21 +0000 (17:15 +0100)]
Added floss-jtag interface config file.

10 years agoMinGW build fixes
Freddie Chopin [Mon, 28 Dec 2009 20:08:48 +0000 (21:08 +0100)]
MinGW build fixes

Print "ssize_t" as "%ld" (+ cast to long) not as "%zu".
Official MinGW (gcc 3.4.5) doesn't understand "z" flag.

Signed-off-by: Freddie Chopin <freddie_chopin@op.pl>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agostm32x commands get "usage"
Freddie Chopin [Mon, 28 Dec 2009 20:40:39 +0000 (21:40 +0100)]
stm32x commands get "usage"

Add .usage fields to stm32x command_registration,
so that "help stm32x" shows required parameters.

Signed-off-by: Freddie Chopin <freddie_chopin@op.pl>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoFix Luminary FT2232 layout docs/configs
David Brownell [Mon, 28 Dec 2009 20:59:47 +0000 (12:59 -0800)]
Fix Luminary FT2232 layout docs/configs

Most of this patch updates documentation and comments for various
Luminary boards, supporting two bug fixes by helping to make sense
of the current mess:

 - Recent rev C lm3s811 eval boards didn't work.  They must use
   the ICDI layout, which sets up some signals that the older
   boards didn't need.  This is actually safe and appropriate
   for *all* recent boards ... so just make "luminary.cfg" use
   the ICDI layout.

 - "luminary-lm3s811.cfg", was previously unusable!  No VID/PID;
   and the wrong vendor string.  Make it work, but reserve it
   for older boards where the ICDI layout is wrong.

 - Default the LM3748 eval board to "luminary.cfg", like the
   other boards.  If someone uses an external JTAG adapter, all
   boards will use the same workaround (override that default).

The difference between the two FT2232 layouts is that eventually
the EVB layout will fail cleanly when asked to enable SWO trace,
but the ICDI layout will as cleanly be able to enable it.  Folk
using "luminary.cfg" with Rev B boards won't see anything going
wrong until SWO support is (someday) added.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoNOR: last_addr also needs correction when checking alignment
Piotr Esden-Tempski [Mon, 28 Dec 2009 15:43:51 +0000 (16:43 +0100)]
NOR: last_addr also needs correction when checking alignment

Otherwise the new alignment checking algorithm thinks that the
address is not aligned, because it is way beyond the last sector.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agocreate tcl/board/dm365evm.cfg
David Brownell [Sun, 27 Dec 2009 20:16:55 +0000 (12:16 -0800)]
create tcl/board/dm365evm.cfg

This config is only lightly tested, and doesn't work well yet;
but it's a start.

 * Notably missing is PLL configuration, since each DaVinci
   does that just a bit differently; and thus DDR2 setup.

 * The SRST workaround needed for the goof in the CPLD's VHDL
   depends on at least the not-yet-merged patch letting ARM9
   (and ARM7) chips perform resets that don't use SRST.

So this isn't yet suitable for debugging U-Boot.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoNOR: make flash_write_unlock() pad to sector end
David Brownell [Sun, 27 Dec 2009 19:34:31 +0000 (11:34 -0800)]
NOR: make flash_write_unlock() pad to sector end

Resolve a regression when using newish automagic "write_image"
modes, by always padding to the end of affected sectors.

Also document some issues associated with those automagic options,
in the User's Guide and also some related code comments.

We might need similar padding at the *beginning* of some sectors,
but this is a minimalist fix for the problems which have currently
been reported (plus doc updates).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoDriver for USB-JTAG, Altera USB-Blaster and compatibles
Catalin Patulea [Sat, 26 Dec 2009 23:05:06 +0000 (15:05 -0800)]
Driver for USB-JTAG, Altera USB-Blaster and compatibles

The 10-pin JTAG layout used with these adapters is used by
a variety of platforms including AVR.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoOlimex SAM9-L9260 board configuration update.
Dean Glazeski [Wed, 9 Dec 2009 18:51:52 +0000 (12:51 -0600)]
Olimex SAM9-L9260 board configuration update.

This updates the board configuration for the SAM9-L9260 board with the
configuration for the on-board NAND and dataflash.  Included are commands
for configuring the AT91SAM9 NAND flash driver.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoARM: add comment re register exports
David Brownell [Sat, 26 Dec 2009 19:25:44 +0000 (11:25 -0800)]
ARM: add comment re register exports

Modern versions of GDB can understand VFP3 and iwMMXt hardware.

10 years agoUser's Guide: update GDB info
David Brownell [Sat, 26 Dec 2009 18:35:24 +0000 (10:35 -0800)]
User's Guide: update GDB info

Advise leaving background polling enabled; fix broken URL;
add simple program startup example.

10 years agoNOR: messaging fix
David Brownell [Sat, 26 Dec 2009 18:24:39 +0000 (10:24 -0800)]
NOR: messaging fix

Fix syntax error:  default to "wrote N bytes"; writing a
single byte is an unusual case, not the normal one.

10 years agoNOR: Allocate the right amount of memory
David Brownell [Sat, 26 Dec 2009 18:22:28 +0000 (10:22 -0800)]
NOR: Allocate the right amount of memory

Switch to calloc() to simplify review and initialization.

10 years agocygwin 1.7 build fixes
David Brownell [Sat, 26 Dec 2009 18:19:19 +0000 (10:19 -0800)]
cygwin 1.7 build fixes

It's less accepting of signed char ... insisting that e.g. tolower()
not receive one as a parameter.

It's probably good to phase out such usage, given the number of bugs
that lurk in the vicinity (assumptions that char is unsigned), so fix
these even though such usage is actually legal.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoPARPORT code cleanup:
Antonio Borneo [Sat, 26 Dec 2009 00:06:10 +0000 (08:06 +0800)]
PARPORT code cleanup:

Align elements in array.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
10 years agoRestore "-dev" version suffix
David Brownell [Mon, 21 Dec 2009 22:49:36 +0000 (14:49 -0800)]
Restore "-dev" version suffix

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agov0.4.0-rc1 milestone v0.4.0-rc1
David Brownell [Mon, 21 Dec 2009 22:45:52 +0000 (14:45 -0800)]
v0.4.0-rc1 milestone

Winter Solstice, 2009.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoPackaging fix, NEWS update
David Brownell [Mon, 21 Dec 2009 20:50:17 +0000 (12:50 -0800)]
Packaging fix, NEWS update

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoPackaging fix
David Brownell [Mon, 21 Dec 2009 20:31:12 +0000 (12:31 -0800)]
Packaging fix

Don't forget to list target/arm_opcodes.h

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agohelp: list all commands that match string
Oyvind Harboe [Sun, 20 Dec 2009 21:14:10 +0000 (22:14 +0100)]
help: list all commands that match string

Restore behavior where help lists all commands that
match string passed to help.

Signed-off-by: Oyvind Harboe <oyvind.harboe@zylin.com>
10 years agoCortex-M3: cleanup
David Brownell [Mon, 21 Dec 2009 00:33:00 +0000 (16:33 -0800)]
Cortex-M3: cleanup

Misc:
 - Introduce some "struct reg" temporaries, for clarity
 - Shorten lines
 - Add some missing whitespace
 - Clean up comments
 - Add notes about some fault handling issues
 - Most of these errata workarounds are for *OLD* chip revisions

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoARM11: recognize ARM11 MPCore
David Brownell [Sun, 20 Dec 2009 06:54:07 +0000 (22:54 -0800)]
ARM11: recognize ARM11 MPCore

And add my copyright.  MPCore is untested, but it's the
only other ARM11 core to care about.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoarm7_9: Support VINITHI signal
Antonio Borneo [Sun, 20 Dec 2009 17:30:18 +0000 (01:30 +0800)]
arm7_9: Support VINITHI signal

Command "reset halt" checks if PC properly resets, issueing warning:
"PC was not 0. Does this target need srst_pulls_trst?".
Checking PC against 0 is not always correct.

Removed PC value check, as suggested by Øyvind Harboe.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Signed-off-by: U-PROPRIET-28D9DF\PROPRIETAIRE <PROPRIETAIRE@propriet-28d9df.(none)>
10 years agocygwin build fixes
David Brownell [Sat, 19 Dec 2009 23:43:55 +0000 (15:43 -0800)]
cygwin build fixes

and shrink some too-long lines

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoAT91SAM9 NAND flash driver.
Dean Glazeski [Wed, 9 Dec 2009 18:40:54 +0000 (12:40 -0600)]
AT91SAM9 NAND flash driver.

This creates the TCL interface for configuring an AT91SAM9 NAND flash
controller and implements the necessary functions to correctly work with
a NAND flash device connected to the chip.  This includes updates to the
driver list and the Makefile.am to support building the driver and also
houses the documentation update in openocd.texi.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agooocd_trace buildfixes
David Brownell [Sat, 19 Dec 2009 21:24:59 +0000 (13:24 -0800)]
oocd_trace buildfixes

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoETM: add "etm trigger_debug" command
David Brownell [Sat, 19 Dec 2009 21:09:19 +0000 (13:09 -0800)]
ETM: add "etm trigger_debug" command

In conjunction with manual register setup, this lets the ETM trigger
cause entry to debug state.   It should make it easier to test and
bugfix the ETM code, by enabling non-trace usage and isolating bugs
specific to thef ETM support.  (One current issue being that trace
data collection using the ETB doesn't yet behave.)

For example, many ARM9 cores with an ETM should be able to implement
four more (simple) breakpoints and two more (simple) watchpoints than
the EmbeddedICE supports.  Or, they should be able to support complex
breakpoints, incorporating ETM sequencer, counters, and/or subroutine
entry/exit criteria int criteria used to trigger debug entry.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoETM: more ETM_CTRL bit cleanup
David Brownell [Sat, 19 Dec 2009 21:07:26 +0000 (13:07 -0800)]
ETM: more ETM_CTRL bit cleanup

Change handling of the CYCLE_ACCURATE, BRANCH_OUTPUT, and
TRACE_* flags; also the CONTEXTID size values.

 - Convert to symbols matching the actual register bits, instead of
   some random *other* bits (and then correcting that abuse).

 - Get rid of a now-needless enum.

 - Keep those values in etm->control, and remove etm->tracemode.

These values all affect the trace data that's recorded by a trace
pod or in the ETB.  I modified the file format used to dump ETB
data; since it's fairly clear nobody can use this mechanism now,
this can't cause anyone trouble.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoETM: start cleaning up ETM_CTRL bit handling
David Brownell [Sat, 19 Dec 2009 21:07:25 +0000 (13:07 -0800)]
ETM: start cleaning up ETM_CTRL bit handling

Provide better comments for the ETM_CTRL bits; use the correct bit
for half/full clock mode; and define a few more of the bits available
from the earliest ETM versions.

The new bit defintions use ETM_CTRL_* names to match their register
(instead of ETM_PORT_* or ETMV1_*).  For clarity, and better matching
to docs, they are defined with bitshifting not pre-computed masks.

Stop abusing typdefs for ETM_CTRL values; such values are not limited
to the enumerated set of individual bit values.

Rename etm->portmode to etm->control ... and start morphing it into a
single generic shadow of ETM_CTRL.  Eventually etm->tracemode should
vanish, so we can just write etm->control to ETM_CTRL.

Restore an "if" that somehow got dropped.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoETM trigger_percent becomes an ETB command
David Brownell [Sat, 19 Dec 2009 21:06:46 +0000 (13:06 -0800)]
ETM trigger_percent becomes an ETB command

This command was misplaced; it's not generic to all traceport drivers,
only the ETB supports this kind of configuration.  So move it, and
update the relevant documentation.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoNEWS: mention libftdi 0.17
David Brownell [Sat, 19 Dec 2009 21:01:30 +0000 (13:01 -0800)]
NEWS: mention libftdi 0.17

10 years agoNOR FLASH: only erase/unlock whole sectors
David Brownell [Fri, 18 Dec 2009 18:16:52 +0000 (10:16 -0800)]
NOR FLASH: only erase/unlock whole sectors

Much to my surprise, I observed a "flash erase_address ..."
command erasing data which I said should not be erased.

The issue turns out to be generic NOR flash code which was
silently, and rather dangerously, morphing partial-sector
references into unrequested whole-sector ones.

This patch removes that low-level morphing.  If desired, it
can and should be done in higher level code.  (We might need
to fix some stuff in the GDB server code.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoSubject: flash fill[bwh] should use bulk i/o
David Brownell [Fri, 18 Dec 2009 18:09:35 +0000 (10:09 -0800)]
Subject: flash fill[bwh] should use bulk i/o

It's currently allocating a big buffer but writing it out in
units of sizeof(host's pointer) ... sub-optimal.

Plus fix a couple minor coding style goofs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agostellaris: fix min buffer length checks
David Brownell [Fri, 18 Dec 2009 17:59:40 +0000 (09:59 -0800)]
stellaris: fix min buffer length checks

Word count == size/4; cope.  And increase buf_min so it's large
enough to cover the overhead in my tests.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoXScale: better {read,write}_phys()
David Brownell [Fri, 18 Dec 2009 17:53:59 +0000 (09:53 -0800)]
XScale: better {read,write}_phys()

We can actually do the right thing if the MMU is off; save
the error message for the phys-but-MMU-enabled path, which
is what isn't yet supported.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agodsp563xx: cygwin build fixes
David Brownell [Fri, 18 Dec 2009 11:08:49 +0000 (03:08 -0800)]
dsp563xx: cygwin build fixes

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agostellaris: update bulk flash writes
David Brownell [Fri, 18 Dec 2009 09:33:19 +0000 (01:33 -0800)]
stellaris: update bulk flash writes

Try to right-size the SRAM buffers, by not:
 - using them for very small writes
 - giving up when a large buffer isn't available
 - allocating buffers much larger than their data

Also don't:
 - bother loading the code unless we allocate the writebuffer too
 - be so verbose with messaging:
    * be more concise
    * reduce importance (e.g. DEBUG not WARNING)
    * remove duplication

The minimum buffer size is something of a guess.  It's eight
times smaller than before, almost the same size as the code
being downloaded.  It probably deserves some tuning.

Also, note an erratum affecting flash protection on some chips;
and narrow many over-wide lines affected by the above changes.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoNAND write data page refactoring.
Dean Glazeski [Fri, 18 Dec 2009 03:02:40 +0000 (21:02 -0600)]
NAND write data page refactoring.

Refactored the write page raw function into two new functions
for writing data to a NAND device and then another function to
finish up a write to a NAND device.  This includes some new
updates to introduce more error checking to existing code.

[dbrownell@users.sourceforge.net: fix fault handling, whitespace]

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoNAND read data page refactor.
Dean Glazeski [Fri, 18 Dec 2009 03:02:39 +0000 (21:02 -0600)]
NAND read data page refactor.

Added a new function to encapsulate reading a page of data from
a NAND device using either the read_block_data function of a NAND
controller or to use direct reading of data from the NAND device.

This also adds some performance enhancements and uses the read_data
function if the read_block_data function fails safely (because it
can't allocate a buffer in the working area).

[dbrownell@users.sourceforge.net: fix fault handling, whitespace]

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agotarget.cfg: update to use new flash configuration syntax
Spencer Oliver [Thu, 17 Dec 2009 10:53:09 +0000 (10:53 +0000)]
target.cfg: update to use new flash configuration syntax

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
10 years agoRemove duplicate Olimex-"tiny" interface
David Brownell [Wed, 16 Dec 2009 22:21:06 +0000 (14:21 -0800)]
Remove duplicate Olimex-"tiny" interface

We already have tcl/interface/olimex-jtag-tiny.cfg and
don't need a clone of it.

10 years agoJTAG: shrink "scan_chain" output
David Brownell [Wed, 16 Dec 2009 22:19:44 +0000 (14:19 -0800)]
JTAG: shrink "scan_chain" output

Tweak the "scan_chain" output by removing column separators.  Also
remove the "current instruction" state ... which changes constantly.

Now its style resembles the "targets" output, and can even fit on
one line in standard terminals and in the PDF docs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agostellaris: comments
David Brownell [Wed, 16 Dec 2009 22:17:31 +0000 (14:17 -0800)]
stellaris: comments

Someday revisit various issues:  Tempest parts support writing
more than one word at a time; for some target firmware it might
be necessary to save and restore flash IRQ configuration.  (The
safest policy is likely to always reset after flash updates.)

Plus swap some undesirable TAB characters with SPACE.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agostellaris: probe() cleanups
David Brownell [Wed, 16 Dec 2009 22:17:31 +0000 (14:17 -0800)]
stellaris: probe() cleanups

Fix potential memory leak:  make sure the per-bank data
structures are only allocated in probe(), and that calling
probe() multiple times is a NOP.  Use it for auto_probe().

Require probe() to have done its thing:  don't make access
routines cope with it not having been called.  Shrink a
bunch of failure paths; and in some cases, correct them.

Don't needlessly insist on a halted target for probe().

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agostellaris: remove needless code
David Brownell [Wed, 16 Dec 2009 22:17:31 +0000 (14:17 -0800)]
stellaris: remove needless code

No point in reading and discarding a status value when fetching
part description data.  Or having that needless "#if 0" code.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agostellaris: avoid chip writes
David Brownell [Wed, 16 Dec 2009 22:17:31 +0000 (14:17 -0800)]
stellaris: avoid chip writes

Previously "reading" clock info (and part info) also, as a side
effect, wrote the flash timing register.  Instead, be more safe:
"reading" should only read.  Write paths still refresh timing,
coping with changes the application code may have made.

Also rename the routine which sets flash timing, indicating what
it's really doing; it's got nothing to do with a "mode".

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoNOR: bugfix "flash fill[bwh] ..." helptext
David Brownell [Wed, 16 Dec 2009 19:57:59 +0000 (11:57 -0800)]
NOR: bugfix "flash fill[bwh] ..." helptext

These commands don't have a "bank" parameter.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agozy1000: removed some redundant include
Øyvind Harboe [Wed, 16 Dec 2009 13:44:58 +0000 (14:44 +0100)]
zy1000: removed some redundant include

spotted by lint.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agoecos: crisper implementation of timeval_ms()
Øyvind Harboe [Tue, 15 Dec 2009 13:57:38 +0000 (14:57 +0100)]
ecos: crisper implementation of timeval_ms()

A crisper/faster implementation under eCos that makes profiling a
tad easier.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agoserver: server loop will exhaust data inputs before sleeping
Øyvind Harboe [Tue, 15 Dec 2009 14:43:38 +0000 (15:43 +0100)]
server: server loop will exhaust data inputs before sleeping

By exhausting data on input, the performance will be more
consistent + the code more clearly distinguishes between
polling and processing. A test showed gdb packet load
performance go from ~1550kByte/s to 1650kBytes/s + being
more stable.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agomore tcl/{board,target} cleanup
David Brownell [Tue, 15 Dec 2009 22:39:25 +0000 (14:39 -0800)]
more tcl/{board,target} cleanup

Remove more remnants of the old "jtag_device" syntax.

Don't [format "%s.cpu" $_CHIPNAME] ... it's needless complexity.

Remove various non-supported "-variant" target options; they're not
needed often at all.

Flag some of the board files as needing to have and use target files
for the TAP and target declarations.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agotesting/examples/.../*cfg: rm jtag_device calls
David Brownell [Tue, 15 Dec 2009 17:15:54 +0000 (09:15 -0800)]
testing/examples/.../*cfg: rm jtag_device calls

That syntax has been obsolete forever and is now gone; remove a few
remaining references.  Shows how seldom this stuff gets used.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoXScale: use all-ones for BYPASS, not five-ones
David Brownell [Tue, 15 Dec 2009 04:06:21 +0000 (20:06 -0800)]
XScale: use all-ones for BYPASS, not five-ones

PXA3xx has more than five bits in IR.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agotarget: add basic dsp563xx support
mkdorg@users.sourceforge.net [Tue, 15 Dec 2009 17:30:59 +0000 (18:30 +0100)]
target: add basic dsp563xx support

10 years agozy1000: keep up with command.h cleanup
Øyvind Harboe [Tue, 15 Dec 2009 12:24:28 +0000 (13:24 +0100)]
zy1000: keep up with command.h cleanup

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agocommand: retire obsolete macro
Øyvind Harboe [Tue, 15 Dec 2009 12:23:07 +0000 (13:23 +0100)]
command: retire obsolete macro

COMMAND_REGISTER() was only used transiently during
code conversion.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agoimx31: move srst delay into config script
Øyvind Harboe [Tue, 15 Dec 2009 06:55:20 +0000 (07:55 +0100)]
imx31: move srst delay into config script

reset init/run now works again.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agoARM11: improved reset support
David Brownell [Tue, 15 Dec 2009 03:56:36 +0000 (19:56 -0800)]
ARM11: improved reset support

Teach ARM11 how to use:

 - the new "reset-assert" event
 - vector catch to implement "reset halt"
 - use SRST more like other cores do
 - ... including leaving post-SRST delays up to config scripts

This gives OMAP2420 the ability to reset, and doesn't seem to
cause new iMX31 problems.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoARM: disassemble STM correctly
David Brownell [Tue, 15 Dec 2009 03:53:10 +0000 (19:53 -0800)]
ARM: disassemble STM correctly

There is no "STMMIDA" instruction.  There is however "STMDAMI".

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agolm3748: use new Stellaris config file
David Brownell [Tue, 15 Dec 2009 00:29:53 +0000 (16:29 -0800)]
lm3748: use new Stellaris config file

Use the new file, and remove the old target/lm3s3748.cfg one.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoCommon target file for Stellaris chips
Yegor Yefremov [Tue, 15 Dec 2009 00:29:31 +0000 (16:29 -0800)]
Common target file for Stellaris chips

Common target.cfg file for LM3S CPU family

[dbrownell@users.sourceforge.net: rename, generalize more]

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agostellaris: device IDs
Eric Wetzel [Mon, 14 Dec 2009 20:59:27 +0000 (15:59 -0500)]
stellaris: device IDs

I added the remaining devices and device IDs to stellaris.c, and
removed several devices that don't exist on the Stellaris web page.

Additionally, I found a few devices with duplicate IDs ... the DID1
Version Number for LM3Sxxx parts have DID1 Version = 0x0, and for
LM3Sxxxx have DID1 Version = 0x1. So I extended the comparison to
use the VER and FAM fields from DID1 also.

ID=0x33: LM3S812 (DID1v0) and LM3S2616 (DID1v1)
ID=0x39: LM3S808 (DID1v0) and LM3S2276 (DID1v1)

These are the parts I removed from the file for lack of documentation
(no data sheet to confirm part ID):

  LM3S318,
  LM3S1101, LM3S1108,
  LM3S1615, LM3S1616,
  LM3S2016,
  LM3S2101, LM3S2108,
  LM3S3759, LM3S3768,
  LM3S5757, LM3S5767, LM3S5768, LM3S5769,
  LM3S6815, LM3S6816,
  LM3S6915, LM3S6916,
  LM3S6111, LM3S6118.

Also, sort devices according to part number.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agojtag: add '-ignore-version' option
David Brownell [Mon, 14 Dec 2009 23:55:51 +0000 (15:55 -0800)]
jtag: add '-ignore-version' option

Add a "-ignore-version" to "jtag newtap" which makes the IDCODE
comparison logic optionally ignore version differences.

Update the "scan_chain" command to illustrate this by showing
the "*" character instead of the (ignored) version nibble.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agotarget files shouldn't #include <target/...h>
David Brownell [Sun, 13 Dec 2009 20:52:23 +0000 (12:52 -0800)]
target files shouldn't #include <target/...h>

Make these ".h" files adopt the same policy the ".c" files already
follow:  don't use <subsystem/...h> syntax for private interfaces.

If we ever get reviewed/supported "public" interfaces they should
come exclusively from some include/... directory; that'll be the
time to switch to <...> syntax for any subsystem's own interfaces.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agotarget: further shrink Jim-awareness
David Brownell [Sun, 13 Dec 2009 20:52:23 +0000 (12:52 -0800)]
target: further shrink Jim-awareness

Don't include <helper/jim.h> from target.h ... not everything
which touches targets needs to be able to talk to Jim.  Plus,
most files include this header by another path.

Also, switch the affected files to use the classic sequence
for #included files:  all <framework/headers.h> first, then
the "local_headers.h".  This helps prevent growth of problematic
layering, by minimizing entanglement.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoLPC2000: rename "r13_svc" as "sp_svc"
David Brownell [Sat, 12 Dec 2009 23:43:02 +0000 (15:43 -0800)]
LPC2000: rename "r13_svc" as "sp_svc"

This driver didn't get updated when the name changed.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoARM11: avoid pointless status returns
David Brownell [Fri, 11 Dec 2009 23:38:36 +0000 (15:38 -0800)]
ARM11: avoid pointless status returns

For some routines that only returned ERROR_OK and where the
caller never checked ... don't bother.  Remove some noise,
and bugfix some comments.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoadd missing call to add new NAND devices
Zachary T Welch [Sat, 12 Dec 2009 02:43:27 +0000 (18:43 -0800)]
add missing call to add new NAND devices

I forgot to add a call to the newly factored nand_device_add(), along
with its forward declaration.

10 years agofix 'write_image' usage information
Zachary T Welch [Sat, 12 Dec 2009 02:38:44 +0000 (18:38 -0800)]
fix 'write_image' usage information

The 'flash write_image' command erroneously listed the bank number,
when it actually uses target addresses to do that lookup for the user.

10 years agoARM DPM: support updating HW breakpoints
David Brownell [Fri, 11 Dec 2009 23:26:10 +0000 (15:26 -0800)]
ARM DPM: support updating HW breakpoints

Abstract the DPM breakpoint and watchpoint data structures to
have a shared core for housekeeping.

Abstract the code updating the watchpoint registers so that it
can be used to update breakpoint registers.  Then do so, when
something has set up the breakpoint state used by this code.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoARM: disassembly fixes for LDC/STC/MRRC/MCRR
David Brownell [Fri, 11 Dec 2009 23:24:08 +0000 (15:24 -0800)]
ARM: disassembly fixes for LDC/STC/MRRC/MCRR

Properly detect all of these, including the "2" variants;
and bugfix parameter display for LDC and STC.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoARM11: minor cleanup, mostly ITR comments
David Brownell [Fri, 11 Dec 2009 23:24:08 +0000 (15:24 -0800)]
ARM11: minor cleanup, mostly ITR comments

ITR register handling seemed to be giving me problems, so I updated
the comments to better say what the code is trying to do ... and to
note the preconditions (one of which seems to be an issue) as listed
in the ARM1136 TRM.

Also removed the unused "ARM11_TAP_DEFAULT" from the ITR scan code;
all the callers already specify an exit path, since this register
isn't usable with such vague semantics.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoserver: add server_preinit which is called before config file is parsed.
Spencer Oliver [Thu, 10 Dec 2009 14:31:28 +0000 (14:31 +0000)]
server: add server_preinit which is called before config file is parsed.

This fixes the issue under native win32 of the socket interface not being
enabled (via WSAStartup) before init is called from a script.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
10 years agobuild: fix cygwin build warnings
Spencer Oliver [Thu, 10 Dec 2009 11:28:38 +0000 (11:28 +0000)]
build: fix cygwin build warnings

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
10 years agogdb_server: use more local variables in inner loop of fetching packetstiny refactorin...
Øyvind Harboe [Thu, 10 Dec 2009 18:14:45 +0000 (19:14 +0100)]
gdb_server: use more local variables in inner loop of fetching packetstiny refactoring to allow optimisation of inner loops

Some profiling information for arm7 16MHz GDB load operation shows
gdb_get_packet_inner() near the very top.

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls  Ts/call  Ts/call  name
 52.91      2.27     2.27                             embeddedice_write_dcc
 11.89      2.78     0.51                             gdb_get_packet_inner
  8.86      3.16     0.38                             memcpy
  3.26      3.30     0.14                             idle_thread_main(unsigned int)
  3.03      3.43     0.13                             cyg_in_cksum

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agogdb_server: make struct gdb_connection private
Øyvind Harboe [Thu, 10 Dec 2009 18:11:03 +0000 (19:11 +0100)]
gdb_server: make struct gdb_connection private

it is only used inside gdb_server.c

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agooptimisation: tiny optimisation for embedded ice
Øyvind Harboe [Thu, 10 Dec 2009 14:09:20 +0000 (15:09 +0100)]
optimisation: tiny optimisation for embedded ice

use two shift operations instead of three to set embedded
ice register.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agoembedded hosts: optimize common code path for core arm operations
Øyvind Harboe [Thu, 10 Dec 2009 14:00:19 +0000 (15:00 +0100)]
embedded hosts: optimize common code path for core arm operations

avoid fn call for the if check on whether anything needs
to be done.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agoanotyer cygwin compile fix
David Brownell [Fri, 11 Dec 2009 01:42:20 +0000 (17:42 -0800)]
anotyer cygwin compile fix

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agozy1000: revc FPGA now works
Øyvind Harboe [Mon, 7 Dec 2009 11:38:56 +0000 (12:38 +0100)]
zy1000: revc FPGA now works

remove kludge code.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agoARM: update arm_opcodes.h copyright
David Brownell [Thu, 10 Dec 2009 05:43:23 +0000 (21:43 -0800)]
ARM: update arm_opcodes.h copyright

I neglected to copy Magnus' copyright when I moved several
declarations from the ARMv7-M header.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agostellaris: flash protection updates, minor fixes
David Brownell [Thu, 10 Dec 2009 05:16:09 +0000 (21:16 -0800)]
stellaris: flash protection updates, minor fixes

Bugfix the read side of flash protection:
 - read the right register(s)!
 - handle more than 64K
 - record the results in the right places
 - don't display garbage.

Partially bugfix the write side:
 - use 2KB lock regions instead of 1KB pages (!)
 - validate input range
 - don't try to _remove_ protection (it's write-once)
 - #define values we'll need to commit writes.
 - ... still doesn't handle pages over 64KB mark, or commit writes

And minor cleanup and fixes:
 - get rid of some forward decls
 - properly locate a doxygen comment
 - fix some bad indentation
 - remove superfluous #include
 - add a new part ID (many are still missing)
 - make the downloaded algorithm code be read-only

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoComment and doxygen fixes
David Brownell [Wed, 9 Dec 2009 18:25:08 +0000 (10:25 -0800)]
Comment and doxygen fixes

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoETM: only include oocd_trace.h when tracing enabled.
Spencer Oliver [Wed, 9 Dec 2009 10:35:30 +0000 (10:35 +0000)]
ETM: only include oocd_trace.h when tracing enabled.
Fixes build issue on systems that do not have <termios.h>, eg native win32.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
10 years agoFix compilation error with gcc 4.4.1
Rafael Campos Las Heras [Tue, 8 Dec 2009 19:25:50 +0000 (20:25 +0100)]
Fix compilation error with gcc 4.4.1

Signed-off-by: Rafael Campos Las Heras <methril@gmail.com>
10 years agotarget: remove more exit() calls
David Brownell [Tue, 8 Dec 2009 21:09:38 +0000 (13:09 -0800)]
target: remove more exit() calls

These were all basically "can't happen" cases ... like having
state be corrupted by an alpha particle after the previous check
for whether a value was in-range.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agotarget: remove needless "extern"s
David Brownell [Tue, 8 Dec 2009 21:06:41 +0000 (13:06 -0800)]
target: remove needless "extern"s

Most of these happened to be in the target.h file.

Some of those are associated with symbols that could be
removed at some point ... e.g. NVP_ASSERT/true and its
sibling NVP_DEASSERT/false.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agotarget: move 'extern' decls to *.h files
David Brownell [Tue, 8 Dec 2009 21:06:41 +0000 (13:06 -0800)]
target: move 'extern' decls to *.h files

The exception being declarations for drivers.  Those should
be split out in some clean way -- like driver add/remove calls
made by initialization code -- but that's for another day.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agoARM: cygwin complile fixes
David Brownell [Tue, 8 Dec 2009 10:00:35 +0000 (02:00 -0800)]
ARM: cygwin complile fixes

It's as if despite integers being 32-bits, GCC refuses to
convert a "uint32_t" to one of them.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
10 years agozy1000: some background info on the zy1000 file.
Øyvind Harboe [Tue, 8 Dec 2009 09:40:47 +0000 (10:40 +0100)]
zy1000: some background info on the zy1000 file.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
10 years agominidriver: fix inline capability of minidriver
Øyvind Harboe [Fri, 4 Dec 2009 15:00:43 +0000 (16:00 +0100)]
minidriver: fix inline capability of minidriver

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>