We live in a “seeing is believing” world. And embedded systems users likely physically see only the hardware they use as they: keep an F-22 flying high (Figure 1); capture telemetry information; gather Intelligence, Surveillance, and Reconnaissance (ISR) data; pilot an Unmanned Aerial Vehicle (UAV) from a ground control station; or even send a deployed soldier classified information on a handheld device. But the fact remains that this very-visible hardware is 100\% dormant without...Read More
I hear more and more about virtualization every day. It's obviously becoming more prominent in the life of an embedded developer. Virtualization lets developers consolidate their hardware, thereby reducing system cost, power, and size. In fact, I blogged the other day about how one of the key OS vendors (Green Hills) recently started up a business unit solely devoted to virtualization. So I was intrigues when I saw this article written by Kenton Williston. In the article, he explains the...Read More
As you may have noticed, code and data security is a hot topic, and one covered by a number of the Intel® Embedded Communications Alliance (Intel® ECA) Roving Reporters. Indeed, security is important in protecting financial transactions, personal data such as medical records, and of course military systems dealing with national security. Today, security is tougher than ever because almost all systems, even embedded ones, connect to networks and the Internet. Moreover cost concerns r...Read More
The practice of virtualization has been around for more than a decade, but who's to say which of the three frontrunner methods - binary translation (or runtime handling of system behavior/control-sensitive instructions); OS-assisted (also called para-virtualization); or hardware-assisted (also known as full virtualization) - is best? Or is there a best? While some continue to rely on binary translation as the de facto method, others might think that either para-virtualization or hardware-assist...Read More
Unintended software interactions are bugs, or at least potential bugs. They're among the most difficult problems to diagnose and correct because the pre-conditions may be difficult to reproduce. Such bugs are annoying in Personal Computers used for office work, but may form the basis for dangerous failures when present in embedded systems that control cars, planes, heavy equipment, pacemakers and many other applications. One solution restricts software interactions to the lowest levels o...Read More