765 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 - Archive

Welcome to the Ask Embedded Wizard archive. This community forum served us well for many years, but we've evolved our support approach!

Your resources:

The Embedded Wizard Online Documentation provides comprehensive documentation, tutorials, examples and ready-to-use software packages.

For dedicated assistance, explore our Embedded Wizard Product Support.

You can still browse the valuable discussions from our community history here.

Embedded Wizard Website | Privacy Policy | Imprint

...