From e7af3cdf7d7f465ec11f12841978be60ad442b03 Mon Sep 17 00:00:00 2001 From: "Brian S. Dean" Date: Tue, 4 Mar 2003 14:33:19 +0000 Subject: [PATCH] Don't try to set extended device programming parameters if they haven't been specified in the config file for the part. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@250 81a1dc3b-b13d-400b-aceb-764788c761c2 --- avrdude/stk500.c | 51 ++++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/avrdude/stk500.c b/avrdude/stk500.c index 3c9135cc..a44b46cf 100644 --- a/avrdude/stk500.c +++ b/avrdude/stk500.c @@ -633,29 +633,38 @@ static int stk500_initialize(PROGRAMMER * pgm, AVRPART * p) } if (n_extparms) { - buf[0] = n_extparms+1; - /* - * m is currently pointing to eeprom memory if the part has it - */ - if (m) - buf[1] = m->page_size; - else - buf[1] = 0; - - buf[2] = p->pagel; - buf[3] = p->bs2; - - if (n_extparms == 4) { - if (p->reset_disposition == RESET_DEDICATED) - buf[4] = 0; - else - buf[4] = 1; + if ((p->pagel == 0) || (p->bs2 == 0)) { + fprintf(stderr, + "%s: please define PAGEL and BS2 signals in the configuration " + "file for part %s\n", + progname, p->desc); } + else { + buf[0] = n_extparms+1; - rc = stk500_set_extended_parms(pgm, n_extparms+1, buf); - if (rc) { - fprintf(stderr, "%s: stk500_initialize(): failed\n", progname); - exit(1); + /* + * m is currently pointing to eeprom memory if the part has it + */ + if (m) + buf[1] = m->page_size; + else + buf[1] = 0; + + buf[2] = p->pagel; + buf[3] = p->bs2; + + if (n_extparms == 4) { + if (p->reset_disposition == RESET_DEDICATED) + buf[4] = 0; + else + buf[4] = 1; + } + + rc = stk500_set_extended_parms(pgm, n_extparms+1, buf); + if (rc) { + fprintf(stderr, "%s: stk500_initialize(): failed\n", progname); + exit(1); + } } }