Pages: [1]   Go Down
Author Topic: Lilypad bootstrap issues solved  (Read 1734 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

If anyone's interested - I think there's a problem with the Lilypad bootloader. It reports a 00 00 00 signature whereas the ATmega168 is expected to report 1E 94 06.

What I was trying to do is run a lone ATmega168 chip with the absolute minimum number of components required with FTDI, i.e. the reset pull-up and DTR capacitor. No resonator or crystal, which is why I selected the Lilypad as board before burning a bootloader into the chip via ISP.

On Mac, here's what I did to test this:
  • cd /Applications/arduino/examples/Communication/ASCIITable/applet
  • /Applications/arduino/hardware/tools/avr/bin/avrdude -F -p m168 -P /dev/tty.usbserial-A900a4Pz -c avrisp -b 19200 -U flash:w:ASCIITable.hex

So it works, i.e. you can run a bare ATmega chip with just one resistor and one capacitor plus an FTDI cable or breakout board - IF you disable the signature check in avrdude with -F, that is.

FWIW, the error from the Arduino-0013 upload was: "avrdude: Yikes!  Invalid device signature."

Suggestion for the next Arduino IDE release: a slightly adjusted Lilypad bootloader?

-jcw
Logged

Forum Administrator
Cambridge, MA
Offline Offline
Faraday Member
*****
Karma: 11
Posts: 3538
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Which version of avrdude were you using?  There are two methods for checking the signature of a device, and the Arduino bootloader only supports one of the two.  Unfortunately, the standard avrdude uses the other.  So we include with the Arduino software a patched version of avrdude that uses the other method.  What if you change avrisp to stk500?
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Aha! Good question, I think I figured it out.

I'm not using an unmodified Arduino-0013, I replaced tools/avr with a symlink to /usr/local/AVRMacPack (because gcc 4.3.0 is buggy for interrupt code and 4.3.2 works).

So I was using this version, which fails:
  avrdude: Version 5.5, compiled on Dec 13 2008 at 13:58:50
Whereas the original in 0013 is this one:
  avrdude: Version 5.4-arduino, compiled on Oct  9 2007 at 11:20:31

Unfortunately, I really need gcc 4.3.2, so I can't go back. I've moved 5.5 out of the way and copied over the 5.4-arduino one. All is well now - thank you.

(I didn't try changing avrisp to stk500)
« Last Edit: March 04, 2009, 12:01:31 pm by jcw » Logged

Pages: [1]   Go Up
Jump to: