An Embedded Platform-Agnostic Solution to Deploy Graphical Applications 2011-01-2551
Embedded Graphics developers depend on both in-house and commercial-off-the-shelf (COTS) tools. While both offer significant advantages throughout the development process, many resulting custom in-house solutions only support a narrow set of embedded platforms, do not meet the performance requirements for some embedded configurations, and may make it difficult to upgrade hardware in future.
In addition, if prototyping and deployment groups developing an application using in-house tools are not perfectly aligned, it may not be possible to re-use the work done in the prototyping phase, resulting in the need to completely re-write the application code.
To overcome these restrictions, engineers can invest in tools that support a vendor-agnostic C++ Port Kit. This kit acts as a bridge between the display application and the embedded platform to increase design flexibility, supports the integration process, and allows for porting to multiple embedded platforms from a single application source.
One of the key benefits in working with a Port Kit is that it allows designers to select from different combinations of safety critical software and hardware for their Human-Machine Interface (HMI) development. Once the software and hardware decisions have been made, developers can then standardize on one HMI development tool and a singular process for the rapid development of cockpit displays that meet all of their project's requirements.
Another key benefit of employing a vendor-agnostic Port Kit is re-usability. The Port Kit enables the re-use of early designs from the first stages of prototyping to final production. It also allows designs to be changed late in the production phase, tested in a simulation environment, and then directly re-deployed. This iterative design process can take place without having to modify the underlying platform. In addition, since the Port Kit needs to be created only once for each target platform, it can be re-used on subsequent projects with different HMI requirements.
An object-oriented C++ based HMI design tool can support virtually all types of embedded platforms. While such a tool is typically delivered with libraries to support standard operating systems such as Windows or Linux, developers can also acquire the source code to the tool's runtime libraries and customize them as necessary. While the default graphic rendering is typically done using OpenGL, the runtime libraries can be adapted to render other standard graphic libraries, such as DirectX or WinGDI on Windows, or any custom Application Programming Interface (API) defined by an embedded hardware manufacturer. As for the operating system, Platform-Agnostic C++ applications can run on a variety of standard environments, such as Wind River VxWorks, QNX Neutrino, and Green Hills Integrity. Moreover, the display application can also run on a minimalist kernel that only offers basic services on devices that have restricted resources