Revert to honoring the return code from pgm->pgm_enable() within the
stk500 initialization routine. However, allow one to use the -F option to ignore a bad return code from that function. I think this still allows what Joerg intended, i.e., providing a way to still get into terminal mode so that one can recover from setting bad STK500 values which may keep the chip from entering programming mode. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@359 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
parent
6acb859507
commit
ede8a48d52
|
@ -1258,9 +1258,15 @@ int main(int argc, char * argv [])
|
||||||
rc = pgm->initialize(pgm, p);
|
rc = pgm->initialize(pgm, p);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
fprintf(stderr, "%s: initialization failed, rc=%d\n", progname, rc);
|
fprintf(stderr, "%s: initialization failed, rc=%d\n", progname, rc);
|
||||||
|
if (!ovsigck) {
|
||||||
|
fprintf(stderr, "%sDouble check connections and try again, "
|
||||||
|
"or use -F to override\n"
|
||||||
|
"%sthis check.\n\n",
|
||||||
|
progbuf, progbuf);
|
||||||
exitrc = 1;
|
exitrc = 1;
|
||||||
goto main_exit;
|
goto main_exit;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* indicate ready */
|
/* indicate ready */
|
||||||
pgm->rdy_led(pgm, ON);
|
pgm->rdy_led(pgm, ON);
|
||||||
|
|
|
@ -540,19 +540,7 @@ static int stk500_initialize(PROGRAMMER * pgm, AVRPART * p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pgm->program_enable(pgm, p);
|
return pgm->program_enable(pgm, p);
|
||||||
|
|
||||||
/*
|
|
||||||
* Return success even if program_enable() failed. Otherwise, if
|
|
||||||
* someone has turned off the STK500 oscillator (or set it to an
|
|
||||||
* unreasonably slow master clock), they were hosed at this point,
|
|
||||||
* since to reset fosc to a reasonable value, they at least need to
|
|
||||||
* get avrdude to start up in terminal mode. The luser has already
|
|
||||||
* seen a "failed to enter programming mode" message in that case,
|
|
||||||
* and he also needs to specify -F at program startup since the
|
|
||||||
* device ID bytes cannot be read in this situation.
|
|
||||||
*/
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue