Fehler bei Assemblierung beim umstieg vom Mega8 auf Mega16

Gast #610059
Lesenswert?
• ▲
▼
Einen wunderschönen guten Abend wünsche ich, auf folgende Gegebenheit 
kann ich mir einfach keinen Reim machen, vieleicht weiß einer von euch 
ja woran es liegt?

Wenn ich beim AtMega8 ein Programm mit einigen selbstgeschriebenen 
includes assembliere, funktioniert das wunderbar, wenn ich jetzt aber 
statt dem Mega8 den Mega16 oder auch Mega32 als Chip der Wahl angebe 
spuckt mir der Assemblierer einen Overlap Fehler aus :

C:\Dokumente und Einstellungen\MASTER\RSTest\RSTest.asm(40): Including 
file 'C:\Dokumente und Einstellungen\MASTER\RSTest\ASCII_Text.asm'
C:\Dokumente und Einstellungen\MASTER\RSTest\ASCII_Text.asm(9): error: 
Overlap in .cseg: addr=0x1a conflicts with 0x1a:0x1b


Soweit so gut, nur woran kann das liegen XD =?
Der Code läuft auf dem Mega 8 ja einwandfrei und wird auch ohne Probleme 
assembliert.

Wäre wirklich Dankbar wenn jemand da Licht ins Dunkel bringen könnte ^^.

PS: Benutze AVR Studio Version 4.13 Build 528

MfG Simon
#610066
Lesenswert?
• ▲
▼
Wenn Du den betroffenen Code nicht postest, kann man da nicht viel zu 
sagen. Klingt aber nach nem typischen Fehler:
Die Interrupt-Vektoren sind bei allen AVRs mit mehr als 8 KiB Flash 2 
Worte (32 Bit) lang, bei denen mit bis zu 8 KiB (z.B. ATMega8) nur ein 
Wort (16 Bit). Bei einem Umstieg muss also in jedem Fall die 
Vektortabelle angepasst werden und v.a. der Code, der nach der 
Vektortabelle kommt, wenn er mit einem .org eingeleitet wird!
Gast #610084
Lesenswert?
• ▲
▼
Ah, klar XD vielen Dank Johannes genau das war es ... bei den Interrupt 
Vektoren eine ungültige addresse ^^
Da muss man erstmal drauf kommen :-P

Ich danke für die schnelle und gute hilfe trotz fehlenden Codes :-P ;)

MfG Simon
Gast #610104
Lesenswert?
• ▲
▼
LOL son dummen Kommentar gibts doch immer wieder und wie konstruktiv :D

Wenn ich wüsst wo der Fehler liegt, könnte ich selbst im Datenblatt 
nachgucken und bräucht ich wohl kaum zu fragen oder!?
#610115
Lesenswert?
• ▲
▼
Simon wrote:
> LOL son dummen Kommentar gibts doch immer wieder und wie konstruktiv :D
>
> Wenn ich wüsst wo der Fehler liegt, könnte ich selbst im Datenblatt
> nachgucken und bräucht ich wohl kaum zu fragen oder!?

Es ist doch aber allgemein bekannt, dass fast jeder AVR-Typ eine andere 
Interrupt-Vektortabelle hat. Es ist also bei Portierung auf einen 
anderen Typ sowiso die Interrupt-Vektortabelle im Datenblatt 
nachzuschlagen und anzupassen. Dabei sollten einem das Adressraster 
schon auffallen, denn die Vektortabelle des Datenblatts enthält ja auch 
die Adressen in numerischer Form. Unter diesem Aspekt halte ich meinen 
Beitrag sehr wohl für konstruktiv.

...

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.