Glossary

Find definitions for technical terms in our Embedded Systems Glossary.

A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
Z Symbols

Test Your Skills

How good are your embedded programming skills? Test yourself in the Embedded C Quiz or the Embedded C++ Quiz.

Test Your Skills

Newsletter Signup

Want to receive free how-to articles and industry news as well as announcements of free webinars and other training courses by e-mail? Signup Today!

Articles

At Barr Group, our mission is to help as many embedded systems engineers as possible make their products safer, more reliable and more secure. In addition to providing Training, Consulting, and Product Development services, we encourage our engineers to share their technical expertise by writing and teaching. We hope that you will learn something from these free how-to articles. Please respect the copyright notices at the bottom of each page.

DirecTV Expert Witness Case Study

Within months of the 1994 launch of DirecTV's national satellite TV service in the U.S. the broadcast system was hacked. The company's first-generation smart card-based security could subsequently be modified or replaced by individuals desiring to erase records of pay-per-view purchases or enable the unlawful interception of channels they hadn't paid for.

Top 10 Causes of Nasty Embedded Software Bugs

Finding and killing latent bugs in embedded software is a difficult business. Heroic efforts and expensive tools are often required to trace backward from an observed crash, hang, or other unplanned run-time behavior to the root cause. In the worst case scenario, the root cause damages the code or data in such a subtle way that the system still appears to work fine or mostly fine-for some time before the malfunction.

Top 5 Causes of Nasty Embedded Software Bugs

Finding and killing latent bugs in embedded software is a difficult business. Heroic efforts and expensive tools are often required to trace backward from an observed crash, hang, or other unplanned run-time behavior to the root cause. In the worst case scenario, the root cause damages the code or data in such a subtle way that the system still appears to work fine -or mostly fine- for some time before the malfunction.

How to Allocate Dynamic Memory Safely

Whether you're using only static memory, a simple stack, or dynamic allocation on a heap, you have to proceed cautiously. Embedded programmers can't afford to ignore the risks inherent in memory utilization.

Every program uses random access memory (RAM), but the ways in which that memory is divided among the needy parts of the system varies widely. This article surveys the options available in hopes that the reader will be better equipped to choose an approach for a given project.

How to Protect Non-Volatile Data

Unexpected power loss and software bugs can undermine the reliability of non-volatile data. Fortunately, there are various ways to make non-volatile data resilient to such corruption.

How to Improve Product Usability

Product usability problems require the engineer to take off his engineering hat and think more like a user.

Response Timing for User Interfaces

Proper timing in user interfaces often has more to do with the user's perception than with the actual passage of time.

How to Avoid Common Firmware Bugs

Understanding software and hardware bugs in other embedded systems can help you identify, diagnose, and fix bugs in your own.

Usability for Non-Graphical User Interfaces

The placement of knobs, buttons, and switches is as essential as the firmware to making a usable embedded system.

How to Design Software-Friendly FPGAs and ASICs

Designing firmware-accessible debugging resources into embedded systems provides a valuable supplement to hardware test and analysis tools. Think ahead about what could go wrong during hardware testing or firmware integration, and add the hardware resources needed to troubleshoot those issues.

Pages

Subscribe to RSS - Articles