How-to articles about designing safe, reliable, and secure embedded systems.
Posted: Mon, 2002-04-01 00:00 - Michael Barr
Printable PDF
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.
Posted: Fri, 2002-02-01 00:00 - Niall Murphy
Printable PDF
Memory leaks can be particularly risky for long-running embedded systems. Here are some tools to identify, track, and analyze memory leaks in embedded C and C++ programs.
Posted: Tue, 2002-01-01 00:00 - Michael Barr
Some human languages are read and written from left to right; others from right to left. A similar issue arises in the field of computers, involving the representation of numbers.
Posted: Mon, 2001-10-01 00:00 - Michael Barr
Printable PDF
For those embedded systems that can't be constantly watched by a human, watchdog timers may be the solution.
Posted: Sat, 2001-09-01 00:00 - Michael Barr
Pulse width modulation (PWM) is a powerful technique for controlling analog circuits with a processor's digital outputs. PWM is employed in a wide variety of applications, ranging from measurement and communications to power control and conversion.
Posted: Sun, 2001-07-01 00:00 - Nigel Jones
The proper use of C's volatile keyword is poorly understood by many programmers. This article will teach you the proper way to do it.
Posted: Fri, 2001-06-01 00:00 - Niall Murphy
Printable PDF
The format of non-volatile data may change with a new version of software. Carefully planning data layouts and using data version numbers can make these upgrades easier.
Posted: Tue, 2001-05-01 00:00 - Michael Barr
SRAM or DRAM? EEPROM or flash? What types of memory will you use in your next embedded systems design?
Posted: Sun, 2001-04-01 00:00 - Niall Murphy
Printable PDF
Embedded systems programmers often value the assert() macro. This article explores the underlying definition of this handy macro, to show you how to roll your own.
Posted: Thu, 2001-03-01 00:00 - Niall Murphy
The assert() macro is one of those simple tools that would not seem to merit an entire article, but I have come across an alarming number of engineers who have not heard of it or do not use it.
Pages