Binary Literals in C

A couple of years ago, Netrino engineer Dan Smith was writing stepper motor control firmware that interfaced to lots of registers with binary fields and sub-fields. After struggling a bit with the usual error-prone “off by 1 bit shift” masking and conversion from binary to hexadecimal literals in C, he happened across a useful post on a forum. […]

Read More

The consultant’s dilemma

Today I’m going to talk about an interesting ethical dilemma that is faced by all engineers at various times in their careers but which consultants face much more frequently because of the nature of the work. The situation is as follows: A (potential) client has a new project that they wish to pursue and they […]

Read More

When you have nothing to say …

Many embedded devices have a simple text window, capable of displaying a few dozen characters. These are handy for giving the user simple instructions or displaying error messages if the device, or some connected equipment, misbehaves. In some designs there is an obvious text message to display when the device is not being used – […]

Read More

Minimizing memory use in embedded systems Tip #3 – Don’t use printf()

This is the third in a series of tips on minimizing memory consumption in embedded systems. If you are like me, the first C program you saw was K&R’s famous ‘hello, world’ code, reproduced below: main() { printf(“hello, world\n”); } In my opinion, this program has done incalculable harm to the realm of embedded systems programming! I […]

Read More

Where Have All the RTOS Vendors Gone?

I’m pleased to report that the Embedded Systems Conference (ESC) is alive and well here in Boston this year. This success is despite the recession and industry trends that have caused some other technical trade shows to fold this year. (That’s right, I’m talking about you Software Development Conference.) There’s even apparently going to be an ESC […]

Read More

Lowering power consumption tip #2 – modulate LEDs

This is the second in a series of tips on lowering power consumption in embedded systems. LEDs are found on a huge percentage of embedded systems. Furthermore their current consumption can often be a very large percentage of the overall power budget for a system. As such reducing the power consumption of LEDs can have a dramatic […]

Read More

FRAM in embedded systems

In a previous post I mentioned that I had recently attended a seminar put on by TI. One of the things that was mentioned briefly in the seminar was that TI will soon be releasing members of its popular MSP430 line containing Ferroelectric RAM or FRAM as it is usually referred to. There’s an informative, […]

Read More

Robust Embedded Software Architecture in 5 Easy Steps

Over the past few years, I’ve spent a large amount of my time consulting with and training software development teams that are in the midst of rearchitecture. These teams have already developed the firmware inside successful long-lived products or product families. But to keep moving forward, reduce bugs, and speed new feature development, they need […]

Read More

What About That Roswell Flying Saucer?

OK, maybe just ONE more blog on space programs… It seems common knowledge that the government snagged a flying saucer from the New Mexico desert in the summer of 1947. Expert testimonials from any number of sources repeatedly tell us we got integrated circuits, lasers, fiber optics, Velcro, and other technology from that saucer. It seems there […]

Read More