Wind River Media Library


Introduction

The Wind River Media Library (WRML, UGL or WindML) is a graphics library that provides 2D graphics, mouse and keyboard input interpretation, message system, windows controller etc.for embedded VxWorks-based systems. The Media Library can be used for both actual targets and the simulator. A Media Library must be built for each type of target (see below).

WRML must be built as a library (hereafter the ML Library) and configured for the specific target. Then, a VxWorks Image must be configured to include the library. Finally, the supplied Media Library Application Template should be used when creating an application that uses WRML.

Read this before you start

The guides in this article are based on the "Wind River Media Library SDK Programmer's Guide, 4.1" available from the Workbench menu "Help > Help Topics > Wind River Documentation > Guides > User Interface > Wind River Media Library SDK Programmer's Guide, 4.1". All section and page references in this article are implicitly relative to this guide. It is necessary to have this document available while you follow this guide.

Take note of the Important Notes in the end of this article.

Creating and using the ML Archive

Creation and use of the ML Archive is a three-stage procedure as outlined below. Note that if you change the ML Archive you must rebuild the ML Archive, the VxWorks Image and possibly the application.
Steps 1 and 2 must be done once, Step 3 must be repeated for every application that uses the ML Archive

Selected Use Case (section 2.1.3)

The use case that is used in the guides is the "Kernel-Mode Run-Time Application" (see 2.1.3), in which the ML Archive is statically built into the kernel.

Step 1: Building the ML Archive

To build the ML Archive follow the guide in section 2.2.1. Use the SBC686- and simulator-specific settings listed below:

SBC686-specific configuration

  • Set the project's build spec to PENTIUMdiab
  • Configure Media Library > System > Build Spec to PENTIUMdiab
  • Configure Media Library > Display > Graphics > Device to C&T 655xx device
  • Configure Media Library > Display > Graphics > Graphic Mode as applicable
  • Configure Media Library > Display > Keyboard > Device to PC Console
  • Configure Media Library > Display > Pointer > Device to PS/2 style pointer

Simulator-specific configuration

  • Set the project's build spec to SIMNTdiab
  • Configure Media Library > System > Build Spec to SIMNTdiab
  • Configure Media Library > Display > Graphics > Device to SimPC Graphics
  • Configure Media Library > Display > Graphics > Graphic Mode as applicable
  • Configure Media Library > Display > Keyboard > Device to SimPC Keyboard
  • Configure Media Library > Display > Pointer > Device to SimPC Pointer

Step 2: Building a VxWorks Image

To build a VxWorks Image that uses the ML Archive follow the guide in section 2.2.2. Note that the guide references Step 5 - they mean Step 4

Step 3: Creating and building a DKM application

To build an application that uses the ML Archive follow the guide in section 2.2.3

Important notes

  • When making updates to the Media Library, remember to check the flag "Update Static Library". Otherwise, the Media Library will not be updated with the changes (!)
  • When running on target, the image must be configured with its own PC Console. Initializing a graphical application when I/O is redirected to RS232-console will cause an error. The PC console can be included in the kernel from Kernel Configuration > Hardware > Periphericals > Serial > PC Console.
  • Building the Media Library for a different build spec will not overwrite existing libraries for other build specs. It will overwrite existing libraries for the current build spec.
  • When changing settings in the Media Library, both the Media Library, the Image, and the application must be rebuilt.
  • If you swap from one build spec to another (e.g. from SIMNTdiab to PENTIUMdiab), configuration settings will be lost. You must reset these settings prior to the next build.

Sources

A very useful set of examples are given in <installdir>\components\windml-4.2\samples