Embedded Software Technologist

My work in the electronics industry spans nearly 40 years, almost exclusively with embedded software. I began developing software and managing teams of developers.Then, I moved to customer roles, including pre-and-post sales technical support, sales management and marketing. I have presented at numerous conferences, including Design West, Design East, Embedded World, ARM TechCon, and my work frequently appears on Embedded.com.

Articles 1 - 20
Debug & Test

Comments and Debug Code - Blog

February 15, 2021

Developing software for embedded systems takes time – generally more time than initially expected.


Multicore and OpenAMP - Story

January 27, 2021

Every embedded system is different. And so, as multicore designs become increasingly common, almost to the point of being mainstream, different hardware and software architectures are evolving.

Software & OS

Take a Break - The Break Statement in C - Blog

November 19, 2020

In the early days of programming, the first high-level languages very much followed the pattern of assembly language.

Software & OS

Pitfalls in C: Declaring Variables - Blog

October 23, 2020

C is the most commonly used language for embedded, with good reason. It is expressive, compact and powerful. With care, it is possible to write very clear, readable code. But there are pitfalls.

Debug & Test

Readability Beats Debugging - Blog

September 22, 2020

When writing code, your first priority should be readability. A lot of time is spent debugging and maintaining code, often far more than was spent writing it in the first place.

Software & OS

Free Software! - Blog

August 13, 2020

The "free apps" folks are so surprised when I pay, say $1.99 for an app. I commonly think, generally I know, that I am getting a bargain.

Software & OS

Encouraging Embedded Code Reuse - Blog

July 16, 2020

The word "library" is used and abused in a variety of contexts. Its meaning here is well defined. A library file may be presented to the linker, along with relocatable object files.

Software & OS

Bottom Up or Top Down? - Blog

June 16, 2020

There are, broadly speaking, two distinct approaches to the design of software: bottom-up or top-down.

Software & OS

Dynamic Memory Allocation - Just Say No - Blog

May 19, 2020

Increasingly, embedded software developers are realizing that dynamic memory allocation is fraught with problems.

Software & OS

Subtlety in C - Blog

April 16, 2020

I feel very strongly that a software developer has a great responsibility, which should be manifest in a priority: write code that is easy to understand.


Challenges and Opportunities with Medical Embedded Applications - Blog

March 16, 2020

Although I would normally talk to embedded software developers about the technology and processes around that software, understanding the background to why their products are needed is useful.


Getting Certified - Blog

February 17, 2020

There is an increasing focus on safety and security in a variety of embedded applications. This, in turn, drives a demand for certification of such systems.

Software & OS

Inside the Black Box - Blog

January 15, 2020

Most software is obtained as a binary executable. The program may run and does what it does, but the user has no knowledge of its inner workings and has no opportunity to modify its functionality.

Software & OS

Embedded OS: real-time or not? - Blog

November 21, 2019

OS selection is quite a large subject and there are many nuances, and this is a matter that I have written about many times. Today I wanted to ponder the matter of time; what model of time is relevant

Software & OS

How to Choose an Embedded Operating System - Blog

August 13, 2019

Almost all modern embedded systems are built using an operating system (OS) of some sort. This means that the selection of that OS tends to occur early in the design process. How do you choose an OS?


What Processor Should I Use? - Blog

April 15, 2019

There are a great many embedded CPUs on the market today, so selecting the right one for a given project is a challenge.

Analog & Power

Power Saving Modes for Embedded Systems - Product

February 19, 2019

Power management's importance is largely driven by the requirements to extend battery life for handheld devices, but environmental hazards, heat dissipation, etc., are raising concerns.

Software & OS

Embedded Hypervisors Aren't New, But? - Blog

December 17, 2018

Some technologies stand the test of time. Hypervisors have been around for a long time, but have recently come into their own.

Software & OS

The demise of the reset button - Blog

November 15, 2018

A device can perform a self-test and sometimes software can preempt its own failure, but freezes happen, and what do you do?

Software & OS

Software tests its own integrity - Blog

October 18, 2018

Obviously, well designed software is likely to have fewer bugs and the application of modern embedded software development tools can keep them to a minimum.

Articles 1 - 20