Green Hills Software speakers will present in the embedded world Conference:

Bringing Security to Android-based Embedded and Mobile DevicesWhen: Tuesday, 1 March 2011, 16:00 - 17:00
Where: Session 01: Open Source Projects / Embedded Linux II
Who: David Kleidermacher, CTO, Green Hills Software
Synopsis: Android is quickly becoming the open multimedia OS of choice for smartbooks and other embedded devices that require a rich graphical interface. Meanwhile, security - including secure communications, digital rights management (DRM), and intellectual property protection - is an increasingly important consideration for these devices. This session will explain how modern ARM system-on-chip (SoC) features such as ARM TrustZone and powerful cryptographic functionality can be leveraged to meet the growing demand for security in Android-powered devices.

Guidelines for Writing Efficient C/C++ CodeWhen: Wednesday, 2 March 2011, 09:00 - 10:00
Where: Session 10: Software Development Methods I
Who: Greg Davis, Director of Engineering, Compilers, Green Hills Software
Synopsis: With ineffective programming, even a perfect compiler cannot generate efficient code. Fortunately, most of this can be avoided by following some simple rules. This talk will focus on the hows and whys of programming with today's modern compilers and how to get good performance out of them. Examples will be given throughout with simplified assembly code to illustrate how simple source code transformations can result in big savings regardless of the compiler used. The talk will cover choice of data type, proper scope of declaration, the new and misunderstood restrict keyword, floating point arithmetic, abuse of variable length arrays, assembly statements, and when to optimize manually.

Beyond Mutexes, Semaphores, and Critical SectionsWhen: Wednesday, 2 March 2011, 10:00 - 10:30
Where: Session 10: Software Development Methods I
Who: Serge Plagnol, Senior Field Applications Engineer, Green Hills Software
Synopsis: The traditional approach to multitasking synchronization has been to use Mutexes, Semaphores, and critical sections. However, these primitives can lead to inefficiency or, even worse, to error conditions such as, dead or live locks or priority inversion. The problems with these primitives are particularly vivid with real-time systems. Also, with the rapid deployment of multicore systems, these traditional mechanisms are showing new classes of issues. This session will explain how the use of non-blocking algorithms through atomic and barrier operations can lead to more robust, deterministic and higher performance systems.

Multicore and Virtualization: Embedded SynergyWhen: Wednesday, 2 March 2011, 11:00 - 11:45
Where: Session 11: Multicore I
Who: David Kleidermacher, CTO, Green Hills Software
Synopsis: Fostered by the latest embedded multicore processors with virtualization hardware support, a new generation of hypervisor technology is rapidly making its way into a wide range of electronic products. Embedded virtualization has specialized requirements, involving footprint constraints, power efficiency, and reliability. This session will introduce and compare hypervisor implementations across the most popular multicore processors, including ARM Cortex and Freescale PowerPC, and explain how this exciting technology can be practically applied to enable compelling new capabilities across a wide range of industries and embedded applications.

Time and Space Partitioning vs. System ComplexityWhen: Wednesday, 2 March 2011, 12:00 - 12:30
Where: Session 13: Embedded System Architecture I
Who: Serge Plagnol, Senior Field Applications Engineer, Green Hills Software
Synopsis: Workstations, consumer products, transportation systems, medical equipment, financial transaction systems all need to be reliable. This is required to ensure productivity, good user experience, safety, security, and, most often, a combination of these properties. Ensuring these properties can be complex and expensive, especially if legacy functionalities have to be supported. This is where off-the-shelf solutions providing Robust Time and Space Partitioning can help ensure these properties by dividing complex system into separate blocks. This divide-and-conquer approach allows designers focus resources on critical functionalities without having to compromise on them. This session will discuss various Time and Space Partitioning architectures and their impact on reliability, safety, performance, and production and development costs.

Wireless Communication Protocols for Embedded SystemsWhen: Wednesday, 2 March 2011, 14:15 - 15:15
Where: Session 15: Wireless Technologies II
Who: Andre Schmitz, Field Applications Engineer, Green Hills Software
Synopsis: Modern embedded systems are often designed to interface with their environment. In the past these interfaces have been wired, like CAN, Ethernet, USB or RS232. Modern devices, however, are now more often designed with wireless interfaces, using technologies like Wi-Fi, Bluetooth or NFC. These technologies have different properties with respect to range, data rate and mobility. This session provides an overview of different technologies in the area of wireless communication. It exemplifies a few application scenarios for the different technologies in the embedded area. Furthermore it focuses on the implementation of the related protocol-stacks in software and the important aspect of security.

Making Device Drivers SecureWhen: Wednesday, 2 March 2011, 14:45 - 15:15
Where: Session 13: Embedded System Architecture II
Who: Rolland Dudemaine, Technical Solutions Manager EMEA, Green Hills Software
Synopsis: In a world where trojans, viruses, and daily crashes are commonplace on the desktop, embedded systems have been relatively immune to these corruptions. However, with the increase of system complexity, there is more and more news about industrial systems being overtaken or simply put out of order because of software bugs and external attacks. While application-level security is very much a focus in some projects and devices, device driver and system-level security is only getting more attention in the past few years. This presentation will go over techniques to design device drivers in a secure manner, taking a system-level approach: pros and cons of placing drivers in the kernel, relation between drivers, software stacks and application, hardware access and sharing. It will emphasize the importance of well-defined APIs to place future-proof borders between today's application, and current as well as future device drivers.

An Embedded Hypervisor, What Use Is it to Me?When: Wednesday, 2 March 2011, 15:15 - 15:45
Where: Session 13: Embedded System Architecture II
Who: Julian Day, Senior Field Applications Engineer, Green Hills Software
Synopsis: Hypervisors have a long history, but over the last few years seem to have come of age in the server room. In recent months, they have also been creating a real buzz within the embedded software community, reaching the point where it seems inevitable that increasing numbers of embedded devices will take advantage of this technology. Engineers are at least curious about the real value, but would the use of a hypervisor help or hinder an embedded project? This session will introduce the fundamentals of a hypervisor and contrast the different types of hypervisor and alternative methods of virtualization, and the impact of using more than one core or processor. Then, by exploring different application scenarios and evaluating how they may fit with virtualization, we gain insight into the impact that may result upon the software development process and the problem areas to be avoided. The attendee will learn to determine the value of hypervisors and virtualization to their own product development.

Reliable Programming in ARM Assembly LanguageWhen: Wednesday, 2 March 2011, 16:15 - 16:45
Where: Session 10: Software Development Methods II
Who: Greg Davis, Director of Engineering, Compilers, Green Hills Software
Synopsis: While C and C++ are suitable for most embedded applications, a few things are still left to assembly. Whether it is board bring-up, signal processing, or simply a rare bit of code that isn't well expressed in C, the need for assembly code never seems to go away entirely. Don't fret! While assembly code is inherently more error prone than C, some proper coding techniques can minimize the possibility of making mistakes. While the majority of the techniques are applicable to most microprocessors, the examples will be shown in the popular ARM assembly language.

Crypto Inside: Leveraging Security Hardware in Modern Embedded DevicesWhen: Thursday, 3 March 2011, 09:00 - 10:00
Where: Session 18: Cryptography / Security
Who: David Kleidermacher, CTO, Green Hills Software
Synopsis: With the increasing role of security in embedded systems, cryptography and key management in some form has become a ubiquitous requirement. However, embedded systems designers must incorporate this functionality without blowing the budget on footprint, performance, and cost. This class will provide an overview of the security hardware capabilities, from basic on-chip symmetric key accelerators to Trusted Platform Modules (TPMs) and hardware security modules (HSMs), available in popular embedded microprocessors. The relative tradeoffs in cost, power, and performance will be described as well as ramifications to software and system design.

Advanced Compiler Optimizations for the Smallest, Fastest CodeWhen: Thursday, 3 March 2011, 13:30 - 14:30
Where: Session 16: Development Tools II
Who: Greg Davis, Director of Engineering, Compilers, Green Hills Software
Synopsis: Embedded software developers, much more so than other software engineers, are concerned with their software at multiple levels. Since these days the vast majority of code is written in high-level languages, the translation process between high-level languages and machine assembly code, known as compilation, is crucial. Compiler technology has not yet run its course, and new cutting-edge optimizations have made enormous execution and code size savings. This talk will survey some of my favorite optimizations: some are old, but highly effective, while others are virtually unknown outside of the tight knit community of compiler developers. All of them are, in my opinion, quite fascinating.

Automotive In-Vehicle Infotainment:Green Hills Software will demonstrate the latest in multi-function automotive infotainment. Based on INTEGRITY® Secure Virtualization (ISV), this solution allows the seamless combination of a wide range of infotainment software stacks with time critical driver information services while providing absolute separation and containment of these different system services - addressing the performance, fast boot and system reliability issues critical to infotainment systems.

Industrial Automation:Delivering certified device safety comes from good design. Green Hills Software will demonstrate how a well-architected system can reduce IEC 61508 and EN 50128 certification time and costs while delivering the highest levels of device system reliability. Taking advantage of Green Hills Software's SIL 3/SIL 4 pre-certified INTEGRITY real-time operating system, this demonstration is hosted on a Texas Instruments ARM-based Sitara processor platform, where sample applications expose various application failures that are effectively contained and managed by the INTEGRITY RTOS through the use of its proven policies for separation, containment and resource/device management - using the gold standard for designing and delivering absolute system safety.

About Green Hills SoftwareFounded in 1982, Green Hills Software is the largest independent vendor of embedded development solutions. In 2008, the Green Hills INTEGRITY-178B RTOS was the first and only operating system to be certified by NIAP (National Information Assurance Partnership comprised of NSA and NIST) to EAL6+, High Robustness, the highest level of security ever achieved for any software product. Our open architecture integrated development solutions address deeply embedded, absolute security and high-reliability applications for the military/avionics, medical, industrial, automotive, networking, consumer and other markets that demand industry-certified solutions. Green Hills Software is headquartered in Santa Barbara, CA, with European headquarters in the United Kingdom. Visit Green Hills Software at www.ghs.com.

Green Hills, the Green Hills logo, MULTI, INTEGRITY and µ-velOSity are trademarks or registered trademarks of Green Hills Software in the U.S. and/or internationally. All other trademarks are the property of their respective owners.