Complain about debug version before authentication. (#441)

Change-Id: I769af8323545c2c18e4253a1543e9202f0bdfabc
regcache
Tim Newsome 2020-01-27 16:07:08 -08:00 committed by GitHub
parent 69e6891434
commit 2f456abd55
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 3 deletions

View File

@ -683,7 +683,12 @@ int dmstatus_read_timeout(struct target *target, uint32_t *dmstatus,
DMI_DMSTATUS, 0, timeout_sec, false, true); DMI_DMSTATUS, 0, timeout_sec, false, true);
if (result != ERROR_OK) if (result != ERROR_OK)
return result; return result;
if (authenticated && !get_field(*dmstatus, DMI_DMSTATUS_AUTHENTICATED)) { if (get_field(*dmstatus, DMI_DMSTATUS_VERSION) != 2) {
LOG_ERROR("OpenOCD only supports Debug Module version 2 (0.13), not "
"%d (dmstatus=0x%x). This error might be caused by a JTAG "
"signal issue. Try reducing the JTAG clock speed.",
get_field(*dmstatus, DMI_DMSTATUS_VERSION), *dmstatus);
} else if (authenticated && !get_field(*dmstatus, DMI_DMSTATUS_AUTHENTICATED)) {
LOG_ERROR("Debugger is not authenticated to target Debug Module. " LOG_ERROR("Debugger is not authenticated to target Debug Module. "
"(dmstatus=0x%x). Use `riscv authdata_read` and " "(dmstatus=0x%x). Use `riscv authdata_read` and "
"`riscv authdata_write` commands to authenticate.", *dmstatus); "`riscv authdata_write` commands to authenticate.", *dmstatus);
@ -1526,8 +1531,7 @@ static int examine(struct target *target)
return ERROR_FAIL; return ERROR_FAIL;
LOG_DEBUG("dmstatus: 0x%08x", dmstatus); LOG_DEBUG("dmstatus: 0x%08x", dmstatus);
if (get_field(dmstatus, DMI_DMSTATUS_VERSION) != 2) { if (get_field(dmstatus, DMI_DMSTATUS_VERSION) != 2) {
LOG_ERROR("OpenOCD only supports Debug Module version 2, not %d " /* Error was already printed out in dmstatus_read(). */
"(dmstatus=0x%x)", get_field(dmstatus, DMI_DMSTATUS_VERSION), dmstatus);
return ERROR_FAIL; return ERROR_FAIL;
} }