Fehlermeldung: overlap detected in .cseg

Gast #144929
Lesenswert?
• ▲
▼
Hallo!

habe ein problem beim programmieren in AVR Studio.
ich habe 2 programme geschieben. das eine sendet messwerte vom
controller (atmega32) über rs232 an pc (excel). das funktioniert.
das andere ist ne I²C schnittstelle (controller --> sensor).
das funtioniert auch.

jetzt wollte ich beide programme in eines bekommen. habe das rs232 als
"hauptprogramm" genommen und rufe das I2C in diesem auf.

das I2C hab ich in ne *.inc kopiert (wie im anhang zu sehen ist). es
sind dort nur deklarierungen von konstanten (.equ) und unterprogramme
enthalten.

das rs232 prog fängt so an:

.NOLIST
.INCLUDE "D:\m32def.inc"
.INCLUDE "D:\I2C_read_twi_neu1.inc"
.LIST

.cseg
.org $0000
  rjmp main


beim compilieren bringt er mir jetzt in der zeile 'rjmp main' die
fehlermeldung:
'overlap detected in .cseg'

wenn ich die zeile:
".INCLUDE "D:\I2C_read_twi_neu1.inc"
ausblende kommt keine fehlermeldung. ich weiss aber absolut nicht was
der von mir will. bin auch noch kein experte in assembler ;-)

könnt ihr mir weiterhelfen???

wäre sehr dankbar!
freddy0815
Angehängte Dateien:
Gast #144930
Lesenswert?
• ▲
▼
Tippe mal darauf, daß der I2C-Code schon ins CSEG ab Adresse 0 gelegt
wird. Dann gibt es in dem Main-Part natürlich ein Problem. Wenn ich
mich recht erinnere (C51 ist lange her bei mir), gibt es eine Direktive
RSEG mit der Du Code in ein verschiebbares Segment legen kannst. Dann
sucht der Linker die besten Stellen zusammen. CSEG nur dann, wenn Du an
bestimmte Adressen (wie zB 0) mußt.

Volkmar
Gast #144931
Lesenswert?
• ▲
▼
Hallo freddy,

In dieser Datei fängt Dein Code an - und wird ab der Adresse Null (weil
nichts anderes angegeben wurde) im Flash abgelegt:


.INCLUDE "D:\I2C_read_twi_neu1.inc"

Danach setzt Du die Adresse, ab der Code geschrieben werden soll,
erneut auf Null:

.cseg
.org $0000
  rjmp main

Der Code "rjmp main" steht also ab Adresse Null im Flash - und
überschreibt den Code von i2c...neu.inc.

Abhilfe:
Hänge das .inc an den Schluss Deines Assembler-Files.

Viele Grüße, Stefan

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.