- Oct 27, 2009
-
-
David Brownell authored
Get rid of needless variable, improve and shrink diagnostic. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- Oct 26, 2009
-
-
David Brownell authored
Make the "dap info" output more comprehensible: - Don't show CIDs unless they're incorrect (only four bits matter) - For CoreSight parts, interpret the part type - Interpret the part number - Show all five PID bytes together - Other minor cleanups Also some whitespace fixes, and shrink a few overlong source lines. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
Michael Roth authored
Ignore leading '0' characters on hex strings. For example a bit pattern consisting of 6 bits could be written as 3f, 03f or 003f and so on. Signed-off-by:
Michael Roth <mroth@nessie.de> Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
David Brownell authored
This patch adds basic autoprobing support for the JTAG scan chains which cooperate. To use, you can invoke OpenOCD with just: - interface spec: "-f interface/...cfg" - possibly with "-c 'reset_config ...'" for SRST/TRST - possibly with "-c 'jtag_khz ...'" for the JTAG clock Then set up config files matching the reported TAPs. It doesn't declare targets ... just TAPs. So facilities above the JTAG and SVF/XSVF levels won't be available without a real config; this is almost purely a way to generate diagnostics. Autoprobe was successful with most boards I tested, except ones incorporating C55x DSPs (which don't cooperate with this scheme for IR length autodetection). Here's what one multi-TAP chip reported, with the "Warn:" prefixes removed: clock speed 500 kHz There are no enabled taps. AUTO PROBING MIGHT NOT WORK!! AUTO auto0.tap - use "jtag newtap auto0 tap -expected-id 0x2b900f0f ..." AUTO auto1.tap - use "jtag newtap auto1 tap -expected-id 0x07926001 ..." AUTO auto2.tap - use "jtag newtap auto2 tap -expected-id 0x0b73b02f ..." AUTO auto0.tap - use "... -irlen 4" AUTO auto1.tap - use "... -irlen 4" AUTO auto2.tap - use "... -irlen 6" no gdb ports allocated as no target has been specified The patch tweaks IR setup a bit, so we can represent TAPs with undeclared IR length. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- Oct 25, 2009
-
-
Øyvind Harboe authored
-
David Brownell authored
And update doc accordingly. That EmbeddedICE register was introduced for ARM9TDMI and then carried forward into most new chips that use EmbeddedICE.
-
David Brownell authored
Stop allocating three bytes per IR bit, and cope somewhat better with IR lengths over 32 bits. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
David Brownell authored
Remove needless debug handler state. - "handler_installed" became wrong as soon as the second TRST+SRST reset was issued ... so the handler was never reloaded after the reset removed it from the mini-icache. This fixes the bug where subsequent resets fail on PXA255 (if the first one even worked, which is uncommon). Other XScale chips would have problems too; PXA270 seems to have, IXP425 maybe not. - "handler_running" was never tested; it's pointless. Plus a related bugfix: invalidate OpenOCD's ARM register cache on reset. It was no more valid than the XScale's mini-icache. (Though ... such invalidations might be better done in "SRST asserted" callbacks.) Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- Oct 23, 2009
-
-
David Brownell authored
Bit 5 shouldn't be used. Remove all support for modifying it. Matches the exception vector table, of course ... more than one bootloader uses that non-vector to help distinguish valid boot images from random garbage in flash.
-
Øyvind Harboe authored
-
Øyvind Harboe authored
-
Øyvind Harboe authored
-
Øyvind Harboe authored
-
David Brownell authored
Some cosmetic cleanup, and switch to a single table mapping between state names and symbols (vs two routines which only share that state with difficulty). Get rid of TAP_NUM_STATES, and some related knowledge about how TAP numbers are assigned. Later on, this will help us get rid of more such hardwired knowlege. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
David Brownell authored
- Use the name mappings all the other code uses: + name-to-state ... needed to add one special case + state-to-name - Improve various diagnostics: + don't complain about a "valid" state when the issue is actually that it must be "stable" + say which command was affected - Misc: + make more private data and code be static + use public DIM() not private dimof() + shorten the affected lines Re the mappings, this means we're more generous in inputs we accept, since case won't matter. Also our output diagnostics will be a smidgeon more informative, saying "RUN/IDLE" not just "IDLE" (emphasizing that there can be side effects). Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
Nicolas Pitre authored
The wrong variable (pc instead of r0) was used. Furthermore, someone did cover this error by stupidly silencing the compiler warning that occurred before a dummy void reference to r0 was added to the code. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- Oct 22, 2009
-
-
David Brownell authored
When dumping over 100 registers (as on most ARM9 + ETM cores), aid readability by splitting them into logical groups. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
David Brownell authored
The register names are perversely not documented as zero-indexed, so rename them to match that convention. Also switch to lowercase suffixes and infix numbering, matching ETB and EmbeddedICE usage. Update docs to be a bit more accurate, especially regarding what the "trigger" event can cause; and to split the issues into a few more paragraphs, for clarity. Make "configure" helptext point out that "oocd_trace" is prototype hardware, not anything "real". Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
Øyvind Harboe authored
-
- Oct 21, 2009
-
-
Øyvind Harboe authored
retire obsolete mXY_phys commands. Handled by generic memory read/modify commands and target read/write physical memory callbacks.
-
Øyvind Harboe authored
-
Øyvind Harboe authored
-
Øyvind Harboe authored
Added target_read/write_phys_memory() fn's. mdX/mwX commands updated to support phys flag to specify bypassing of MMU.
-
Øyvind Harboe authored
Retire obsolete and superfluous implementations of virt2phys in each target. This is done in a polymorphic implementation in target.c
-
Øyvind Harboe authored
Retire obsolete and superfluous implementations of virt2phys in each target. This is done in a polymorphic implementation in target.c
-
Øyvind Harboe authored
-
Øyvind Harboe authored
Defined target_write_memory() to be able to handle implementing breakpoints for read only ram(e.g. MMU write protected.
-
Øyvind Harboe authored
-
David Brownell authored
XSVF improvements: - Layer parts of XSVF directly over SVF, calling svf_add_statemove() instead of expecting jtag_add_statemove() to conform to the SVF/XSVF requirements (which it doesn't). This should improve XSTATE handling a lot; it removes most users of jtag_add_statemove(), and the comments about how it should really do what svf_add_statemove() does. - Update XSTATE logic to be a closer match to the XSVF spec. The main open issue here is (still) that this implementation doesn't know how to build and submit paths from single-state transitions ... but now it will report that error case. - Update the User's Guide to mention the two utility scripts for working with XSVF, and to mention the five extension opcodes. Handling of state transition paths is, overall, still a mess. I think they should all be specified as paths not unlike SVF uses, and compiled to the bitstrings later ... so that we can actually make sense of the paths. (And see the extra clocks, detours through RUN, etc.) Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
- Oct 20, 2009
-
-
Øyvind Harboe authored
Removed unused interface_jtag_set_end_state and wrote down some notes on TCP/IP client/server scheme.
-
Øyvind Harboe authored
-
Øyvind Harboe authored
-
Øyvind Harboe authored
-
David Brownell authored
Don't add extra TCK in current state; exit from RESET had four extras. Only IDLE --> IDLE needs such an extra clock. (At least one TCK must be issued.) Allow entry to RESET; SVF allows it, so must we (despite those entries being commented out of the statemove table). When entering RESET, always use TLR ... we might end up with extra clocks in reset that way, which is harmless, but we'll never end up in any other state than RESET, which is useful paranoia. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
David Brownell authored
As decided a while back, this isn't a transition we want to chance. Whenever someone wants to got to RESET, force it. Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
David Brownell authored
SVF: comment the predefined/default paths; make them static const SVF, XSVF: whitespace fixes, mostly so copyrights display sanely Signed-off-by:
David Brownell <dbrownell@users.sourceforge.net>
-
Zachary T Welch authored
-
Redirect 'Slash' NIL authored
After reading a bit further, it appears that ws2_32 (Windows Sockets 2) is included in all versions of Windows and backwards compatible with wsock32, at least according to http://msdn.microsoft.com/en-us/library/ms740673%28VS.85%29.aspx. Only Win95 seems to require a manual installation; is not a big deal. So I think we can drop this whole business of detecting 64 bit MinGW and just use -lws2_32 for all MinGW platforms.
-
- Oct 19, 2009
-
-
Nicolas Pitre authored
Without this fix, the following code cannot be single stepped: add ip, pc, #1 bx ip [thumb code here]
-
Redirect 'Slash' NIL authored
Compilation on cygwin, using gcc v3 with option -mno-cygwin, currently produces a large number of the following warnings: warning: `gnu_printf' is an unrecognized format function type These have been introduced with the recent MinGW GNU C99 printf compliance patch, as gnu_printf was only introduced with gcc v4.4 and is not recognized with earlier versions. The attached fix adds gcc version detection to the previous patch to avoid the problem.
-