PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Überlappender Speicherbereich



pacer_one
06.01.2008, 17:24
Hallo,

da ich gemerkt habe dass meine Frage quatsch ist hab ich sie zurückgenommen und stelle eine andere...

Beim komplieren des Programms bekomme ich folgende Fehlermeldung:
D:\Arbeitsverzeichnis\AVRStudio\test1.asm(24): error: Overlap in .cseg: addr=0x9 conflicts with 0x9:0xa

Kommentiere ich eine der beiden Interrupt-Vektoren aus, ist die Fehlermeldung weg
keine Ahnung woran das liegen mag ](*,)


.INCLUDE <m8def.inc>

.def temp = r17
.equ TIMERWERT_A = 100
;------------------------------------------------------
; Start Adresse 0000 /Interruptvektoren
;------------------------------------------------------
.org 0x000
rjmp Init ; Interruptvektoren überspringen

.org OVF0addr
rjmp Timer0_Interrupt ;Multiplexing

.org OC1Aaddr
rjmp Timer1A_Interrupt ;Daten holen

;------------------------------------------------------
; INITIALIZE
;------------------------------------------------------
INIT:
;Stack Pointer setzen
ldi temp,high(RAMEND)
out SPH,temp
ldi temp,low(RAMEND)
out SPL,temp


;Timer1 einstellen
ldi temp,HIGH(TIMERWERT_A)
out OCR1AH,temp ; Vergleichsregister (LowByte) mit Var Timerwert laden
ldi temp,LOW(TIMERWERT_A)
out OCR1AL,temp ; Vergleichsregister (HighByte) mit Var Timerwert laden

ldi temp,(1<<CS12)|(1<<WGM12) ; Prescaler, Systemtakt durch 256 teilen
out TCCR1B,temp ; und Timer im CTC-Modus, siehe Tabelle S.99



;Timer0 einstellen
ldi temp,(1<<CS00) ;Timer0 freigeben, keine Teilung des Systemtaktes
out TCCR0,temp

;Interrupt für Timer0/1 einstellen
ldi temp,(1<<TOIE0)|(1<<OCIE1A)
out TIMSK,temp

sei ; globale Interruptfreigabe

;------------------------------------------------------
; HAUPTSCHLEIFE
;------------------------------------------------------
Hauptschleife:


rjmp Hauptschleife



Timer0_Interrupt:

reti


Timer1A_Interrupt:

reti


;------------------------------------------------------
; ENDE
;------------------------------------------------------
Ende:
rjmp Ende

Gruß, JK

pacer_one
06.01.2008, 18:47
Ha, ich habs inzwischen doch gefunden.
Purer Zufall, aber falls jemand mal knobeln will...

Der Programmcode selber ist richtig, eigentlich ist es einfach wenn man ISRs öfter verwendet.