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.
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.
IA Processor Support
Intel® Core™ 2, Atom™, Pentium®, Celeron®, and Xeon®
Green Hills Software
Green Hills Probe™
Intel® Atom™, Core™ 2, Xeon® 5500 (Nehalem), and EP80579
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!
J. Felix McNulty
Intel® Embedded Community