CREST-C

ANSI-C unter RTOS-UH

C ist eine der flexibelsten und verbreitetsten Programmiersprachen überhaupt. C zielt nicht auf ein spezielles Anwendungsgebiet, sondern gibt dem Programmierer alle Werkzeuge zur Lösung seiner Probleme an die Hand.
Erst durch den ANSI-C-Standard mit strenger Typprüfung und Prototyping erlangt die C-Programmierung die Sicherheit, die für einen Einsatz unter einem Multitasking-Echtzeit-Betriebssystem erforderlich ist.

CREST-C

CREST-C ist ein speziell für das Betriebssystem RTOS-UH geschriebener ANSI-C-Compiler. Besonderes Ziel dieser Entwicklung war die Schaffung eines zuverlässigen Programmiersystems, das eine flexible Crossentwicklung auf zahlreichen Gast-Betriebssystemen (z.B. NT4.0, WinXP, UNIX usw.) gestattet. Besonderer Wert wurde auf Kompaktheit und Ablaufgeschwindigkeit des erzeugten Codes gelegt.

Portierbarkeit

CREST-C ermöglicht die Portierung der reichhaltig verfügbaren C-Quellen unter RTOS-UH. Die erfolgreiche Implementierung diverser UNIX- oder MS-DOS-Quellen zeigt die Zuverlässigkeit des CREST-Compilers.

Systemnähe

CREST-C wurde speziell für die Bedürfnisse des RTOS-UH entwickelt und stellt alle Echtzeit- und Multitaskingmöglichkeiten des Systems in Form von Funktionsaufrufen zur Verfügung. Durch die ausgezeichnete Codequalität des CREST-C-Compilers entfällt so die Notwendigkeit, Programme in Assembler zu erstellen. Die Einbindung von Assemblerroutinen ist jedoch problemlos möglich.

Selbst extrem zeitkritische Programmierung von I/O-Bausteinen stellt für CREST-C kein Problem dar. Die Codierung von Interrupt-Handlern oder I/O-Treibern wird auf Hochsprachenebene vollständig unterstützt.

Tasking

CREST-C erzeugt standardmäßig Shell-Module, die den Mehrnutzereinsatz von C-Programmen sowie die Parameterübergabe von der RTOS-UH-Shell an die C-Tasks ermöglichen. Jeder Aufruf eines C-Programmes erzeugt einen unter RTOS-UH eigenständigen Prozeß.
Das Task-Konzept des RTOS-UH wird von CREST-C vollständig unterstützt. Die Möglichkeiten reichen von normalen Tasks über Subtasks, die zur Laufzeit mit beliebigen Parametern aufgerufen werden, eingeplant, aktiviert, terminiert oder wieder vernichtet werden können, bis hin zu speziellen Betreuungs-, autostartfähigen Systemtasks oder Interrupthandlern.

ROM-Fähigkeit

CREST-C kann, wie häufig für Automationsprojekte gefordert, ROM-fähigen Code erzeugen. Durch die Angabe einer Ablageadresse bindet ein Linker die Objektdateien unter Auflösung der offenen Referenzen auf eine feste ROM-Adresse. Um Redundanz zu vermeiden, lassen sich häufig benutzte Funktionen zu einer Shared Library zusammenfassen, die nur einmal im System vorliegen muß und deren Routinen allen Aufrufern wiedereintrittsfest zur Verfügung stehen.

PEARL90-Schnittstelle

CREST-C bietet PEARL-Programmierern unter RTOS-UH die Möglichkeit, auf ein flexibleres Sprachkonzept umzusteigen. S-Records des PEARL-Compilers lassen sich problemlos mit CREST-C-Records zusammenladen. So besteht die Möglichkeit, in bereits bestehenden PEARL-Projekten C-Unterprogramme einzubinden oder in C-Programmen auf bereits existierende PEARL-Unterprogramme zurückzugreifen.

Zielsysteme

Es existieren Codegeneratoren für die Prozessorfamilien MC68K und PowerPC.

CREST-68K

Dieses Paket erzeugt Code für Prozessoren der M68K-Familie:

  • MC68000, MC68010, MC68302...
  • MC68020, MC68020/MC68881, MC68030, MC68030/MC6882..
  • MC68040, MC68060
  • CPU32, CPU32+
CREST-PPC

Dieses Paket erzeugt Code für Prozessoren der PowerPC-Familie:

  • MPC603, MPC604...
  • MPC821, MPC860...
  • MPC555, MPC561...
  • MPC5200, MPC8245...
  • PPC7410, MPC7457...
  • P1010, P2020...

Bibliotheken

ANSI-C-Standard-Bibliotheken für die jeweilige Prozessorfamilie sind im jeweiligen Paket enthalten. Sie liegen in unterschiedlichsten Übersetzungsformen vor und bieten dem Anwender so die Möglichkeit, die jeweils kürzeste und schnellste Variante für das zu erzeugende Projekt auszuwählen.

Cross-Entwicklung

CREST-C steht auf unterschiedlichsten Gastbetriebssystemen als Cross-Entwicklungspaket zur Verfügung. Dabei werden vom preiswerten PC bis zur leistungsfähigen UNIX-Workstation vielfältige Hardwareplattformen unterstützt. Der komplette Entwicklungszyklus bis zum fertigen Programm oder EPROM wird auf dem Cross-Rechner durchgeführt. Erst das Testen des Programms muß auf dem RTOS-UH-Zielrechner erfolgen. Unter Windows läuft das CREST-C-Paket als Console-Applikation in der DOS-Box und kann damit gut z.B. in die Visual-Umgebung eingebunden werden. Für verschiedene Unix-Systeme (z.B. Linux) ist CREST-C auf Anfrage lieferbar.