mikrocontroller.net

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


Autor: Bjoern B. (minkfeld)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Bjoern B. (minkfeld)
Datum:

Bewertung
0 lesenswert
nicht 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........

Autor: Bjoern B. (minkfeld)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Bjoern B. (minkfeld)
Datum:

Bewertung
0 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.