.hex auf verschiedenen AVR's

#2347471
Lesenswert?
• ▲
▼
Die Hexen müssen abgestimmt sein.
Es gibt Ausnahmen, wie z.B. dass der mega128 per fuse setting als ein 
mega103 betrieben werden kann.

Ich habe neulich ein Projekt für einen mega16 aus einem Template-Projekt 
für den 32er erstellt. Ich hatte vergessen, den Prozesortyp im makefile 
umzustellen. Fazit: nach dem ersten Funktionsaufruf schmiert der 
Prozessor ab. Warum, hab ich noch nicht herausgefunden. Liegt der RAM 
auf einer anderen IO-Adresse, da er beim 32er größer ist??
Flashen und der mainloop allein funktionierten allerdings einwandfrei.

mfg mf
#2347551
Lesenswert?
• ▲
▼
Therfd schrieb:
> Oder müssen die .hex Files auf den jeweiligen AVR abgestimmt sein?
ja, die fast einzige Ausnahme sind die Baureihen, die sich nur durch 
die Speichergröße unterscheiden z.B. tiny24, 44, 84 - auch daran zu 
erkennen das die dasselbe Datenblatt haben.
Ansonsten funktioniert das vielleicht durch Zufall, weil gerade die 
abweichenden Funktionen/Register/Interrupts nicht benutzt werden.

Sascha
#2347565
Lesenswert?
• ▲
▼
Das genormte .hex-Format enthält die Anfangsadresse der zu speichernden 
Daten in jedem Zeilenbeginn.
Wenn also der Kontroller die gleiche Speicherstruktur hat, wie z.B. 
Anfangsadresse des Speichers, geht es ohne weiteres. Die Lauffähigkeit 
geht eher dadurch verloren, dass die Plätze für die Int-Vektoren anders 
liegen oder dass die im Programm angesprochenen 
special-function-register andere Adressen haben.
Gast #2347575
Lesenswert?
• ▲
▼
Hi

>ja, die fast einzige Ausnahme sind die Baureihen, die sich nur durch
>die Speichergröße unterscheiden z.B. tiny24, 44, 84 - auch daran zu
>erkennen das die dasselbe Datenblatt haben.

Das ist kein eindeutiges Kriterium. ATMega48/88/168 teilen sich auch ein 
Datenblatt. Aber bei den ATMega48/88 belegt ein Eintrag in der 
Interrupvektortabelle ein Word (rjmp). Beim ATMega168 sind es zwei Word 
(jmp). Obwohl ein Programm der ersten beiden in den ATMega168 passt wird 
der erste Interrupt einen Sprung ins Nirvana zur Folge haben.

MfG Spess

Antwort schreiben

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.

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.