497 views
in Getting started by
What is a Platform Package? Can you provide some introduction?

1 Answer

0 votes
by

One of the most important features of Embedded Wizard is its platform independent approach. This means, within Embedded Wizard a complete GUI application is created in a platform independent manner – by using the platform independent programming language 'Chora'. The platform dependence is realized and covered by so-called 'Platform Packages'. These packages can be considered as a bridge between the platform independent GUI application and the particular target system. The following figure demonstrates this approach. The components of the Platform Package are shown here as gray blocks:

Each Platform Package consists therefore of following main components:

  • Code Generator  It evaluates the entire GUI application and translates it into the ANSI C code optimized for the particular target C compiler. This generated code can be compiled for the target system.
  • Bitmap Converter  It adapts all bitmap resources (image files used in the project) to the graphical capabilities of the target system. This conversion can include a color reduction, a dithering and a compression. Finally the converter generates ANSI C code, which can be compiled for the target system.
    Depending on the type of the converter, the generated C code can contain the pixel data of the bitmap or only a simple reference to an external image file, which can be loaded at the runtime by an external image loader.
  • Font Converter  It adapts all font resources (TrueType fonts used in the project) to the graphical capabilities of the target system. This conversion can include a quality reduction and a compression. Finally the converter generates ANSI C code, which can be compiled for the target system.
    Depending on the type of the converter, the generated C code can contain the pixel data of all affected font glyphs or a simple reference to an external TrueType file, which can be loaded at the runtime by an external TrueType font engine.
  • Graphics Engine  It provides the GUI application with the common graphical functionality, like the drawing of lines, filling of rectangles, copying of bitmaps, 3D projection and text output.
    Unlike the converters described above, this functionality is needed at the runtime in the target system. Thus, the Graphics Engine is delivered in C code, which can be compiled and linked together with the remaining generated C code files.
  • Runtime Environment  It provides the GUI application with the common runtime functionality, like the memory allocation, the time evaluation or mathematical operations.
    Unlike the converters described above, this functionality is needed at the runtime in the target system. Thus, the Runtime Environment is delivered in C code, which can be compiled and linked together with the remaining generated C code files.

All the above components are bundled together within one dedicated Platform Package, which meets all requirements of a certain target system in terms of graphical capabilities, color format, CPU architecture or the used C compiler. For example, the ready-to-use OpenGL ES 2.0 Platform Package makes it possible to run the GUI applications on OpenGL ES 2.0 capable target system. In contrast the DirectFB Platform Package is optimized for the Linux DirectFB API.

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...