How-to articles about designing safe, reliable, and secure embedded systems.

How to Design Safety into the Electro-Mechanical System Around Software

When it comes to safety-critical applications, sometimes you have to protect users from the software. And sometimes you have to protect users from themselves.

How Network Processors Work

Network processors are programmable chips like general purpose microprocessors, but are optimized for the packet processing required in network devices. But what are they good for and how do they work?

How to Use Watchdog Timers Properly when Multitasking

To keep a watchdog timer from resetting your system, you've got to kick it regularly. But that's not all there is to watchdog science. We will examine the use and testing of a watchdog, as well as the integration of a watchdog into a multitasking environment.

How to Implement Internet Protocol (IP) in C

The Internet Protocol (IP) is the glue that holds an internet together. Here's a compact implementation of the IP layer for embedded C programmers.

Fast Accurate Memory Test Code in C

If ever there was a piece of embedded software ripe for reuse it's the memory test. This article shows how to test for the most common memory problems with a set of three efficient, portable, public-domain memory test functions.

Address Resolution Protocol (ARP)

The address resolution protocol provides a necessary bridge between physical and logical addresses on a TCP/IP network.

Every system on a TCP/IP network has two addresses, one physical and one logical. The address resolution protocol (ARP) provides a necessary bridge between these two addresses.

How Ethernet's MAC Addresses Work

Merely adding a protocol stack and networking API to your software doesn't make you TCP/IP ready. You'll also need to assign your product a MAC address.

How to Calibrate Mechanical Inputs in Software

Embedded software developers operate in a perfect digital environment but must interact with the imperfect analog real world. To do this it's essential to know how to perform calibration of inputs and sensors.

How to Implement TCP/IP and UDP/IP for Embedded Systems

If your embedded system is on a network, the key question is not will you include TCP/IP but which subset of the Internet Protocol suite will be supported in your product.

Assembly vs. C: Which is Best for Microcontrollers?

Given a particular programming problem, what language should you use to realize the solution? Your choice could very well affect the success or failure of the project. So you'd better choose wisely.