Welcome to The Embedded Master, the expert resource for embedded systems designers and developers. Daily news, insightful blogs, video demos, monthly contests, whitepapers and more for the embedded community
Robust Design: Patch-It Principle

The software patch is a much maligned technique for keeping systems robust because many users perceive that the majority of these patches as merely fixes of feature bugs that the developers should have taken care of before shipping the software. While there are many examples where this sentiment has a strong ring of truth to it, the patch-it principle is a critical approach to maintaining robust s ...... Read More
Comments (1)Extreme Processing Thresholds: Low Power On-Chip Resources

In the previous post in this series I pointed out that the “sweet spot” clock rate for active power consumption for some microcontrollers is lower than the maximum operating clock rate for that part. However, looking only at the rated power consumption of these microcontrollers at a steady always-on operating state ignores the fact that many low-power microcontrollers employ on-chip ...... Read More
Comments (2)Question of the Week: Do you use formal selection criteria when choosing software languages and programming tools?

Apple’s recent change to section 3.3.1 of the iPhone Developer Program License Agreement for the 4.0 SDK explicitly limits developers to using “…Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs application” While this limitation applie ...... Read More
Comments (0)Robust Design: Sandbox Principle - Playing Nicely

I originally planned this post to be about the “Patch-It” principle of robust design. But, I am accelerating the “play nicely” sandbox principle to this post to use the change in Apple’s iPhone Developer Program License Agreement for the iPhone OS 4 SDK, section 3.3.1 as a timely example of an approach of how to get third party software to play nicely together on ...... Read More
Comments (2)Extreme Processing Thresholds: Low Power #2

In the previous post in this series I asked whether reporting uA/MHz is an appropriate way to characterize the energy profile of a processor. In this post, I assume uA/Mhz is appropriate for you and offer some suggestions of additional information you might want processor vendors to include with this benchmark when they use it. I will explore how uA/MHz is insufficient for many comparisons in the ...... Read More
Comments (0)Question of the Week: Is robotics engineering different enough from embedded engineering to warrant being treated as a separate discipline?

Robotics Engineering seems to be gaining momentum as a formal engineering discipline. Worcester Polytechnic Institute just became the third U.S. university to offer a doctoral program for Robotics Engineering. The university also offers a Bachelor and Masters program for Robotic Engineering. The interdisciplinary programs draw on faculty from the Computer Science, Electrical and Computer Engineeri ...... Read More
Comments (10)Robust Design: Sandbox Principle

Before diving deeper into the fault tolerance robust design principle, I will present three other robust design principles. This post will address what I call the Sandbox principle; although, I have heard other people use the term walled garden in a similar fashion. Sandbox in this context refers to my experience as a parent of small children playing at the park. The park was large and there were ...... Read More
Comments (4)Extreme Processing Thresholds: Low Power #1

In the previous Extreme Processing post about low cost processing options, I touched on what techniques processor vendors are using to drive down the price of their value line devices. However, the focus of these companies is not just on low price, but on delivering the best parts to match the performance, power, and price demands across the entire processing spectrum. Semir Haddad, Marketing Mana ...... Read More
Comments (0)Question of the Week: When does it make sense to use an RTOS or operating system?

I posted last week’s question about dynamic memory allocation here and in a group discussion at LinkedIn. There were many thoughtful comments at both locations, with the majority of responses made in the LinkedIn discussion. I’m trying to figure out a way to enable you to see the responses from both groups in one place. If you have any ideas, please let me know. This week’s qu ...... Read More
Comments (10)Robust Design: Fault Tolerance

Designing a system for fault tolerance is a robust design principle for building systems that will continue to operate correctly or in an acceptable degraded fashion. This approach is appropriate for systems that are expected to experience failures or operate in environments that are too complex to completely account and control all of the potential forces acting on the system. Implementing fault ...... Read More
Comments (0)Extreme Processing Thresholds: Low Price

Exploring processing thresholds is a tricky proposition. There is a certain amount of marketing specmanship when you are releasing a product that extends some limit of a processing option – say price, power, performance, or integration. It is helpful to understand how the supplying semiconductor vendor is able to meet the new threshold so you can better understand how those trade-offs will ...... Read More
Comments (0)Question of the Week: Do you use or allow dynamic memory allocation in your embedded design?

Back when I was deep into building embedded control systems (and snow was always 20 feet deep and going to and from school was up hill both ways), the use of dynamic memory allocation was forbidden. In fact, using compiler library calls was also forbidden in many of the systems I worked on. If we needed to use a library call, we rewrote it so that we knew exactly what it did and how. Those systems ...... Read More
Comments (12)
