Add support for ATmega168p CPU
[pub/USBasp.git] / Readme.txt
index a3ef940..2a6611f 100644 (file)
@@ -1,8 +1,9 @@
 This is the README file for USBasp.
 
 USBasp is a USB in-circuit programmer for Atmel AVR controllers. It simply
-consists of an ATMega8 and a couple of passive components. The programmer
-uses a firmware-only USB driver, no special USB controller is needed.
+consists of an ATMega88 or an ATMega8 and a couple of passive components.
+The programmer uses a firmware-only USB driver, no special USB controller
+is needed.
 
 Features:
 - Works under multiple platforms. Linux, Mac OS X and Windows are tested.
@@ -14,19 +15,18 @@ Features:
 
 LICENSE
 
-The project is built with AVR USB driver by Objective Development, which is
-published under a proprietary Open Source license. To conform with this
-license, USBasp is distributed under the same license conditions. See the
-file "firmware/usbdrv/License.txt" for details.
+USBasp is distributed under the terms and conditions of the GNU GPL version
+2 (see "firmware/usbdrv/License.txt" for details).
+
+USBasp is built with V-USB driver by OBJECTIVE DEVELOPMENT GmbH. See
+"firmware/usbdrv/" for further information.
 
 
 LIMITATIONS
 
 Hardware:
-"circuit/usbasp_5V_circuit.pdf" shows a simple circuit. It doesn't meet the
-voltage range on the data lines specified in USB 1.1. Also this circuit can
-only be used for programming 5V target systems. For other systems a level
-converter is needed.
+This package includes a circuit diagram. This circuit can only be used for
+programming 5V target systems. For other systems a level converter is needed.
 
 Firmware:
 The firmware dosn't support USB Suspend Mode. A bidirectional serial
@@ -36,18 +36,21 @@ interface to slave exists in hardware but the firmware doesn't support it yet.
 USE PRECOMPILED VERSION
 
 Firmware:
-Flash "bin/firmware/usbasp.xxxx-xx-xx.hex" to the ATMega8 with a working
-programmer (e.g. with avrdude, uisp, ...). Set jumper J2 to activate
+Flash "bin/firmware/usbasp.atmega88.xxxx-xx-xx.hex" or
+"bin/firmware/usbasp.atmega8.xxxx-xx-xx.hex" to the used controller with a
+working programmer (e.g. with avrdude, uisp, ...). Set jumper J2 to activate
 USBasp firmware update function.
+You have to change the fuse bits for external crystal (see "make fuses").
+# TARGET=atmega8    HFUSE=0xc9  LFUSE=0xef
+# TARGET=atmega48   HFUSE=0xdd  LFUSE=0xff
+# TARGET=atmega88   HFUSE=0xdd  LFUSE=0xff
 
 Windows:
 Start Windows and connect USBasp to the system. When Windows asks for a
 driver, choose "bin/win-driver". On Win2k and WinXP systems, Windows will
 warn that the driver is is not 'digitally signed'. Ignore this message and
 continue with the installation.
-Now you can run the precompiled version of avrdude: change in command line
-mode to "bin/win-avrdude" and start the program. Consult the documentation
-of avrdude for details. Examples:
+Now you can run avrdude. Examples:
 1. Enter terminal mode with an AT90S2313 connected to the programmer:
    avrdude -c usbasp -p at90s2313 -t
 2. Write main.hex to the flash of an ATmega8:
@@ -58,7 +61,7 @@ J1 Power target
    Supply target with 5V (USB voltage). Be careful with this option, the
    circuit isn't protected against short circuit!
 J2 Jumper for firmware upgrade (not self-upgradable)
-   Set this jumper for flashing the ATMega8 of USBasp with another working
+   Set this jumper for flashing the ATMega(4)8 of USBasp with another working
    programmer.
 J3 SCK option
    If the target clock is lower than 1,5 MHz, you have to set this jumper.
@@ -71,27 +74,23 @@ Firmware:
 To compile the firmware
 1. install the GNU toolchain for AVR microcontrollers (avr-gcc, avr-libc),
 2. change directory to firmware/
-3. run "make"
-4. flash "main.hex" to the ATMega8. E.g. with uisp or avrdude (check
-the Makefile option "make avrdude"). To flash the firmware you have
+3. run "make main.hex"
+4. flash "main.hex" to the ATMega(4)8. E.g. with uisp or avrdude (check
+the Makefile option "make flash"). To flash the firmware you have
 to set jumper J2 and connect USBasp to a working programmer.
+You have to change the fuse bits for external crystal, (check the Makefile
+option "make fuses").
 
 Software (avrdude):
-An extension to avrdude (http://www.nongnu.org/avrdude/) was written.
-To compile the software:
+AVRDUDE supports USBasp since version 5.2.
 1. install libusb: http://libusb.sourceforge.net/
-2. get the csv version of avrdude:
-   export CVS_RSH="ssh"
-   cvs -z3 -d:ext:anoncvs@savannah.nongnu.org:/cvsroot/avrdude co avrdude
-3. cp usbasp/software/usbasp.* avrdude/
-4. cd avrdude
-5. apply the patch:
-   patch < ../usbasp/software/avrdude_usbasp.xxxx-xx-xx.patch
-6. configure to your environment:
+2. get latest avrdude release: http://download.savannah.gnu.org/releases/avrdude/
+3. cd avrdude-X.X.X
+5. configure to your environment:
    ./bootstrap (I had to comment out the two if-blocks which verify the
                 installed versions of autoconf and automake)
    ./configure
-7. compile and install it:
+6. compile and install it:
    make
    make install
 
@@ -109,6 +108,9 @@ after "./configure" I had to edit Makefile:
 change "avrdude_CPPFLAGS" to "AM_CPPFLAGS"
 (why is this needed only on mac? bug in configure.ac?)
 
+Notes on Linux:
+To use USBasp as non-root, you have to define some device rules. See
+bin/linux-nonroot for an example.
 
 FILES IN THE DISTRIBUTION
 
@@ -116,11 +118,11 @@ Readme.txt ...................... The file you are currently reading
 firmware ........................ Source code of the controller firmware
 firmware/usbdrv ................. AVR USB driver by Objective Development
 firmware/usbdrv/License.txt ..... Public license for AVR USB driver and USBasp
-software ........................ Source code of the host software
-circuit ......................... Circuit diagram in PDF
+circuit ......................... Circuit diagram in PDF and EAGLE format
 bin ............................. Precompiled programs
 bin/win-driver .................. Windows driver
-bin/win-avrdude ................. avrdude compiled for Windows
+bin/firmware .................... Precompiled firmware
+bin/linux-nonroot ............... Linux device rule file
 
 
 MORE INFORMATION
@@ -130,11 +132,11 @@ following URLs:
 
 USBasp .......................... http://www.fischl.de/usbasp/
 
-Firmware-only AVR USB driver .... http://www.obdev.at/products/avrusb/
+Firmware-only V-USB driver ...... http://www.obdev.at/products/vusb/
 avrdude ......................... http://www.nongnu.org/avrdude/
 libusb .......................... http://libusb.sourceforge.net/
 libusb-win32 .................... http://libusb-win32.sourceforge.net/
 
 
-2005-04-21 Thomas Fischl <tfischl@gmx.de>
+2011-05-28 Thomas Fischl <tfischl@gmx.de>
 http://www.fischl.de