diff --git a/ChangeLog b/ChangeLog index 63587b5d..75e63d8d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-08-30 Joerg Wunsch + + bug #34027: avrdude AT90S1200 Problem (part 2 - stk500v2 and relatives) + * stk500v2.c (stk500v2_initialize): For the AT90S1200, release + /RESET for a moment before reinitializing, as this is required by + its programming protocol. + 2011-08-30 Joerg Wunsch * configure.ac: In AC_CHECK_LIB for libftdi, check for diff --git a/stk500v2.c b/stk500v2.c index 276d6f58..2fd5e944 100644 --- a/stk500v2.c +++ b/stk500v2.c @@ -1099,6 +1099,14 @@ static int stk500v2_initialize(PROGRAMMER * pgm, AVRPART * p) stk600_setup_isp(pgm); } + if (p->flags & AVRPART_IS_AT90S1200) { + /* + * AT90S1200 needs a positive reset pulse after a chip erase. + */ + pgm->disable(pgm); + usleep(10000); + } + return pgm->program_enable(pgm, p); }