Your GUI on Multiple Devices
To execute the created GUI application within an embedded system, the following prerequisites have to be fulfilled: The application has to be translated in a programming language, which can be compiled with the target system compiler (e.g. ANSI C). All used resources (e.g. fonts or bitmaps) have to be stored in a color format and resolution supported by the target graphics platform. All drawing functions (e.g. for drawing lines, transferring bitmaps, …) necessary for displaying components have to be available. An adaptation layer has to adapt the GUI application to the environment (e.g. to get access to the memory management, timer and the operating system). These tasks are solved by the Platform Package. A Platform Package contains on the one hand a set of extension modules for the Embedded Wizard and on the other hand a set of libraries, which are used within the target system.
In detail, a Platform Package consists of:
The Code Generator works like a compiler. It evaluates the GUI application, the Chora source code and the developed components and translates them into a programming language supported by the compiler for the target system, e.g. ANSI C. The Code Generator is an extension module, which is loaded into the Embedded Wizard environment on-request during the code generation.
Several Resource Converters adapt all used resources (e.g. colors, fonts, bitmaps) to the graphical capabilities of the target system. For example, True-Type fonts are converted into bitmap fonts or all colors of a bitmap are mapped to a global color palette. The converted resources are compressed automatically in order to reduce the memory wastage. The Resource Converters are extension modules, which are loaded into the Embedded Wizard environment on-request during the code generation.
The Graphics Engine is a basic graphics driver containing all necessary functions to display the GUI. The Graphics Engine contains a set of functions to draw lines, rectangles, to copy or 3D transform bitmaps and to print texts. The Graphics Engine has to be linked together with the generated GUI application.
The Runtime Environment is an interface between the generated code and the target system as well as its operating system. It contains a set of functions to allocate and free memory, to access the timer, etc. The Runtime Environment has to be linked together with the generated GUI application.