Ansteuerung des Grafik-LC-Display NLC-122B032
(mit PIC-Mikrocontroller, Elektronik)


zurück zu Elektronik, Homepage


9. 1k-Grenze beim CC5X

Zum umgehen der 1k-Grenze sind folgende drei Schritte notwendig:

  1. Aufteilen des Projektes in mehrere C-Dateien
  2. Kompilieren mit einer .BAT-Datei
  3. Zusammenfügen der einzelnen .ASM-Dateien

Das folgende Bild zeigt diesen prinzipiellen Vorgang

Prinzipabbildung
nach oben

9.1. Schritt 1: Aufteilen des Projektes in mehrere C-Dateien

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.

nach oben

9.2. 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:

  1. Im Projektordner eine neue Textdatei erzeugen. Der Name der Datei ist egal, wichtig ist nur die Endung .bat. (Also z.B. glcd2.bat). Es entsteht also eine Datei vom Typ Stapelverarbeitungsdatei für MS-DOS.
  2. Diese Datei (glcd2.bat) mit der rechten Maustaste anklicken und im Pop-Up-Menü bearbeiten auswählen. Im Editor nun die folgenden Einträge einfügen:
          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:
  3. Editor schließen (Datei natürlich vorher speichern)
  4. Batch-Datei (hier glcd2.bat) mit einem Doppelklick ausführen. Wenn in den C-Dateien alles richtig ist (also die Syntax) werden die dazugehörigen .ASM-Dateien erzeugt (hier GLCD_BASIS_ROUTINEN.asm, GLCD_FONT5X7.asm, GLCD_FONT8X14.asm, GLCD_FONT10X22.asm und demo2.ASM). Bei einem Syntaxfehler (in der C-Datei) wird die eventuell schon vorhandene .ASM-Datei gelöscht, und die .OCC-Datei gibt Auskunft über die aufgetretenen Syntaxfehler.
nach oben

9.3. 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 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.

nach oben


zurück zu Elektronik, Homepage

Autor: Buchgeher Stefan
Erstellt: 24. Juli 2006
Letzte Änderung: 16. September 2006