Forum: Mikrocontroller und Digitale Elektronik Overlap detected in .CSEG


von Thomas H. (Gast)


Lesenswert?

Hallo,

ich habe o. g. Fehlermeldung im AVR-Studio beim assemblieren bekommen. 
Ich habe versucht mein grossen Programm in kleine Module aufzuteilen. 
Ich denke da liegt der Fehler.

So sieht in etwa die Aufteilung aus:

Modul heisst z. B. sub.inc.asm mit folgendem Inhalt:

sub:

... Befehle ...

ret

Hauptprogramm main.asm enthaelt:

.include "sub.inc.asm"

... Befehle ...
rcall sub
... Befehle ...

Wie kann ich es besser aufteilen!?

Danke und ade,

Thomas H.

von thkaiser (Gast)


Lesenswert?

Hast Du in Deiner "sub.inc.asm" einen .org - Befehl? Falls ja, dann 
schmeiß den raus. Auch .cseg oder .eseg können u.U. hinderlich sein.

von Thomas H. (Gast)


Lesenswert?

Hallo,

ich habe keine dieser Befahle verwandt, ausser .org in main fuer die 
Interrupts. Ich dachte, ich sollte vielleicht einige hinzufuegen!? Aber 
wie?

Danke und ade,

Thomas H.

von mikki merten (Gast)


Lesenswert?

Fehler liegt wohl in der Reihenfolge. So sollte es funktionieren.

.cseg

.org  $0

rjmp  MAIN
...                 ;weitere Interrupt Vektoren

.include "DATEI"    ;ohne .org und .cseg


MAIN:

rcall ROUTINE_AUS_DATEI

von Thomas H. (Gast)


Lesenswert?

Vielen Dank, funktioniert jetzt gut.

Thomas H.

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
Noch kein Account? Hier anmelden.