ANSI-C under RTOS-UH
C is one of the most flexible and widespread programming languages ever. C does not target a specific
application area, but provides the programmer with all the tools he needs to solve his problems.
Only through the ANSI-C standard with strict type testing and prototyping does C programming achieve the security required for use under a multitasking real-time operating system.
CREST-C is an ANSI-C compiler written especially for the operating system RTOS-UH. A special goal of this development was the creation of a reliable programming system, which permits a flexible cross development on numerous guest operating systems (e.g. Win7, Win10, UNIX etc.). Particular attention was paid to the compactness and speed of the code generated.
CREST-C enables the porting of the richly available C-sources under RTOS-UH. The successful implementation of various UNIX or MS-DOS sources shows the reliability of the CREST compiler.
CREST-C was specifically designed to meet the needs of the RTOS-UH develops and provides all real-time and multitasking capabilities of the system in the form of function calls. Due to the excellent code quality of the CREST-C-Compiler the need to create programs in assembler is eliminated. The integration of Assembler routines are however possible without problems.
Even extremely time-critical programming of I/O devices is no problem for CREST-C. The coding of interrupt handlers or I/O drivers is fully supported at the high-level language level.
CREST-C creates shell modules by default, which allow the multi-user use of C programs
and the parameter transfer from the RTOS-UH shell to the C tasks. Each call to a C program
creates a Process.
The task concept of the RTOS-UH is fully supported by CREST-C. The possibilities range from normal tasks to subtasks that can be called at runtime with any parameters, scheduled, activated, terminated or destroyed, to special support tasks, autostart-capable system tasks or interrupt handlers.
CREST-C can generate ROM-enabled code as often required for automation projects. By specifying a storage address, a linker binds the object files to a fixed ROM address by resolving the open references. In order to avoid redundancy, frequently used functions can be combined into a shared library, which only has to be available once in the system and whose routines are available to all callers in a way that prevents them from re-entering the system.
CREST-C offers PEARL programmers the possibility to switch to a more flexible language concept under RTOS-UH. S-records of the PEARL compiler can easily be loaded together with CREST-C-records. This makes it possible to integrate C subroutines into existing PEARL projects or to use existing PEARL subroutines in C programs.
ANSI-C standard libraries for the respective processor family are included in the respective package. They are available in a wide variety of translation forms and thus enable the user to select the shortest and fastest variant for the project to be created.
CREST-C is available on various guest operating systems as Cross development package. A wide range of hardware platforms are supported, from inexpensive PCs to powerful UNIX workstations. The complete development cycle up to the finished program or EPROM is carried out on the cross computer. The program must first be tested on the RTOS-UH target computer. Under Windows, the CREST-C package runs as a console application in the DOS box and can therefore be easily integrated into the Visual Studio environment, for example. For different Unix systems (e.g. Linux) CREST-C is available on request.
IEP supports the use of CREST-C on all computers running the
Target processors are NXP MC68xxx and PowerPC. Target systems are available in all performance classes, from the low-end 680xx series with the 683xx controllers to the complete VMEbus range and multiprocessor PPC workstations.