Full & Half-Day Tutorials

Full-Day Tutorial on Monday, June 6

Android Jumpstart
Speaker: William Gatliff
Time: Monday, June 6, 9:00am-5:00pm
Track: Designing for Embedded Linux or Android

The features that make Android a great cell phone operating system can also make it a great OS for your next embedded application. This presentation covers important topics like what types of applications can benefit most from Android, how to adapt it for use in non-cell-phone hardware, basic programming techniques, how to implement device drivers and native applications under Android, and numerous programming examples and demonstrations.

Half- Day Tutorials on Monday, June 6

Device Drivers Without the Bit-Bashing
Speaker: David Kalinsky
Time: Monday, June 6, 9:00am-12:30pm
Track: Real-Time System Development

Embedded systems developers often feel that writing device driver software consists of a lot of bit-bashing and register-twiddling. But it is also possible to take a different, higher-level architectural view of device input/output driver software. The tutorial begins with the fundamental driver architectural issues of API structuring, mutual exclusion in device access, and synchronous vs. asynchronous relations between application tasks and hardware devices. This is followed by an extensive series of patterns of synchronous and asynchronous driver architectures that progress in complexity. Later, detailed design examples are examined.

Writing Better C and C++ for Embedded Systems
Speaker: Dan Saks
Time: Monday, June 6, 9:00am-12:30pm
Track: Project Management

The C programming language offers a great deal of control over the target hardware. Unfortunately, it also invites you to write code that´s unreadable, buggy and brittle. This session presents a general approach to programming along with specific programming guidelines to help you write C code that´s more reliable, maintainable and portable than it would otherwise be, without sacrificing efficiency. It also suggests programming styles for C that simplify a possible migration to C++. Nearly all of the advice applies equally well to C++.

Designing Embedded Systems that Do No Damage Humans
Speaker: David Kalinsky
Time: Monday, June 6, 1:30pm- 5:00pm
Track: Safety and Security in a Stuxnet World

This tutorial surveys concepts and alternatives for software and system architectures appropriate for safety-critical systems. Following an examination of hazard and risk analysis techniques, it goes on to delve into a number of approaches to software safety that span fault avoidance, fault detection, and fault containment tactics including redundancy, recovery, masking and barriers. A variety of candidate architectural design patterns are studied, including dual/triple modular redundancy, dissimilar independent designs, backup parallel patterns and active/monitor parallel patterns. Many real-world examples are presented.

Migrating Procedural C as Object-Oriented C++
Speaker:
Dan Saks
Time: Monday, June 6, 1:30pm- 5:00pm
Track: Project Management

Many C++ extensions to C offer more elegant and maintainable ways to organize programs. Much of learning to use C++ is learning to rethink your designs to take advantage of these features. This session uses concrete programming examples to illustrate the difference between designs of procedure-oriented C programs and truly object-oriented C++ programs. It offers insights that are useful not only for transforming existing C programs into C++ programs, but also for designing new C++ programs from the ground up.

Analog Power in an Embedded World
Speaker:
Peter James Mille, Power Factory Applications Engineer
Texas Instruments
Time: Monday, June 6, 1:30pm- 5:30pm
Power electronics are becoming an increasingly important part of design as customers demand higher effiency, smaller size, longer run time and more powerful embedded solutions. How does an embedded systems designer leverage the capabilities of modern power devices to offer value add through effective power supply design? Learn from the front lines - Applications support at the leading Power Electronics company in the world. In a few short hours you can learn the what, when, how, where and why of power supply design that will help you turn this necessary part of system design into a valuable part of
your product design.