This is an old revision of the document!
Burning the Firmware on the USBasp Programer
Set Fusebits
# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef # TARGET=atmega48 HFUSE=0xdd LFUSE=0xff # TARGET=atmega88 HFUSE=0xdd LFUSE=0xff
Workaround for Atmega8
1. Erase:
$ sudo avrdude -p atmega8 -c stk500v2 -P /dev/ttyACM0 -e
2. Set Fusebits
$ sudo avrdude -p atmega8 -c stk500v2 -P /dev/ttyACM0 -U hfuse:w:0xc9:m $ sudo avrdude -p atmega8 -c stk500v2 -P /dev/ttyACM0 -U hfuse:w:0xc9:m
3. Burn the Hex File:
$ sudo avrdude -p atmega8 -c stk500v2 -P /dev/ttyACM0 -b115200 -U flash:w:usbasp.atmega8.2011-05-28.hex:i
Comands for the AVRdude
Options:
-p <partno> Required. Specify AVR device.
-b <baudrate> Override RS-232 baud rate.
-B <bitclock> Specify JTAG/STK500v2 bit clock period (us).
-C <config-file> Specify location of configuration file.
-c <programmer> Specify programmer type.
-D Disable auto erase for flash memory
-i <delay> ISP Clock Delay [in microseconds]
-P <port> Specify connection port.
-F Override invalid signature check.
-e Perform a chip erase.
-O Perform RC oscillator calibration (see AVR053).
-U <memtype>:r|w|v:<filename>[:format]
Memory operation specification. Multiple -U options are allowed, each request is performed in the order specified.
-n Do not write anything to the device. -V Do not verify. -u Disable safemode, default when running from a script. -s Silent safemode operation, will not ask you if
fuses should be changed back.
-t Enter terminal mode. -E <exitspec>[,<exitspec>] List programmer exit specifications. -x <extended_param> Pass <extended_param> to programmer. -y Count # erase cycles in EEPROM. -Y <number> Initialize erase cycle # in EEPROM. -v Verbose output. -v -v for more. -q Quell progress output. -q -q for less. -? Display this usage.