Forum: Mikrocontroller und Digitale Elektronik Atmel AES Bootloader, ATMega88 und IAR Compiler


von Bjoern B. (minkfeld)


Angehängte Dateien:

Lesenswert?

Guten Morgen,

ich wollte gerade den AES Bootloader vom ATMega8 auf den ATMega88 
umschreiben. Die Source Files für den Bootloader sind die von der Atmel 
Homepage.

Haben den Bootloader bis jetzt für den ATMega164P benutzt, eine 
Anpassung darauf war kein Problem. Nur der ATM88 macht jetzt Probleme.

Das Problem ist dass ich beim compilieren die im Anhang zu sehende 
Fehlermeldung bekomme. So wie ich das verstehe, ist zu wenig Speicher 
vorhanden. Doch bis auf das anpassen der USART Register hab ich am Code 
nichts verändert. Und die RAM Größe ist doch beim ATM88 genauso groß wie 
beim ATM8. Ohne die C Runtime Library kann ich das Projekt compilieren, 
jedoch läuft der Loader dann nicht. Weiß jemand Rat?


Gruß,
Minkfeld

von Bjoern B. (minkfeld)


Lesenswert?

Hab gerade unter den Projektoptionen beim Linker folgende #defines 
gefunden:

BOOT_SIZE=800
FLASH_SIZE=2000
IVT_SIZE=26
RAM_SIZE=400
RAM_BASE=60
APP_SRAM_USAGE=30A

Weiß vielleicht jemand warum genau diese Werte dort stehen? Kann damit 
gerade gar nichts anfangen........

von Bjoern B. (minkfeld)


Angehängte Dateien:

Lesenswert?

So,

ich habe nun den Bootloader auf den baugleichen ATmega168 zum laufen 
bekommen. Scheint wohl wirklich daran zu liegen dass der Speicherbedarf 
einfach zu groß ist.

Habe den Loader mal für den ATMega168 und den GCC angepasst. Fehlerfrei 
compilieren und flashen lässt er sich, nur die Funktion passt noch nicht 
zu 100%. Ich bekomme beim compilieren immer folgende Warnung:

AVR Simulator: Invalid opcode 0xffff at address 0x001e00

Scheint wohl irgendwas mit den Assembler Sprungadressen nicht zu 
stimmen, find nur den Fehler leider nicht.

Ich hoffe jemand kann mir helfen. Hab das Projekt mal angehängt....


Gruß,
Minkfeld

von Bjoern B. (minkfeld)


Lesenswert?

Guten Morgen,

leider bin ich immer noch nicht weiter gekommen. Hab auch erst mal 
gemerkt wie schlecht meine Assemblerkenntnisse sind.

Die folgende Fehlermeldung ist leider immer noch vorhanden:

AVR Simulator: Invalid opcode 0xffff at address 0x001e00

Hatte jetzt gelesen dass man nach einem rjmp Befehl nicht wieder mit ret 
zurückspringen darf. Könnte das vielleicht das Problem sein?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.