Compiling avrdude with MinGW/MSYS
It looks like Cygwin is not a recommended build environment for arvdude (see bug #29263) anymore, so in order to build avrdude for Windows you should use MinGW/MSYS. Surprisingly this is quite simple:
- download MinGW (I've used automated installer mingw-get-inst-20110316.exe),
- install MinGW, required components are C Compiler and MSYS Basic System (109 MB total), preferably to default directory (no spaces in name),
- download binary release of libusb-win32 (in my case libusb-win32-bin-18.104.22.168.zip),
- copy from libusb package:
include\usb.h -> C:\MinGW\include\ lib\gcc\libusb.a -> C:\MinGW\lib\ bin\x86\libusb0_x86.dll (or other depending on your OS) -> C:\MinGW\bin\
- start MinGW shell (shortcut created at Programs menu or
C:\MinGW\msys\1.0\msys.bat), it will create home directory
- extract avrdude sources (
avrdude-5.10.tar.gzin my case) to your
- type (and hit enter):
avrdude.exeshould be created in the avrdude sources directory, with libusb support it has 847 kB in my case,
- optionally reduce avrdude binary size by stripping debug symbols, type:
- for testing connect programmer and target board
(usbasp + ATmega8 board in my case, command will be different for other programmer/MCU)
and to read device signature type:
avrdude -c usbasp -p m8
Resulting binary: avrdude.zip.
Note: downloading and installing libusb is optional, if you are going to use only i.e. STK-200 programmer you can skip it. It is required to use avrdude with usbasp.
Changes for avrdude 5.11 and MinGW/MSYS 20110802
- it looks like bison/yacc was not installed when choosing "MSYS Basic System" in MinGW installer; install MinGW with "MinGW Developer Toolkit" component option checked,
- it seems that avrdude 5.11 is not yet compatible with libusb-win32 1.2.5 (although this is only header name mismatch usb.h (expected) and lusb0_usb.h (libusb 1.2.5) most likely); use libusb-win32 1.2.4 or older.
Resulting binary: avrdude-5.11-w32-libusb.zip (no libftdi).
With avrdude 6.0.1 (Sep 2013) and 6.1 (Mar 2014) official avrdude Windows binaries are provided by the author.