Make "-expected-id 0" suppress warnings; not unlike it used to do.

git-svn-id: svn://svn.berlios.de/openocd/trunk@2775 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
dbrownell 2009-09-29 18:26:18 +00:00
parent bde4a40422
commit 4297209ac9
2 changed files with 12 additions and 6 deletions

View File

@ -1253,7 +1253,7 @@ to source such a config file twice, with different
values for @code{CHIPNAME}, so
it adds a different TAP each time.
If there are one or more nonzero @option{-expected-id} values,
If there are nonzero @option{-expected-id} values,
OpenOCD attempts to verify the actual tap id against those values.
It will issue error messages if there is mismatch, which
can help to pinpoint problems in OpenOCD configurations.
@ -2373,11 +2373,13 @@ You may use @code{-enable} to highlight the default state
(the TAP is linked in).
@xref{Enabling and Disabling TAPs}.
@item @code{-expected-id} @var{number}
@*A non-zero value represents the expected 32-bit IDCODE
found when the JTAG chain is examined.
@*A non-zero @var{number} represents a 32-bit IDCODE
which you expect to find when the scan chain is examined.
These codes are not required by all JTAG devices.
@emph{Repeat the option} as many times as required if more than one
ID code could appear (for example, multiple versions).
Specify @var{number} as zero to suppress warnings about IDCODE
values that were found but not included in the list.
@item @code{-ircapture} @var{NUMBER}
@*The bit pattern loaded by the TAP into the JTAG shift register
on entry to the @sc{ircapture} state, such as 0x01.

View File

@ -959,10 +959,14 @@ static bool jtag_examine_chain_match_tap(const struct jtag_tap_s *tap)
{
if (tap->idcode == tap->expected_ids[ii])
return true;
/* treat "-expected-id 0" as a "don't-warn" wildcard */
if (0 == tap->expected_ids[ii])
return true;
}
/* If none of the expected ids matched, log an error */
jtag_examine_chain_display(LOG_LVL_ERROR, "UNEXPECTED",
/* If none of the expected ids matched, warn */
jtag_examine_chain_display(LOG_LVL_WARNING, "UNEXPECTED",
tap->dotted_name, tap->idcode);
for (ii = 0; ii < tap->expected_ids_cnt; ii++)
{
@ -1025,7 +1029,7 @@ static int jtag_examine_chain(void)
}
tap->idcode = idcode;
// ensure the TAP ID does matches what was expected
/* ensure the TAP ID matches what was expected */
if (!jtag_examine_chain_match_tap(tap))
return ERROR_JTAG_INIT_FAILED;
}