Scalable Graphics for VxWorks
By Mark Hermeling
Graphics are important for embedded systems. The graphics capabilities have been growing over the years and the end-customer is expecting more and more content and interaction with embedded systems. Wind River’s VxWorks real-time operating system provides all the scalability needed to match this increasing demand.
In its simplest form, VxWorks provides framebuffer support; users can write directly to the framebuffer, they can use OpenVG as an abstraction layer, or they can use Wind River’s UI render library, which provides widgets such as buttons, windows, and sliders as well as integration with touch screen interfaces. Framebuffer support is typically used for simple user interfaces, that don’t involve excessive animations that are compute intensive.
VxWorks also supports accelerated graphics, abstracted through the OpenGL ES2 API. This offloads a lot of the graphics work from the general purpose processor to the graphics processor. It provides smooth graphics with animation and a variety of different effects, without loading the CPU. Users can write directly to the OpenGL API and build displays that way, or they can reach out to 3rd party UI libraries from companies such as Qt, Altia, or Crank Software for powerful UI libraries. If safety certification is a must, VxWorks can scale through partners like CoreAVI or Disti.
A short demonstration of OpenGL based graphics on an Intel Core i7 processor is available in the following video here.