Forum: Mikrocontroller und Digitale Elektronik AVR Studio 4 und INCLUDE Dateien


von Lars Schwanitz (Gast)


Lesenswert?

Hallo,

ich habe ein kleines Problem mit dem AVR Studio 4.
Ich programmiere in Assambler und habe ein paar
Funktionsblöcke wie z.B. Zeitschleifen und LCD Routinen
in externe Dateien verfrachtet und diese über "INCLUDE"
in die Hauptdatei eingebunden. Soweit so gut.
Wenn ich jetzt das Projekt übersetzen lasse, bastelt mir
der Compiler den OP-Code der "include" Dateien an die Stelle
wo sie über die "Include" Anweisung in die Hauptdatei eingebunden
werden. (In der Regel ja fast am Anfang).
Also stehen die Unterprogramme gleich am Anfang im Programmspeicher
und werden undefiniert ausgeführt.
Aufgefallen ist mir das, als der Compiler Fehlermeldungen brachte
wegen Codeüberschneidungen. Ich habe nämlich die Interruptvektoren
mit ".org $000" in der Hauptdatei festgelegt.
Wie kann ich dem AVR Studio beibringen das es den Code der externen
Dateien nicht an dem Anfang des OP-codes bringt, sondern an das Ende.
(Mit ".org $xxx" in den externen Dateien möchte ich ungerne
arbeiten).

Wenn jemand eine Lösung oder Idee für dieses Problem hat immer her
damit ;)

mfg

Lars

von johnny.m (Gast)


Lesenswert?

Wer sagt denn, dass .include-Ausdrücke am Anfang stehen müssen????

von Conlost (Gast)


Lesenswert?

Hallo,

hast du mal versucht das "INCLUDE" ans Ende deines Programmes zu
schreiben?

Es grüsst,
Arno

von Lars Schwanitz (Gast)


Lesenswert?

Weil das Programmiertechnisch wohl am meisten Sinn macht.
(Wurde mir zumindest mal so beigebracht).
Wenn ich die .include Anweisung erst an die Stelle bringe
wo ich die Subroutinen brauche, bastelt mir der Compiler den
ganzen Inhalt der Datei dann dort in den OP-Code.
(Was ja auch nicht unbedingt eine sichere Programmfunktion
erzeugt!!!). Außerdem kommen dann immer noch Fehlermeldungen wegen
Codeüberschneidungen, weil ja immer noch ein .org $000 am Anfang steht!

von Läubi (Gast)


Lesenswert?

in den includes kommt keine org wasweisich rein.
und an der stelle wo du es brauchst steht dann dein include.
Da es in ASM keine "funktionen" im eigentlichen Sinne gibt, ist es
egal wo du die includest (ich mach das meist ganz am ende da störts
nicht)

von Peter (Gast)


Lesenswert?

wenn du nur definitionen / Makros drin hast kannst du sie an den anfang
setzen..
an sonsten würde ich die include dateien ans ende setzen..
gruss

von Lars Schwanitz (Gast)


Lesenswert?

Jup, das wars,
danke. Ich habe mal alle include Geschichten ans Ende der Hauptdatei
gesetzt und siehe da da klappt :).

mfg

Lars

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.