How-to articles about the design of safe and reliable embedded systems.

A Framework for Safe Motion Control Firmware

An object-oriented framework can be used to create safe, testable and tunable motion control systems.

2016 Safety & Security Survey

Barr Group's 2016 Embedded Systems Safety & Security Survey had participation from more than 2,500 embedded systems design engineers and revealed a number of interesting trends in the embedded industry.

How to Prevent Bugs in Embedded Software with TDD

It’s a fact: When you create code, you create bugs. Listen in as we present the finer points of Test-Driven Development (TDD) - a game-changing approach to embedded software development that can greatly reduce bugs early in the development process. TDD is not a debugging technique but rather an approach to proactively preventing defects.

Software Reliability and the Internet of Things

As Internet connectivity advances, the transportation, automotive, medical device, smart grid and other industry sectors have become more dependent on embedded software. But is software reliable?

How to Find and Fix the Most Common Embedded Software Bugs

As if debugging traditional PC/server software or even smartphone apps wasn't hard enough, debugging embedded software adds significant challenges.

How to Secure Consumable Components of Medical Devices and Other Embedded Systems

 Printable PDF

A number of embedded systems, such as medical devices and printers, feature replaceable components designed to be installed new, consumed through one or more cycles of product use, and ultimately disposed. This article describes the security challenges associated with the design of such consumable components as well as practical solutions.

Mutexes and Semaphores Demystified

What's the difference between a mutex and a semaphore? Misuse of these two distinct types of synchronization primitives can lead to difficult to debug defects with potentially severe consequences in safety-critical devices.

Hardware-Software Partitioning in Embedded Systems

One of the biggest challenges when architecting an embedded system is partitioning the design into its hardware and software components, which must typically be decided early in the design of a product.

Key Learnings from Past Safety-Critical System Failures

Welcome to the 21st century, where every device has at least one processor. But don't take for granted that these devices will do their intended jobs tirelessly and correctly, day in and day out, without fail.

Top 10 Bug-Killing Coding Standard Rules

To increase security and keep bugs out of medical devices and other safety-critical embedded systems, add these 10 bug-killing rules to your embedded C coding standard.

Pages