Wrong Number

So some guy answered and I realized I had dialed the wrong number. I apologized and hung up. Unfortunately I was left with a dilemma. Was the number on the piece of paper in my hand the incorrect number, or had I accidentally mis-dialed one of the digits. The call was over and I had […]

Read More

Embedded Systems and the Environment

With the recent run up in the price of oil, it seems as if everyone is talking about energy and how to conserve it. For most people, the only impact they can have on the environment is through their own individual actions and choices. Engineers however, are in a different position because at a professional […]

Read More

Efficient C Tips #1 – Choosing the correct integer size

From time to time I write articles for Embedded Systems Design magazine. A number of these articles have concentrated on how to write efficient C for an embedded target. Whenever I write these articles I always get emails from people asking me two questions: 1. How did you learn this stuff?2. Is there somewhere I can go […]

Read More

Make the most of side-by-side code differencing

I’m constantly amazed how many developers shoot themselves in the foot by defeating the benefits of side-by-side source code differencing, which is perhaps the most routinely used technique in daily code development and maintenance with any VCS (Version Control System). In this post, I’d like to share a few tips for making the most of […]

Read More

Thoughts on the optimal time to test code

Today I’d like to take on one of the sacred cows of the embedded industry, namely the temporal relationship between coding and testing of the aforementioned code. The conventional wisdom seems to be as follows.“Write a small piece of code. As soon as possible test the code. Repeat until the task is complete” I know […]

Read More

RTOS Myth #4: The RTOS is in Charge

The Myth: The operating system is in charge and it decides when to switch from one application task to another. The Truth: A real-time operating system (RTOS) is a very different beast than a multi-user desktop operating system, such as Linux. In fact, an RTOS is simply a library of functions plus a timer tick […]

Read More