I used a website to calculate the fuse settings for my ATmega32a but I missed one of the settings and have accidentally written fuses to expect an external clock instead of using it's internal oscillator as I had intended. (The fuses written are E: FF, H: D9, L: F0)
I can no longer write new programs to it, nor rewrite the fuses.
Besided the ATmega32a, I have avrdude, a USBtiny, and an arduino.
I've tried programming a simple blink loop into the arduino to set a pin high for 1ms and low for 1ms, and connected that to XTAL1 on the ATmega32a as an external clock source while trying to rewrite the fuses but I couldn't get that to work. I'm not sure if I should have expected it to work.
Is it possible to simulate an external clock with an arduino sufficiently well for a USBtiny to let me write my intended fuse settings? Do I need to supply any special arguments to avrdude?
Here is what I see with the arduino connected to XTAL1
I can no longer write new programs to it, nor rewrite the fuses.
Besided the ATmega32a, I have avrdude, a USBtiny, and an arduino.
I've tried programming a simple blink loop into the arduino to set a pin high for 1ms and low for 1ms, and connected that to XTAL1 on the ATmega32a as an external clock source while trying to rewrite the fuses but I couldn't get that to work. I'm not sure if I should have expected it to work.
Is it possible to simulate an external clock with an arduino sufficiently well for a USBtiny to let me write my intended fuse settings? Do I need to supply any special arguments to avrdude?
Here is what I see with the arduino connected to XTAL1
Code:
$ avrdude -c usbtiny -p atmega32 -vv
avrdude: Version 6.2
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/etc/avrdude.conf"
User configuration file is "/home/ac/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : usb
Using Programmer : usbtiny
avrdude: usbdev_open(): Found USBtinyISP, bus:device: 003:011
AVR Part : ATmega32
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 4 10 64 0 no 1024 4 0 9000 9000 0xff 0xff
flash 33 6 64 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 2000 2000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 2000 2000 0x00 0x00
lock 0 0 0 0 no 1 0 0 2000 2000 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00
Programmer Type : USBtiny
Description : USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
avrdude: programmer operation not supported
avrdude: Using SCK period of 10 usec
CMD: [ac 53 00 00] [ac 50 00 00]
CMD: [ac 53 00 00] [ff f3 00 00]
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Last edited: