Hallo zusammen, bin gerade dabei eine Lüftersteuerung zu programmieren. Jetzt wollte ich Code, den ich evtl. für andere Projekte wiederverwenden will, in eine separate ASM-Datei in einem anderen Verzeichniss auslagern. Dabei ist mir jetzt erstmal aufgefallen, dass es wohl nicht möglich ist relative Pfadangaben zu machen. Ist das richtig? Dann habe ich es mit einer absoluten Pfadangabe versucht, die Datei wird gefunden und assembliert. Leider bekomme ich jetzt folgende Fehlermeldungen: error: Overlap in .cseg addr=0x00 conflicts with 0x0:0x2 error: Overlap in .cseg addr=0x01 conflicts with 0x0:0x2 Die erste Fehlerzeile bezieht sich auf folgende Codezeile: .org 0x0000 rjmp init Die zweite auf: init: ldi temp, LOW(RAMEND) out SPL, temp ... Also auf die Stackpointer Initialisierung. Woran könnte das liegen? Gruß Mathias
>Dabei ist mir jetzt erstmal aufgefallen, dass es wohl nicht möglich ist >relative Pfadangaben zu machen. zeig doch bitte mal Deine incl Zeilen.
Vollständigen Code posten! Ansonsten kann man nur vermuten, dass vor dem .org 0x0000 ein .include steht, durch das der zweite gezeigte Teil eingebunden werden soll. Und das geht grundsätzlich schief! Assembler-Dateien werden immer von oben nach unten abgearbeitet. Wenn da Code steht und dann plötzlich ein .org, das auf eine Adresse weist, die kleiner ist, als die aktuelle, dann knallt es eben.
Hallo, [Glaskugelmode] Du solltest daran denken, daß der Assembler die include-Files genau dort bearbeitet, wo Du sie einfügst. Wenn Du Code vor dem Beginn des Programms (Reset-Vektor) einfügst, ünersetzt der Assembler den auch dort. Ab Adresse 0... [/Glaskugelmode] PS: Johannes war schneller bzw. das Forum lahmt extrem! Gruß aus Berlin Michael
Sorry wegen dem fehlenden Code, aber ihr hattet recht, vielen Dank. Es lag an .include vor .org! Könnt ihr mir evtl. noch sagen ob es stimmt, dass keine relativen Pfadangaben möglich sind? Vielen Dank Mathias
Hi Mathias, >keine relativen >Pfadangaben möglich sind? nein die sind möglich!
Es gibt aber einen include-Pfad. Den nutze ich auch nicht, ich kopiere mir die benötigten Includes in den Projektordner. ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.