Forum: Mikrocontroller und Digitale Elektronik .Include Dateien an richtiger Code - Position einbinden.


von (Gast)


Lesenswert?

Hallo,

als ich heute mal meinen Programmcode aufgeräumt habe bin ich auf ein 
Problemchen gestoßen.
Ich arbeite in asm und AVR Studio

Ich verwende mehrere .include Dateien. Die Prozessorspezifische 
m8def.inc steht ganz oben an erster Stelle im Code.

Dann habe ich noch weitere, zB  LCD.inc , in denen halt LCD Routinen 
ausgelagert sind.
Diese .inc stehen aber ganz unten im Code, in den letzten Textzeilen.
Das Programm compiliert fehlerfrei und läuft korrekt.

Kopiere ich jetzt die .inc nach oben , so daß alle .inc am Codeanfang 
stehen dann bringt der Compiler keinen Fehler, aber das Programm läuft 
"gar nicht". Vermutlich weil es beim Start in dem Code der .include 
Dateien landet statt bei der eigentlichen Initialisierung.

Ich weiß nicht recht was dagegen tun :-). Gibts da eine typische Lösung 
oder einfach damit leben das die sich so verteilen? (laufen tuts ja...)

Danke,byPö

von spess53 (Gast)


Lesenswert?

Hi

>Ich weiß nicht recht was dagegen tun :-). Gibts da eine typische Lösung
>oder einfach damit leben das die sich so verteilen? (laufen tuts ja...)

Am Anfang dürfen nur Include-Dateien stehen, die keinen Code 
enthalten. Wie du schon bemerkt hast wird sonst der Code der Dateien vor 
dem Programmcode eingefügt und assembliert.

>Dann habe ich noch weitere, zB  LCD.inc , in denen halt LCD Routinen
>ausgelagert sind.

Bei mir sähe das so aus: Eine lcd.asm, die nur den Code enthält, und 
eine lcd.inc, die alle Vereinbarungen beinhaltet. Die lcd.inc kommt an 
den Anfang und die lcd.asm ans Ende.

MfG Spess

von Linker (Gast)


Lesenswert?

Warum bindet man überhaupt Code ein? Dafür gibt es doch Module. Das 
Ganze wird erstdurch den Linker zusammen geführt.

von Hannes L. (hannes)


Lesenswert?

Linker schrieb:
> Das
> Ganze wird erstdurch den Linker zusammen geführt.

Nööö, hier ist von ASM auf dem AVR die Rede.

Zum Thema:
Ich includiere Programmcode meist hinter die Interrupt-Sprungtabelle.
Datencode (z.B. Sounddateien) kommen meist ans Ende.

...

von Linker (Gast)


Lesenswert?

Hannes Lux schrieb:
> Nööö, hier ist von ASM auf dem AVR die Rede.

Uuuuups, man sollte die Posts richtig lesen bevor man antwortet.

Duck und weg ...

von Hannes L. (hannes)


Lesenswert?

Linker schrieb:
> Duck und weg ...

Kein Problem, sowas passiert im Gedränge auf'm Frauenklo... ^^

...

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.