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. […]
Month: September 2009
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 […]
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 – […]
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 […]
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 […]
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 […]
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, […]
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 […]
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 […]
A ‘C’ Test: The 0x10 Best Questions for Would-be Embedded Programmers (reprised)
In May 2000 Embedded Systems Programming magazine (now Embedded Systems Design) published an article I had written entitled “A ‘C’ Test: The 0x10 Best Questions for Would-be Embedded Programmers.” A revised version is posted at: A ‘C’ Test: The 0x10 Best Questions for Would-be Embedded Programmers. I received a lot of mail about it at the […]