How-to articles about the C programming language.

How to Have Polymorphism Without a Heap

Rethinking basic programming techniques can avoid many of the problems that heap-based memory management poses for embedded real-time system designs.

How to Reduce Power Consumption by Writing Better Software

The way you write software can affect the power consumption of the resulting product. Here are four approaches to minimizing power consumption through software.

Bug-Killing Coding Standard Rules for Embedded C

A C coding standard can help keep bugs out of embedded software by leveraging common language features and development tools.

More Bug-Killing Coding Standards for Embedded C

This second article on enforceable coding standards for embedded systems adds a set of additional bug-killing rules for using certain C keywords and naming global variables.

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.

How to Make Embedded Software Smaller and Faster

Many embedded systems have reliability, cost, and performance requirements that demand performance be designed into the system, from architecture to algorithms to data structures to coding guidelines.

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.

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