Freescale customer service

I have to admit to having a soft spot for Freescale microprocessors. The first micro I ever used was a Motorola 6809 and for the first few years of my career I worked exclusively on 6800′s, 68HC11′s and 68000 processors.  Times changed and I largely moved away from the product range, although I did return […]

Read More

Firmalware

There’s a fascinating story from Reuters (with a far more detailed report from Kaspersky) about how a very sophisticated hacking operation, presumably the NSA, has been targeting computers by reflashing the firmware of hard drives such that the attacker controls what is loaded at boot time. If you think this has shades of Stuxnet about it, then you aren’t […]

Read More

Shifting Styles

To say it’s been some time since I last posted is an understatement! I won’t bore you with the details other than to note that sometimes there just aren’t enough hours in a day. Anyway, today’s post is about a stylistic issue I’ve noticed in just about all code I’ve ever looked at. Unless you […]

Read More

The engineering – marketing divide

We have all sat in surreal meetings with the sales and marketing folks. This video captures the dynamic perfectly (caution – you won’t know whether to laugh or cry): The Expert Video I actually have some sympathy for the marketing people portrayed here, as it must be very hard when you’re so far out of […]

Read More

Idling along, (or what to do in the idle task)

If you are using an RTOS in your latest design then no doubt you have an idle task. (Most of the time, the idle task is explicit and is the user task with the lowest priority; sometimes it’s built into the RTOS). It’s been my experience that the idle task is an interesting beast. On […]

Read More

What’s in your main() header?

One of the consequences of being in the consulting business is that I get to look at a lot of code written by other people. Usually it is necessary for me to get up to speed on the code as quickly as possible, and so to this end, one of the first things I do […]

Read More

Real world variables

Part of what makes embedded systems fun for me is that they normally interact with the physical world. The physical world contains real parameters which we measure using transducers, signal conditioning circuits and so on, such that ultimately we end up with a variable in our embedded code that purports to represent this real world […]

Read More

2012 Explained – Toyota

Regular readers of this blog will no doubt have noticed the paltry number of articles posted by me this year. While there have been a number of contributing factors, one of the more significant has been Toyota. I have been part of the team that has spent a large part of 2012 examining the engine […]

Read More

All variables are equal, but some are more equal than others

With all due apologies to George Orwell for the title, I thought I’d offer a little tidbit on the practice of the following construct: uint8_t a,b,c,d; a = b = c = d = 0; This code declares four variables (a,b,c,d) and sets them all equal to 0. The question is, is this a good, […]

Read More