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
Wer sagt denn, dass .include-Ausdrücke am Anfang stehen müssen????
Hallo, hast du mal versucht das "INCLUDE" ans Ende deines Programmes zu schreiben? Es grüsst, Arno
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!
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)
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.