It may not be possible to overhype new infrared photovoltaic technology. It’s basically a solar cell powered by excess heat. Further developments promise to power cars and factories by cooling the planet. Albert Einstein was first to describe the photoelectric effect, in 1907. He was awarded the Nobel Prize for this work in 1923. Briefly, the […]
Month: March 2011
Sanity checking data
One of the major differences between embedded systems engineers and the general public is that we tend to notice embedded systems a lot more – both when they do something very well, and also of course when they do things not so well. The latter happened to me recently when I was pursuing one of […]
Save Big on Embedded Systems Conference Registration
The big Embedded Systems Conference 2011 Silicon Valley show opens six weeks from today. This should have been my fourteenth consecutive year as a speaker, but I have an unfortunate calendar conflict that first week of May. Judging from the speaker and course lineups, it looks like it’s going to be a really great ESC conference again […]
Do Inline Function Bodies Belong in C Header Files?
Earlier today I received the following question by e-mail from Brazil: I am trying to conform to the rules in your Embedded C Coding Standard book and I just ran into what may be a problem with Rule 6.3.a. Instead of using function-like macros, I’m using inline functions, as you recommend. However, my compiler (avr-gcc) gives an […]
The N_ELEMENTS macro
Many years ago I came across a simple macro that has proven to be quite useful. Its usual definition looks something like this: #define N_ELEMENTS(X) (sizeof(X)/sizeof(*(X))) Its nominal use is to determine the number of elements in an incomplete array declaration. For example void foo(void) { uint8_t bar[] = {0, 1, 2, 3, 4}; […]
What’s Wrong With Home Security?
After living in my house for 22 years my illusion of security was shattered. Three high school kids created a mini-crime spree, breaking into something like a dozen houses in my generally good neighborhood. With squad cars roaming the streets and police helicopters overhead the group broke into their third house that day – mine. […]
What NHTSA/NASA Didn’t Consider re: Toyota’s Firmware
In a blog post yesterday (Unintended Acceleration and Other Embedded Software Bugs), I wrote extensively on the report from NASA’s technical team regarding their analysis of the embedded software in Toyota’s ETCS-i system. My overall point was that it is hard to judge the quality of their analysis (and thereby the overall conclusion that the […]
Unintended Acceleration and Other Embedded Software Bugs
Last month, NHTSA and the NASA Engineering and Safety Center (NESC) published reports of their joint investigation into the causes of unintended acceleration in Toyota vehicles. NASA’s multi-disciplinary NESC technical team was asked, by Congress, to assist NHTSA by performing a review of Toyota’s electronic throttle control and the associated embedded software. In carefully worded concluding statement, NASA stated […]