Seems like a lot of news was missing here.
So here is a summary of new things since version 6.0.1:
* New devices supported:
- ATmega48PB, ATmega88PB, ATmega168PB
- ATtiny28 (HVPP-only device)
- AT90PWM216 (bug #42310: New part description for AT90PWM216)
- ATmega32M1 (patch #7694 Add support for the atmega32m1)
* New programmers supported:
- Atmel mEDBG: xplainedmini, xplainedmini_dw
- ftdi_syncbb
+ uncompatino, ttl232r (FTDI TTL232R-5V with ICSP adapter)
(patch #8529 2 more ftdi_syncbb devices)
- Atmel DFU, using FLIP protocol version 1 (AT90USB and ATmega*U* devices),
or version 2 (Xmega devices)
- Atmel-ICE (ARM/AVR), JTAG, PDI, debugWIRE, ISP modi
* Other important changes:
* Major changes compared to the previous version:
- The stk500v2 implementation now uses its own higher-level
command implementation for byte-wide access, rather than the
historic SPI_MULTI command where all the low-level ISP
implementation had to be assembled manually inside AVRDUDE. In
addition to the traditional STK500, this implementation is also
used by all the more modern Atmel tools (AVRISPmkII, JTAGICEmkII
in ISP mode, STK600 in ISP mode).
- The -B option can be suffixed with "Hz", "kHz", or "MHz", in
order to specify a bitclock frequency rather than period.
- Print part id after signature (patch #8440 )
- buspirate: Also support "cpufreq" extended parameter
in binary mode (patch #8504 )
- The "-P net:" syntax (forwarding of serial data over TCP) is now
also implemented for Win32 systems.
- Atmel EDBG protocol support added (JTAGICE3, XplainedPro, Atmel-ICE)
More than two years after the previous release (5.11.1), AVRDUDE 6.0.1
finally made it to go public.
I'd like to thank everyone who has been involved into that release,
both active developers with SVN access as well as numerous users who
contributed bugfixes, improvements and suggestions.
The primary reason for the major version number bump was a changed
syntax of the configuration file (programmer types are now strings
rather than keywords), but that version number change has certainly
also "raised the bar" about many other things that should have been
done before releasing it. Among those are:
. direct reading of ELF files (provided libelf with its header files
is around when ./configure runs)
. keep track of input file contents; when programming just a
bootloader only, nothing else but the bootloader area is touched
. config file can refer to a "parent" device; this dramatically
simplifies the config file as only those things that have been
changed compared to the parent must be specified anew
As an experiment, I'm trying to provide an "official" Win32 binary
release for the first time. It has been compiled using a MinGW32
cross-compilation environment on my FreeBSD host system. If this
turns out to be a complete failure, please tell me, so I can stop this
experiment, and leave Windows binaries to those who know more about
the matter than me. If it works, you might want to tell me
nevertheless, so I might continue that service in future.
Here are the complete release notes for 6.0 (from the NEWS file):
* Major changes compared to the previous version:
- Programmer types in configuration file are no longer keywords but
specified as string.
So you need to change 'type = XYZ;' to 'type = "XYZ";' in own
config files. (internal: The parser does not need to know all
programmer types now, new programmers will update only the table
in pgm_type.c.)
- The erase cycle counter (formerly options -y / -Y) has been
removed.
- Specifying a -U option without a memory type (short form of
option argument list) now defaults to "application" memory for
Xmega devices, and "flash" for everything else. This ensures
the Xmega bootloader is not accidentally touched.
- For programmers that support it, the default erase method is a
page erase now, rather than a chip erase (Xmega only).
- Keep track of input file contents
Memory segments are being tracked to remember whether they've
been actually read from a file. Only segments that came from a
file are being programmed into the device, or considered for
verification. This drastically improves handling speed for
sparse files (e.g. files that have a second bootloader segment),
and it ensures the device contents is actually compared for
everything mentioned in the file (even in case the file has
large 0xFF blocks).
- The -U option now accepts ELF files as input files, and extracts
the appropriate section contents that matches the requested memory
region. To enable this feature, the host system used for the
compilation must have a libelf around, including the respective
header files (i.e., package "libelf-devel" on many Linux systems).
- Programmers and parts lists
They are now sorted at output with '-c ?'/'-p ?'. (patch #7671:
Sorting programmers and parts lists for console output)
Programmers and parts lists in documentation generated from lists
mentioned above. (patch #7687: Autogenerating programmers and
parts lists for docs)
Output list of programmer types with '-c ?type', add list to
documentation
- Configuration files now accepts parent parts/programmers, parts
starting with '.' (eg. .xmega) are not included in output parts
list and can be used as abstract parents
(bug #34302: Feature request : device configuration with parent classes)
(patch #7688: Implement parent programmers feature)
- Additional config files which are read after default can be
specified on command line using '-C +filename'
(patch #7699 Read additional config files)
- "Safemode" can now be turned off by default from within a
configuration file (like ~/.avrduderc).
- The new option -l logfile allows to redirect diagnostic messages
to a logfile rather than stderr. Useful to record debugging
traces, in particular in environments which do not offer
shell-style redirection functionality for standard streams.
- When leaving debugWIRE mode, immediately retry with ISP rather
than bailing out completely.
- The USBasp programmer implementation now supports detailed traces
with -vvv, and device communication traces with -vvvv.
- The "verbose" terminal mode command allows to query or modify the
verbosity level.
* New devices supported:
- ATmega48P (patch #7629 add support for atmega48p)
- AT90PWM316 (bug #21797: AT90PWM316: New part description)
- ATxmega16D4, ATxmega32D4, ATxmega64D4, ATxmega128D4
- ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2,
ATmega1284RFR2, ATmega644RFR2
- ATtiny1634
- ATxmega128A1U, ATxmega128A3U, ATxmega128A4U, ATxmega128B1,
ATxmega128B3, ATxmega128C3, ATxmega128D3, ATxmega16A4U,
ATxmega16C4, ATxmega192A3U, ATxmega192C3, ATxmega192D3,
ATxmega256A3BU, ATxmega256A3U, ATxmega256C3, ATxmega256D3,
ATxmega32A4U, ATxmega32C4, ATxmega384C3, ATxmega384D3,
ATxmega64A1U, ATxmega64A3U, ATxmega64A4U, ATxmega64B1,
ATxmega64B3, ATxmega64C3, ATxmega64D3
- ATtiny43U
- ATmega406
- ATxmega8E5, ATxmega16E5, ATxmega32E5
- ATtiny20, ATtiny40
* New programmers supported:
- linuxgpio
+ any (embedded) Linux system with 4 GPIOs available can be used
as a programmer with little or no additional hardware.
- avrftdi
+ o-link (patch #7672 adding support for O-Link (FTDI based
JTAG) as programmer)
+ 4232h (patch #7715 FT4232H support)
- TPI support
+ openmoko (bug #37977 Support for Openmoko Debug Board)
- usbasp
+ nibobee (previously specified as '-c usbasp -P nibobee)
+ usbasp-clone (same as usbasp but ignores vendor and product
string, checks only vid/pid)
- ftdi_syncbb (new type for synchronous bitbanging with ft232r/ft245r)
+ ft245r (FT245R Synchronous BitBang, miso = D1, sck = D0, mosi
= D2, reset = D4)
+ ft232r (FT232R Synchronous BitBang, miso = RxD, sck = RTS,
mosi = TxD, reset = DTR)
+ bwmega (BitWizard ftdi_atmega builtin programmer, miso = DSR,
sck = DCD, mosi = CTS, reset = RI)
+ arduino-ft232r (Arduino: FT232R connected to ISP, miso = CTS
X3(1), sck = DSR X3(2), mosi = DCD X3(3), reset = RI X3(4))
+ diecimila (alias for arduino-ft232r)
- pickit2
- Atmel JTAGICE3
- buspirate_bb (TPI programming using the BusPirate in bitbang mode)
* Bugfixes
- bug #34027: avrdude AT90S1200 Problem
- bug #34518: loading intel hex files > 64k using record-type 4
- patch #7667: Minor memory handling fixes
- patch #7680: Fixing timeout problem in ser_recv in ser_win32.c
- patch #7693: Fix config file atmel URLs (+ URLs in
avrdude.texi and avrpart.h)
- bug #21663: AT90PWM efuse incorrect, bug #30438: efuse bits
written as 0 on at90pwmxx parts
- bug #35261: avrftdi uses wrong interface in avrftdi_paged_(write|load)
- patch #7437 modifications to Bus Pirate module
- patch #7686 Updating buspirate ascii mode to current firmware,
use AUX as clock generator, and setting of serial receive
timeout
- bug #34768 Proposition: Change the name of the AVR32 devices
- patch #7718: Merge global data of avrftdi in a private data
structure
- bug #35208: avrdude 5.11 on freebsd 8.2-STABLE does not reset
Arduino Uno properly
- bug #34518: loading intel hex files > 64k using record-type 4
(Extended Linear Address Record)
- bug #34027: avrdude AT90S1200 Problem
- 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
- 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
- patch #7876 JTAGICE mkII fails to connect to attiny if debugwire
is enabled AND target has a very slow clock
- bug #39893: Verification failure with AVRISPmkII and Xmega
- bug #38713: Compilation of the documentation breaks with texinfo-5
- bug #38023: avrdude doesn't return an error code when attempting
to upload an invalid Intel HEX file
- bug #39794: warnings when building avrdude 6.0rc1 under CentOS 6.4
- bug #35800: Compilation error on certain systems if parport is disabled
- bug #38307: Can't write usersig of an xmega256a3
- bug #38580: Current svn head, xmega and fuses, all fuses tied to fuse0
- bug #39691: Buffer overrun when reading EEPROM byte with JTAGICE3
- bug #38951: AVR109 use byte offset instead of word offset
- patch #7769: Write flash fails for AVR910 programmers
- bug #38732: Support for ATtiny1634
- bug #36901: flashing Atmega32U4 EEPROM produces garbage on chip
- bug #28344: chip_erase_delay too short for ATmega324P, 644, 644P, and 1284P
- bug #34277: avrdude reads wrong byte order if using avr911 (aka butterfly)
- bug #35456: The progress bar for STK500V2 programmer is "wrong".
- patch #5708: avrdude should make 10 synchronization attempts instead of just one
- patch #7606: ATtiny43u support
- patch #7657: Add ATmega406 support for avrdude using DRAGON + JTAG
- bug #35474: Feature request: print fuse values in safemode output.
- patch #7710: usb_libusb: Check VID/PID before opening device
- [no-id]: Fix SCK period adjustment for STK500v2
- bug #40040: Support for ATtiny20 and ATtiny40
- bug #40055: AVRDUDE segfaults when writing eeprom
* Internals:
- Restructuring and compacting programmer definition part of
grammar for config file.
- Cleanup of parser code, removing unused definitions/
functions. Using yylex_destroy if available.
- Fixed some more memory leaks, added cleanup code at program exit
(to minimize the number of non-freed memory blocks reported by
valgrind)
- Fixed some findings reported by cppcheck.
Finally, more than 1.5 years after the previous release,
AVRDUDE 5.11 is finally done. This is mostly a bugfix
release, but also includes a few enhancements. The two
most important enhancements are:
. TPI (i.e. ATtiny4/5/9/10) programming support for bitbang
programmers.
. FTDI MPSSE (FT2232 etc.) bitbang support.
Finally, after almost 1.5 years, a new version.
A number of new AVR parts, as well as new programmers are
supported.
The -x option has been implemented, which can serve as a
generic extension so any programmer type can implement
programmer-specific extensions without requiring a full
new commandline option each time. By that means, JTAG
daisy-chain support has been added, as well as an option
to override the dreadful AVR910 device code from the
commandline.
List of major changes, compared to version 5.4:
* Add support for the USBtinyISP programmer (patch #6233)
* Add support for the C2N232I serial bitbang programmer (patch #6121)
* Bugfixes.
avrdude version 5.4 has just been released.
Here is the list of major changes, compared to 5.3.1:
* New devices supported:
- AT90PWM2B/AT90PWM3B
* Bugfixes.
* Source code rearranged so that the functionality is now built
into a libavrdude.a library where main.c is currently the only
existing frontend.
* Implement ATmega256x support for butterfly/avr109.
debugWire).
We are pleased to announce AVRDUDE Version 5.0. This release
includes several significant enhancements including:
* Support for JTAGICE MkII device
* Support for STK500 Version 2 Protocol
* New devices supported:
- AT90CAN128
- ATmega329x/649x
- ATmega164/324/644
- AT90PWM2/3,
- ATmega164/324/644
- ATmega329x/649x
- ATtiny25/45/85
* Support for serial bit-bang adapters: Ponyprog serial, UISP DASA,
UISP DASA3.
* DAPA programmer pinout supported
* New "safemode" feature where fuse bits are verified before exit
and if possible recovered if they have changed. This is intended
to protect against changed fuses which were not requested which is
reported to sometimes happen due to improper power supply or other
reasons.
* Various fixes for avr910 and butterfly programmers
* Full support for AVR109 boot loaders (butterfly)
* Adding -q -q suppresses most terminal output
For more information and downloads, please see the AVRDUDE project
page here:
http://savannah.nongnu.org/projects/avrdude
See the above URL for the AVRDUDE source code and instructions for
building. For a native Windows binary executable, see the link below:
http://savannah.nongnu.org/download/avr/avrdude-5.0-w32.zip
This ZIP file is intended to be extracted over top of your WinAVR
install location, usually C:\WinAVR. Note that by installing this way
one will likely lose uninstall support from the WinAVR package.
Special thanks go to all those who contributed by reporting bugs,
submitting new part definitions, programmer definitions, and code
improvements.
We are pleased to announce AVRDUDE Version 4.4.0. This release
includes several significant enhancements including:
* Native Win32 support: the need for Cygwin has been eliminated.
* More accurate delay timing on the Windows platform.
* Support for several new devices including ATmega48, ATmega88,
ATtiny2313, ATtiny13.
* STK500: ability to change the SCK frequency in order to program
devices with slow oscillators.
* Command-line switch to override the defaud baud rate for serial
programmers (STK500 and AVR910). Useful for boot-loaders and
other devices that emulate these protocols. Baud rate override
can also be specified in the config file (per-programmer).
* MacOS X now supported.
* Various other bug fixes and code cleanups.
For more information and downloads, please see the AVRDUDE project
page here:
http://savannah.nongnu.org/projects/avrdude
Special thanks go to all those who contributed by reporting bugs,
submitting new part definitions, programmer definitions, and code
improvements.
We are pleased to announce AVRDUDE Version 4.3.0. This release includes several significant enhancements including:
* STK500 optimization where empty blocks of flash are skipped during programming which can significantly improve write times especially for programs that use boot blocks.
* Dramatic PPI (parallel port interface) programmer speed improvements. In many cases, PPI programming is up to 3 times! faster than it was previously, and is now on par with the programming speed of the STK500, even slightly faster.
* The Atmel Butterfly module is now supported as its own programmer definition.
* New part definitions and fixes such as the addition of the ATmega64 and corrections to the AT90S8535.
Other improvements which will be less noticable were code reorganization and cleanup. However, these changes will help to make AVRDUDE easier to maintain and extend in the future.
For more information and downloads, please see the AVRDUDE project page here:
http://savannah.nongnu.org/projects/avrdude
Thanks to all those who contributed by reporting bugs, submitting new part definitions, programmer definitions, and code improvements.
We are pleased to annouce the availability of AVRDUDE 4.2.0. This release fixes the long-standing Windows verify errors (timing related) as well as the inclusion of several new features including:
friendly to wrapper environments such as emacs
the filename itself, useful for programming fuse bytes without having to
create single byte files
Thanks to all who contributed!
We are pleased to annouce the availability of AVRDUDE 4.1.0. This release includes new device support (ATmega32, ATmega8535, ATtiny26), new programmer support (AVR910, Bascom) as well as other bug fixes.
Thanks to all who contributed!