bug #29019: pagel/bs2 warning when uploading using stk500 to xmega

* stk500.c (stk500_initialize): Insert dummy values for PAGEL and
BS2 if they are not present in the config file, in order to be able
to proceed with the stk500_set_extended_parms() anyway.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1082 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Joerg Wunsch 2012-04-19 13:59:09 +00:00
parent f4db29d983
commit 269bb7e2a4
3 changed files with 38 additions and 27 deletions

View File

@ -1,3 +1,10 @@
2012-04-19 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
bug #29019: pagel/bs2 warning when uploading using stk500 to xmega
* stk500.c (stk500_initialize): Insert dummy values for PAGEL and
BS2 if they are not present in the config file, in order to be able
to proceed with the stk500_set_extended_parms() anyway.
2012-04-19 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
* stk500v2_private.h (struct pdata): add boot_start

1
NEWS
View File

@ -58,6 +58,7 @@ Current:
- bug #30451: Accessing some Xmega memory sections gives not
supported error
- bug #28744: Can't load bootloader to xmega128a1
- bug #29019: pagel/bs2 warning when uploading using stk500 to xmega
* Keep track of input file contents

View File

@ -559,37 +559,40 @@ static int stk500_initialize(PROGRAMMER * pgm, AVRPART * p)
if (n_extparms) {
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);
if (verbose > 1)
fprintf(stderr,
"%s: PAGEL and BS2 signals not defined in the configuration "
"file for part %s, using dummy values\n",
progname, p->desc);
buf[2] = 0xD7; /* they look somehow possible, */
buf[3] = 0xA0; /* don't they? ;) */
}
else {
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;
}
buf[0] = n_extparms+1;
if (n_extparms == 4) {
if (p->reset_disposition == RESET_DEDICATED)
buf[4] = 0;
else
buf[4] = 1;
}
/*
* m is currently pointing to eeprom memory if the part has it
*/
if (m)
buf[1] = m->page_size;
else
buf[1] = 0;
rc = stk500_set_extended_parms(pgm, n_extparms+1, buf);
if (rc) {
fprintf(stderr, "%s: stk500_initialize(): failed\n", progname);
exit(1);
}
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);
}
}