From: Alaric Snell-P. <al...@sn...> - 2012-06-13 22:01:15
|
Hello folks! I have an Arduino Uno that, as far as I can tell, works fine; it's run a few sample sketches from the Arduino IDE, although I've not tested it hard enough to entirely rule out a chip failure. Anyway, from a freshly downloaded and extracted amforth 4.8 zip file, I have run the following commands: avrdude -c usbtiny -p atmega328p -U efuse:w:0x5:m avrdude -c usbtiny -p atmega328p -U hfuse:w:0xd9:m avrdude -c usbtiny -p atmega328p -U lfuse:w:0xff:m avrdude -c usbtiny -p atmega328p -U flash:w:amforth-4.8/appl/arduino/duemilanove.hex avrdude -c usbtiny -p atmega328p -U eeprom:w:amforth-4.8/appl/arduino/duemilanove.eep.hex These have all programmed and verified, although the eeprom write has the following worrying message: -------------------------------B<------------------------------- avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e950f avrdude: reading input file "amforth-4.8/appl/arduino/duemilanove.eep.hex" avrdude: input file amforth-4.8/appl/arduino/duemilanove.eep.hex auto detected as Intel Hex avrdude: writing eeprom (82 bytes): Writing | | 0% 0.00s avrdude: error: usbtiny_send: Connection timed out (expected 82, got -110) Writing | ################################################## | 100% 1.11s avrdude: 82 bytes of eeprom written avrdude: verifying eeprom memory against amforth-4.8/appl/arduino/duemilanove.eep.hex: avrdude: load data eeprom data from input file amforth-4.8/appl/arduino/duemilanove.eep.hex: avrdude: input file amforth-4.8/appl/arduino/duemilanove.eep.hex auto detected as Intel Hex avrdude: input file amforth-4.8/appl/arduino/duemilanove.eep.hex contains 82 bytes avrdude: reading on-chip eeprom data: Reading | ################################################## | 100% 0.10s avrdude: verifying ... avrdude: 82 bytes of eeprom verified avrdude: safemode: Fuses OK avrdude done. Thank you. -------------------------------B<------------------------------- What's with the "avrdude: error: usbtiny_send: Connection timed out (expected 82, got -110)" that then seems to work fine the second time? It verifies OK in the end, however... So, I run up a minicom on the USB serial port at 9600 baud and when I press reset on the arduino board I see: amforth 4.8 ATmega328P Forthduino > If I press enter I get ok prompts: > ok > ok > ok > ok > ok > ok > All working, right? So I try my standard FORTH test: > 1 1 + . ...and it hangs. No result comes back and the serial link stops echoing. Press reset and I get the prompt again. COLD works: amforth 4.8 ATmega328P Forthduino > cold amforth 4.8 ATmega328P Forthduino > If I try "words" I get a mixture of valid-looking output and garbage characters, then a hang. Let's try defining a word: > : hi ." Hello world " cr ; : ?? ...and the system is again hanging, with no serial echo. Have I done something wrong? Should I try and rebuild duemilanove.hex and the eeprom file from scratch? Does anybody have any idea what the problem could be? Thanks, ABS -- Alaric Snell-Pym http://www.snell-pym.org.uk/alaric/ |