543 lines
15 KiB
Plaintext
543 lines
15 KiB
Plaintext
$Id$
|
||
|
||
Approximate change log for AVRDUDE by version.
|
||
|
||
(For more detailed changes, see the ChangeLog file.)
|
||
|
||
----------------------------------------------------------------------
|
||
Current:
|
||
|
||
* New devices supported:
|
||
|
||
- AVR32A0512 (JTAGMKII only)
|
||
- ATmega32U4
|
||
- ATtiny4
|
||
- ATtiny5
|
||
- ATtiny9
|
||
- ATtiny10
|
||
|
||
* New programmers supported:
|
||
|
||
- BusPirate
|
||
- Arduino
|
||
- JTAGICEmkII and AVR Dragon in PDI mode (ATxmega devices)
|
||
- STK600 and AVRISP mkII in TPI mode (ATtiny4/5/9/10)
|
||
|
||
* Bugfixes
|
||
|
||
Version 5.8:
|
||
|
||
* Bugfixes; most importantly, fix a serious memory corruption for
|
||
that JTAG ICE mkII and AVR Dragon in ISP/HVSP/PP mode.
|
||
|
||
Version 5.7:
|
||
|
||
* New devices supported:
|
||
|
||
- ATXMEGA64A1
|
||
- ATXMEGA192A1
|
||
- ATXMEGA256A1
|
||
- ATXMEGA64A3
|
||
- ATXMEGA128A3
|
||
- ATXMEGA192A3
|
||
- ATXMEGA256A3
|
||
- ATXMEGA256A3B
|
||
- ATXMEGA16A4
|
||
- ATXMEGA32A4
|
||
- ATXMEGA64A4
|
||
- ATXMEGA128A4
|
||
|
||
* Major Xmega fixes for the JTAG ICE mkII (patch #6825)
|
||
|
||
* Bugfixes.
|
||
|
||
Version 5.6:
|
||
|
||
* New devices supported:
|
||
|
||
- AT90USB82
|
||
- AT90USB162
|
||
- ATtiny88
|
||
- ATmega328P
|
||
- ATmega1284P
|
||
- ATmega128RFA1
|
||
- ATxmega128A1 rev D
|
||
- ATxmega128A1
|
||
- ATxmega256A3
|
||
|
||
* New programmers supported:
|
||
|
||
- AT89ISP cable (patch #6069)
|
||
- Arduino
|
||
|
||
* Add support for the -x option to pass extended parameters to the
|
||
programmer backend.
|
||
|
||
* Add support for JTAG daisy-chains, using the -x daisychain=
|
||
option.
|
||
|
||
* Add support for the Atmel STK600 for "classic" AVRs (AT90, ATtiny,
|
||
ATmega), using either ISP or high-voltage programming modes.
|
||
|
||
* Add support for the -x devcode extended parameter to the avr910
|
||
programmer, to allow overriding the device code sent to the
|
||
programmer.
|
||
|
||
* Add support for the Crossbow MIB510 programmer (patch #6074, #6542).
|
||
|
||
* Add support to bootstrap with GNU autoconf 2.61, and automake 1.10,
|
||
respectively.
|
||
|
||
* Add support for ATxmega128A1 (including the revision D engineering
|
||
samples) for STK600 and AVRISPmkII tools using PDI
|
||
|
||
* The option combination -tF now enters terminal mode even if the
|
||
device initialization failed, so the user can modify programmer
|
||
parameters (like Vtarget).
|
||
|
||
* Add preliminary support for ATxmega128A1 for the JTAG ICE mkII using
|
||
JTAG.
|
||
|
||
* Add support for direct SPI transfers (bug #25156).
|
||
|
||
* Bugfixes.
|
||
|
||
Version 5.5:
|
||
|
||
* Add support for the USBtinyISP programmer (patch #6233)
|
||
|
||
* Add support for the C2N232I serial bitbang programmer (patch #6121)
|
||
|
||
* Bugfixes.
|
||
|
||
Version 5.4:
|
||
|
||
* 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.
|
||
|
||
Version 5.3.1:
|
||
|
||
* Add support for the AVR Dragon (all modes: ISP, JTAG, HVSP, PP,
|
||
debugWire).
|
||
|
||
* Add support for debugWire (both, JTAG ICE mkII, and AVR Dragon).
|
||
|
||
* Add support for the AVR Doper USB HID-class programmer.
|
||
|
||
* Bugfixes.
|
||
|
||
Version 5.2:
|
||
|
||
* New devices supported:
|
||
|
||
- AT90USB646/647/1286/1287
|
||
- ATmega2560/2561
|
||
- ATmega325/3250/645/6450
|
||
- ATtiny11 (HVSP only device)
|
||
- ATtiny261/461/861
|
||
|
||
* Fixed paged flash write operations for AT90PWMx devices
|
||
(error in datasheet).
|
||
|
||
* Add signature verification.
|
||
|
||
* Add high-voltage mode programming for the STK500 (both,
|
||
parallel, and high-voltage serial programming).
|
||
|
||
* Add support for using the JTAG ICE mkII as a generic ISP
|
||
programmer.
|
||
|
||
* Allow for specifying the ISP clock delay as an option for
|
||
bit-bang programming adapters.
|
||
|
||
* Add support for Thomas Fischl's USBasp low-cost USB-attached
|
||
programmer.
|
||
|
||
* The "stk500" programmer type is now implemented as a stub
|
||
that tries to probe for either "stk500v1" or "stk500v2".
|
||
|
||
* Many bugfixes.
|
||
|
||
Version 5.1:
|
||
|
||
* New devices supported:
|
||
|
||
- ATmega640/1280/1281
|
||
- ATtiny24/44/84
|
||
|
||
* JTAG mkII support now works with libusb-win32, too
|
||
|
||
* JTAG ICE mkI support has been added
|
||
|
||
* Solaris support has been added (including ecpp(7D) parallel-port
|
||
bit-bang mode)
|
||
|
||
|
||
Version 5.0:
|
||
|
||
* 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
|
||
|
||
|
||
Version 4.4.0:
|
||
|
||
* Native Win32 support: The windows build doesn't need Cygwin
|
||
anymore. Additionally, the delay timing on windows should be
|
||
more accurate now.
|
||
Contributed by Martin Thomas
|
||
|
||
* Add support for
|
||
- ATmega48, ATmega88 (contributed by Galen Seitz)
|
||
- ATtiny2313 (contributed by Bob Paddock)
|
||
- ATtiny13 (contributed by Pawel Moll)
|
||
|
||
* Added command to change the SCK of STK500-programmers. Now it
|
||
is possible to program uC with slow oscillator.
|
||
Contributed by Galen Seitz
|
||
|
||
* Baudrate for serial programmers (STK500 and AVR910) is
|
||
configurable in the config or at the command-line.
|
||
This way some more tweaked bootloaders and programmers can be used.
|
||
|
||
* Deprecated options have been removed.
|
||
Now the "-U" option must be used.
|
||
|
||
* MacOS X now supported by default.
|
||
|
||
Version 4.3.0:
|
||
|
||
* Added support for "Butterfly" evaluation board.
|
||
|
||
* Make cycle-count work with AVR910-programmers.
|
||
|
||
* Added "Troubleshooting"-Appendix to the manual.
|
||
|
||
* Add ATmega8515 support.
|
||
Contributed by: Matthias Wei<65>er <matthias@matwei.de>
|
||
|
||
* Add ATmega64 support.
|
||
Contributed by: Erik Christiansen <erik@dd.nec.com.au>
|
||
|
||
* Improved polling algorithm to speed up
|
||
programming of byte oriented parallel programmers.
|
||
Contributed by: Jan-Hinnerk Reichert <jan-hinnerk_reichert@hamburg.de>
|
||
|
||
* Add "fuse" and "lock" definitions for the AT90S8535.
|
||
|
||
* STK500 skips empty pages in paged write resulting in faster downloads
|
||
when there are empty blocks in between code (such as files that contain
|
||
application code and bootloader code).
|
||
|
||
Version 4.2.0:
|
||
|
||
* Add basic support for reading and writing fuses via SPI with avr910
|
||
programmers. Submitted by
|
||
Jan-Hinnerk Reichert <jan-hinnerk_reichert@hamburg.de>.
|
||
|
||
* Perform an auto erase before programming if the flash memory is
|
||
anywhere specified to be written by any of the -U requests. Old
|
||
style memory specification options (-f, -i, -I, -m, and -o) are
|
||
deprecated in favor of the new -U options. Auto erase is disabled
|
||
if any of the old-style options (specifically -i and -o) are
|
||
specified.
|
||
|
||
* Add new -U option for specifying programming operations - allows
|
||
multiple memory operations on a single command line.
|
||
|
||
* New progress reporting, looks nicer and is nicer to wrapper
|
||
environments such as emacs.
|
||
|
||
* Fix long-standing timing (verify) problems on Windows platform.
|
||
Submitted by Alex Shepherd <ashepherd@wave.co.nz>.
|
||
|
||
* Add new file format option - 'm' for "immediate mode." In this
|
||
case, the filename argument of the -o, -i, or -U options is
|
||
treated as the data for uploading - useful for specifying fuse
|
||
bits without having to create a single-byte file for uploading.
|
||
|
||
* Add support for displaying and setting the various STK500 operational
|
||
parameters (Vtarget, Varef, Master clock).
|
||
|
||
* Add 'picoweb' programming cable programmer.
|
||
Contributed by Rune Christensen <rune.christensen@adslhome.dk>.
|
||
|
||
* Add support for the sp12 programmer. Submitted by
|
||
Larry Barello <larryba@barrello.net>.
|
||
|
||
|
||
Version 4.1.0
|
||
|
||
* Add support for the Bascom SAMPLE programmer. Submitted by
|
||
Larry Barello <larryba@barrello.net>.
|
||
|
||
* Add support for avr910 type programmers (mcu00100, pavr avr910, etc).
|
||
|
||
* Support new devices: ATmega8535, ATtiny26
|
||
|
||
|
||
Version 4.0.0
|
||
|
||
* Now support Linux - added by "Theodore A. Roth" <troth@openavr.org>.
|
||
|
||
* Now support Windows - added by "Eric B. Weddington" <eric@ecentral.com>.
|
||
|
||
* Use 'configure' scripts to tailor the code to the system avrdude
|
||
is getting ready to be compiled on - added by "Theodore A. Roth"
|
||
<troth@openavr.org>.
|
||
|
||
* Motorola S-Record support - submitted by "Alexey V.Levdikov "
|
||
<tsar@kemford.com>.
|
||
|
||
* Support parallel programming on the STK500. Introduce 'pagel' and
|
||
'bs2' keywords to the config file for this purpose.
|
||
|
||
* Add support for the AT90S2343
|
||
|
||
* Add support for the ATmega169
|
||
|
||
* Add ability to specify system defaults within the config file
|
||
(default parallel port, default serial port).
|
||
|
||
* Specify the default programmer seperately from the programmer
|
||
definition. This is now done in the config file using the
|
||
'default_programmer' keyword.
|
||
|
||
* Support a per-user config file (~/.avrduderc) so that one can
|
||
override system wide defaults if desired.
|
||
|
||
* Follow the datasheet more closely for several parts in the "retry"
|
||
code when entering programming mode fails initially. Introduce
|
||
'retry_pulse' to the config file for this purpose.
|
||
|
||
|
||
|
||
Version 3.1.0
|
||
|
||
* This change represents a name change only. There is currently an
|
||
effort to port AVRPROG to other platforms including Linux and
|
||
Windows. Since Atmel's programmer binary that's included within
|
||
their AVR Studio software is named AVRPROG.EXE on the Windows OS,
|
||
there is the chance for confusion if we keep calling this program
|
||
AVRPROG as well. Up until now the name hasn't really been a
|
||
problem since there was no chance to confuse 'avrprog' on Unix
|
||
with Atmel's AVRPROG because Atmel's tools only run on Windows.
|
||
But with the Unix 'avrprog' possibly being ported to Windows, I
|
||
felt a name change was the best way to avoid problems.
|
||
|
||
So - from this point forward, my FreeBSD Unix program formerly
|
||
known as AVRPROG will subsequently be known as AVRDUDE (AVR
|
||
Downloader/UploaDEr).
|
||
|
||
This change also represents a time when the AVRDUDE sources move
|
||
from my own private repository to a public repository. This will
|
||
give other developers a chance to port AVRDUDE to other platforms
|
||
and extend its functionality to support additional programming
|
||
hardware, etc.
|
||
|
||
So goodbye AVRPROG, welcome AVRDUDE!
|
||
|
||
Version 3.0.0
|
||
|
||
* Rewrite parts of the code to make it easy to support other types
|
||
of programmers besides the directly connected parallel port
|
||
programmer (PPI).
|
||
|
||
* Add support for Atmel's STK500 programmer/development board. The
|
||
STK500's "paged mode" read/write is supported which makes this
|
||
programmer very fast. This is sorely needed on parts with large
|
||
memories such as the ATmega128. My 12K test program burns in
|
||
about 5 seconds, add another 5 to read it back out for
|
||
verification.
|
||
|
||
|
||
Version 2.1.5:
|
||
|
||
* When getting ready to initiate communications with the AVR device,
|
||
first pull /RESET low for a short period of time before enabling
|
||
the buffer chip. This sequence allows the AVR to be reset before
|
||
the buffer is enabled to avoid a short period of time where the
|
||
AVR may be driving the programming lines at the same time the
|
||
programmer tries to. Of course, if a buffer is being used, then
|
||
the /RESET line from the programmer needs to be directly connected
|
||
to the AVR /RESET line and not via the buffer chip.
|
||
|
||
Feature contributed by Rick C. Petty <rick@KIWI-Computer.com>.
|
||
|
||
* When in interactive terminal mode and dumping memory using the
|
||
'dump <memtype>' command without any address information, and the
|
||
end of memory is reached, wrap back around to zero on the next
|
||
invocation.
|
||
|
||
|
||
Version 2.1.4:
|
||
|
||
* Fix -Y option.
|
||
|
||
|
||
Version 2.1.3:
|
||
|
||
* Be backward compatible when reading 2-byte rewrite cycle counters
|
||
as written by avrprog version 2.1.0. Version 2.1.1 changed over
|
||
to a 4-byte counter, which caused avrprog versions 2.1.1 and 2.1.2
|
||
to report a negative count for parts that were initialized using
|
||
version 2.1.0. Thanks to Joerg Wunsch for noticing this.
|
||
|
||
|
||
Version 2.1.2:
|
||
|
||
* Add '-V' option to disable automatic verify check with uploading
|
||
data.
|
||
|
||
|
||
Version 2.1.1:
|
||
|
||
* Fix ATmega128 instruction sequences for reading fuse bits -
|
||
contributed by Joerg Wunsch.
|
||
|
||
* Modify erase-rewrite cycle counter code to use a 4 byte counter
|
||
instead of a two byte counter.
|
||
|
||
|
||
Version 2.1.0:
|
||
|
||
* Implement a per-part erase-rewrite cycle counter; requires the use
|
||
of two bytes of EEPROM memory.
|
||
|
||
|
||
Version 2.0.5:
|
||
|
||
* Support for ATtiny15 - contributed by Asher Hoskins
|
||
|
||
|
||
Version 2.0.4:
|
||
|
||
* Config file fixes for various parts.
|
||
|
||
|
||
Version 2.0.3:
|
||
|
||
* Work around problem programming fuse bits on parts like the
|
||
at90s4433 as described in the following errata:
|
||
|
||
http://www.atmel.com/atmel/acrobat/doc1280.pdf
|
||
|
||
* Add part definition for at90s4414, at90s4433.
|
||
|
||
* Add fuse/lock bit memory instructions for the at90s1200,
|
||
at90s2333, at90s4433 and at90s8515.
|
||
|
||
* Fix setting of programmer status LEDs under certain write-fail
|
||
conditions.
|
||
|
||
|
||
Version 2.0.2 :
|
||
|
||
* Fix writing to read-only memories such as the lock bits of the
|
||
AT90S2313.
|
||
|
||
* Copyright updates.
|
||
|
||
|
||
Version 2.0.1 :
|
||
|
||
* Use correct parallel port pins for VCC.
|
||
|
||
* Add programmer definition for Atmel's STK200.
|
||
|
||
* Add programmer definition for the AVR3 board.
|
||
|
||
* Fix address bit encoding for many parts.
|
||
|
||
* Allow the ``BUFF'' signal to be asserted by multiple pins of the
|
||
parallel port (like VCC) instead of just one. The STK200 appears
|
||
to need this feature.
|
||
|
||
|
||
Version 2.0.0 :
|
||
|
||
* Add support for programming fuse and lock bits if supported by the
|
||
part.
|
||
|
||
* Move instruction encoding into the config file. Now any part can
|
||
be supported as long as it uses the same basic serial programming
|
||
instruction format.
|
||
|
||
* Add part definitions for the ATMega163 and ATMega8 devices.
|
||
|
||
|
||
Version 1.4.3 :
|
||
|
||
* Mostly internal code cleanup.
|
||
|
||
|
||
Version 1.4.2 :
|
||
|
||
* Fixes for ATMega paged memory support.
|
||
|
||
* Support for ATMega16 device.
|
||
|
||
|
||
Version 1.4.1 :
|
||
|
||
* No functional changes, update to Copyrights only.
|
||
|
||
|
||
Version 1.4.0 :
|
||
|
||
* Add part definitions to the config file.
|
||
|
||
* Add initial support for Atmel's ATMega paged memory parts.
|
||
|
||
* Config file documentation added.
|
||
|
||
* Add a definition for the Dontronics DT006 programmer.
|
||
|
||
* Fix Intel Hex support for addresses larger than 64k.
|
||
|
||
|
||
Version 1.3.0 :
|
||
|
||
* Make programmer pin assignments configurable.
|
||
|
||
|
||
Version 1.2.2 :
|
||
|
||
* Initial public release.
|