[AVRasm]Stack oder Interruptfehler

OP #2921043
Lesenswert?

moin @ all,

ich bekomme seitdem ich mein CompareMatch Interrupt von 0x000A 
korrigiert habe zu: 0x000D folgende Fehlermeldung:
******(23): error: Overlap in .cseg: addr=0xd conflicts with 0xd:0xe

Wo liegt der Fehler? Bzw. was bedeutet der Fehler?
Zeile 23 ist die Abfrage direkt nach der Initialisierung:
cpi r16, 0x01      //Ist DDRB schon konfiguriert?

Vielen Dank schon mal für sämtliche antworten

fabi
Angehängte Dateien:
#2921104
Lesenswert?

Fabian Scheidig schrieb:
> Aber mehr hab ich leider auch noch nicht davon verstanden.

Die Befehle werden nacheinander im Speicher angeordnet. Dieses streng 
monotone Nacheinander wird mit dem .org beeinflusst:
1
.org 0x000D    der nächste Befehl kommt auf Adresse 000D
2
  rjmp matcha  dieser nämlich, der nächste dann auf 000E
3
.org 0x000B    aber halt, wir machen nicht mit 000E weiter, sondern mit 000B
4
  rjmp extpin  dieser also auf 000B, der nächste auf 000C
5
...
6
in r16, DDRB   dieser also auf 000C, der nächste auf 000D 
7
cpi r16, 0x01  dieser also auf 000D, der nächste auf 000E
Und welcher soll jetzt auf 000D, 'rjmp matcha' oder 'cpi r16, 0x01'?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren