|
|
| 2010 July 30th |
|
Memory Errors in Embedded Systems

To address the challenges presented by memory errors, developers can take advantage of tools for memory analysis and debugging, and OS architectures that minimize the impact of memory errors on the system. This paper discusses memory analysis techniques for solving memory problems such as heap corruption and memory leaks; and memory profiling for optimization of memory use in embedded systems. (Read More...)
|
0.99 MB |

 |
|
| 2010 July 29th |
|
Rapid Development and Reusable Design for the Connected Car

In-vehicle systems, and the connected car in particular, bring a host of new challenges to the manufacturing process. These challenges include aligning HMI design with multiple vehicle line branding requirements, safe integration of new applications and technologies, and protecting critical processes in a dynamic system. This paper briefly describes some techniques available for meeting these challenges when designing and building a connected in-vehicle system (Read More...)
|
414.16 KB |

 |
|
| 2010 July 23rd |
|
Protecting Applications Against Heisenbugs

Virtually-synchronous replication provides a mechanism that allows developers of mission- and safety-critical applications to reduce the impact of elusive and non-reproducible bugs—commonly known as Heisenbugs—in their applications. (Read More...)
|
393.7 KB |

 |
|
| 2010 July 23rd |
|
Wideband Speech Communications for Automotive: the Good, the Bad, and the Ugly

Wideband (50-7000 Hz) speech communications brings improvements over traditional narrowband (300-3400 Hz) communications: it can increase intelligibility, reduce driver distraction, enable spatial auditory displays, and more. This paper reviews some of the main benefits, challenges and unresolved issues with wideband speech communications in an automotive environment. (Read More...)
|
835.09 KB |

 |
|
| 2010 January 26th |
|
Persistent Publish/Subscribe for Embedded Industrial Applications

A Persistent Publish/Subscribe (PPS) messaging model is an excellent choice for embedded industrial systems which must integrate many disparate devices and components, as well as support a sophisticated Human-Machine Interface (HMI). PPS messaging simplifies the design of these systems and facilitates implementation of HMIs built with Adobe Flash Lite. (Read More...)
|
452.45 KB |

 |
|
| 2010 January 1st |
|
Smart Screens for Embedded Industrial Applications

Smart screens are becoming the preferred HMI for industrial control applications. These applications must meet stringent requirements for usability, reliability and longevity. We evaluated strategies and tools for building smart screens on systems running the QNX® Neutrino® RTOS. Adobe Flash Lite meets all the requirements essential to our industrial smart screen development strategy. (Read More...)
|
437.31 KB |

 |
|
| 2009 November 1st |
|
Exactly When Do You Need an RTOS?

Together, the speed of today’s high-performance processors and realtime patches for general-purpose OSs appear to have re-opened the question of whether embedded systems still need an RTOS. The answer hasn’t changed: the guarantees only a true RTOS can offer on relatively low-end processors mean that these OSs are here to stay in embedded environments. (Read More...)
|
733.1 KB |

 |
|
| 2009 November 1st |
|
Meeting Early Boot Requirements with the QNX Neutrino RTOS

Embedded applications are expected to meet increasingly stringent early boot requirements. To have a system boot, then get specified applications user-ready within these deadlines can be a challenge. This paper presents techniques for optimizing your QNX Neutrino RTOS and application startup to boot as quickly and efficiently as possible. (Read More...)
|
221.51 KB |

 |
|
| 2009 August 20th |
|
QNX Industrial Software Architecture

As industrial feature demands change, and the need for more advanced connectivity, safety, and functionality requirements evolve, equipment makers are faced with increasing software development and integration challenges. The QNX industrial software architecture offers the flexibility required to develop advanced software systems that meet the varied and dynamic needs of today’s industrial market. (Read More...)
|
1.14 MB |

 |
|
| 2009 May 7th |
|
Fastboot Techniques for the x86 Architecture

With the introduction of the Intel Atom processor, the x86 architecture has become a viable contender as a low-power embedded platform. This paper explores factors that affect boot time and discusses the dramatic boot-time and performance gains that result from replacing the BIOS with customized early initialization of peripherals. (Read More...)
|
277.84 KB |

 |
|
| 2009 April 30th |
|
Creating Reliable and Responsive Embedded User Interfaces with Adobe Flash and OpenGL ES

No matter how sophisticated an embedded GUI becomes, it must remain reliable, scalable, and, of course, memory and CPU efficient. This paper explores how developers and system designers can satisfy these many requirements while leveraging standards such as OpenGL ES and Adobe Flash. Topics include achieving maximum utilization of available hardware, reducing memory footprint, implementing fault tolerance, and ensuring immediate response
to user input. (Read More...)
|
581.8 KB |

 |
|
| 2009 April 30th |
|
Synchronizing Content from Removable Digital Media

This paper explores several synchronization techniques, including ”directed’ sync,” which is based on user selection. It also examines 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, the paper discusses techniques of data persistence, with a focus on managing the reinsertion of previously inserted media. (Read More...)
|
88.21 KB |

 |
|
| 2009 February 26th |
|
QNX Connected Automotive Reference

Quickly develop in-vehicle systems with a high level of functionality and reliability while dramatically improving the software development process with an integrated set of software solutions and services (Read More...)
|
2.45 MB |

 |
|
| 2008 October 24th |
|
Managing Flash Memory in Embedded Systems

This paper explores how to choose the most appropriate file system for your embedded design. For example, should your design use a FAT file system or a transaction-based file system? Does it need to run reliably on low-cost NAND flash or recover quickly from file errors? This paper addresses these issues and examines the importance of dynamic wear leveling, static wear leveling, read-degradation monitoring, write buffering, background defragmentation, and other techniques. (Read More...)
|
95.93 KB |

 |
|
| 2008 July 25th |
|
Bridging the Gap between Open and Commercial Software

By combining the ease of access of the open source model with the quality and discipline of the commercial model, a hybrid software model offers a number of benefits, including greater productivity, earlier access to bug fixes and new technology, and faster problem resolution. (Read More...)
|
210.22 KB |

 |
|
| 2008 May 6th |
|
Building Dynamic HMIs for Industrial Control with Adobe Flash

Developers of industrial control systems are beginning to embrace Adobe Flash for one simple reason: It reduces GUI development time by up to 50%. This paper looks at preserving realtime performance and reliability while leveraging the power and time-to-market advantages of Flash. It also explores component-based HMI frameworks that seamlessly blend 2D/3D applications, Flash applications, and multimedia. (Read More...)
|
712.17 KB |

 |
|
| 2008 April 30th |
|
Using Static and Runtime Analysis to Improve Developer Productivity and Product Quality

Static analysis can discover a variety of defects and weaknesses in system source code, even before the code is ready to run. Runtime analysis, on the other hand, looks at running software to detect problems as they occur, usually through sophisticated instrumentation. While some may argue that one form of analysis precludes the other, this paper looks at how developers can combine both techniques to achieve faster development and testing as well as higher product quality. (Read More...)
|
1.31 MB |

 |
|
| 2008 March 20th |
|
In-Field Debugging: Diagnosing Software Problems While Maintaining System Availability

Software bugs that make it to market not only cause 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. This paper examines debug and information-gathering techniques that can maintain system availability while generating artifacts that help diagnose and resolve software failure. (Read More...)
|
458.45 KB |

 |
|
| 2008 February 18th |
|
Software Optimization Techniques for Multi-Core Processors

Migrating code to multi-core processors is increasingly popular. However, it isn’t enough to get software to run on a multi-core processor — the key to success is optimizing the software to make full use of all cores. This whitepaper examines various techniques for improving multi-core performance including distributing tasks across multiple threads, reducing lock contention, optimizing CPU cache usage, and minimizing I/O bottlenecks. (Read More...)
|
1.08 MB |

 |
|
| 2008 February 18th |
|
Using Adobe Flash to Create Dynamic Human Machine Interfaces

Using Adobe Flash technology in embedded devices can reduce HMI design time by up to half. However, it takes skill to ensure interfaces remain small and reliable, perform consistently under all load conditions, and interact gracefully with other programs. This whitepaper explores the design choices to consider when working with Adobe Flash technology including the importance of priority control and real-time performance. (Read More...)
|
755.5 KB |

 |
|
| 2008 February 18th |
|
Using Time Partitioning to Ensure Guaranteed Access to Industrial Control Systems

An “always on” interface for remote monitoring and configuration is a key requirement for today’s systems. Unfortunately as complexity and code size grows, so does the probability that task starvation and other defects will make their way into your final product. This paper explores how to use time partitioning to create systems that are always accessible … as well as well-integrated. (Read More...)
|
556.83 KB |

 |
|
| 2007 July 24th |
|
Secure Partitioning for Multi-Core Systems

Virtually every embedded system today is connected, either physically or wirelessly, to the outside world. This network connectivity allows users to perform remote monitoring and control, and enables systems to download new software features or content on the fly. Unfortunately, it also makes systems vulnerable to infiltration by a growing cadre of cyber terrorists and extortionists. To contain such attacks, many system designers have turned to secure partitioning. (Read More...)
|
101.22 KB |

 |
|
| 2007 February 13th |
|
Getting the Most out of Eclipse CDT

Eclipse CDT has become the de facto standard for developing embedded C/C++ applications. Find out what’s new, what’s coming, and what extensions are available for debugging and optimizing your software projects. (Read More...)
|
1.78 MB |

 |
|
| 2007 January 15th |
|
Is Linux Appropriate for Embedded Systems?

The selection of an operating system is one of the most important decisions facing development teams, one that ultimately defines product capabilities. The architecture and features of the chosen operating system have far-reaching implications throughout the definition, development, and deployment of the end product. This is particularly true of embedded systems, which typically have extended product life cycles and availability requirements. (Read More...)
|
92.5 KB |

 |
|
|
 |