PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zur Quellcodeauslagerung



Scuido
11.07.2008, 11:27
Hey, habe eine Frage zum Auslagern.

Ich benutze MPLAB(ASM) und habe ein Programm geschrieben. Nun möchte ich, aus Gründen der besseren Übersicht, verschiedene Teile auslagern.

Leider funktioniert der Pic nach dem Auslagern nicht mehr in der Schaltung.


Könntet ihr mal schreiben was man alles beachten muss.

Ich habe nur was von einem .INC file gelesen, aber das reicht wohl nicht ganz.

Meine Schritte:

Inc-file mit Quelltext gefüllt

Ins Projekt eingefügt

Per include eingebunden
#include <Dateiname.inc>

Gruß
André

Egg
11.07.2008, 18:08
Hey Hi

des ist ein gutes Thema also damit hab ich auch meine Probleme :).

Also geh mal ein schritt zuruck wie erstell ich eine Include Datei.
Also ich erstelle eine normale .asm Datei schreibt mein Quellcode rein und dann in eine .inc Datei abspeichern?? :cheesy:

Scuido
11.07.2008, 19:05
Also ich versuche das wie folgt,

ich erstelle ein normales Projekt und das dazugehöriege asm-file. Dies füge ich dem Projekt hinzu. Darin arbeite ich dann.

Für das Auslagern erstelle ich eine neue Datei(einfach auf file->new gehen). Die wird gespeichert und als Dateiende verwende ich dann ".inc". Die Datei wird dann in das Projekt eingefügt und anschließend per #include <> eingebettet.

Also nicht unbedingt eine "große" Operation... ;)

Gruß
André

Mobius
11.07.2008, 19:27
Also, was wirklich wichtig bei der verwendung von include ist, wo ihr das einfügt! Weil der preprozessor nimmt das und haut es einfach statt dem Inklude rein. Also wenn ihr das vor dem "org 0x00" einfügt, dann habt ihr ein Problem, weil, der Preprozessor nimmt den Quellcode in der include, haut sie dort rein (der Kompiler wird den code nat auf 0x00 legen) und dann kommt irgendwann ein "org 0x00" womit der "erste" Code überschrieben wird.

Ich gebe aus diesem Grund includes ganz am ende der asm-datei ein, das löst das Problem. (natürlich vor der definition der EEPROM daten ;) ).

Aber wenn ihr wirklich arg sein wollt ;), dann nimmt ihr mehrere asm dateien und berwendet den Linker um dann die Objekt-Dateien anzuordnen :D. Leider hab ich das bis jetzt noch nie geschafft, kann also leider keine Tips dazu geben :)
lg
Mobius

Egg
11.07.2008, 21:50
Und wie ruf ich die Inc. Datei in mitten meines Programmes dann auf???:-k