Sparkfun Tutorial 2- Programmer Problems

Hello,

I have been working through the “Beginning Embedded Electronics” tutorial (http://www.sparkfun.com/commerce/presen … BEE-2-Code) and have encountered some problems programming an ATmega8 chip. I’m new to this and would appreciate some help.

I’m trying to program the blink_1MHz.hex file onto the micro, and have modified the included makefile to run with my STK200 programmer through the parallel port. I am running Windows NT.

The tutorial calls for an Atmega168, but it was originally written for an ATmega8 and the makefile still lists this as the chip. Since I had some ATmega8’s, I thought swapping back wouldn’t pose a problem.

Initially, I got an error message from WinAvr saying it couldn’t locate a specific .dll: “libusb1” or something to that effect. I copied this file to a location the path was already searching (I’m not really a big computer guy, and this seemed easier than modifying the path). This seemed to work, because the next time I commanded WinAvr to program the chip it said it couldn’t open the device, something about giveio not working. I located the giveio driver and installed it. I’m pretty sure both of these problems are resolved.

At this point, when I attempt to program the micro, WinAvr responds with:

“make.exe” program

Creating load file for EEPROM: blink_1MHz.eep

avr-objcopy -j .eeprom --set-section-flags=.eeprom=“alloc,load” \

–change-section-lma .eeprom=0 -O ihex blink_1MHz.elf blink_1MHz.eep

d:\WinAVR-20070525\bin\avr-objcopy.exe: there are no sections to be copied!

d:\WinAVR-20070525\bin\avr-objcopy.exe: --change-section-lma .eeprom=0x00000000 never used

make.exe: [blink_1MHz.eep] Error 1 (ignored)

avrdude -p atmega8 -P lpt1 -c stk200 -U flash:w:blink_1MHz.hex

avrdude: AVR device not responding

avrdude: initialization failed, rc=-1

Double check connections and try again, or use -F to override

this check.

avrdude done. Thank you.

make.exe: *** [program] Error 1

Process Exit Code: 2

Time Taken: 00:01

I have checked the wiring, rewired, and checked it again. I am fairly certain the connections are good. I have replaced the chip with a new one, and am out of ideas. How should I proceed? What does it mean by “use –F to override this check”?

Thanks in advance for your help.

Using -F will tell avrdude to try to program the chip even if it doesn’t seem to be responding correctly or doesn’t seem to be the right chip… probably not a good idea, although I did have some really old AT90S1200s with bad signature bytes which needed this flag.

Try [running avrdude with the “-v” (verbose) option and telling it to read something (like the fuse bytes, or the first few bytes of program memory, or something) and see if it gives a useful error message when it fails?](AVRDUDE: 2.2 Programmers accepting extended parameters)