

For example, let’s discuss a pretty standard NVMe command: retrieving the NVMe controller’s Identify data structure. It’s easy to understand the power of a hardware analyzer once you see it in action. Different devices using different technologies may have more or less support in the products discussed in this article. Of course, being the NVMe issue of The NT Insider, our target device for this article is an NVMe controller. Is it really that useful in writing a driver for a PCIe device? Also, because you know they’re going to ask, is there a cheaper alternative?

OK, well, maybe that’s a little hard to accept as reasonable, but you never know until you ask, right? And before you do, I suspect that you want to have some argument as to why you need this on your desk. Working with PCIe? No problem! Just grab a Gen3 x4 analyzer with the correct interposer for about $85,000 (LeCroy Summit T3: ). If you’re working with I2C you’re in even better luck, you can pick up an analyzer for $330 (Beagle I2C/SPI Protocol Analyzer: ). If you’re working with a USB 2.0 device, our recommendation for a hardware analyzer can be picked up for $800(USD) (Ellisys USB Explorer 200: ). If you really want to know if you’re putting the bits in the right place you need to see things from the device’s perspective.ĭepending on the technology involved, picking up a hardware analyzer “just in case you need it” is a no brainer.

Trace messages and single stepping in the debugger can only show you so much. While it is generally believed that only the hardware engineers need access to this toy equipment, we’ve found having one for software development to be incredibly valuable. When faced with any project related to hardware, the engineers here at OSR immediately start pushing for access to a hardware analyzer for the project.
