Du ser strömförbukningen i debuggern och kan nästan följa den parallellt instruktion för instruktion – nåja, i alla fall interrupt för interrupt. Det här är en möjlighet som öppnas med IAR:s debugger C-SPY. Anders Lundgren och Lotta Fridmanson ger några exempel i en teknisk rapport exklusivt publicerad på etn.se/expert. Artikeln är på svenska.
Klicka här för nedladdning! PDF, 1,9 Mbyte. |
|
Fler kostnadsfria rapporter finns på etn.se/expert |
Strömmen mäts över ett litet motstånd seriekopplat med processorkretsens strömkälla. Spänningsfallet mäts med en differentialförstärkare och samplas I en D-omvandlare. Via en IAR-prob får debuggern tillgång till värdet. Och sedan är det bara att börja avlusa!
Det är dock inte realistiskt att tro att man skulle kunna få access till strömförbrukningen under varje instruktion.
Systemets kapacitans minskar pålitligheten hos sådana mätningar. Ur en programutvecklares perspektiv är det mer intressant att koppla strömförbrukningen till källkoden och olika händelser i programkörningen än till enskilda instruktioner.
Så skriver författarna till rapporten. De ger sedan några strömspartips som debuggern kan hjälpa dig med, som att upptäcka busy waiting-loopar som borde – och det vet du egentligen! – ersättas av timeravbrott. Och att utnyttja strömsparlägen.
Ett system som sällan befinner sig i viloläge vid 50 MHz förväntas befinna sig i viloläge 50 % av tiden när det körs vid 100 MHz.
Rapporten finns här (pdf).