Embedded Systems Conference 25% Discount Code CTDSS15

As a speaker and track chair for the “Designing Safer Systems” track at the Embedded Systems Conference Silicon Valley, I am able to offer conference attendees a 25% registration discount. To receive the discount you must register with the promotional code CTDSS15. The complete conference program can be found at http://esc-sv09.techinsightsevents.com/conference.

Read More

RTOS Myth #5: You Need One

The Myth: You need a real-time operating system (RTOS) to make your embedded software easy to implement and maintain. The Truth: Three positive implications of the use of a preemptive priority-based RTOS must be weighed against ten negative implications. An RTOS works well in some scenarios, but overly complicates the design of many other systems. […]

Read More

Effective C Tips #2 – Defining buffer sizes

This is the second in a series of tips on writing what I call effective C. Today I’m addressing something that just about every embedded system has – a buffer whose length is a power of two. In order to make many buffer operations more efficient, it is common practice to make the buffer size a power […]

Read More

Efficient C Tips #6 – Don’t use the ternary operator

I have to confess that I like the ternary operator. K&R obviously liked it, as it is heavily featured in their seminal work. However after running experiments on a wide range of compilers I have concluded that with the optimizer turned on, you are better off with a simple if-else statement. Thus next time you […]

Read More

Horner’s rule addendum

A few weeks ago I wrote about using Horner’s rule to evaluate polynomials. Well today I’m following up on this posting because I made a classic mistake when I implemented it. On the premise that one learns more from one’s mistakes than one’s successes, I thought I’d share it with you. First, some background. I had some […]

Read More

Effective C Tips #1 – Using vsprintf()

I’ve been running a series of tips on Efficient C for a while now. I thought I’d broaden the scope by also offering a series of tips on what I call Effective C. These will be tips that while not necessarily allowing you to write tighter code, will allow you to write better code. I’m kicking the […]

Read More

Electrical Engineers versus Computer Scientists

Looking back at my various blog postings, I’ve noticed that although I may be controversial on technical topics, I haven’t to date written anything that is controversial on a, shall I say, human side. Well no more Mr. Nice Guy, since today I intend to wade in on the topic of whether Embedded Systems should […]

Read More

Requirements vs. Design

Over the years, I have found that many engineers (as well as their managers) struggle to separate the various elements or layers of firmware engineering. For example, we are barraged with requests for “design reviews” that turn out to be “code reviews” because the customer is confused about the meaning of “design”. In the hopes […]

Read More