|
Zum Umgehen der 1k-Grenze sind folgende drei Schritte notwendig:
Die folgende Abbildung zeigt diesen prinzipiellen Vorgang.
Schritt 1: Aufteilen des Projekts in mehrere C-Dateien
Wird also eine C-Datei so groß, dass es beim Kompilieren die 1k-Grenze überschreitet, so muss diese in
mehrere C-Dateien aufgeteilt werden, wobei auch hier gilt: Jede C-Datei darf beim Kompilieren die 1k-Grenze
nicht überschreiten!
Die Aufteilung, welches Unterprogramm sich in welcher C-Datei befindet ist grundsätzlich beliebig. Hier
erfolgt die Aufteilung gemäß dem Quellcode aus Abschnitt 7 (Download).
Schritt 2: Kompilieren mit einer .BAT-Datei
Im nächsten Schritt wird nun jede C-Datei (mit Hilfe des CC5X-Compilers) in eine ASM-Datei kompiliert.
Diese Aufgabe übernimmt eine .BAT-Datei. Dazu geht man wie folgt vor:
Schritt 3: Zusammenfügen der einzelnen .ASM-Dateien}
Die im vorhergehenden Schritt erzeugten Assembler-Dateien müssen nun zu einem gesamten Projekt
zusammengefügt werden. Und schließlich soll daraus die zum Programmieren des PIC notwendige .HEX-Datei
erzeugt werden. Dazu geht man wie folgt vor:
MPLAB starten -> Project -> Project Wizard...
Taste Weiter >
PIC-Mikrocontroller (Device) auswählen (hier den PIC16F87)
Taste Weiter >
Active Toolsuite: B Knudsen Data CC5X auswählen
Taste Weiter >
Den Projektordner auswählen, wo dieses Beispiel-Projekt abgelegt werden soll. Dieser Ordner muss schon existieren!
Taste Weiter >
Zunächst in der rechten Spalte die Linker-Datei 16f87.lkr auswählen und die Taste Add >> anklicken. Die ausgewählte Datei erscheint nun in der rechten Spalte. Diesen Vorgang für alle Assembler-Dateien (hier also Adventkalender.asm, FLACKERLICHT_BAUM.asm, FLACKERLICHT_KERZEN.asm und FLACKERLICHT_STERN.asm) und die Header-Datei PROJEKT.H wiederholen.
Taste Weiter >
Taste Fertig stellen
Die MPLAB-IDE schließen und neu öffnen.
Das Projekt (Arbeitsbereich) mit File -> Open Workspace... öffnen.
Project -> Build
Für jede Assembler-Datei sollte nun nacheinander die Box Assembly Successful erscheinen. Diese muss jedes Mal mit der OK-Taste bestätigt werden. Wichtig ist die Meldung BUILD SUCCEEDED am Ende der Assemblierung.
|