mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fehler bei Assemblierung beim umstieg vom Mega8 auf Mega16


Autor: Simon (Gast)
Datum:

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

Autor: Johannes M. (johnny-m)
Datum:

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

Autor: fubu1000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
code????

Autor: Simon (Gast)
Datum:

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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Da muss man erstmal drauf kommen :-P

Wozu gibt es eigentlich Datenblätter?

...

Autor: Simon (Gast)
Datum:

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

Autor: Hannes Lux (hannes)
Datum:

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

...

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich auch ;-)

Der Blick in´s Datenblatt ist bei mir immer das erste, wenn ein Code 
nicht will oder der Assembler mehr als üblich meckert.

Autor: Bernd T. (bastelmensch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo klar Leute, und Ihr versteht auch immer alles auf anhieb aus den 
Datenblättern und denkt immer an alles beim Umsteigen...

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das sicher nicht, aber man lernt aus den Fehlern, die man selbst 
mal gemacht hat. Normalerweise...

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.