Hallo ich habe einen ATmega168 (als Ersatz für einen mega8).
Dieser soll mit diesem Bootloader versehen werden:
http://www.fischl.de/avrusbboot/
Ich bin kläglich gescheitert, das Programm zu portieren: Hier ist was
ich getan habe:
1. Testweise die Bootloader Comdition hart auf 1 gesetzt, um dies als
Fehlerquelle auszuschließen.
2. das GICR Register in MCUCR umbenannt.
3. Das Signal von INT0 in INT0_vect umbenannt.
4. Das Makefile bearbeitet:
BOOTLOADER_ADDRESS = 0x3800 #Byteadresse
LDFLAGS += -Wl,--section-start=.text=$(BOOTLOADER_ADDRESS)
5. Fuses angepasst:
#LOW: 0xFF
#HIGH: 0xDF
#EXTEND: 0xF8
Probleme ergeben sich schon beim kompilieren. Der GCC meckert bei dem
Wort PROGMEM. Keine ahnung warum. Habe es einfach entfernt...
Leider tut sich nichts. Ich bekomme den Bootloader nicht ans Laufen.
Weiß jemand was man ändern muss? ode rhat jemand einen Bootloader, der
mit der gleichen Hardware funktioniert?
Eine Frage noch:
Um den Interrupt auf den Bootloader umzubiegen, werden bestimmte Bits im
MCUCR Register geschrieben. Soweit so gut. Allerdings ist mir nicht
klar, wie das Assemblerfile den Vector ummapt. Soweit ich sehe wird
einfach
verwendet. Muss da nicht noch der Offset von der Vectortabelle drauf?
Kenne mich leider mit Assembler in GCC nicht aus.
Weiß jemand, wie man das ans Laufen bekommt?