.include atmel studio geht nicht

Gast #2969869
Lesenswert?

Hallo Leute.

Ich versuche bereits seit 2 Tagen ein Assemblerprogramm zu schreiben.

Ich binde am Ende meines Main-files mit .include eine Datei ein.

Beim builden kommt dann die Fehlermeldung: "Undefinded symbol: tft_init"

wenn ich jedoch an die Stelle, wo jetzt .include "tftlib.asm" steht, den 
Inhalt von "tftlib.asm" setze, dann  lässt sich das Programm builden.

Ps. Das symbol tft_init ist in der tftlib.asm drin.
Gast #2969873
Lesenswert?

Ich habe das Programm jetzt folgendermaßen verändert:
1
.cseg
2
.org 0
3
rjmp start
4
.include "tftlib.asm"
5
start:
6
;Rest des Programms.

Jetzt funktioniert es. Ich vermute, dass der Assembler das Programm 
durchmacht, beim ersten fehler stoppt, und gar nicht soweit kommt das 
Ding einzubinden.

Wie kann ich das lösen?

Ps.: Jetzt wo das geklappt hat, ist die Datei tftlib.asm im 
Projektexplorer (rechts das Fenster) in den Unterordner Dependencies 
gerutscht. Jetzt kann ich das include wieder ans ende Stellen und es 
buildet richtig. Ist das ein Fehler in Atmel Studio?
Wie kann man ihn beheben.
Gast #2970576
Lesenswert?

Ja ich weiss. Ich meinte eher mit "jetzt funktionierts" Folgendes:

Ich habe das Projekt einmal mit obigem Code gebuildet. Rechts in Atmel 
Studio sieht man ja die Dateien in so einem Explorer. Da ist auch ein 
Ordner "Dependencies" drin. Da werden alle Dateien drin angezeigt, die 
mit .include eingebunden werden. Nach dem einmaligen builden mit dem 
obigen Code ist die include Datei in diesen Ordner gerutscht.

Als ich dann das Programm wieder so verändert habe, dass das Include 
ganz am Ende meines codes steht, hat es dann auf einmal geklappt, obwohl 
es davor mit dieser Struktur Fehler gab.

Kennt jemand das Problem, dass .include Befehle am Ende des Codes nicht 
registriert werden?

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