How-to articles about hardware-software integration and electronics design.

U.S. District Court Source Code Review Rules

The U.S. District Court of Delaware's "Default Standard for Access to Source Code" follows many but not all recommended best practices for source code discovery.  This month we consider potential areas for improvement in the default rules of this important venue for patent infringement and software copyright litigation.

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 Design Software-Friendly FPGAs and ASICs

Designing firmware-accessible debugging resources into embedded systems provides a valuable supplement to hardware test and analysis tools.

How to Design a Software-Friendly DMA Module

These built-in troubleshooting resources for direct memory access (DMA) controllers can pave the way for smoother embedded software integration.

Design by Contract for Embedded C

What is the Design by Contract programming philosophy, what can it do for you, and why should all embedded software developers care?

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.

Framework for Safe Motion Control Firmware

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

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

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.

How to Minimize Interrupt Service Routine (ISR) Overhead

With all the automation available today, it's easy for programmers to overlook costly overhead introduced into machine code by the compiler. Interrupt handlers are one key area worthy of a closer inspection.

How to Use C's offsetof() Macro

C's offsetof() macro can be a helpful addition to your bag of tricks, including for packing data structures and describing how EEPROM data are stored.