Platform Integration Aspects

Within Embedded Wizard Studio, every GUI application is developed in a platform independent manner. By using a dedicated Platform Package, every GUI application can be generated for a dedicated hardware (target system). The selection and the configuration of a Platform Package is done by using the profile settings within an Embedded Wizard UI project.

In most cases, the following software components have to be compiled and linked together to get a binary for a certain target system:

Generated code - the generated source code of your Embedded Wizard UI project.

Graphics Engine - the interface to the underlying graphics system. The Graphics Engine is responsible for displaying Embedded Wizard GUI applications on the target platform using the correspondent color format. The Graphics Engine is provided as source code or as library (depending on your license).

RunTime Environment - the bridge to the underlying operating system (if applicable) and the environment to manage memory, resources, events and Chora objects. The RunTime Environment is provided as source code or as library (depending on your license).

Main Loop - The main module that drives the UI application and that provide events to the UI application.

System infrastructure, device drivers, middleware, control logic, BSP, HAL, etc.

The article Main Loop explains the necessary steps to integrate a generated UI application into your main.c file: It covers the necessary details about the system initialization and de-initialization, the insertion of keyboard and touch events, the update of the display and the main loop to keep the UI application running.

The article Framebuffer Concepts describes the different framebuffer concepts and display integration scenarios, that are used to bring an Embedded Wizard based GUI application on the display.

The article Memory Footprint explains all details about the flash memory (ROM) usage and the data memory (RAM) usage. Furthermore, the article contains implementation hints and describes the different configuration macros the can help to optimize the memory footprint.

If you are looking for documentation describing aspects of how to exchange data between the GUI application and the underlying system, please see the chapters Integrating with the device and Implementing a Device Interface.