Softwareontwikkelaars kunnen het energieverbruik van hun code hooguit indirect bepalen aan de hand van de processoractiviteit. Het verbruik van externe hardware, de gevolgen van low-power-toestanden en andere overwegingen worden hierin niet meegenomen. IAR beschrijft een manier om de code direct te correleren met het verbruik van een totaal systeem en bespreekt verschillende mogelijkheden om de software te optimaliseren voor stroomverbruik.
Of het nou om medische systemen gaat, consumentenelektronica, domotica of andere embedded-segmenten, de levensduur van de batterij speelt vaak een sleutelrol. En hoewel het de hardware is die energie verstookt, is het de software die bepaalt hoe deze wordt ingezet. Power-debugging is een aanpak om inzichtelijk te maken hoe de software-implementatie het stroomverbruik op microcontrollerniveau beïnvloedt. Het stroomverbruik van het bordje en de instructiesequentie van de software worden tegelijkertijd vastgelegd en met elkaar gecorreleerd. Met deze gegevens in de hand kunnen we het energieverbruik testen en afstemmen.
De grootste moeilijkheid hierbij is de nauwkeurigheid. In het ideale geval bemonsteren we het stroomverbruik met dezelfde frequentie als de systeemklok. In de praktijk vervuilen de capaciteiten van het elektrische circuit dergelijke metingen te veel om een betrouwbaar profiel te kunnen opstellen.
