From 1ba16f6ee3ae83e9b9aff69cb9c19ed6e6354a1c Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Tue, 30 Aug 2011 07:19:21 +0000 Subject: [PATCH] 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. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1004 81a1dc3b-b13d-400b-aceb-764788c761c2 --- avrdude/ChangeLog | 7 +++++++ avrdude/stk500v2.c | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/avrdude/ChangeLog b/avrdude/ChangeLog index 63587b5d..75e63d8d 100644 --- a/avrdude/ChangeLog +++ b/avrdude/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/avrdude/stk500v2.c b/avrdude/stk500v2.c index 276d6f58..2fd5e944 100644 --- a/avrdude/stk500v2.c +++ b/avrdude/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); }