| 1 |
$Id$
|
| 2 |
|
| 3 |
Approximate change log for AVRDUDE by version.
|
| 4 |
|
| 5 |
(For more detailed changes, see the ChangeLog file.)
|
| 6 |
|
| 7 |
----------------------------------------------------------------------
|
| 8 |
Version 5.8:
|
| 9 |
|
| 10 |
* Bugfixes; most importantly, fix a serious memory corruption for
|
| 11 |
that JTAG ICE mkII and AVR Dragon in ISP/HVSP/PP mode.
|
| 12 |
|
| 13 |
Version 5.7:
|
| 14 |
|
| 15 |
* New devices supported:
|
| 16 |
|
| 17 |
- ATXMEGA64A1
|
| 18 |
- ATXMEGA192A1
|
| 19 |
- ATXMEGA256A1
|
| 20 |
- ATXMEGA64A3
|
| 21 |
- ATXMEGA128A3
|
| 22 |
- ATXMEGA192A3
|
| 23 |
- ATXMEGA256A3
|
| 24 |
- ATXMEGA256A3B
|
| 25 |
- ATXMEGA16A4
|
| 26 |
- ATXMEGA32A4
|
| 27 |
- ATXMEGA64A4
|
| 28 |
- ATXMEGA128A4
|
| 29 |
|
| 30 |
* Major Xmega fixes for the JTAG ICE mkII (patch #6825)
|
| 31 |
|
| 32 |
* Bugfixes.
|
| 33 |
|
| 34 |
Version 5.6:
|
| 35 |
|
| 36 |
* New devices supported:
|
| 37 |
|
| 38 |
- AT90USB82
|
| 39 |
- AT90USB162
|
| 40 |
- ATtiny88
|
| 41 |
- ATmega328P
|
| 42 |
- ATmega1284P
|
| 43 |
- ATmega128RFA1
|
| 44 |
- ATxmega128A1 rev D
|
| 45 |
- ATxmega128A1
|
| 46 |
- ATxmega256A3
|
| 47 |
|
| 48 |
* New programmers supported:
|
| 49 |
|
| 50 |
- AT89ISP cable (patch #6069)
|
| 51 |
- Arduino
|
| 52 |
|
| 53 |
* Add support for the -x option to pass extended parameters to the
|
| 54 |
programmer backend.
|
| 55 |
|
| 56 |
* Add support for JTAG daisy-chains, using the -x daisychain=
|
| 57 |
option.
|
| 58 |
|
| 59 |
* Add support for the Atmel STK600 for "classic" AVRs (AT90, ATtiny,
|
| 60 |
ATmega), using either ISP or high-voltage programming modes.
|
| 61 |
|
| 62 |
* Add support for the -x devcode extended parameter to the avr910
|
| 63 |
programmer, to allow overriding the device code sent to the
|
| 64 |
programmer.
|
| 65 |
|
| 66 |
* Add support for the Crossbow MIB510 programmer (patch #6074, #6542).
|
| 67 |
|
| 68 |
* Add support to bootstrap with GNU autoconf 2.61, and automake 1.10,
|
| 69 |
respectively.
|
| 70 |
|
| 71 |
* Add support for ATxmega128A1 (including the revision D engineering
|
| 72 |
samples) for STK600 and AVRISPmkII tools using PDI
|
| 73 |
|
| 74 |
* The option combination -tF now enters terminal mode even if the
|
| 75 |
device initialization failed, so the user can modify programmer
|
| 76 |
parameters (like Vtarget).
|
| 77 |
|
| 78 |
* Add preliminary support for ATxmega128A1 for the JTAG ICE mkII using
|
| 79 |
JTAG.
|
| 80 |
|
| 81 |
* Add support for direct SPI transfers (bug #25156).
|
| 82 |
|
| 83 |
* Bugfixes.
|
| 84 |
|
| 85 |
Version 5.5:
|
| 86 |
|
| 87 |
* Add support for the USBtinyISP programmer (patch #6233)
|
| 88 |
|
| 89 |
* Add support for the C2N232I serial bitbang programmer (patch #6121)
|
| 90 |
|
| 91 |
* Bugfixes.
|
| 92 |
|
| 93 |
Version 5.4:
|
| 94 |
|
| 95 |
* New devices supported:
|
| 96 |
|
| 97 |
- AT90PWM2B/AT90PWM3B
|
| 98 |
|
| 99 |
* Bugfixes.
|
| 100 |
|
| 101 |
* Source code rearranged so that the functionality is now built
|
| 102 |
into a libavrdude.a library where main.c is currently the only
|
| 103 |
existing frontend.
|
| 104 |
|
| 105 |
* Implement ATmega256x support for butterfly/avr109.
|
| 106 |
|
| 107 |
Version 5.3.1:
|
| 108 |
|
| 109 |
* Add support for the AVR Dragon (all modes: ISP, JTAG, HVSP, PP,
|
| 110 |
debugWire).
|
| 111 |
|
| 112 |
* Add support for debugWire (both, JTAG ICE mkII, and AVR Dragon).
|
| 113 |
|
| 114 |
* Add support for the AVR Doper USB HID-class programmer.
|
| 115 |
|
| 116 |
* Bugfixes.
|
| 117 |
|
| 118 |
Version 5.2:
|
| 119 |
|
| 120 |
* New devices supported:
|
| 121 |
|
| 122 |
- AT90USB646/647/1286/1287
|
| 123 |
- ATmega2560/2561
|
| 124 |
- ATmega325/3250/645/6450
|
| 125 |
- ATtiny11 (HVSP only device)
|
| 126 |
- ATtiny261/461/861
|
| 127 |
|
| 128 |
* Fixed paged flash write operations for AT90PWMx devices
|
| 129 |
(error in datasheet).
|
| 130 |
|
| 131 |
* Add signature verification.
|
| 132 |
|
| 133 |
* Add high-voltage mode programming for the STK500 (both,
|
| 134 |
parallel, and high-voltage serial programming).
|
| 135 |
|
| 136 |
* Add support for using the JTAG ICE mkII as a generic ISP
|
| 137 |
programmer.
|
| 138 |
|
| 139 |
* Allow for specifying the ISP clock delay as an option for
|
| 140 |
bit-bang programming adapters.
|
| 141 |
|
| 142 |
* Add support for Thomas Fischl's USBasp low-cost USB-attached
|
| 143 |
programmer.
|
| 144 |
|
| 145 |
* The "stk500" programmer type is now implemented as a stub
|
| 146 |
that tries to probe for either "stk500v1" or "stk500v2".
|
| 147 |
|
| 148 |
* Many bugfixes.
|
| 149 |
|
| 150 |
Version 5.1:
|
| 151 |
|
| 152 |
* New devices supported:
|
| 153 |
|
| 154 |
- ATmega640/1280/1281
|
| 155 |
- ATtiny24/44/84
|
| 156 |
|
| 157 |
* JTAG mkII support now works with libusb-win32, too
|
| 158 |
|
| 159 |
* JTAG ICE mkI support has been added
|
| 160 |
|
| 161 |
* Solaris support has been added (including ecpp(7D) parallel-port
|
| 162 |
bit-bang mode)
|
| 163 |
|
| 164 |
|
| 165 |
Version 5.0:
|
| 166 |
|
| 167 |
* Support for JTAGICE MkII device
|
| 168 |
|
| 169 |
* Support for STK500 Version 2 Protocol
|
| 170 |
|
| 171 |
* New devices supported:
|
| 172 |
|
| 173 |
- AT90CAN128
|
| 174 |
- ATmega329x/649x
|
| 175 |
- ATmega164/324/644
|
| 176 |
- AT90PWM2/3,
|
| 177 |
- ATmega164/324/644
|
| 178 |
- ATmega329x/649x
|
| 179 |
- ATtiny25/45/85
|
| 180 |
|
| 181 |
* Support for serial bit-bang adapters: Ponyprog serial, UISP DASA,
|
| 182 |
UISP DASA3.
|
| 183 |
|
| 184 |
* DAPA programmer pinout supported
|
| 185 |
|
| 186 |
* New "safemode" feature where fuse bits are verified before exit
|
| 187 |
and if possible recovered if they have changed. This is intended
|
| 188 |
to protect against changed fuses which were not requested which is
|
| 189 |
reported to sometimes happen due to improper power supply or other
|
| 190 |
reasons.
|
| 191 |
|
| 192 |
* Various fixes for avr910 and butterfly programmers
|
| 193 |
|
| 194 |
* Full support for AVR109 boot loaders (butterfly)
|
| 195 |
|
| 196 |
* Adding -q -q suppresses most terminal output
|
| 197 |
|
| 198 |
|
| 199 |
Version 4.4.0:
|
| 200 |
|
| 201 |
* Native Win32 support: The windows build doesn't need Cygwin
|
| 202 |
anymore. Additionally, the delay timing on windows should be
|
| 203 |
more accurate now.
|
| 204 |
Contributed by Martin Thomas
|
| 205 |
|
| 206 |
* Add support for
|
| 207 |
- ATmega48, ATmega88 (contributed by Galen Seitz)
|
| 208 |
- ATtiny2313 (contributed by Bob Paddock)
|
| 209 |
- ATtiny13 (contributed by Pawel Moll)
|
| 210 |
|
| 211 |
* Added command to change the SCK of STK500-programmers. Now it
|
| 212 |
is possible to program uC with slow oscillator.
|
| 213 |
Contributed by Galen Seitz
|
| 214 |
|
| 215 |
* Baudrate for serial programmers (STK500 and AVR910) is
|
| 216 |
configurable in the config or at the command-line.
|
| 217 |
This way some more tweaked bootloaders and programmers can be used.
|
| 218 |
|
| 219 |
* Deprecated options have been removed.
|
| 220 |
Now the "-U" option must be used.
|
| 221 |
|
| 222 |
* MacOS X now supported by default.
|
| 223 |
|
| 224 |
Version 4.3.0:
|
| 225 |
|
| 226 |
* Added support for "Butterfly" evaluation board.
|
| 227 |
|
| 228 |
* Make cycle-count work with AVR910-programmers.
|
| 229 |
|
| 230 |
* Added "Troubleshooting"-Appendix to the manual.
|
| 231 |
|
| 232 |
* Add ATmega8515 support.
|
| 233 |
Contributed by: Matthias Weißer <matthias@matwei.de>
|
| 234 |
|
| 235 |
* Add ATmega64 support.
|
| 236 |
Contributed by: Erik Christiansen <erik@dd.nec.com.au>
|
| 237 |
|
| 238 |
* Improved polling algorithm to speed up
|
| 239 |
programming of byte oriented parallel programmers.
|
| 240 |
Contributed by: Jan-Hinnerk Reichert <jan-hinnerk_reichert@hamburg.de>
|
| 241 |
|
| 242 |
* Add "fuse" and "lock" definitions for the AT90S8535.
|
| 243 |
|
| 244 |
* STK500 skips empty pages in paged write resulting in faster downloads
|
| 245 |
when there are empty blocks in between code (such as files that contain
|
| 246 |
application code and bootloader code).
|
| 247 |
|
| 248 |
Version 4.2.0:
|
| 249 |
|
| 250 |
* Add basic support for reading and writing fuses via SPI with avr910
|
| 251 |
programmers. Submitted by
|
| 252 |
Jan-Hinnerk Reichert <jan-hinnerk_reichert@hamburg.de>.
|
| 253 |
|
| 254 |
* Perform an auto erase before programming if the flash memory is
|
| 255 |
anywhere specified to be written by any of the -U requests. Old
|
| 256 |
style memory specification options (-f, -i, -I, -m, and -o) are
|
| 257 |
deprecated in favor of the new -U options. Auto erase is disabled
|
| 258 |
if any of the old-style options (specifically -i and -o) are
|
| 259 |
specified.
|
| 260 |
|
| 261 |
* Add new -U option for specifying programming operations - allows
|
| 262 |
multiple memory operations on a single command line.
|
| 263 |
|
| 264 |
* New progress reporting, looks nicer and is nicer to wrapper
|
| 265 |
environments such as emacs.
|
| 266 |
|
| 267 |
* Fix long-standing timing (verify) problems on Windows platform.
|
| 268 |
Submitted by Alex Shepherd <ashepherd@wave.co.nz>.
|
| 269 |
|
| 270 |
* Add new file format option - 'm' for "immediate mode." In this
|
| 271 |
case, the filename argument of the -o, -i, or -U options is
|
| 272 |
treated as the data for uploading - useful for specifying fuse
|
| 273 |
bits without having to create a single-byte file for uploading.
|
| 274 |
|
| 275 |
* Add support for displaying and setting the various STK500 operational
|
| 276 |
parameters (Vtarget, Varef, Master clock).
|
| 277 |
|
| 278 |
* Add 'picoweb' programming cable programmer.
|
| 279 |
Contributed by Rune Christensen <rune.christensen@adslhome.dk>.
|
| 280 |
|
| 281 |
* Add support for the sp12 programmer. Submitted by
|
| 282 |
Larry Barello <larryba@barrello.net>.
|
| 283 |
|
| 284 |
|
| 285 |
Version 4.1.0
|
| 286 |
|
| 287 |
* Add support for the Bascom SAMPLE programmer. Submitted by
|
| 288 |
Larry Barello <larryba@barrello.net>.
|
| 289 |
|
| 290 |
* Add support for avr910 type programmers (mcu00100, pavr avr910, etc).
|
| 291 |
|
| 292 |
* Support new devices: ATmega8535, ATtiny26
|
| 293 |
|
| 294 |
|
| 295 |
Version 4.0.0
|
| 296 |
|
| 297 |
* Now support Linux - added by "Theodore A. Roth" <troth@openavr.org>.
|
| 298 |
|
| 299 |
* Now support Windows - added by "Eric B. Weddington" <eric@ecentral.com>.
|
| 300 |
|
| 301 |
* Use 'configure' scripts to tailor the code to the system avrdude
|
| 302 |
is getting ready to be compiled on - added by "Theodore A. Roth"
|
| 303 |
<troth@openavr.org>.
|
| 304 |
|
| 305 |
* Motorola S-Record support - submitted by "Alexey V.Levdikov "
|
| 306 |
<tsar@kemford.com>.
|
| 307 |
|
| 308 |
* Support parallel programming on the STK500. Introduce 'pagel' and
|
| 309 |
'bs2' keywords to the config file for this purpose.
|
| 310 |
|
| 311 |
* Add support for the AT90S2343
|
| 312 |
|
| 313 |
* Add support for the ATmega169
|
| 314 |
|
| 315 |
* Add ability to specify system defaults within the config file
|
| 316 |
(default parallel port, default serial port).
|
| 317 |
|
| 318 |
* Specify the default programmer seperately from the programmer
|
| 319 |
definition. This is now done in the config file using the
|
| 320 |
'default_programmer' keyword.
|
| 321 |
|
| 322 |
* Support a per-user config file (~/.avrduderc) so that one can
|
| 323 |
override system wide defaults if desired.
|
| 324 |
|
| 325 |
* Follow the datasheet more closely for several parts in the "retry"
|
| 326 |
code when entering programming mode fails initially. Introduce
|
| 327 |
'retry_pulse' to the config file for this purpose.
|
| 328 |
|
| 329 |
|
| 330 |
|
| 331 |
Version 3.1.0
|
| 332 |
|
| 333 |
* This change represents a name change only. There is currently an
|
| 334 |
effort to port AVRPROG to other platforms including Linux and
|
| 335 |
Windows. Since Atmel's programmer binary that's included within
|
| 336 |
their AVR Studio software is named AVRPROG.EXE on the Windows OS,
|
| 337 |
there is the chance for confusion if we keep calling this program
|
| 338 |
AVRPROG as well. Up until now the name hasn't really been a
|
| 339 |
problem since there was no chance to confuse 'avrprog' on Unix
|
| 340 |
with Atmel's AVRPROG because Atmel's tools only run on Windows.
|
| 341 |
But with the Unix 'avrprog' possibly being ported to Windows, I
|
| 342 |
felt a name change was the best way to avoid problems.
|
| 343 |
|
| 344 |
So - from this point forward, my FreeBSD Unix program formerly
|
| 345 |
known as AVRPROG will subsequently be known as AVRDUDE (AVR
|
| 346 |
Downloader/UploaDEr).
|
| 347 |
|
| 348 |
This change also represents a time when the AVRDUDE sources move
|
| 349 |
from my own private repository to a public repository. This will
|
| 350 |
give other developers a chance to port AVRDUDE to other platforms
|
| 351 |
and extend its functionality to support additional programming
|
| 352 |
hardware, etc.
|
| 353 |
|
| 354 |
So goodbye AVRPROG, welcome AVRDUDE!
|
| 355 |
|
| 356 |
Version 3.0.0
|
| 357 |
|
| 358 |
* Rewrite parts of the code to make it easy to support other types
|
| 359 |
of programmers besides the directly connected parallel port
|
| 360 |
programmer (PPI).
|
| 361 |
|
| 362 |
* Add support for Atmel's STK500 programmer/development board. The
|
| 363 |
STK500's "paged mode" read/write is supported which makes this
|
| 364 |
programmer very fast. This is sorely needed on parts with large
|
| 365 |
memories such as the ATmega128. My 12K test program burns in
|
| 366 |
about 5 seconds, add another 5 to read it back out for
|
| 367 |
verification.
|
| 368 |
|
| 369 |
|
| 370 |
Version 2.1.5:
|
| 371 |
|
| 372 |
* When getting ready to initiate communications with the AVR device,
|
| 373 |
first pull /RESET low for a short period of time before enabling
|
| 374 |
the buffer chip. This sequence allows the AVR to be reset before
|
| 375 |
the buffer is enabled to avoid a short period of time where the
|
| 376 |
AVR may be driving the programming lines at the same time the
|
| 377 |
programmer tries to. Of course, if a buffer is being used, then
|
| 378 |
the /RESET line from the programmer needs to be directly connected
|
| 379 |
to the AVR /RESET line and not via the buffer chip.
|
| 380 |
|
| 381 |
Feature contributed by Rick C. Petty <rick@KIWI-Computer.com>.
|
| 382 |
|
| 383 |
* When in interactive terminal mode and dumping memory using the
|
| 384 |
'dump <memtype>' command without any address information, and the
|
| 385 |
end of memory is reached, wrap back around to zero on the next
|
| 386 |
invocation.
|
| 387 |
|
| 388 |
|
| 389 |
Version 2.1.4:
|
| 390 |
|
| 391 |
* Fix -Y option.
|
| 392 |
|
| 393 |
|
| 394 |
Version 2.1.3:
|
| 395 |
|
| 396 |
* Be backward compatible when reading 2-byte rewrite cycle counters
|
| 397 |
as written by avrprog version 2.1.0. Version 2.1.1 changed over
|
| 398 |
to a 4-byte counter, which caused avrprog versions 2.1.1 and 2.1.2
|
| 399 |
to report a negative count for parts that were initialized using
|
| 400 |
version 2.1.0. Thanks to Joerg Wunsch for noticing this.
|
| 401 |
|
| 402 |
|
| 403 |
Version 2.1.2:
|
| 404 |
|
| 405 |
* Add '-V' option to disable automatic verify check with uploading
|
| 406 |
data.
|
| 407 |
|
| 408 |
|
| 409 |
Version 2.1.1:
|
| 410 |
|
| 411 |
* Fix ATmega128 instruction sequences for reading fuse bits -
|
| 412 |
contributed by Joerg Wunsch.
|
| 413 |
|
| 414 |
* Modify erase-rewrite cycle counter code to use a 4 byte counter
|
| 415 |
instead of a two byte counter.
|
| 416 |
|
| 417 |
|
| 418 |
Version 2.1.0:
|
| 419 |
|
| 420 |
* Implement a per-part erase-rewrite cycle counter; requires the use
|
| 421 |
of two bytes of EEPROM memory.
|
| 422 |
|
| 423 |
|
| 424 |
Version 2.0.5:
|
| 425 |
|
| 426 |
* Support for ATtiny15 - contributed by Asher Hoskins
|
| 427 |
|
| 428 |
|
| 429 |
Version 2.0.4:
|
| 430 |
|
| 431 |
* Config file fixes for various parts.
|
| 432 |
|
| 433 |
|
| 434 |
Version 2.0.3:
|
| 435 |
|
| 436 |
* Work around problem programming fuse bits on parts like the
|
| 437 |
at90s4433 as described in the following errata:
|
| 438 |
|
| 439 |
http://www.atmel.com/atmel/acrobat/doc1280.pdf
|
| 440 |
|
| 441 |
* Add part definition for at90s4414, at90s4433.
|
| 442 |
|
| 443 |
* Add fuse/lock bit memory instructions for the at90s1200,
|
| 444 |
at90s2333, at90s4433 and at90s8515.
|
| 445 |
|
| 446 |
* Fix setting of programmer status LEDs under certain write-fail
|
| 447 |
conditions.
|
| 448 |
|
| 449 |
|
| 450 |
Version 2.0.2 :
|
| 451 |
|
| 452 |
* Fix writing to read-only memories such as the lock bits of the
|
| 453 |
AT90S2313.
|
| 454 |
|
| 455 |
* Copyright updates.
|
| 456 |
|
| 457 |
|
| 458 |
Version 2.0.1 :
|
| 459 |
|
| 460 |
* Use correct parallel port pins for VCC.
|
| 461 |
|
| 462 |
* Add programmer definition for Atmel's STK200.
|
| 463 |
|
| 464 |
* Add programmer definition for the AVR3 board.
|
| 465 |
|
| 466 |
* Fix address bit encoding for many parts.
|
| 467 |
|
| 468 |
* Allow the ``BUFF'' signal to be asserted by multiple pins of the
|
| 469 |
parallel port (like VCC) instead of just one. The STK200 appears
|
| 470 |
to need this feature.
|
| 471 |
|
| 472 |
|
| 473 |
Version 2.0.0 :
|
| 474 |
|
| 475 |
* Add support for programming fuse and lock bits if supported by the
|
| 476 |
part.
|
| 477 |
|
| 478 |
* Move instruction encoding into the config file. Now any part can
|
| 479 |
be supported as long as it uses the same basic serial programming
|
| 480 |
instruction format.
|
| 481 |
|
| 482 |
* Add part definitions for the ATMega163 and ATMega8 devices.
|
| 483 |
|
| 484 |
|
| 485 |
Version 1.4.3 :
|
| 486 |
|
| 487 |
* Mostly internal code cleanup.
|
| 488 |
|
| 489 |
|
| 490 |
Version 1.4.2 :
|
| 491 |
|
| 492 |
* Fixes for ATMega paged memory support.
|
| 493 |
|
| 494 |
* Support for ATMega16 device.
|
| 495 |
|
| 496 |
|
| 497 |
Version 1.4.1 :
|
| 498 |
|
| 499 |
* No functional changes, update to Copyrights only.
|
| 500 |
|
| 501 |
|
| 502 |
Version 1.4.0 :
|
| 503 |
|
| 504 |
* Add part definitions to the config file.
|
| 505 |
|
| 506 |
* Add initial support for Atmel's ATMega paged memory parts.
|
| 507 |
|
| 508 |
* Config file documentation added.
|
| 509 |
|
| 510 |
* Add a definition for the Dontronics DT006 programmer.
|
| 511 |
|
| 512 |
* Fix Intel Hex support for addresses larger than 64k.
|
| 513 |
|
| 514 |
|
| 515 |
Version 1.3.0 :
|
| 516 |
|
| 517 |
* Make programmer pin assignments configurable.
|
| 518 |
|
| 519 |
|
| 520 |
Version 1.2.2 :
|
| 521 |
|
| 522 |
* Initial public release.
|