Print meaningful ISP clock error message
Currently, only some JTAG3 compatible programmers are able to detect that the connected target's main clock speed actually is too low for for the programmer. In this case, these will return 0xCC.
This commit is contained in:
parent
6385fb09f7
commit
2d7ad8e373
|
@ -1242,8 +1242,11 @@ int main(int argc, char * argv [])
|
||||||
init_ok = (rc = pgm->initialize(pgm, p)) >= 0;
|
init_ok = (rc = pgm->initialize(pgm, p)) >= 0;
|
||||||
if (!init_ok) {
|
if (!init_ok) {
|
||||||
pmsg_error("initialization failed, rc=%d\n", rc);
|
pmsg_error("initialization failed, rc=%d\n", rc);
|
||||||
|
if(rc == -2)
|
||||||
|
imsg_error("The programmer ISP clock is too fast for the target\n");
|
||||||
|
else
|
||||||
imsg_error("- double check the connections and try again\n");
|
imsg_error("- double check the connections and try again\n");
|
||||||
imsg_error("- use -B to set lower ISP clock frequency, e.g. -B 200kHz\n");
|
imsg_error("- use -B to set lower ISP clock frequency, e.g. -B 125kHz\n");
|
||||||
if (!ovsigck) {
|
if (!ovsigck) {
|
||||||
imsg_error("- use -F to override this check\n\n");
|
imsg_error("- use -F to override this check\n\n");
|
||||||
exitrc = 1;
|
exitrc = 1;
|
||||||
|
|
|
@ -795,6 +795,11 @@ retry:
|
||||||
// attempt to read the status back
|
// attempt to read the status back
|
||||||
status = stk500v2_recv(pgm,buf,maxlen);
|
status = stk500v2_recv(pgm,buf,maxlen);
|
||||||
|
|
||||||
|
DEBUG("STK500V2: stk500v2_command() received content: [ ");
|
||||||
|
for (size_t i=0; i<len; i++)
|
||||||
|
DEBUG("0x%02x ",buf[i]);
|
||||||
|
DEBUG("], length %d\n", (int) len);
|
||||||
|
|
||||||
// if we got a successful readback, return
|
// if we got a successful readback, return
|
||||||
if (status > 0) {
|
if (status > 0) {
|
||||||
DEBUG(" = %d\n",status);
|
DEBUG(" = %d\n",status);
|
||||||
|
@ -858,6 +863,9 @@ retry:
|
||||||
return status;
|
return status;
|
||||||
} else if (buf[1] == STATUS_CMD_FAILED) {
|
} else if (buf[1] == STATUS_CMD_FAILED) {
|
||||||
pmsg_error("command failed\n");
|
pmsg_error("command failed\n");
|
||||||
|
} else if (buf[1] == STATUS_CLOCK_ERROR) {
|
||||||
|
pmsg_error("target clock speed error\n");
|
||||||
|
return -2;
|
||||||
} else if (buf[1] == STATUS_CMD_UNKNOWN) {
|
} else if (buf[1] == STATUS_CMD_UNKNOWN) {
|
||||||
pmsg_error("unknown command\n");
|
pmsg_error("unknown command\n");
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue