ARM/Keil und Hitex haben den professionellen ULINKpro-Debugger und das mit dem Embedded Award ausgezeichnete Energie-Analyse-Tool PowerScale kombiniert. Dabei werden für den oben beschriebenen ersten Entwicklungsschritt sowohl die Erfassungs-Hardware (ULINKpro und PowerScale) als auch die Software-Tools µVision und PowerScale GUI) synchronisiert.
µVision integriert Compiler, Debugger und Echtzeit-Betriebssystem in die Entwicklungsumgebung MDK-ARM. Der µVision-Debugger erlaubt in Kombination mit ULINKpro sowohl ETM-Betrieb zur lückenlosen Aufzeichnung der Befehlsabarbeitung als auch High-speed-SWV-Betrieb, beispielsweise zur Erfassung hochfrequenter ISR-Ereignisse. Mit ULINKpro und SWV können Events aufgezeichnet, Sleep-Mode-Statistiken erfasst und die ISR-Ausführung analysiert werden. Mit ETM kann zusätzlich die komplette Code-Coverage, also auch eine Zeitanalyse des Applikationsprogramms, durchgeführt werden.
PowerScale besteht aus einer Basiseinheit, die über USB an den PC angeschlossen wird. An diese Basiseinheit sind maximal vier "Probes" anschließbar, die an bis zu vier Powerdomänen gleichzeitig Spannung und Strom messen (Bild 1). Damit sind reale Energiemessungen möglich, die auch als Langzeitmessungen auf Festplatte gespeichert werden können. Hervorzuheben ist die "Active Current Measurement"-Technologie, die einen enorm großen Strommessbereich von 200 nA bis zu 500 mA abdeckt. Durch statistische Auswertungen können mit der PowerScale-Benutzeroberfläche bequem Energie- oder Strom-Integrale über selektierte Software-Abschnitte ermittelt werden.
Die Kombination aus ULINKpro, PowerScale und ETM Trace zeichnet die Befehlsabarbeitung des Mikrocontrollers sowie die Strom- und Spannungsverläufe einer oder mehrere Domänen auf.
Durch ein Hardware-Synchronisationssignal ist auch die Zeitsynchronität der Systeme gewährleistet (Bild 2). Für den ULINK pro wird es in Kürze den in Bild 2 eingezeichneten Isolationsadapter geben, der das Massepotential von Ziel-Hardware und Debug-Adapter (und damit von der USB-Schnittstelle des PCs) trennt, damit keine Störeinflüsse die Energiemessung verfälschen. So kann nun an jeder Stelle des Applikations-Traces das Strom-, Spannungs- oder Energieniveau abgelesen werden. Umgekehrt kann auch an jeder Stelle der Strom-, Spannungs- oder Energiekurve sofort gesehen werden, welche Stelle der Software die Änderung verursacht hat.
Ermöglicht wird dies durch Kommunikation der beiden Analyse-Tools untereinander. Durch einen Klick im Instruction Trace Window von µVision wird die korrespondierende Position in der Energiekurve des PowerScale-GUI aufgerufen. Die Auswirkung der Anwender-Software auf den Energiebedarf kann so optimiert werden.
Liefert der Mikrocontroller keinen ETM Trace, kann die High-speed-SWV-Funktion des ULINKpro genutzt werden. Auch hier synchronisieren sich ULINKpro und PowerScale. Es können alle drei Methoden des SWV genutzt werden: ISR-Aufzeichung, PC-Sampling und auch die dedizierten Applikations-Events. Das PC-Sampling ist durch die hohe Datenrate des ULINKpro ebebfalls nutzbar. Andere auf dem Markt vorhandene Systeme erfassen den Program Counter nur seltener als bei jedem 10.000. Prozessorzyklus. Damit ist eine Korrelation zum Code nicht mehr gegeben, da wichtige kurze Applikationsteile durch das grobe Samplingraster einfach übersehen werden. Für die Generierung der dedizierten Software-Events werden Templates mit den entsprechenden Generierungsfunktionen zur Verfügung gestellt. Der Endanwender fügt einfach ein entsprechendes Makro in die Schlüsselpositionen seines Programmcodes ein. Auch hier lassen sich Events im Trace Window des µVision-Debuggers einfach den Energiekurven in PowerScale zuordnen.
Für den zweiten Entwicklungsschritt wird ULINKpro von der Ziel-Hardware abgekoppelt und mit PowerScale alleine gemessen. In diesem Fall ist die Debug-Einheit des Cortex-M-Mikrocontrollers nicht in Betrieb und auch die zusätzliche Strombelastung durch die Treiber des ULINKpro-Debug-Adapters entfällt. Die Sleep- und Deep-Sleep-Betriebsarten des Cortex-M-Mikrocontrollers sind damit voll aktivierbar. PowerScale kann hier zur Langzeitmessung des Energiebedarfs genutzt werden und damit sicherstellen, dass das Gesamtsystem die Spezifikationen erfüllt.
Anhand von zwei Anwendungen wird im Folgenden beispielhaft der Nutzen der kombinierten Systeme aufgezeigt.