Skip navigation

Software & Bios

6 Posts authored by: Felix_M

This is my final blog in a 4-part series about JTAG debug for Intel® Architecture (IA) processors.  There has been explosive development in this area in the past few months, with the introduction of new IA debug tools from four companies.  What makes this significant is that before these four companies entered the fray in 2009 there had been only a single option available to IA developers, which was from Arium.  In my previous blogs, I have written about Arium and Wind River, Green Hills, and Macraigor.  [click on the links to read those blogs]  Last but not least comes Lauterbach which is the focus of this blog.  Note that I covered Arium first because they were the long-time incumbent supplier but the sequence of the others is arbitrary and does not reflect any bias.

 

I refer to Lauterbach figuratively as “last but not least,” but in the literal sense they are definitely not “least.”  Lauterbach is the self-proclaimed largest producer of hardware-assisted debug tools, having shipped some 60,000 hardware systems and over 100,000 debug licenses to over 18,000 customers worldwide since their inception 30 years ago.  Note that Wind River and Green Hills may be larger companies by revenue but most of that is from software whereas Lauterbach specializes in debug devices exclusively.  They list as a milestone the first compact emulator for the Z80, for those of us who remember that era – before some of our community members were even born, much less debugging computers.  Prior to the current generation of IA, Lauterbach also has some history supporting legacy Intel processors, listed in the table below.     

 

Lauterbach’s entry into the IA space is support for Intel® Atom™ added to their Trace32® product line.  The modular product is configured by combining a universal PowerDebug base module that is used for all supported processors with a processor-specific interface module for Atom.  Two base modules are available, with either USB only or USB plus Ethernet host connections.  The base modules are priced at $2,010 and $4,000, respectively, and the Atom interface costs $3,000.  Lauterbach users who already have the base module from another project need only swap in the new Atom interface to get up and running on Atom.  Everything else is the same.  I’ll make some further comments about pricing below, but first a quick look at the product specs.    

 

 212iEF0E989973905036

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lauterbach’s website highlights the following features: 

 

  •             SMP debugging (incl. hyperthreading)
  •             Fast high-level and assembler debugging
  •             Intelligent loader to boost download speed
  •             Interface to all compilers
  •             Linux- and WindowsCE-aware debugging
  •             User-configurable display system for internal and external peripherals at a logical level
  •             Flash programming
  •             Powerful script language

 

As I did with the other vendors in this blog series, I asked Lauterbach to comment on what they believe sets their product apart.  For that I connected with Jerry Flake, U.S. Western Region Sales Manager.  Engineers, before you get put off by Mr. Flake’s sales title let me tell you he’s a EE who actually knows how to use these products.

 

From the feature list above, Flake leads off with the scripting language that is customizable.  The GUI, TRACE32, interfaces with other tools, such as Labview, Rapitime, Rhapsody and Platform Builder, as well as Eclipse.  But he says Lauterbach’s customers tend to enjoy the advanced features of TRACE32 over the Eclipse solution.  Since Lauterbach does not offer their own compilers or RTOS, Flake contends that their compiler support is more open and RTOS awareness is a strength.  You can set breakpoints at the thread, process, or kernel level and examine stacks and task control blocks, kernel resources, status of all loaded threads, and look at contexts other than the current one.  Atom hyperthreading is supported by their SMP (Symmetrical Multi-Processing) feature that lets you view one thread at a time.  Flake says that if they don’t already support your commercial RTOS, they’ll add it at no charge, typically in two or three month’s time. And if you have your own custom RTOS, you can add that support yourself using an available kit.     

 

Also notable according to Flake is their fast target download, which is achieved by operating at up to 80 MHz JTAG speed (204 KBytes/s using 20 MHz JTAG frequency) combined with TRACE32’s intelligent loader, utilizing techniques like compression and differential loading, i.e., loading only those parts of the image that changed since the last build. These features are in part enabled by a high performance CPU onboard the main debug module.  All of this results in achievable intelligent downloads to ~4 MBytes/s.

 

He also points out that the product includes a FLASH programmer and, similar to their RTOS posture, if your device isn’t already supported they will add it at no charge in a short period of time.  Flake cites these services as examples of  Lauterbach’s commitment to supporting their customers.

 

Speaking of device support, the list of supported processors on Lauterbach’s website is quite extensive- numbering well into the hundreds- and includes many silicon companies I have never even heard of.  This translates into a large base of projects and engineers familiar with this tool which will make it easier to transition to IA.  Today, IA support means Atom.  Lauterbach says that they will consider other IA parts based on customer demand. 

 

Coming back to pricing, based on the figures I’ve cited above a complete new Trace32® system (Ethernet host) will set you back $7,000.  But if you already own the universal base module, the incremental outlay for the Atom interface is a more modest $3,000.  Either way, this puts Lauterbach somewhere in the middle of the five suppliers’ pricing band which ranges from under $1,000 to over $11,000.       

 

The table below shows a snapshot of the JTAG debug options currently available for IA. 

 

Company

Products

IA Processor Support

  

Arium

ECM-XDP3

ECM-700

Intel® Atom™, Core™ 2, Pentium®, Celeron®, and Xeon®

 

Green Hills Software

Green Hills Probe™

Intel® Atom™, Core™ 2, Xeon® 5500, and EP80579

 

Lauterbach GmbH

Trace32®

Intel® Atom™, 8051, 8086, 80168, 80286, 80386SX, 80386, and 80486

 

Macraigor Systems

usb2Demon™

Intel® Atom™

 

Wind River Systems

Wind River Probe

Wind River ICE 2

Intel® Atom™, Core™ 2 Duo T9400, L7400 and Xeon® x55xx

 

* Data obtained from the respective company websites at the time of posting  

 

Just a few months ago, developers working with IA had only one option for JTAG debug.  Today, depending on which IA chip you’re using, you have as many as five choices.  What’s most important to you- features, cost, familiarity, company tool chain standards?     How will you decide?  Please feel free to share your thoughts. 

 

 

All five companies mentioned in this blog are members of the Intel® Embedded Alliance.  Wind River Systems is an Associate member; Arium, Green Hills Software, and Macraigor Systems are Affiliate members; and Lauterbach GmbH is a General member of the Alliance.    

 

 

Felix

 

 

J. Felix McNulty
Community Moderator
Intel® Embedded Community
(Intel contractor)




 

This is my third blog in a series about JTAG debug for Intel® Architecture (IA) processors.  If you read my previous blogs you would have picked up on my theme that the embedded developer’s debugger options have greatly expanded over the past few months.  For the longest time, the sole choice was Arium.  Then in mid-2009 came alternatives from Wind River and Green Hills.  When Intel decided to enable additional vendors to provide IA debug, it seems to me they did so in a big way.  Joining the three companies I’ve already covered are Macraigor and Lauterbach. My focus of this blog is on Macraigor and I’ll cover Lauterbach in a later one.   Note my choice of sequence here is somewhat arbitrary and nothing should be otherwise inferred.   All five companies mentioned are members of the Intel® Embedded Alliance.  Wind River Systems is an Associate member; Arium, Green Hills Software, and Macraigor Systems are Affiliate members; and Lauterbach GmbH is a General member of the Alliance.    

 

Macraigor’s entry into the IA space is support for Intel Atom™ added to their core product line usb2Demon™ .   One side of the usb2Demon interfaces to a USB 1.1 or USB 2.0 port of a host PC and the other side connects to an OCD (On-Chip Debug) port on the target system. Here are some snippets I pulled from their website: 

 

  • When connected to a USB 2.0 port on your PC, the usb2Demon will run up to Hi-Speed USB rates (480Mb/s).  For Atom on the Crown Beach board, the download rate is 35K Bytes/sec (with JTAG clocked at 24 MHz). 
  • Power is supplied by the USB interface so that no external supply is necessary.
  •  The buffers that interface to the target OCD signals are powered by the target itself, allowing the usb2Demon to automatically match target voltages between 5.0 V and 2.2 V. 
  • As with all Macraigor interface devices, the usb2Demon can simultaneously debug up to 255 devices on a single scan chain.
  • Up to 16 usb2Demons can be connected to a single host machine. 
  • It supports configurable JTAG/BDM clock rates up to 24 MHz. 
  • The usb2Demon is compatible with Windows and Linux hosts. Supported versions of Linux are Red Hat 7.2 – 9 and Fedora Core 2. 
  • It is available now with a 24, 31 or 60 pin interface. 

 

 181iD41436483DC07EA4

 

 

 

The usb2Demon has a list price of $799 which includes various free software components.  A Flash programmer comes at additional cost.  Software support is key but let me address pricing first and I’ll come back to software later…  I think this affordable price point definitely validates the company’s stated positioning of serving the “cost conscious” customer.  It did make me wonder what you get and what you don’t get for this price, compared to the competing tools.  Well for starters, support is presently offered only for Atom, so if you are targeting another IA part this product obviously isn’t for you.   But if you are designing around Atom, for the rest of the answer I went directly to the source – Macraigor’s co-founder and managing partner, James MacGregor. 

 

MacGregor claims that their tool can do everything that the others do with one exception – run-time trace.  His take is trace isn’t all that necessary if your primary task is software bring-up rather than hardware debug, and that their breakpoint functionality is a suitable alternative.  That seems to make sense especially if you are using one of the many commercial board- or module-level products available from the Alliance member companies instead of designing a custom board.  

 

Now I come back to software which is where, according to MacGregor, lies the real differentiator that enables their pricing level.  Rather than investing in developing a proprietary Integrated Development Environment (IDE), they took the approach of leveraging open platforms.  From their website you can download free GNU / Eclipse development environment and tools including assembler, C compiler, debugger, Eclipse environment and over 80 example board specific C/C++ Eclipse/gcc/gdb projects.  In addition to supporting the developer, Macraigor provides a board test product for the production side of the house.  Again leveraging open systems, this package is created in Java, and Eclipse project examples are available for 13 boards, including Crown Beach for Atom.  Java-based means that typical college graduates can get a board test package up and running without the need for special expertise in assembly language.  MacGregor says that customers often achieve this in one day.

 

All four companies I’ve blogged about in this series have a primary focus on software and tools and all have experience in JTAG debug.  Macraigor boasts shipments of 30,000 units over the past 10 years, about half of which were sold directly to customers with the balance shipped in evaluation board kits through OEM relationships with major silicon manufacturers.  Macraigor supports a list of popular embedded processors and developers familiar with the company’s products for those other architectures should find migration to IA an easy transition. 

 

Concluding for now, let me leave you with a current snapshot of the JTAG debug options currently available for IA.  As mentioned above, I plan to come back with another separate blog on Lauterbach.

 

Company

Products

IA Processor Support

Arium

ECM-XDP3

ECM-700

Intel® Core™ 2, Atom™, Pentium®, Celeron®, and Xeon®

Green Hills Software

Green Hills Probe™

Intel® Atom™, Core™ 2, Xeon® 5500 (Nehalem), and EP80579

Lauterbach GmbH

Trace32®

Intel® Atom™

Macraigor Systems

usb2Demon™

Intel® Atom™

Wind River Systems

Wind River Probe

Wind River ICE 2

Intel® Atom™ now, Core™ 2 duo and Xeon® planned

 * Data obtained from the respective company websites at the time of posting  

 

I think a lot of recent strides have been made in tools supporting embedded IA developers.  Would you agree?  What would you like to see next?  If you have an opinion or a specific need please feel free to share it!

 

Felix

 

J. Felix McNulty
Community Moderator
Intel® Embedded Community
(Intel contractor)

 

 

 

 

 

 

I recently blogged about the limited availability of JTAG debug tools for Intel® Architecture (IA) processors and how Intel was working with software and tools companies to expand the developer's options. For many years since the advent of JTAG there had been only a single choice of IA debugger (Arium) and I wrote that previous blog on the heels of the June announcement of a second alternative (Wind River). Arium is an Affiliate member and Wind River Systems is an Associate member of the Intel® Embedded Alliance.

 

While it took over a decade to go from one to two choices, in just the past few weeks two additional companies enabled by Intel have debuted JTAG offerings for IA, bringing the total to four. The two new companies entering the fray are Green Hills Software and Macraigor Systems, both Affiliate members of the Alliance. In today's blog I will highlight Green Hills and I plan to review Macraigor in a subsequent post. Note that I've chosen this sequence based on the timing of their announcements and no bias should be otherwise inferred.

 

Green Hills' support for IA debug comes in the form of an upgrade to the Green Hills ProbeTM. According to their published specs., the Probe debugger supports over 1,000 devices from over 30 manufacturers. I checked out the list on the website and indeed it spans several pages. Embedded IA processors supported are AtomTM, CoreTM 2, Xeon® 5500 (Nehalem), and EP80579. Multi-core debug support is provided for CoreTM 2 and Xeon®.

 

139i622DF2C1388B6BF0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Key features of the Probe include:

 

  • Near theoretical maximum sustained JTAG TCK rates
  • Best-in-class sustained download speeds
  • Gigabit Ethernet
  • USB 2.0 High Speed

 

The Probe device is tightly integrated with Green Hills' MULTI Integrated Development Environment (IDE). The company claims that MULTI supports more target processors, Operating Systems (OS), and third-party tools than any other IDE, including target configurations with home-grown proprietary OS or even no OS.

 

 

140iDAD1445B139A75D1

 

 

 

 

Robert Redfield, Green Hills' Director of Partner Business Development, tells me that he believes their product is differentiated in three primary areas, "high speed- approaching the theoretical maximum; the wide variety of supported target architectures; and 3 host interfaces." To the latter point, Redfield adds that the Probe family has been shipping since 2001 and has customers "in the thousands." Those existing users can simply swap the external target adapter (processor architecture-specific) and reload IA-specific firmware on their existing Probes to migrate their embedded designs to IA without compromising software engineering productivity. The importance of tools availability in the hardware selection process should not be underestimated, especially tools that are familiar to the developer.

 

As for availability and pricing, Redfield says that there are currently multiple beta customers using the Probe, representing a diverse set of embedded applications. If you are interested in early access, Green Hills will consider additional qualified beta customers before the product is released to general availability.

 

While he declined to publish a price figure, Redfield did offer that the Probe is "considerably less expensive than legacy IA probes." I am sure that your Green Hills representative will quote you a price if you are a serious buyer. Although I don't have the figures to compare, as I speculated in my previous blog it only makes sense that we would see some movement in the pricing as more competition enters the market.

 

As mentioned above, I plan a future post on Macraigor to round out the picture on JTAG support for IA. In the meantime, your feedback would be most welcome, either on the specific tools mentioned here or on the topic in general. As Intel continues enabling additional software and tools companies to support embedded IA developers, what would you like to see next?

 

Felix

 

J. Felix McNulty
Community Moderator
Intel® Embedded Community
(Intel contractor)

 

 

 

 

 

 

For engineers involved with board bring-up, BIOS programming, OS customization, driver optimization, firmware and low-level software development, JTAG debug is an indispensable component of the developer's toolkit. Looking around the embedded space, I note that the availability and cost of JTAG tools varies widely by processor architecture. It seems that ARM has the most options- I even found a JTAG debugger for ARM on amazon.com selling for $299. In contrast, high-end solutions command prices over $10,000. Where does Intel® Architecture (IA) fit into this picture? In this blog I'll explore the evolution of JTAG support for IA- what exists today, and where it's heading tomorrow. You might not find an IA debugger on amazon.com today but big changes are afoot.

 

To paint the complete picture, let me start with a bit of history. In the days of the 386EX, 486 and the early Pentium, there were several companies offering IA emulators. Those tools needed special bondout versions of the processors and needed a socketed processor since they required access to all the processor pins. Besides having those limitations, they were often very expensive. Over time the list of companies offering IA emulators dwindled to a list of one.

 

Meanwhile, enter JTAG. Considering its pioneering role in processors, I wasn't too surprised to learn that Intel is credited with JTAG's adoption by electronics manufacturers worldwide, leading with the release of the 80486- the industry's first processor with JTAG. That was in 1990, the same year the Joint Test Action Group (JTAG) finalized the IEEE 1149.1 standard entitled Standard Test Access Port and Boundary-Scan Architecture. I look for the word "debug" in this standards title and I'm not finding it. That's because JTAG originated as a method to test populated circuit boards after manufacture. But since it provided developers with a convenient "back door" into processors and other ICs, JTAG's use as a debug aid was soon to follow.

 

The first commercial JTAG debug for IA appeared in 1992 from Arium, an Affiliate member of Intel® Embedded and Communications Alliance (Intel® ECA). No surprise here that Arium was that "list of one" I mentioned earlier. According to their website, the company is entirely focused on development and debug tools, with products supporting Intel and ARM processors and various software environments, both host and target. The hardware emulators are platform-specific but the software is common which means that if you're now developing with ARM it should be an easy transition for you to debug IA. Of course you'll have to learn the unique features of IA but the user interface to the core debug functions like setting breakpoints, inspecting registers and memory and writing flash will be virtually identical. Click here to check out the specs.

 

 

 

 

 

 

 

 

 

 

While almost since the inception of JTAG, Arium had been your only commercial choice for an IA debugger. However, in June 2009, along came Wind River, an Intel® ECA Associate member. You may have seen the previews in our community of the new Wind River JTAG Tools for Intel Processors. Wind River's solution integrates JTAG debug hardware with their Eclipse-based integrated development environment (IDE) known as Wind River Workbench. Hardware adapters are available in two configurations, an entry-level "portable" unit, and one that is multi-core, multi-thread capable.

 

 

76iB71C8166A190AED1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Consistent with Wind River's legacy of cross-platform support, their JTAG offering covers most popular embedded processors including ARM, MIPS, Power Architecture, ColdFire, RMI, and now IA. The first Intel processor supported is ATOM, and Wind River's collateral states that support for Core 2 Duo and certain Xeon chips will follow "in the near future." That makes total sense considering that Intel has just completed the acquisition of Wind River. In case you hadn't heard that news, you can read that announcement here. As in the case with Arium, if you're familiar with Wind River JTAG on one of their other supported processors it should be an easy transition for you to IA. Read the full specs.

 

For well over a decade IA developers had a single choice of JTAG debug. And now there are two. What's in store for the future? Will we wait another decade for additional options? The short answer is, no. My sources tell me that Intel is quickly closing the gap by working with other software and tools companies to expand JTAG support for embedded IA. At the time of writing this blog, these projects haven't been publicly launched so I'm not privy to the details. I am told however that the announcement timeframe will be weeks or months - not years.

 

As these new products roll out, I'll be interested in the price points. The IA processor family spans a wide cost spectrum. Is there a "one-size-fits-all" debugger, or rather a one-price-fits-all? My experience tells me that many developers scale their tool budget expectations to the target product cost. While customers will gladly pay x for tools in support of a big ATCA blade with dual Xeon processors, they might balk at that same x figure to support a low cost ATOM-based handheld device, even though the debug effort may be similar. We will just have to wait and see how this scenario unfolds.

 

Will it be long before you can buy JTAG for IA on amazon.com? More importantly, what are your favorite JTAG debug products that you would like to see Intel-enabled? Let me know your thoughts.

 

Felix

 

 

J. Felix McNulty
Community Moderator
Intel® Embedded Design Center Community
(Intel contractor)

 

 

 

 

 

 

 

 

 

Most microcontrollers, DSPs or other types of embedded processors boot pretty fast, typically in the order of a couple hundred milliseconds or less. But if you're using an Intel® Architecture processor and running a standard BIOS, boot times are measured in seconds. This can be a showstopper for some embedded applications, like a military battlefield device, where a long boot time could put troops in jeopardy.

 

Why does a standard PC BIOS take so long to boot? Because it's a one-size-fits-all solution that supports a wide range of system configurations, legacy interfaces and other bells and whistles.  The BIOS is one of the features that drove the remarkable plug-and-play PC environment.  Yet, this universal approach isn't needed for some embedded devices that have a well bounded set of peripherals and run a limited number of applications, such as a network appliance whose only I/O are Ethernet ports and status LEDs - It boots from FLASH and doesn't have storage, a display, a keyboard or a mouse, etc. In these cases, you can implement a slimmed-down BIOS that's platform-specific and delivers sub-second boot times.

 

Slimming down the BIOS.

 

For a good starting point, see how Intel engineers carved up a BIOS written for the Intel® AtomTM processor. They cut 10 seconds off the boot time by making ten straightforward modifications to the BIOS code, bringing it down from nearly 12 to under 2 seconds. The biggest bang for the buck came from turning off debugging and removing BIOS setup (i.e., hot keys that terminate the boot process), which saved over 5 seconds. Those ten changes are listed in the table below, and all the details are in a white paper at http://download.intel.com/design/intarch/papers/320497.pdf.

 

boot.JPG

 

A BIOS alternative?

 

A commercial alternative to the BIOS is available from QNX Software Systems, an Associate member of the Intel® Embedded and Communications Alliance (Intel® ECA).  QNX trains engineers to boot IA-based systems in as little as 200 milliseconds using their QNX® fastboot technology. It's based on the QNX IPL (Initial Program Loader) that replaces a traditional BIOS to achieve an "instant-on" capability. QNX claims that a fastboot-based system will boot significantly faster than a BIOS-based system because designers select or discard boot steps based on their particular hardware configuration. Engineers tailor the platform initialization sequence using a QNX IPL start-up kit and a board support package (BSP) for the Intel Atom processor and the QNX Neutrino® RTOS. David Green, software developer at QNX, shows how this was done in a video and explains what the IPL does and doesn't do at  http://www.youtube.com/watch?v=yTUweJKAUfk.

 

The fastboot approach does require some amount of developer time unless it has already been implemented by the board supplier or operating system vendor. If becoming a BIOS engineer isn't your ambition, QNX can provide services to customize an IPL specifically for your device.

 

When boot times greater than one second are still too long, why not avoid booting altogether and just put the system in sleep mode when not in use? Kontron, a Premier member of Intel ECA, and QNX have shown how they can wake up an Intel Atom processor from a zero power sleep state to full operation in milliseconds. This approach uses the S5 sleep state (off) instead of power consuming sleep modes (S1 - S4) as described in http://edc.intel.com/Download.aspx?id=2140.

 

"The versatility of BIOS-based systems is not required in the embedded applications targeted by the Intel Atom based platforms, so it seems a waste to incur the boot time cost when no benefit is gained," says Christine Van De Graaf, Product Marketing Manager at Kontron.

 

Before ditching a full featured BIOS, consider the time and engineering effort it saves, especially if you have various hardware configurations and devices to support.  Moreover, the do-it-yourself approach may necessitate poking into some special function registers in order to turn on processor and chipset features.  Removing the BIOS isn't for everyone, but for those who need to make booting nearly imperceptible, there are workable options. 

 

Will it be long before most board vendors offer quick boot software as part of their standard offering?  Anyone care to offer an opinion? 

 

Message Edited by Felix_M on 08-05-2009 01:32 PM
Message Edited by Felix_M on 08-06-2009 06:27 AM
Message Edited by Felix_M on 08-10-2009 10:24 AM

The notion of 15 billion intelligent connected devices within the next few years makes me wonder if the embedded industry is ready to meet the security challenges of this fast-approaching era.  Connecting all these devices to the Internet will potentially allow every person in the world to reach out and touch your product.  Will devices like hospital bedside patient monitors become vulnerable to attack by hackers and viruses?  Will high school hackers cause auto accidents by commandeering traffic signals? ...Not to mention an organized terrorist threat against our infrastructure.  Adding pervasive connectivity to embedded devices requires some fresh thinking about security and Intel® Virtualization Technology (VTTM) can play a key role in the solution.

 

Virtualization is defined as multiple Operating Systems (OS) running on a single physical machine (processor).  The OSs can be multiple instances of the same or a mix of different ones, even a combination of a general purpose OS with an RTOS.  While widely adopted in the IT space- especially for server farm consolidation, it's perhaps less known that virtualization can also be applied to embedded applications in a number of different usage models both on single- and multi-core processors.  One of those uses is security.  And this is not limited to devices that provide an explicit security function- like a network firewall- but encompasses securing connected devices of all types. 

 

Let me start by looking at embedded applications that are at extreme end of the security scale.  There are certain systems that have forever been subject to rigorous requirements for security and safety- defense communications systems and aircraft flight controls being excellent examples.  Indeed these systems are so critical that they are tightly regulated and certified by government agencies such as the NSAhttp://community.edc.intel.com/t5/forums/postpage/board-id/#_ftn1[1] and FAAhttp://community.edc.intel.com/t5/forums/postpage/board-id/#_ftn2 [2] (Note that for the purpose of this article I am viewing safety-critical as a superset of security-critical as both rely on some common principles and techniques). 

 

One key concept employed in extreme security implementations is isolation.  This involves separating the security-critical code and completely isolating it from the rest of the system.  In some older systems this was even done by running the isolated code on a separate processor (long before multi-core).  Along came an architecture known as Multiple Levels of Security (MLS)  which is intended to reduce the size, complexity, and ultimately the costs and speed of deploying security-critical code.  MLS defines four conceptual layers of separation:  separation kernel and hardware; middleware services; trusted applications; and distributed communications, and requires that each of these components be separated from the others.  To obtain government approval, a solution must be highly trusted- which means it is mathematically validated by formal methods.  Cost aside, the sheer complexity of this process constrains the software components, e.g. the separation kernel, to a very small footprint.  Today there are various separation kernels shipping based on Intel® Architecture (IA) processors that help meet various levels of system certification.      

 

What does this have to do with virtualization?   Well, virtualization provides an excellent foundation for implementing the MLS architecture.  The figure below shows a conceptualized example of using virtualization to isolate the network connectivity component from the "core application" of an embedded device. The connectivity software which could be susceptible to external attack runs in its own partition and is prevented from overwriting, or even accessing data in the other partition.   

 

42iF38D01259AF44E39

 

So you ask, "what's new?  Virtualization's a decades old concept, isn't it?    That's true enough. But in the past virtualization was confined to specialized, proprietary, high-end servers and mainframes.  What's new is the ability to implement virtualization on Intel® embedded processors in a cost-effective and power-efficient manner and with high performance.  This is made possible by Intel® Virtualization Technology (VTTM), a suite of hardware assist features built into IA processors, combined with software provided by member companies of the Intel® Embedded and Communications Alliance.        

 

Of course it would be silly of me to suggest that the Internet-connected infotainment system in my car needs anywhere near the same security as an aircraft but I thought it would be worth thinking about the extreme solution to see what can be borrowed and perhaps down-scaled for the "Internet of Things."  

 

What I've discussed here is just one of the many aspects of security, and Intel® VTTM is but one of a broader family of Intel technologies that help you build a secure system.  In a future blog, I plan to write about two other powerful features of IA processors:  Intel's Trusted Execution Technology (TXT), and Active Management Technology (AMT).  

 

Is your embedded product ready to be connected to the world?  I'd be interested to learn if virtualization fits into your product plans. 

 

Felix

 

 

This post is based in part on an Intel® Technology Journal article. To read the full article, visit:

 

http://www.intel.com/technology/itj/2006/v10i3/5-communications/6-safety-critical.htm

 

J. Felix McNulty

Community Moderator

Intel® Embedded Design Center Community

(Intel contractor) 

 

 

 

 


http://community.edc.intel.com/t5/forums/postpage/board-id/#_ftnref1[1] U.S. National Security Agency

http://community.edc.intel.com/t5/forums/postpage/board-id/#_ftnref2[2] U.S. Federal Aviation Administration


Message Edited by Felix_M on 05-08-2009 09:08 AM
Message Edited by Felix_M on 05-08-2009 09:30 AM