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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
More updates from the code review by Steve Grubb <sgrubb@redhat.com>.
The Jim float-comparision bug just gets a comment not a fix, though.
Cc: Steve Grubb <sgrubb@redhat.com>.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
After previous efforts, only one Jim routine remained in jtag/core.c,
and moving it to jtag/tcl.c painlessly finishes separating these layers.
The headers need separating, but the implementation is clean.
Before we can -I the top-level src/ directory alone, references to
"hello.h" must be updated. This is an internal header, so it does
not need angle brackets.
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "embeddedice.h"
the following form should be used.
#include <target/embeddedice.h>
The exception is from .c files in the same directory.
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "minidriver.h"
the following form should be used.
#include <jtag/minidriver.h>
The exception is from .c files in the same directory.
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "jtag.h"
the following form should be used.
#include <jtag/jtag.h>
The exception is from .c files in the same directory.
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "interface.h"
the following form should be used.
#include <jtag/interface.h>
The exception is from .c files in the same directory.
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "commands.h"
the following form should be used.
#include <jtag/commands.h>
The exception is from .c files in the same directory.
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "types.h"
the following form should be used.
#include <helper/types.h>
The exception is from .c files in the same directory.
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "time_support.h"
the following form should be used.
#include <helper/time_support.h>
The exception is from .c files in the same directory.
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "log.h"
the following form should be used.
#include <helper/log.h>
The exception is from .c files in the same directory.
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "command.h"
the following form should be used.
#include <helper/command.h>
The exception is from .c files in the same directory.
Changes from the flat namespace to heirarchical one. Instead of writing:
#include "binarybuffer.h"
the following form should be used.
#include <helper/binarybuffer.h>
The exception is from .c files in the same directory.
Includes the src directory in the search path, so header files may be
migrated from:
#include "foo.h"
to
#include <module/foo.h>
which is more conducive for installation.
Moves JTAG interface drivers to src/jtag/drivers/,
Adds src/jtag/drivers/Makefile.am.
Builds libocdjtagdrivers.la.
Flattens the rlink driver files into the drivers/ directory, adding
the 'rlink_' prefix or '.rlink' suffix as appropriate.