QNX at Embedded World
EWG Home
Events
Events Schedule
Web Seminars

Product evaluation
Evaluation form
Home
Company
QNX Events

Embedded World 2009

Embedded World 2009
Official website
FREE E-TICKET
REGISTER NOW
for your free entrance pass to Embedded World 2009
QNX Night
Product Evaluation
Evaluation form

Conference Presentations

TUESDAY, March 3

Creating Reliable, Responsive User Interfaces with Adobe Flash and OpenGL ES
10:00 – 11:00
Presenter: Andy Gryc, Senior Product Marketing Manager

The graphical user interface (GUI) has become a key market differentiator for an array of embedded products. Users no longer want static displays; they now expect dynamic, attractive, and in many cases, customizable GUIs. As a result, embedded GUIs have become highly sophisticated, often combining multiple graphics layers or displays with dynamic 2D or 3D applications.

Furthermore, many embedded developers are embracing Adobe Flash, because it can reduce the time needed to build a graphical user interface (GUI) by 30% to 50%. In the past, embedded software teams had to translate their GUI prototypes into C, C++, or Java code, a labor-intensive process that can take many weeks or months. Now, teams can design their entire GUIs with high-level Adobe Flash tools and run those GUIs directly on embedded Flash players, without having to write graphics code.

An embedded GUI must remain fast, reliable, scalable, and, of course, memory and CPU efficient. This session explores how developers and system designers can satisfy these many requirements while leveraging standards such as Adobe Flash and OpenGL ES. Topics include achieving maximum utilization of available hardware, reducing memory footprint, implementing fault tolerance, and ensuring immediate response to user input.

Software Optimization Techniques for Multi-Core Processors
11:30 – 12:30
Presenter: TBD

Getting software to run on a multi-core processor is, in many cases, fairly easy. The real challenge is getting the software to make full use of all the processor’s cores. In this class, we examine various techniques for optimizing embedded applications on multi-core chips. We will address threading models for creating multiple concurrent tasks and parallel processing for increased performance. We will also discuss how to minimize lock contention with mutexes and semaphores by engineering the appropriate levels of lock granularity. This session will be especially useful for developers who have started to work with multi-core chips, but want advice on improving software parallelism and performance.

Fast Boot Techniques for the x86 Architecture
16:30 – 17:00
Presenter: Malte Mundt, Field Application Engineer

With the introduction of the Intel Atom processor, the x86 architecture has become a viable contender as a low-power embedded platform. The problem is, x86 designs have traditionally relied on the BIOS to perform early initialization and OS launching — an approach that results in unacceptably long boot times for embedded devices. As a result, embedded developers whose systems must boot quickly need a way to bypass the BIOS.

In this session, we explore factors that affect boot time and discuss the dramatic boot-time and performance gains that result from replacing the BIOS with customized early initialization of peripherals. We will also discuss some of the work required to achieve these gains and demonstrate fast booting techniques on an x86 board from Kontron.


WEDNESDAY, MARCH 4

Using Resource Partitioning to Build Secure, Survivable Embedded Systems
14:30 – 15:30
Presenter: Peter Weber, Field Consulting Engineer

This class explores how resource partitioning can improve the security, availability, and dynamic upgradeability of mission-critical embedded systems. Using this technique, developers can place programs into virtual compartments, called partitions, and allocate a guaranteed amount of memory and/or CPU time to each partition. These resource guarantees can safeguard the system against denial-of-service (DoS) attacks; prevent poorly written or malicious tasks from monopolizing resources needed by other tasks; ensure that lower-priority functions always have the CPU cycles they require; allow the system to support new services while ensuring that existing services still have sufficient resources; and simplify the integration of software subsystems from multiple development teams. The class will also explore how to allocate existing applications and system services into partitions.

Well-Tested, Well-Protected: Writing Device Drivers in User Space
16:45 – 17:30
Presenter: Peter Weber, Field Consulting Engineer

By writing and debugging a device driver in user space, developers can make memory violations easier to catch, diagnose problems with powerful source-level debuggers, and eliminate the need to reboot the target system every time a driver faults. Using real-life examples, this class guides you through the steps of writing a user-space driver — manipulating hardware registers, accessing memory locations, handling interrupts, and implementing interprocess communication (IPC) between the driver and its clients. Depending on underlying OS, the driver can often remain in memory-protected user space at runtime. The result is a driver that is both well-tested and well-protected.

This session is for any engineer or software developer who needs to write device drivers for custom hardware. Device driver experience is an asset, but not required.


THURSDAY MARCH 5

In-Field Debugging: Diagnosing Software Faults While Maintaining System Availability
12:00 – 12:30
Presenter: Malte Mundt, Field Application Engineer

Software bugs that make it to market not only lead to incorrect system behavior and low system availability, but also result in unhappy (and fewer) customers. Unfortunately, conventional debugging methods can themselves interfere with the availability, performance, and correct behavior of the affected system. Consequently, this class explores debug and information-gathering techniques that can maintain system availability while generating artifacts that help diagnose and resolve software failure. Topics will include the 5 “Ws” of debugging; analyzing core dump files for postmortem debugging; non-invasive system tracing techniques, updating live systems with code fixes; and using debug partitions. The session will include a demonstration of in-field debugging techniques.

THURSDAY MARCH 5

Synchronizing Content from Removable Digital Media
14:45 – 15:30
Presenter: Andy Gryc, Senior Product Marketing Manager

Many multimedia-capable embedded products must connect to USB flash drives, iPods, PlaysForSure devices, or even media streamed from a Bluetooth phone, satellite radio, or the Internet. In most cases, users expect immediate access to the media content and want to browse it by metadata, such as song title and artist, rather than by file name. To analyze and present this content, systems use metadata synching. Nonetheless, metadata synching poses a challenge: how can the system make the content appear instantly available, even when the removable media contains thousands of files and the interface takes many seconds to fully synchronize?

In this class, we explore several synchronization techniques, including ‘directed’ sync, based on user selection. We also examine techniques for synching metadata from iPods, using either the traditional iPod Access Protocol over serial/USB links or the newer authentication IC approach. And last, we discuss techniques of data persistence, with a focus on managing reinsertion of previously inserted media.