diff --git a/ChangeLog b/ChangeLog index 45effefa..9530eab8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,354 +1,5 @@ -2010-12-17 Joerg Wunsch +2011-03-04 Eric B. Weddington - * avrdude.conf.in (ATmega128RFA1): Bump two timing values in order to - improve ISP programming stability, in particular with the STK600. - -2010-12-14 Joerg Wunsch - - * stk500v2.c (stk500v2_command): Detect warning status codes. - -2010-10-22 Nils Springob - - * serial.h: serial_open() calls will now return -1 on error (no call to exit()) - * buspirate.c: (Dito.) - * jtagmkII.c: (Dito.) - * butterfly.c: (Dito.) - * jtagmkI.c: (Dito.) - * arduino.c: (Dito.) - * avr910.c: (Dito.) - * stk500.c: (Dito.) - * ser_avrdoper.c: (Dito.) - * stk500v2.c: (Dito.) - * ser_posix.c: (Dito.) - * usb_libusb.c: (Dito.) - -2010-07-27 Joerg Wunsch - - bug #30566: MinGW + Ubuntu 9.04 - * stk500v2.c (stk500v2_open): use same condition to refer to the AVR - Doper support as used in the definition in ser_avrdoper.c. - (Thanks to Christian Starkjohann for the analysis of the problem.) - -2010-07-19 Michal Ludvig - - * buspirate.c: Added compatibility with BusPirate "NewUI" firmware 5.x - (contributed by Kari Knuuttila) - -2010-07-12 Nils Springob - - * avrdude.conf.in (atmega88p): New device. - -2010-06-03 Joerg Wunsch - - bug #29913: 246 Byte Bug - AVRdude crashes - doc/avrdude.texi (Troubleshooting): Mention the libusb 0.1 API - wrapper issue that is present in some Linux versions. - -2010-03-19 Joerg Wunsch - - bug #29263: Can't build avrdude on windows using latest cygwin 1.7.1 - * doc/avrdude.texi: Remove the recommendation for building - Win32 binaries under Cygwin; mention MinGW as an alternative - environment. - -2010-03-08 Michal Ludvig - - * ser_posix.c(ser_set_dtr_rts): Fixed DTR on/off to make - Arduino auto-reset work. (bug #29108, patch #7100) - -2010-03-05 Joerg Wunsch - - * buspirate.c: Replace printf() by fprintf(stderr) - * safemode.c: (Dito.) - * usbtiny.c: (Dito.) - -2010-01-22 Joerg Wunsch - - Cleanup Cygwin builds. - * windows/Makefile.am (loaddrv_LDFLAGS): remove, the -mno-cygwin - flag is supposed to be set in CFLAGS by ./configure - * configure.ac: add a check for the presence of usleep(), add a - check whether the linker accepts -static - * avrdude.h: protect prototype for usleep by !defined(HAVE_USLEEP) - * ppwin.c (usleep): protect by !defined(HAVE_USLEEP) - * main.c: silence "array subscript of type char" compiler warnings - by casting all arguments to tolower()/toupper() and isspace()/ - isdigit()/ispunct() to "int" - * butterfly.c: (Dito.) - * avr910.c: (Dito.) - -2010-01-19 Joerg Wunsch - - * configure.ac: Bump for post-5.10. - -2010-01-19 Joerg Wunsch - - * configure.ac: Released version 5.10. - -2010-01-19 Joerg Wunsch - - bug #28677: Cygwin's GCC no longer supports -mno-cygwin option - * configure.ac: For Win32 environments, add a check whether the - compiler understands the -mno-cygwin option. If not, don't use - it but suggest using a different compiler. - -2010-01-18 David Hoerl - - bug #28660: Problem with loading intel hex rom files that exceed - 0x10000 bytes - * fileio.c: Fix two byte shifts. - -2010-01-15 Joerg Wunsch - - Submitted by Michael biebl: - * configure.ac: Fix FreeBSD default serial port name. - * doc/avrdude.texi: (Dito.) - -2010-01-15 Joerg Wunsch - - * jtagmkII.c: If entering JTAG mode fails with a bad JTAG ID - message, retry with external reset applied (in case the target - is in sleep mode or has asserted the JTD bit). - -2010-01-15 Joerg Wunsch - - Submitted by Aurelien Jarno: - * configure.ac: Fix build for GNU/kFreeBSD. - * ppi.c: (Dito.) - * par.c: (Dito.) - -2010-01-15 Joerg Wunsch - - * configure.ac: Bump version for post-5.8. - -2010-01-15 Joerg Wunsch - - * configure.ac: Bump version for release 5.8. - -2010-01-15 Joerg Wunsch - - Submitted by Soren Jorvang: - bug #28611: -i delay not being applied to all serial port - bit banging state transitions - * serbb_win32.c: Apply ispdelay everywhere. - * serbb_posix.c: (Dito.) - -2010-01-15 Joerg Wunsch - - * stk500v2_private.h: Implement TPI mode for AVRISPmkII/STK600 - * config_gram.y: (Dito.) - * avrpart.h: (Dito.) - * stk500v2.c: (Dito.) - * main.c: (Dito.) - * lexer.l: (Dito.) - * avrdude.conf.in: Add ATtiny4/5/9/10 - * avrdude.1: Document TPI and new device support. - * doc/avrdude.texi: (Dito.) - -2010-01-14 Joerg Wunsch - - Submitted by clint fisher: - patch #7038: Adding Atmega32U4 Device to avrdude.conf.in - * avrdude.conf.in (atmega32u4): New device. - * avrdude.1: Document the new device support. - * doc/avrdude.texi: (Dito.) - -2010-01-14 Joerg Wunsch - - Submitted by Thomas Pircher: - patch #6927: Documentation patches - * doc/avrdude.texi: Fix various typos, and remove the last - remnants of obsoleted options -i/-o/-m/-f. - * avrdude.1: Merge typo fixes from avrdude.texi where - applicable. - -2010-01-14 Joerg Wunsch - - * avrdude.1: Update documentation to match the reality (device - support, memory areas). - * doc/avrdude.texi: Update documentation to match the - reality (device support, programmer support, memory areas). - Merge buspirate-specific comments from avrdude.1. - * jtagmkII.c: Add some firmware feature checks. - -2010-01-13 Joerg Wunsch - - * jtagmkII.c: Implement PDI mode support for the JTAG ICE mkII - and the AVR Dragon. - * jtagmkII.h: (Dito.) - * config_gram.y: (Dito.) - * jtagmkII_private.h: (Dito.) - * avrdude.conf.in: (Dito.) - * lexer.l: (Dito.) - -2010-01-13 Joerg Wunsch - - * stk500v2.c: Update STK600 routing and socket card data from XML - file. - -2010-01-13 Joerg Wunsch - - * stk500v2.c: Cleanup the open/close handling to avoid accessing - unallocated memory (in the atexit handler) in case of bailing out. - * main.c: (Ditto.) - -2010-01-13 Joerg Wunsch - - * jtagmkII.c: Stylistic changes: move #defines out into - jtagmkII_private.h, drop all #if 0 blocks, fold overly long lines, - move the *_initpgm() functions to the end of the file; while being - here, remove all trailing whitespace. - * jtagmkII_private.h: move AVR32 #defines here. - -2010-01-12 Joerg Wunsch - - * bootstrap: autoconf 2.62 works well. - -2010-01-12 Joerg Wunsch - - Various fixes for Xmega devices. - * avrdude.conf.in: Correctly declare EEPROM page sizes for - all Xmega devices (0x20 instead of 0x100). - * avr.c: If a memory region has a page size declared, try - using the paged IO routines regardless of the target memory - name. Xmega EEPROM requires to be written in paged mode. - Correctly use a long (rather than unsigned long) variable to - evaluate the success status of the paged mode write attempt. - * stk500v2.c: Don't apply TIF space offsets twice (bug #27995: - AVRDUDE 5.8svn fails to program and read XMEGA); use - stk500v2_loadaddr() prior to paged mode (EEPROM and flash) writes, - otherwise programming of flash areas will fail; while being there, - check the return value of stk500v2_loadaddr() everywhere; use the - correct write/erase mode bits (same as AVR Studio does). - -2010-01-12 Michal Ludvig - - * buspirate.c: Initialise firmware version to v0.0 - prior to parsing the buspirate banner. - -2010-01-11 Joerg Wunsch - - Clean-up the Xmega erase functions. - * jtagmkII_private.h: Add CMND_XMEGA_ERASE as well as - the various XMEGA_ERASE_* definitions (from updated - appnote AVR067) - * jtagmkII.c (jtagmkII_chip_erase): Correctly implement Xmega chip - erase based on CMND_XMEGA_ERASE. After erasing an Xmega part, do - *not* reinitialize the world, as a subsequent programming - operation will fail (for unknown reasons). Actually, this was - really only required for ancient AVRs, but doesn't hurt on mega - and tiny devices. - * jtagmkII.c (jtagmkII_pre_write): Remove, this turned out - to be just a chip erase. - * jtagmkII.c (jtagmkII_program_disable): Don't try reading - "hfuse" for Xmega parts; they don't have it. - * main.c (main): Re-enable auto-erase. It's been done - before (as "jtagmkII_pre_write") in jtagmkII_paged_write() - anyway. Xmega boot and application flash areas should be - handled separately in the future, so auto_erase can only - affect the area just being programmed. - -2010-01-11 Joerg Wunsch - - * main.c (main): disable safemode for Xmega parts. - -2010-01-12 Michal Ludvig - - * buspirate.c: If the BusPirate doesn't respond - to a standard a reset command assume it was in binmode - and attempt to exit to text mode first. - -2010-01-08 Joerg Wunsch - - * bitbang.c: Fix Win32 build error: move freq up to the file - level. - * buspirate.c: Fix Win32 build warning: include to - to get a declaration for alloca(). - -2010-01-08 Thomas Fischl - - bug #28520: Programming with USBasp with low clock speed fails - * usbasp.c: Change blocksize depending on sck frequency to - avoid usb transmition timeouts. - -2010-01-08 Joerg Wunsch - - bug #27505: serbb_posix does not cope with inverted pins - * serbb_posix (serbb_highpulsepin): apply PIN_MASK when - checking pin numbers. - * serbb_win32 (serbb_highpulsepin): (Dito.) - -2010-01-08 Joerg Wunsch - - bug #28516: Linux/Dragon: Error message on exit - * stk500v2.c: Fix the "bad response to GO command: - RSP_ILLEGAL_EMULATOR_MODE" message. jtagmkII_close() - has been called with the wrong pgm->cookie. Wrap it - inside stk500v2_jtagmkII_close(), adjusting the cookie - data appropriately. - -2010-01-08 Joerg Wunsch - - Submitted by Doug: - patch #7010: Win32 enhanced bitbang_delay - * bitbang.c (bitbang_calibrate_delay, bitbang_delay): On Win32, - use the high-resolution performance counter rather than the - uneducated delay loop guess if it is available on the target - hardware. - -2010-01-08 Joerg Wunsch - - Submitted by Gerard: - patch #6828: Using arbitrary BAUD rates - * ser_posix.c (serial_baud_lookup): Allow non-standard baud - rates. - * ser_win32.c (serial_baud_lookup): (Dito.) - -2010-01-07 Joerg Wunsch - - Submitted by Eric Trein: - bug #27596: AT90s2333 is not correctly supported in avrdude.conf - * avrdude.conf.in (at90s2333): add various STK500v2 parameters. - -2010-01-07 Joerg Wunsch - - Submitted by Gyorgy Szekely: - bug #28458: Buffer line is incorrectly released for PP programmers - * par.c (par_close): use par_setmany() rather than par_setpin() - for PPI_AVR_BUFF. - -2010-01-07 Joerg Wunsch - - Submitted by Lukasz Goralczyk: - bug #27507: SIGSEGV when using avrdragon (avrdude 5.8) - * stk500v2.c (stk500v2_dragon_isp_initpgm): Use - stk500v2_jtagmkII_setup/stk500v2_jtagmkII_rather than their - jtagII counterparts, to get the private data properly - initialized. - -2010-01-07 Joerg Wunsch - - * buspirate.c: Cosmetics: remove UTF-8 dashes, adjust for 8-column - hard tabs. - -2010-01-07 Joerg Wunsch - - * buspirate.c: add $ Id $ line. - * buspirate.h: add $ Id $ line. - -2010-01-07 Joerg Wunsch - - Fix a few warnings that came up recently (some of them only triggered - by recent GCC versions). - * config_gram.y (parse_cmdbits): "brkt possibly used uninitialized" - (GCC errs here) - * jtagmkII.c (jtagmkII_reset32): "status possibly used uninitialized" - (I think GCC errs, too) - * buspirate.c: "pointers differ in signedness" (mismatch between - string processing and the use of "unsigned char" throughought the - AVRDUDE API) - -2010-01-01 Joerg Wunsch - - * jtagmkII.c (jtagmkII_smc_init32): replace sleep() by usleep() for - win32 compatibility. + Thanks to Vitaly Chernookiy for the patch. + * avrdude.conf.in: Add support for atmega324pa. + * ChangeLog-2010: New file, rotate ChangeLog for new year. diff --git a/ChangeLog-2010 b/ChangeLog-2010 new file mode 100755 index 00000000..45effefa --- /dev/null +++ b/ChangeLog-2010 @@ -0,0 +1,354 @@ +2010-12-17 Joerg Wunsch + + * avrdude.conf.in (ATmega128RFA1): Bump two timing values in order to + improve ISP programming stability, in particular with the STK600. + +2010-12-14 Joerg Wunsch + + * stk500v2.c (stk500v2_command): Detect warning status codes. + +2010-10-22 Nils Springob + + * serial.h: serial_open() calls will now return -1 on error (no call to exit()) + * buspirate.c: (Dito.) + * jtagmkII.c: (Dito.) + * butterfly.c: (Dito.) + * jtagmkI.c: (Dito.) + * arduino.c: (Dito.) + * avr910.c: (Dito.) + * stk500.c: (Dito.) + * ser_avrdoper.c: (Dito.) + * stk500v2.c: (Dito.) + * ser_posix.c: (Dito.) + * usb_libusb.c: (Dito.) + +2010-07-27 Joerg Wunsch + + bug #30566: MinGW + Ubuntu 9.04 + * stk500v2.c (stk500v2_open): use same condition to refer to the AVR + Doper support as used in the definition in ser_avrdoper.c. + (Thanks to Christian Starkjohann for the analysis of the problem.) + +2010-07-19 Michal Ludvig + + * buspirate.c: Added compatibility with BusPirate "NewUI" firmware 5.x + (contributed by Kari Knuuttila) + +2010-07-12 Nils Springob + + * avrdude.conf.in (atmega88p): New device. + +2010-06-03 Joerg Wunsch + + bug #29913: 246 Byte Bug - AVRdude crashes + doc/avrdude.texi (Troubleshooting): Mention the libusb 0.1 API + wrapper issue that is present in some Linux versions. + +2010-03-19 Joerg Wunsch + + bug #29263: Can't build avrdude on windows using latest cygwin 1.7.1 + * doc/avrdude.texi: Remove the recommendation for building + Win32 binaries under Cygwin; mention MinGW as an alternative + environment. + +2010-03-08 Michal Ludvig + + * ser_posix.c(ser_set_dtr_rts): Fixed DTR on/off to make + Arduino auto-reset work. (bug #29108, patch #7100) + +2010-03-05 Joerg Wunsch + + * buspirate.c: Replace printf() by fprintf(stderr) + * safemode.c: (Dito.) + * usbtiny.c: (Dito.) + +2010-01-22 Joerg Wunsch + + Cleanup Cygwin builds. + * windows/Makefile.am (loaddrv_LDFLAGS): remove, the -mno-cygwin + flag is supposed to be set in CFLAGS by ./configure + * configure.ac: add a check for the presence of usleep(), add a + check whether the linker accepts -static + * avrdude.h: protect prototype for usleep by !defined(HAVE_USLEEP) + * ppwin.c (usleep): protect by !defined(HAVE_USLEEP) + * main.c: silence "array subscript of type char" compiler warnings + by casting all arguments to tolower()/toupper() and isspace()/ + isdigit()/ispunct() to "int" + * butterfly.c: (Dito.) + * avr910.c: (Dito.) + +2010-01-19 Joerg Wunsch + + * configure.ac: Bump for post-5.10. + +2010-01-19 Joerg Wunsch + + * configure.ac: Released version 5.10. + +2010-01-19 Joerg Wunsch + + bug #28677: Cygwin's GCC no longer supports -mno-cygwin option + * configure.ac: For Win32 environments, add a check whether the + compiler understands the -mno-cygwin option. If not, don't use + it but suggest using a different compiler. + +2010-01-18 David Hoerl + + bug #28660: Problem with loading intel hex rom files that exceed + 0x10000 bytes + * fileio.c: Fix two byte shifts. + +2010-01-15 Joerg Wunsch + + Submitted by Michael biebl: + * configure.ac: Fix FreeBSD default serial port name. + * doc/avrdude.texi: (Dito.) + +2010-01-15 Joerg Wunsch + + * jtagmkII.c: If entering JTAG mode fails with a bad JTAG ID + message, retry with external reset applied (in case the target + is in sleep mode or has asserted the JTD bit). + +2010-01-15 Joerg Wunsch + + Submitted by Aurelien Jarno: + * configure.ac: Fix build for GNU/kFreeBSD. + * ppi.c: (Dito.) + * par.c: (Dito.) + +2010-01-15 Joerg Wunsch + + * configure.ac: Bump version for post-5.8. + +2010-01-15 Joerg Wunsch + + * configure.ac: Bump version for release 5.8. + +2010-01-15 Joerg Wunsch + + Submitted by Soren Jorvang: + bug #28611: -i delay not being applied to all serial port + bit banging state transitions + * serbb_win32.c: Apply ispdelay everywhere. + * serbb_posix.c: (Dito.) + +2010-01-15 Joerg Wunsch + + * stk500v2_private.h: Implement TPI mode for AVRISPmkII/STK600 + * config_gram.y: (Dito.) + * avrpart.h: (Dito.) + * stk500v2.c: (Dito.) + * main.c: (Dito.) + * lexer.l: (Dito.) + * avrdude.conf.in: Add ATtiny4/5/9/10 + * avrdude.1: Document TPI and new device support. + * doc/avrdude.texi: (Dito.) + +2010-01-14 Joerg Wunsch + + Submitted by clint fisher: + patch #7038: Adding Atmega32U4 Device to avrdude.conf.in + * avrdude.conf.in (atmega32u4): New device. + * avrdude.1: Document the new device support. + * doc/avrdude.texi: (Dito.) + +2010-01-14 Joerg Wunsch + + Submitted by Thomas Pircher: + patch #6927: Documentation patches + * doc/avrdude.texi: Fix various typos, and remove the last + remnants of obsoleted options -i/-o/-m/-f. + * avrdude.1: Merge typo fixes from avrdude.texi where + applicable. + +2010-01-14 Joerg Wunsch + + * avrdude.1: Update documentation to match the reality (device + support, memory areas). + * doc/avrdude.texi: Update documentation to match the + reality (device support, programmer support, memory areas). + Merge buspirate-specific comments from avrdude.1. + * jtagmkII.c: Add some firmware feature checks. + +2010-01-13 Joerg Wunsch + + * jtagmkII.c: Implement PDI mode support for the JTAG ICE mkII + and the AVR Dragon. + * jtagmkII.h: (Dito.) + * config_gram.y: (Dito.) + * jtagmkII_private.h: (Dito.) + * avrdude.conf.in: (Dito.) + * lexer.l: (Dito.) + +2010-01-13 Joerg Wunsch + + * stk500v2.c: Update STK600 routing and socket card data from XML + file. + +2010-01-13 Joerg Wunsch + + * stk500v2.c: Cleanup the open/close handling to avoid accessing + unallocated memory (in the atexit handler) in case of bailing out. + * main.c: (Ditto.) + +2010-01-13 Joerg Wunsch + + * jtagmkII.c: Stylistic changes: move #defines out into + jtagmkII_private.h, drop all #if 0 blocks, fold overly long lines, + move the *_initpgm() functions to the end of the file; while being + here, remove all trailing whitespace. + * jtagmkII_private.h: move AVR32 #defines here. + +2010-01-12 Joerg Wunsch + + * bootstrap: autoconf 2.62 works well. + +2010-01-12 Joerg Wunsch + + Various fixes for Xmega devices. + * avrdude.conf.in: Correctly declare EEPROM page sizes for + all Xmega devices (0x20 instead of 0x100). + * avr.c: If a memory region has a page size declared, try + using the paged IO routines regardless of the target memory + name. Xmega EEPROM requires to be written in paged mode. + Correctly use a long (rather than unsigned long) variable to + evaluate the success status of the paged mode write attempt. + * stk500v2.c: Don't apply TIF space offsets twice (bug #27995: + AVRDUDE 5.8svn fails to program and read XMEGA); use + stk500v2_loadaddr() prior to paged mode (EEPROM and flash) writes, + otherwise programming of flash areas will fail; while being there, + check the return value of stk500v2_loadaddr() everywhere; use the + correct write/erase mode bits (same as AVR Studio does). + +2010-01-12 Michal Ludvig + + * buspirate.c: Initialise firmware version to v0.0 + prior to parsing the buspirate banner. + +2010-01-11 Joerg Wunsch + + Clean-up the Xmega erase functions. + * jtagmkII_private.h: Add CMND_XMEGA_ERASE as well as + the various XMEGA_ERASE_* definitions (from updated + appnote AVR067) + * jtagmkII.c (jtagmkII_chip_erase): Correctly implement Xmega chip + erase based on CMND_XMEGA_ERASE. After erasing an Xmega part, do + *not* reinitialize the world, as a subsequent programming + operation will fail (for unknown reasons). Actually, this was + really only required for ancient AVRs, but doesn't hurt on mega + and tiny devices. + * jtagmkII.c (jtagmkII_pre_write): Remove, this turned out + to be just a chip erase. + * jtagmkII.c (jtagmkII_program_disable): Don't try reading + "hfuse" for Xmega parts; they don't have it. + * main.c (main): Re-enable auto-erase. It's been done + before (as "jtagmkII_pre_write") in jtagmkII_paged_write() + anyway. Xmega boot and application flash areas should be + handled separately in the future, so auto_erase can only + affect the area just being programmed. + +2010-01-11 Joerg Wunsch + + * main.c (main): disable safemode for Xmega parts. + +2010-01-12 Michal Ludvig + + * buspirate.c: If the BusPirate doesn't respond + to a standard a reset command assume it was in binmode + and attempt to exit to text mode first. + +2010-01-08 Joerg Wunsch + + * bitbang.c: Fix Win32 build error: move freq up to the file + level. + * buspirate.c: Fix Win32 build warning: include to + to get a declaration for alloca(). + +2010-01-08 Thomas Fischl + + bug #28520: Programming with USBasp with low clock speed fails + * usbasp.c: Change blocksize depending on sck frequency to + avoid usb transmition timeouts. + +2010-01-08 Joerg Wunsch + + bug #27505: serbb_posix does not cope with inverted pins + * serbb_posix (serbb_highpulsepin): apply PIN_MASK when + checking pin numbers. + * serbb_win32 (serbb_highpulsepin): (Dito.) + +2010-01-08 Joerg Wunsch + + bug #28516: Linux/Dragon: Error message on exit + * stk500v2.c: Fix the "bad response to GO command: + RSP_ILLEGAL_EMULATOR_MODE" message. jtagmkII_close() + has been called with the wrong pgm->cookie. Wrap it + inside stk500v2_jtagmkII_close(), adjusting the cookie + data appropriately. + +2010-01-08 Joerg Wunsch + + Submitted by Doug: + patch #7010: Win32 enhanced bitbang_delay + * bitbang.c (bitbang_calibrate_delay, bitbang_delay): On Win32, + use the high-resolution performance counter rather than the + uneducated delay loop guess if it is available on the target + hardware. + +2010-01-08 Joerg Wunsch + + Submitted by Gerard: + patch #6828: Using arbitrary BAUD rates + * ser_posix.c (serial_baud_lookup): Allow non-standard baud + rates. + * ser_win32.c (serial_baud_lookup): (Dito.) + +2010-01-07 Joerg Wunsch + + Submitted by Eric Trein: + bug #27596: AT90s2333 is not correctly supported in avrdude.conf + * avrdude.conf.in (at90s2333): add various STK500v2 parameters. + +2010-01-07 Joerg Wunsch + + Submitted by Gyorgy Szekely: + bug #28458: Buffer line is incorrectly released for PP programmers + * par.c (par_close): use par_setmany() rather than par_setpin() + for PPI_AVR_BUFF. + +2010-01-07 Joerg Wunsch + + Submitted by Lukasz Goralczyk: + bug #27507: SIGSEGV when using avrdragon (avrdude 5.8) + * stk500v2.c (stk500v2_dragon_isp_initpgm): Use + stk500v2_jtagmkII_setup/stk500v2_jtagmkII_rather than their + jtagII counterparts, to get the private data properly + initialized. + +2010-01-07 Joerg Wunsch + + * buspirate.c: Cosmetics: remove UTF-8 dashes, adjust for 8-column + hard tabs. + +2010-01-07 Joerg Wunsch + + * buspirate.c: add $ Id $ line. + * buspirate.h: add $ Id $ line. + +2010-01-07 Joerg Wunsch + + Fix a few warnings that came up recently (some of them only triggered + by recent GCC versions). + * config_gram.y (parse_cmdbits): "brkt possibly used uninitialized" + (GCC errs here) + * jtagmkII.c (jtagmkII_reset32): "status possibly used uninitialized" + (I think GCC errs, too) + * buspirate.c: "pointers differ in signedness" (mismatch between + string processing and the use of "unsigned char" throughought the + AVRDUDE API) + +2010-01-01 Joerg Wunsch + + * jtagmkII.c (jtagmkII_smc_init32): replace sleep() by usleep() for + win32 compatibility. diff --git a/avrdude.conf.in b/avrdude.conf.in index 14f3b9ee..ebd90930 100644 --- a/avrdude.conf.in +++ b/avrdude.conf.in @@ -4057,6 +4057,197 @@ part ; +#------------------------------------------------------------ +# ATmega324PA +#------------------------------------------------------------ + +# similar to ATmega324P + +part + id = "m324p"; + desc = "ATmega324PA"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x95 0x11; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + #------------------------------------------------------------ # ATmega644 #------------------------------------------------------------