Open Source Boundary SCAN
Until a few years ago their were no good open source Boundary SCAN products available. In the last few years, the The Open On-Chip Debugger (OpenOCD) project has changed that a bit.
The OpenOCD project is an open source project that supports low end hardware cables. The stated goal of the project is to provide debugging, in-system programming and boundary-scan testing for ARM and MIPS processors.
Specifically it supports:
- The ability to Play SVF files (only the XIlinx variant XSVF is supported) to send test vectors to the pins of a boundary SCAN device and to read the value of the pins back. SVF can also be used to do device programming.
- The ability to use a low level command set or API to control the JTAG state machine and attendant signals (TDI, TDO, TCK, TMS, TRST). This low-level interface, though, tedious, can be used to do just about anything that is possible with JTAG.
- The ability to program some FLASH and CPLD/FPGA devices.
- The ability to debug embedded firmware using GDB based debuggers like Eclipse, Insight and DDD.
I consider this to be pretty good news for people who want to learn more about how JTAG Boundary SCAN works. If you want to see how to do something , just grab the sources for this project and you will have a great resource from which to learn.
Their are a couple of issues with these types of tools that would keep me from using it on a mission-critical production line:
- It works with Low-Price, Low end tools so their is a chance that the quality and support may not be there. It may be OK, but again, I don’t think I would trust it for high volume production.
- The second issue is that lots of hardware cables are supported. While this probably means that the system is fairly well tested, it also means that the testing is more complex and prone to error.
- SVF and The Low-Level API are not efficient ways to develop complex tests needed for modern production test environments as compared to the powerful environments provided by commercial tools.
Here is a link to the OpenOCD project Documentation. Take a look, kick the tires, and let me know what you think in the comments section.
The Boundary SCAN ORG Team