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ö
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
Warum bindet man überhaupt Code ein? Dafür gibt es doch Module. Das Ganze wird erstdurch den Linker zusammen geführt.
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. ...
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 ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.