Power debugger that speaks software
In recent weeks I've reviewed two devices that measure the current consumption of embedded systems (the Real-Time Current Monitor and the µCurrent).
Ultra-low power consumption is a hot trend, and, happily, more tools are coming to market to help us.
IAR -- the company that makes compilers and integrated development environments (IDEs) -- also sells a range of debug probes. Its I-jet is a $300 probe targeted at ARM processors that have a JTAG or SWD (serial wire debug) port. It provides all of the usual resources for debugging embedded systems in the code domain -- breakpoints, watchpoints and the like -- via a quite intuitive IDE.
Click on image to enlarge.
I wrote a lot of code to understand the I-jet's behavior and found that these standard debugging features worked extremely well. But here I'll focus on the device's current-monitoring feature.
The Real-Time Current Monitor and µCurrent both measure current consumed by a system. That's very useful and I employed them often in extensive experiments I've been doing on ultra-low power systems (forthcoming soon on this site). But these two products can't correlate current to the code. Sometimes it's important to understand why there's a spike in current consumption: is there an error in the firmware? Is the code poorly organized to minimize the use of coulombs? Perhaps the wrong sleep mode has been selected.
The I-jet couples code to current. But first, one clarification. IAR's literature talks about its power-profiling abilities. These abilities do not exist. The device measures current, not power. And really, in many cases we're not interested in power but want energy: power*time, which indicates how much we've sucked from a battery. One of my few beefs with the I-jet is its inability to measure energy. A nifty improvement would be to figure watts and then integrate that over some user-defined range to compute the total milliamp-hours consumed. A capacitor might be needed to integrate between samples, but everything else would be, as they say, "just a software change."