Zum umgehen der 1k-Grenze sind folgende drei Schritte notwendig:
Das folgende Bild zeigt diesen prinzipiellen Vorgang
Wird also eine C-Datei so groß, dass es beim Kompilieren die 1k-Grenze überschreitet, so muss es 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äß Abschnitt 6.5.
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:
C:\Programme\bknd\CC5X\CC5X.EXE GLCD_BASIS_ROUTINEN.C -IC:\Programme\bknd\CC5X\ -u -r -a -r2
C:\Programme\bknd\CC5X\CC5X.EXE GLCD_FONT5X7.C -IC:\Programme\bknd\CC5X\ -u -r -a -r2
C:\Programme\bknd\CC5X\CC5X.EXE GLCD_FONT8X14.C -IC:\Programme\bknd\CC5X\ -u -r -a -r2
C:\Programme\bknd\CC5X\CC5X.EXE GLCD_FONT10X22.C -IC:\Programme\bknd\CC5X\ -u -r -a -r2
C:\Programme\bknd\CC5X\CC5X.EXE demo2.c -IC:\Programme\bknd\CC5X\ -u -r -a -r2
Hinweise:
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 auswählen (hier den PIC16F877)
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!
Projektname eingeben (hier: glcd2). Anmerkung: der Projektname muss nicht identisch mit dem Ordnername sein!
Taste Weiter >
Zunächst in der rechten Spalte die Datei demo2.asm auswählen und die Taste Add >> anklicken. Die ausgewählte Datei erscheint nun in die rechte Spalte. Diesen Vorgang für alle Assembler-Dateien (hier also GLCD_BASIS_ROUTINEN.asm, GLCD_FONT5X7.asm, GLCD_FONT8X14.asm und GLCD_FONT10X22.asm) und die Header-Datei PROJEKT.H wiederholen.
Taste Weiter >
Taste Fertig stellen
Linker Scripts -> Add Files...
Linker-Datei für den PIC16F877 (16f877.lkr), dieser befindet sich unter C:\\Programme\Michrochip\MPASM Suite\LKR\ hinzufügen:
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.