How-to articles about designing safe, reliable, and secure embedded systems.
Posted: Sat, 2003-02-01 00:00 - Niall Murphy
Should you integrate a GUI into an embedded system by adding a dedicated processor or upgrading the existing one? Here are some options and trade-offs.
Posted: Wed, 2003-01-01 00:00 - Michael Barr
In the market for a real-time operating system (RTOS)? This article provides an overview of RTOSes and how you can select the best one for your project.
Posted: Sun, 2002-12-01 00:00 - Michael Barr
Finite impulse response (FIR) filters are the most popular type of filters implemented in software. This introduction will help you understand them both on a theoretical and a practical level.
Posted: Tue, 2002-10-01 00:00 - Nigel Jones
The limitations of an 8-bit microcontroller (MCU) can sometimes make conventional C constructs produce suboptimal code. In this article we look at common problems on the 8051 family and discuss workarounds in C.
Posted: Sun, 2002-09-01 00:00 - Michael Barr
Counter units (aka, timer units) are crucial components of most embedded systems and included in many microcontrollers. Here's a primer on the hardware.
Posted: Thu, 2002-08-01 00:00 - Michael Barr
Most control systems utilize feedback in some manner. Here's a look at several fundamental feedback mechanisms, culminating in a description of a basic PID controller.
Posted: Mon, 2002-07-01 00:00 - Nigel Jones
In 1998, the UK's Motor Industry Software Reliability Association established a set of 127 guidelines for the use of C in safety-critical systems. Here's a look at the rules, what they mean, and how they can work for you.
Posted: Sat, 2002-06-01 00:00 - Michael Barr
Sun's K Virtual Machine gives embedded developers a virtual kick in the pants. KVM makes it possible to, for the first time, run Java programs on any 16-bit processor with 128KB of available memory.
Posted: Wed, 2002-05-01 00:00 - Nigel Jones
Language specifications, including those for C and C++, are often loosely written. A static analysis tool called lint can help you find dangerous and non-portable constructs in your code before your compiler turns them into run-time bugs.
Posted: Mon, 2002-04-01 00:00 - Michael Barr
When tasks share resources, as they often do/must, strange things can and will happen. Priority inversions can be particularly difficult to anticipate. A basic understanding of the problem is key.
Pages