Elektroniknet Logo

Timing Analyse

Software Analyzer winIDEA mit Sampling-based Profiling

Fantastisches Glas mit Textbegriff CODE auf dunklem Tisch und hellem Hintergrund.
© Vadi Fuoco - shutterstock.com

Sein IDE-, Debug- und Software-Trace-Tools winIDEA Analyzer hat iSystem um Sampling-based Profiling erweitert. Damit sind die statistische Analyse der CPU-Auslastung, der OS-Task- und ISR-Lastverteilung und die Überwachung von Datensignalen im zeitlichen Verlauf über einen Debug-Port möglich.

Eine neue Funktion hat iSystem in sein IDE-, Debug- und Software-Trace-Tools winIDEA Analyzer integriert: Sampling-based Profiling. Es ermöglicht Entwicklern auch bei Mikrocontrollern und Prozessoren mit begrenzten Trace-Möglichkeiten oder Hardware-Trace-Ressourcen Timing-Analysen über die Debug-Schnittstelle durchzuführen (Bild 1). Per Program Counter (PC) und Data Sampling können Entwickler zum Test ihrer Anwendung die CPU-Auslastung, die Lastverteilung und die Datensignale über die Zeit statistisch messen und überwachen.

Relevante Anbieter

Sampling-based Profiling für winIDEA
Bild 1. Mit Sampling-based Profiling können Entwickler mit winIDEA auch bei Mikrocontrollern mit begrenzten Trace-Möglichkeiten Timing-Analysen über die Debug-Schnittstelle durchführen.
© iSystem

Die neue Funktion lässt sich ganz leicht für jede Art von Mikrocontroller oder Prozessor verwenden und vereinfacht die Softwareentwicklung und den Test speziell für Sicherheitsanwendungen in verschiedenen Bereichen wie Automotive, Medizintechnik und Industrieautomation.

Mit der Funktion Sampling-based Profiling des winIDEA Software Analyzers erhält der Entwickler Daten, indem er über die Debug-Schnittstelle bestimmte Stellen im Speicher oder den CPU-Programmzähler abtastet – und das vollkommen ohne Trace-Hardware. Darüber hinaus analysiert der Profiler die abgerufenen Daten und visualisiert die Ergebnisse.

iSystem hat eine Unterstützung für zwei Hauptanwendungsfälle implementiert: PC-Sampling und Data-Sampling. Der Profiler sammelt Daten zur Programmausführung und berechnet die CPU-Auslastung in Prozent für jede Funktion, um deren Last darzustellen. OS Running Task und ISR Load Profiling geben Einblicke in die OS-Task- und ISR-Lastverteilung. In beiden Fällen wiederholt der Entwickler den Sampling-Vorgang so lange, bis sich die Statistiken stabilisieren.

Daraus ergibt sich ein sehr guter Hinweis auf die Lastsituation im System, und der Entwickler kann beurteilen, ob die Anwendung wie erwartet abläuft oder nicht. Die dritte Anwendung des Sampling-based Profilings – die in Wirklichkeit nicht mit der Timing-Analyse zusammenhängt und weniger praktikabel ist – besteht in einer Art Oszilloskop mit dem Datensignalen über die Zeit überwacht werden können (Bild 2).

Drei Anwendungsfälle von Sampling-based Profiling
Bild 2. Die Funktion Sampling-based Profiling bietet Entwicklern drei Anwendungsfälle: PC-Sampling, Data-Sampling und oszilloskopische Datenüberwachung.
© iSystem

Das Sampling-based Profiling ist kein Ersatz für echtes Hardware-Trace, da es nicht garantieren kann, dass alle relevanten Ereignisse erfasst werden. Es ist jedoch das perfekte Tool für statistische Analysen oder für das Sampling sich langsam ändernder Variablen in einem System und hilft Entwicklern dabei, ihren Testaufwand weiter zu optimieren.

„Manche nennen es ‚Poor Man's Profiler‘, aber nichtsdestotrotz ist Sampling-based Profiling eine äußerst hilfreiche statistische, auf Sampling basierende Analysemethode“, sagt Erol Simsek, CEO von iSystem. „Selbst wenn der Prozessor keine Trace-Schnittstelle für die reine Timing- und Lastanalyse hat, ermöglicht diese neue Funktion unseren Kunden, sich schnell ein Bild vom Laufzeitverhalten ihrer Software zu machen.“


  1. Software Analyzer winIDEA mit Sampling-based Profiling
  2. Timing-Analysemethoden

Verwandte Artikel

iSystem AG