Fehlermeldung studio 4 overlap

Gast #1115456
hallo zusammen

hab etwas code geschrieben für einen atmega8 in avr studio 4.
beim assemblieren kam eine fehlermeldung:

error: Overlap in .cseg: addr=0x9 conflicts with 0x9:0xa

die fehlermeldung ist erst für (ldi uni1, low(ramend)
wenn ich das auskomentiere kommt der fehler für die nächste zeile und so 
weiter.
ich habe erst ein ok bekommen als ich alles nach unten auskomentiert 
hab.
einen fehler hab ich nicht gefunden und durch meine frust werde ich auch 
so schnell keinen finden.
darum bitte ich euch um hilfe.

mein code bis jetzt:
.include "m8def.inc"
;START-----------------------------------------

.def uni1 = r16
.def uni2 = r17
.def seceiner = r18
.def seczehner = r19
.def ausgabeE = r20
.def ausgabeZ = r21
.def eingabe = r22
.def eingabealt = r23
.def status = r24
.def zaehler = r25

.org 0x000
  rjmp start
.org ovf0addr
  rjmp runter
.org ovf1addr
  rjmp zeigen
;INITIALISIERUNGEN-----------------------------
start:
;STACK:
  ldi uni1, low (ramend)
  out spl, uni1
  ldi uni1, high (ramend)
  out sph, uni1
;timer0:
  ldi uni1, (1<<cs02)|(1<<cs00)
  out tccr0, uni1      ;prescaler für timer0 1024
;timer1:
  ldi uni1, (1<<cs22)|(1<<cs20)
  out tccr1b, uni1        ;prescaler für timer2 128
  ldi uni1, (1<<toie2)
  out timsk, uni1        ;interrupt enabled
;I/O:
  ser uni1
  out ddrb, uni1        ;portb ist output
  out ddrc, uni1        ;portc ist output
  clr uni1
  out ddrd, uni1        ;portd ist input
  ser uni1
  out portd, uni1        ;interne R aktiviert
  sei
;TASTENABFRAGE UND WARTESCHLEIFE---------------

;ZIFFERN ANZEIGEN------------------------------
zeigen:

runter:
Gast #1115510
hallo ich nochmal
ich hab mal was gefuttert und mich wieder rann remacht ;-)

ich hab erst ovf1 mit ovf2 vertauscht da ich den timer 2 benutzen will,
dann hab ich ovf0 und ovf2 vertauscht und nun geht das mit dem 
assemblieren!

ich denke ich hab nur die interupt zeilen (wenn jemand weiß was ich 
meine) vertauscht.

ich danke dir frank l. für die antwort.

gruß und wenn es mal nicht klappt einfach mal was essen hegen hehe
#1115601
Hallo,

deshalb steht bei mir am Programmbeginn immer ein

;INITIALISIERUNGEN-----------------------------

.org INT_VECTORS_SIZE

start:
;STACK:
  ldi uni1, low (ramend)
  out spl, uni1
  ldi uni1, high (ramend)
  out sph, uni1

INT_VECTORS_SIZE zeigt auf die Adresse hinter den Interrupt-Vectoren und 
ist in den AVR-Includes definiert.

So spielt es keine Rolle, wieviel Vectoren in welcher Reihenfolge oben 
definiert werden.

Gruß aus Berlin
Michael

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.