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.
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.
J. Felix McNulty
Intel® Embedded Design Center Community