AVRDUDE - AVR Downloader/UploaDEr
is an open source utility to
download/upload/manipulate the ROM and EEPROM contents of AVR
microcontrollers using the in-system programming technique (ISP).
AVRDUDE has once been started by Brian S. Dean as a private project
of an in-system programmer for the Atmel AVR microcontroller series,
as part of the Opensource software tools collection available for
these controllers. Originally, the software was written for the FreeBSD operating system,
maintained in a private CVS repository, and distributed under the name
Due to the growing interest in porting the software to other
operating systems, Brian
decided to make the project publically accessible on
savannah.nongnu.org. The name change to AVRDUDE has been chosen to
resolve the ambiguity with the avrprog utility as distributed
by Atmel together with their AVRstudio software.
The major features of AVRDUDE include:
- Command-line driven user interface for all downloading and
uploading features (including handling fuse bytes), for easy
automation e. g. by inclusion into Makefiles.
- Interactive examination and modification of various memory
regions in so-called terminal mode. Also offered is an
option to modify the operational parameters of an Atmel STK500
board (target voltage, VAref, master clock frequency).
- Known to run on FreeBSD, MacOS X, Linux, and Win32 platforms. By using
FreeBSD's ppi(4) or Linux'
parport(4) drivers, secure parallel-port access
without root privileges can be maintained. On Win32 platforms,
parallel port access requires the previous installation of a driver
(giveio.sys) that grants a user process direct access to
the IO registers. Will possibly also run on other Unix systems
like Solaris (except for parallel-port programmers), but this has
not yet been tested.
- Supports a wide range of programming hardware, from cheap ISP
plugs that connect the AVR's ISP interface directly to a
computer's parallel port (no additional circuitry) or serial port (some additional circuitry needed), more advanced
ISP adapters using a buffer/driver chip (like a 74HC373), up to
(more complex) serially connected programmers like AVR910-style
ISP devices, the Atmel STK500 board, and the Atmel JTAG ICE mkII. Most popular adapters
come pre-defined, adding a new parallel-port adapter is as simple
as editing a configuration file (no recompilation needed).
- Supports Intel Hex, Motorola S-Record, and raw binary files
for input and output, as well as direct memory contents
specification on the command-line (useful e. g. for fuse
bytes). On input, the file format can be auto-detected.
- In "terminal mode", the device's memory areas can be
examined, and possibly modified. This allows to set fuses
interactively, or to modify a few EEPROM cells.
To get support for AVRDUDE, or get in contact with other users of
this tool, see the avr-chat
People who want to contribute in some way to the project can
subscribe to the avrdude-dev
mailing list, and get in contact with the developer team
If you are certain you found a bug in AVRDUDE, you can open a bug
Some more information is available at Brian's private site.
Last modified: Fri Sep 23 23:21:06 MET DST 2005