Forum: Mikrocontroller und Digitale Elektronik microchip c18 vs. sdcc


von skorpionx (Gast)


Lesenswert?

Seit einiger Zeit arbeite ich bei der Entwicklung von einem 
Mikroprozessorsystem.
Als Mikroprozessor verwende ich pic18f2680 :
Programmspeichergröße:
 64KB
RAM-Speichergröße:
 3.25KB
EEPROM:
 1024Bytes
Hardware habe ich schrittweise entwickelt. CAN, RS232 wurden an der 
Hautplatine
platziert. Visualisierung mit 162A Display und Matrixtastatur:
       Beitrag "Matrix Tastatur (Matrixtastatur) mit 74HC4051 und 162A Display."
Anzahl von I/o habe ich durch Multiplexschaltung erweitert:
digitale Ausgänge 16 stück,
digitale Eingänge 8 stück,
analoge Eingänge 8 stück.
Noch direkte einzelne I/O Ports stehen zu Verfügung.
Von Anfang an habe ich mir als Ziel gesetzt das alles unter beiden 
Compiler: c18 und sdcc lauffähig zu machen. Und das ist gelungen. Jetzt 
arbeite ich auf der ersten Anwendung: Steuerung für meine Heizung.
Bei compilieren mit c18 kam mal eine Meldung:

Error - section '.udata_Heizung.o' can not fit the section. Section 
'.udata_Heizung.o' length=0x0000010c

C18 kann nur in einer Sektion nur Variable bis gesamter Länge 256 
bearbeiten.Danach muss man die Anweisung bringen:
#pragma udata my_section_2
Jetzt kann man nächsten Variablen deklarieren.
Das kann etwas lästig sein. Bei sdcc existiert das  Problem nicht aber 
beim casting muss man sehr oft benutzen Makro __data , z.B (__data 
*char). Wahrscheinlich wird dann erst richtige Adresse generiert.
Ins gesamt bin ich mit sdcc sehr zufrieden.

Gruß an die Entwickler!

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
Noch kein Account? Hier anmelden.