Atmel AES Bootloader, ATMega88 und IAR Compiler

OP #1965971
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
Angehängte Dateien:
OP
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........
OP
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
Angehängte Dateien:
OP
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?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.