bug #37942: Latest SVN can't program in dragon_jtag mode
* jtagmkII.c (jtagmkII_initialize): For Xmega devices, and firmware >= 7.x, don't trigger a RESET, in order to work around a firmware bug that appears to be present in at least firmware 7.24 for the Dragon. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1125 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
parent
05fd0beac1
commit
9dc65f6008
|
@ -1,3 +1,11 @@
|
||||||
|
2012-12-18 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
|
||||||
|
|
||||||
|
bug #37942: Latest SVN can't program in dragon_jtag mode
|
||||||
|
* jtagmkII.c (jtagmkII_initialize): For Xmega devices, and
|
||||||
|
firmware >= 7.x, don't trigger a RESET, in order to work around a
|
||||||
|
firmware bug that appears to be present in at least firmware 7.24
|
||||||
|
for the Dragon.
|
||||||
|
|
||||||
2012-12-04 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
|
2012-12-04 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
|
||||||
|
|
||||||
* config_gram.y: Implement the "ocdrev" keyword
|
* config_gram.y: Implement the "ocdrev" keyword
|
||||||
|
|
1
NEWS
1
NEWS
|
@ -68,6 +68,7 @@ Current:
|
||||||
- bug #30756: When setting SUT to 64ms on XMEGA, avrdude doesn't
|
- bug #30756: When setting SUT to 64ms on XMEGA, avrdude doesn't
|
||||||
read device signature
|
read device signature
|
||||||
- bug #37265: wrong page sizes for XMega64xx in avrdude.conf
|
- bug #37265: wrong page sizes for XMega64xx in avrdude.conf
|
||||||
|
- bug #37942: Latest SVN can't program in dragon_jtag mode
|
||||||
|
|
||||||
* Keep track of input file contents
|
* Keep track of input file contents
|
||||||
|
|
||||||
|
|
18
jtagmkII.c
18
jtagmkII.c
|
@ -1435,8 +1435,22 @@ static int jtagmkII_initialize(PROGRAMMER * pgm, AVRPART * p)
|
||||||
}
|
}
|
||||||
PDATA(pgm)->flash_pageaddr = PDATA(pgm)->eeprom_pageaddr = (unsigned long)-1L;
|
PDATA(pgm)->flash_pageaddr = PDATA(pgm)->eeprom_pageaddr = (unsigned long)-1L;
|
||||||
|
|
||||||
if (jtagmkII_reset(pgm, 0x01) < 0)
|
if (PDATA(pgm)->fwver >= 0x700 && (p->flags & AVRPART_HAS_PDI)) {
|
||||||
return -1;
|
/*
|
||||||
|
* Work around for
|
||||||
|
* https://savannah.nongnu.org/bugs/index.php?37942
|
||||||
|
*
|
||||||
|
* Firmware version 7.24 (at least) on the Dragon behaves very
|
||||||
|
* strange when it gets a RESET request here. All subsequent
|
||||||
|
* responses are completely off, so the emulator becomes unusable.
|
||||||
|
* This appears to be a firmware bug (earlier versions, at least
|
||||||
|
* 7.14, didn't experience this), but by omitting the RESET for
|
||||||
|
* Xmega devices, we can work around it.
|
||||||
|
*/
|
||||||
|
} else {
|
||||||
|
if (jtagmkII_reset(pgm, 0x01) < 0)
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if ((pgm->flag & PGM_FL_IS_JTAG) && !(p->flags & AVRPART_HAS_PDI)) {
|
if ((pgm->flag & PGM_FL_IS_JTAG) && !(p->flags & AVRPART_HAS_PDI)) {
|
||||||
strcpy(hfuse.desc, "hfuse");
|
strcpy(hfuse.desc, "hfuse");
|
||||||
|
|
Loading…
Reference in New Issue