mirror of
https://github.com/mariusgreuel/avrdude.git
synced 2025-12-16 10:41:07 +00:00
Submitted by "Malte" and John McCorquodale:
patch #7876 JTAGICE mkII fails to connect to attiny if debugwire is enabled AND target has a very slow clock * jtagmkII.c (jtagmkII_getsync): When leaving debugWIRE mode temporarily, immediately retry with ISP, rather than leaving. * stk500v2 (stk500v2_program_enable): Implemented similar logic for the JTAGICE3. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1183 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
14
jtagmkII.c
14
jtagmkII.c
@@ -831,6 +831,8 @@ int jtagmkII_getsync(PROGRAMMER * pgm, int mode) {
|
||||
|
||||
if(mode < 0) return 0; // for AVR32
|
||||
|
||||
tries = 0;
|
||||
retry:
|
||||
/* Turn the ICE into JTAG or ISP mode as requested. */
|
||||
buf[0] = mode;
|
||||
if (jtagmkII_setparm(pgm, PAR_EMULATOR_MODE, buf) < 0) {
|
||||
@@ -855,11 +857,17 @@ int jtagmkII_getsync(PROGRAMMER * pgm, int mode) {
|
||||
* program.
|
||||
*/
|
||||
(void)jtagmkII_reset(pgm, 0x04);
|
||||
if (tries++ > 3) {
|
||||
fprintf(stderr,
|
||||
"%s: Failed to return from debugWIRE to ISP.\n",
|
||||
progname);
|
||||
return -1;
|
||||
}
|
||||
fprintf(stderr,
|
||||
"%s: Target prepared for ISP, signed off.\n"
|
||||
"%s: Please restart %s without power-cycling the target.\n",
|
||||
progname, progname, progname);
|
||||
return JTAGII_GETSYNC_FAIL_GRACEFUL;
|
||||
"%s: Now retrying without power-cycling the target.\n",
|
||||
progname, progname);
|
||||
goto retry;
|
||||
}
|
||||
} else {
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user