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
34a01cf0ac
commit
93d4697961
|
@ -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>
|
||||
|
||||
* 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
|
||||
read device signature
|
||||
- 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
|
||||
|
||||
|
|
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;
|
||||
|
||||
if (jtagmkII_reset(pgm, 0x01) < 0)
|
||||
return -1;
|
||||
if (PDATA(pgm)->fwver >= 0x700 && (p->flags & AVRPART_HAS_PDI)) {
|
||||
/*
|
||||
* 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)) {
|
||||
strcpy(hfuse.desc, "hfuse");
|
||||
|
|
Loading…
Reference in New Issue