Go to file
Marius Greuel d5959d27b8 Remove README, AUTHORS, ChangeLog*, BUILD-FROM-SVN 2021-12-16 23:25:06 +01:00
atmel-docs Just to make sure this won't get lost over time, make a copy of 2015-11-02 21:13:28 +00:00
doc Add .gitattributes and .gitignore, remove .cvsignore 2021-12-16 23:24:32 +01:00
tools Allow for overriding make tool from environment 2021-12-10 22:34:57 +00:00
windows Add .gitattributes and .gitignore, remove .cvsignore 2021-12-16 23:24:32 +01:00
.editorconfig Add .editorconfig 2021-12-16 23:24:32 +01:00
.gitattributes Add .gitattributes and .gitignore, remove .cvsignore 2021-12-16 23:24:32 +01:00
.gitignore Add .gitattributes and .gitignore, remove .cvsignore 2021-12-16 23:24:32 +01:00
COPYING Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
INSTALL Add a project-related INSTALL file 2021-12-14 22:03:51 +00:00
Makefile.am Remove README, AUTHORS, ChangeLog*, BUILD-FROM-SVN 2021-12-16 23:25:06 +01:00
NEWS Update for release of version 6.4 2021-12-16 21:02:35 +00:00
README.md Add README.md 2021-12-16 23:24:32 +01:00
arduino.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
arduino.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
avr.c Submitted by Martino Facchin: 2021-11-12 22:02:29 +00:00
avr910.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
avr910.h Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
avrdude.1 Improve defaults and documentation of linuxspi 2021-11-27 17:33:49 +00:00
avrdude.conf.in patch #8996: Remove lock byte read mask (bug#21954, bug#46759) 2021-11-27 21:28:45 +00:00
avrdude.h added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
avrdude.spec.in Submitted by Galen Seitz: 2005-11-29 20:28:51 +00:00
avrftdi.c Submitted by Martin Thierer: 2021-11-07 16:00:16 +00:00
avrftdi.h bug #42662 clang warnings under FreeBSD 10.x 2014-07-16 20:38:52 +00:00
avrftdi_private.h avrftdi_private.h: added missing msg level for avrdude_message in E/E_VOID macros 2014-06-17 20:27:37 +00:00
avrftdi_tpi.c Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
avrftdi_tpi.h Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
avrpart.c Ensure page_size is always at least 1 2020-09-10 21:37:34 +00:00
bitbang.c Submitted by David Mosberger-Tang: 2021-11-14 13:17:44 +00:00
bitbang.h Fix author name in some files. 2018-03-15 22:03:36 +00:00
bootstrap bootstrap: Detect whether libtoolize is named `glibtoolize' (MacOS) 2017-12-29 22:23:06 +00:00
buspirate.c Submitted by Andrew D'Addesio: 2021-11-06 22:34:29 +00:00
buspirate.h patch #7724 Add TPI support for Bus Pirate using bitbang mode 2013-01-30 21:15:39 +00:00
butterfly.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
butterfly.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
config.c patch #9819: Address several leaks in SVN rev 1429 2020-03-14 22:34:45 +00:00
config.h Removing exit calls from config parser 2014-06-17 20:08:28 +00:00
config_gram.y Enforce correct length of target string constraints in strncpy(). 2020-09-10 21:43:23 +00:00
configure.ac Remove README, AUTHORS, ChangeLog*, BUILD-FROM-SVN 2021-12-16 23:25:06 +01:00
confwin.c Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
crc16.c Major code cleanup. 2007-01-24 22:43:46 +00:00
crc16.h Major code cleanup. 2007-01-24 22:43:46 +00:00
dfu.c bug #42662 clang warnings under FreeBSD 10.x 2014-07-16 20:02:01 +00:00
dfu.h * flip2.c (flip2_page_erase): Remove unimplemented function. 2014-01-17 14:00:01 +00:00
fileio.c Fix various typos. 2020-09-16 21:31:19 +00:00
flip1.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
flip1.h Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
flip2.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
flip2.h Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
freebsd_ppi.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
ft245r.c Turn off FT245R_BITBANG_VARIABLE_PULSE_WIDTH_WORKAROUND by default 2021-12-01 22:17:50 +00:00
ft245r.h Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
jtag3.c * jtag3.c (jtag3_edbg_recv_frame): Better handling for 2021-11-24 21:04:47 +00:00
jtag3.h Submitted by Jan Egil Ruud <janegil.ruud@microchip.com> 2017-11-29 23:09:51 +00:00
jtag3_private.h Submitted by Jan Egil Ruud: 2021-11-06 22:13:51 +00:00
jtagmkI.c bug #43137: Writing and reading incorrect pages when using jtagicemkI 2014-11-23 20:57:17 +00:00
jtagmkI.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
jtagmkII.c Fix various typos. 2020-09-16 21:31:19 +00:00
jtagmkII.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
jtagmkII_private.h Fix byte-wise EEPROM and flash writes on Xmega 2013-09-08 19:57:58 +00:00
jtagmkI_private.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
lexer.l Submitted by Jan Egil Ruud <janegil.ruud@microchip.com> 2018-01-09 23:29:31 +00:00
libavrdude.h bug #58440: linuxgpio PIN limit too low 2021-11-27 21:54:56 +00:00
linux_ppdev.h * linux_ppdev.h: added missing msg level for avrdude_message in ppi_claim/ppi_release macros 2014-06-23 20:20:38 +00:00
linuxgpio.c patch #8923: Enable TPI for linuxgpio 2021-11-27 21:41:44 +00:00
linuxgpio.h patch #7165 Add support for bitbanging GPIO lines using the Linux sysf GPIO interface 2013-01-09 19:23:30 +00:00
linuxspi.c patch #10153: linuxspi: Support "-E reset" and "-E noreset" 2021-12-03 22:30:05 +00:00
linuxspi.h patch #9816: Implement new programmer type: linuxspi 2020-09-19 21:32:38 +00:00
lists.c Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
main.c Update for release of version 6.4 2021-12-16 21:02:35 +00:00
my_ddk_hidsdi.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
par.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
par.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
pgm.c Removing exit calls from config parser 2014-06-17 20:08:28 +00:00
pgm_type.c patch #8719: Support Over-the-Air bootloading with XBeeBoot 2021-11-22 21:35:26 +00:00
pickit2.c bug #58994: VPP PWM still enabled at the end of programming process 2021-12-06 21:13:00 +00:00
pickit2.h Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
pindefs.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
ppi.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
ppi.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
ppiwin.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
safemode.c Reported by Roger A. Krupski: 2017-03-05 18:23:18 +00:00
ser_avrdoper.c Submitted by Axel Simon: 2018-01-14 23:12:06 +00:00
ser_posix.c Submitted by Reinhard Max 2018-01-17 07:39:29 +00:00
ser_win32.c patch #9304: [Bug #48767] Implemented WinSock variation of "ser_drain(...)" functionality 2021-11-27 21:15:55 +00:00
serbb.h Fix author name in some files. 2018-03-15 22:03:36 +00:00
serbb_posix.c Fix author name in some files. 2018-03-15 22:03:36 +00:00
serbb_win32.c Fix author name in some files. 2018-03-15 22:03:36 +00:00
solaris_ecpp.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
stk500.c Submitted by gerardoallende: 2021-06-27 20:42:06 +00:00
stk500.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
stk500_private.h Add support for displaying and changing the various STK500 operational 2003-07-24 21:26:28 +00:00
stk500generic.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
stk500generic.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
stk500v2.c Submitted by Joseph Coffland: 2021-11-11 20:59:25 +00:00
stk500v2.h * pgm_type.c: Add "jtagice3_isp" programmer hook 2012-12-03 15:52:38 +00:00
stk500v2_private.h Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
term.c Submitted by Jon Thacker: 2021-11-12 22:11:49 +00:00
term.h Join the former "public" header files (avr.h avrpart.h pindefs.h 2014-05-19 10:01:59 +00:00
tpi.h avr.c: Adds avr_tpi_program_enable 2013-05-06 12:49:26 +00:00
update.c bug #50517: Reading fails if "immediate mode" for output file format 2021-11-07 16:22:00 +00:00
usb_hidapi.c In usbhid_open(), correctly calculate the 2016-04-18 14:47:53 +00:00
usb_libusb.c patch #8435: Implementing mEDBG CMSIS-DAP protocol 2016-02-15 19:58:45 +00:00
usbasp.c Submitted by Martin Thierer: 2021-11-07 20:10:24 +00:00
usbasp.h patch #9963: UsbAsp 3 MHz patch for UsbAsp-flash firmware 2020-09-18 21:52:12 +00:00
usbdevs.h Submitted by Jan Egil Ruud: 2021-11-06 22:13:51 +00:00
usbtiny.c bug #55734: USBtiny programming of ATmega328p broken by Patch #9278 2021-11-07 15:44:18 +00:00
usbtiny.h Fix various typos. 2020-09-16 21:31:19 +00:00
wiring.c added verbose level in avrdude_message() 2014-06-13 20:07:40 +00:00
wiring.h Replace outdated FSF postal address by a reference to 2012-11-20 14:03:50 +00:00
xbee.c patch #8719: Support Over-the-Air bootloading with XBeeBoot 2021-11-22 21:35:26 +00:00
xbee.h patch #8719: Support Over-the-Air bootloading with XBeeBoot 2021-11-22 21:35:26 +00:00

README.md

AVRDUDE

AVRDUDE - AVR Downloader Uploader - is a program for downloading and uploading the on-chip memories of Microchips AVR microcontrollers. It can program the Flash and EEPROM, and where supported by the programming protocol, it can program fuse and lock bits. AVRDUDE also supplies a direct instruction mode allowing one to issue any programming instruction to the AVR chip regardless of whether AVRDUDE implements that specific feature of a particular chip.

AVRDUDE was originally written in 2003 by Brian S. Dean. Since 2006, AVRDUDE has been maintained by Jörg Wunsch, with the help of various contributors.

Getting AVRDUDE for Windows

To get AVRDUDE for Windows, install the latest version from the Releases page:

Alternatively, you may build AVRDUDE yourself from source.

Getting AVRDUDE for Linux

To install AVRDUDE for Linux, install the package avrdude by running the following commands:

sudo apt-get install avrdude

Alternatively, you may build AVRDUDE yourself from source.

Using AVRDUDE

AVRDUDE is a command-line application. Run the command avrdude without any arguments for a list of options.

A typical command to program your HEX file into your AVR microcontroller looks like this:

avrdude -c <programmer> -p <part> -U flash:w:<file>:i

For instance, to program an Arduino Uno connected to the serial port COM1 with a HEX file called blink.hex, you would run the following command:

avrdude -c arduino -P COM1 -b 115200 -p atmega328p -D -U flash:w:objs/blink.hex:i

There are many different programmers and options that may be required for the programming to succeed. For more information, refer to the AVRDUDE documentation.

Building AVRDUDE for Windows

Windows Prerequisites

TODO.

Windows Build Instructions

TODO.

Building AVRDUDE for Linux

Linux Prerequisites

To build AVRDUDE for Linux, you need to install the following packages:

sudo apt-get install build-essential git automake libtool flex bison libelf-dev libusb-dev libftdi1-dev libhidapi-dev

To build the documentation, you need to install the following packages:

sudo apt-get install texlive texi2html

Linux Build Instructions

To build AVRDUDE for Linux, run the following commands:

git clone https://github.com/avrdudes/avrdude
cd avrdude
./bootstrap
./configure
make

To build the documentation for AVRDUDE, run the following commands:

cd doc
make all

License

AVRDUDE is licensed under the GNU GPLv2.