Hallo Thomas,
* Thomas Mohaupt thomas.mohaupt@gmail.com wrote:
ich kämpfe im Moment noch mit einem ersten fnordlicht. Der Hardwareaufbau war problemlos. Das Aufspielen des Bootloaderes und der Firmware bringt mich dagegen fast zum verzweifeln.
Haben wir alle mal gemacht ;)
/usr/local/avr/lib/gcc/avr/3.4.6/../../../../avr/bin/ld: crtm8.o: No such file: No such file or directory make[1]: *** [main.elf] Error 1 make[1]: Leaving directory `/projects/fnordlicht/fnordlicht-0.2/boot/v0_7' make: *** [bootloader.hex] Error 2
-> gcc-avr an nicht-Standard-Pfad installiert, dann musst du halt damit rechnen, dass du dem gcc in den LDFLAGS -L/usr/local/avr mitgeben musst.
Also /usr/local/avr/lib/avr4/crtm8.o nach boot/v0_7 kopiert
Tuts auch, ist aber ueberhaupt keine schoene Loesung... =)
/usr/local/avr/lib/gcc/avr/3.4.6/../../../../avr/bin/ld: cannot find -lm make[1]: *** [main.elf] Error 1 make[1]: Leaving directory `/projects/fnordlicht/fnordlicht-0.2/boot/v0_7' make: *** [bootloader.hex] Error 2
Gleiches problem, du musst dem gcc den Pfad mitgeben, wo er den Kram finden kann.
Ok, jetzt konnte ich den Bootloader brennen.
Das ist doch schonmal gut :)
zur Kontrolle mal "meine" md5 checksumme vom bootloader [root@localhost fnordlicht-0.2]# md5sum bootloader.hex 4f10ca5f9ffadf861fa4feffb87d4426 bootloader.hex
Die md5-Sum bringt garnichts, das ist bei jedem kleinen Versionsunterschied im gcc eine andere.
Anmerkung: Abgesehen von den genannten Problemen, ist der Aufwand bis es mit dem Programmieren losgehen kann doch enorm (avr-gcc installieren usw.) Wäre es nicht hilfreich die entsprechenden binaries ebenfalls zu hinterlegen, damit man einfach durchstarten kann?
Was meinst du mit 'Binaries'? Vom avr-gcc wuerd das keinen Sinn machen (warum hast du den eigentlich nicht von deiner Distribution installieren lassen?), eventuell koennte man ein fertiges Bootloader-Binary anbieten, muesste ich mal machen[tm].
Der Bootloader ist uebrigens eh ziemlich haesslich, deshalb hab ich den auch ziemlich schnell weggeworfen und selber einen geschrieben (siehe http://lochraster.org/foodloader ).
- Problem make install-fnordlicht
... bricht ab mit [...] Writing | avrdude: error: programmer did not respond to command: write block make: *** [prog-serial-fnordlicht] Error 1 [...] Irgendwelche Ideen?
Zu diesem speziellen Fehler nicht, eventuell sagt dir ein -vvvv bei avrdude mehr...
Versuch dich mal an der C-Firmware ("fnordlicht-ng", auch auf lochraster.org), die Assembler-Firmware die du benutzt hast ist eigentlich obsolet, hab ich seit laengerem auch nicht angeruehrt.
P.S.: Laut Doku wäre als nächstes make install-eeprom dran, das Target gibt es aber garnicht.
Hups, das gibts tatsaechlich nicht. Entweder du installierst einfach mit avrdude das fnordlicht.eep.hex in das eeprom, oder du entfernst aus der fnordlicht.asm die Zeilen 352 bis 360:
cpi w1, 0xff ; check for invalid i2c address brne i2c_continue_init ; (when eeprom is not programmed)
ldi w1, 0b110 ; toggle red leds on out PORTB, w1
i2c_invalid_address: ; refuse to do anything else rjmp i2c_invalid_address
Der Weg, die fnordlichter ueber I2C fernzusteuern wurde eh nicht weiter verfolgt...
Gruss & HTH, - fd0