Direkt zum Inhalt

Hersteller

Percepio

Unterstützen Sie Ihre Softwareentwicklung mit visuellen Einblicken in die Laufzeit Ihrers System

Tracealyzer beschleunigt die Softwareentwicklung und erhöht die Qualität

DevAlert ermöglicht schnelle Updates und kontinuierliche Verbesserung von Systemen im Feld

Produkt

Tracealyzer RTOS

Unterstützen Sie Ihre Softwareentwicklung mit visueller Trace-Diagnose!


Tracealyzer bietet eine neue intuitive Möglichkeit für den Softwareentwickler das Echtzeitverhalten von embedded Echtzeit-Software-Systeme zu analysieren. Sie finden damit Probleme schneller, vermeiden diese und optimieren die Performance Ihres System schnell und einfach.

Tracealyzer unterstützt das kontinuierliche Trace Streaming und ermöglicht so ein praktisch unbegrenztes Tracing von Task-Scheduling-Abläufen, Interrupts und Applikations-Logging. Das Trace Streaming wird durch Debugg Probes (SEGGER J-Link, KEIL ULINK) ermöglicht, was auf ARM Cortex-M- und Renesas RX-Mikrocontrollern ein hohes Performance-Niveau ermöglicht. Unterstützt wird das Trace Streaming auch über Netzwerkverbindungen, USB und an die Dateisysteme von Geräten mit beliebigen, vom RTOS unterstützten Prozessoren.

Unterstützt werden FreeRTOS + Amazon FreeRTOS + SAFERTOS, Micrium µC/OS-III, On Time RTOS-32, ARM KEIL RTX5, Microsoft Azure RTOS ThreadX, Synopsys EV6x OpenVX, Zephyr, PX5

Percepio
Analyse , Debugger

Tracealyzer Linux

Unterstützen Sie Ihre Softwareentwicklung mit visueller Trace-Diagnose!

Tracealyzer von Percepio bietet eine neue intuitive Möglichkeit das Verhalten von Linux basierten Systemen im Detail zu analysieren. Sie finden damit Probleme schneller, vermeiden diese und optimieren die Performance Ihres Systems schnell und einfach.

Percepio
Analyse , Debugger

Tracealyzer VxWorks

Unterstützen Sie Ihre Softwareentwicklung mit visueller Trace-Diagnose!

Tracealyzer von Percepio bietet eine neue intuitive Möglichkeit das Echtzeitverhalten von Wind River VxWorks (ab 5.5) basierten Systemen zu analysieren. Sie finden damit Probleme schneller, vermeiden Probleme und optimieren die Performance Ihres Systems schnell und einfach.

Percepio
Analyse , Debugger

Weitere News Percepio

15.10.2024 | Tracealyzer 4.10
08.06.2022 | DevAlert Sandbox
02.09.2019 | RTOS Schulungen
20.02.2018 | Tracealyzer 4

Beratung

Lassen Sie sich beraten, nutzen Sie unser Formular, wir melden uns umgehend bei Ihnen zurück. Oder rufen Sie an:
+49 251 98729-0

NEWS

Tipps für die schnellere Entwicklung von Multithreaded-Embedded-Software

Johan Kraft, PhD, CEO und Gründer von Percepio

Um schneller mit qualitativ hochwertigen intelligenten Produkten auf den Markt kommen zu können, brauchen Unternehmen tieferen Einblick in die „dunkle Seite des Codes“, also das tatsächliche Verhalten des gesamten Softwaresystems.

Zwischen dem erwünschten und dem tatsächlichen Verhalten können enorme Unterschiede bestehen, die sich nicht aus dem Quellcode ablesen lassen und mit Funktionstests nur schwierig aufzudecken sind. Sobald Anwendungen an Komplexität gewinnen, wächst die Herausforderung für Entwickler von Multithreaded-Embedded-Software, die auf einem RTOS oder einem Linux-Kernel läuft.

Nachfolgend werden fünf bewährte Maßnahmen beschrieben, mit denen sich mehr Einblick in das Echtzeitverhalten auf der System-Ebene gewinnen lässt, um die Produktqualität zu steigern und die Entwicklung zu beschleunigen.

1. Visuelle Zeitleiste zur Fehlererkennung nutzen

Softwarefehler, die beim Ausführen eines Multithreaded-Systems auftreten, sind oft schwer zu beheben. Zum Glück lassen sich Probleme und Unklarheiten durch bessere Einblicke während des Debuggings reduzieren. Diese erleichtern zudem das Aufdecken der Grundursachen, sodass die Fehler ordnungsgemäß behoben werden können und das Debugging weniger Zeit beansprucht. Die Möglichkeit, sich die Software-Ausführung auf einer visuellen Zeitleiste anzeigen zu lassen, ist in vielen Szenarien hilfreich – unter anderem dann, wenn sich anhand der ursprünglichen Symptome nicht bestimmen lässt, wo genau der Fehler zu lokalisieren ist. Oder wenn das Problem schwierig zu reproduzieren ist. Oder wenn die Verwendung traditioneller Debugging-Tools ausscheidet, da diese die Verarbeitung unterbrechen würden.

Wie steht es mit dem Debugging per printf? Die althergebrachte Praxis, zu Debugging-Zwecken print-Anweisungen in den Applikationscode einzufügen, ist riskant, intrusiv und nicht auf komplexere Applikationen und schnellere Prozessoren skalierbar. Die printf-Funktion ist nicht für diesen Zweck gedacht und mit mehreren Millisekunden pro Message meist auch recht langsam. Im Gegensatz dazu stützt sich die visuelle Trace-Diagnose auf optimierte Lösungen für das Software-Tracing und ist etwa 100-mal schneller als printf-Aufrufe, sodass ohne spürbare Auswirkungen wesentlich mehr Informationen erfasst werden können. Hinzu kommt, dass es mit Datenvisualisierungs-Techniken ein Leichtes ist, Software-Traces in aussagefähige Erkenntnisse zu verwandeln.

2. Schwer greifbare Probleme durch Überwachung von Systemtests erfassen

Das fortlaufende Live-Streaming von Trace-Daten gibt Entwicklern die Möglichkeit, über lange Zeitspannen hinweg ein vollständiges Bild der Software aufzuzeichnen und zu visualisieren, um schwer fassbare Softwarefehler aufzudecken, die sonst schwierig zu reproduzieren und zu beseitigen wären. Auf diese Weise lassen sich etwaige Unstimmigkeiten in den Trace-Aufzeichnungen erfassen und ihre Ursachen ermitteln. Ebenso lässt sich herausfinden, weshalb ein System nach einem mehrstündigen Stresstest abstürzt. Die visuelle Trace-Diagnose mit Percepio® Tracealyzer® bietet zum Beispiel die Möglichkeit, live eine animierte Ansicht des Laufzeitsystems zu sehen, Anomalien in den abstrakten visuellen Darstellungen und Statistiken zu erkennen und sich daraufhin zu den jeweiligen Ereignissen vorzuarbeiten, um genau zu ermitteln, was passiert ist.

3. Softwaredesign verbessern und höhere Produktqualität bzw. Kostensenkungen erzielen

Einige Entwicklungsprojekte geraten in eine Art „Debugging-Hölle“, ein häufiges Szenario, in dem ein massiver Debugging-Aufwand zum Bremsklotz für das gesamte Projekt wird. Oft tragen Abweichungen von bewährten Praktiken beim Softwaredesign und bei der RTOS-Applikationsentwicklung wesentlich hierzu bei. Beispiele sind ungeeignete Task-Prioritäten, starke Schwankungen beim Timing der Software und übermäßig viele Abhängigkeiten zwischen den Tasks. Derartige Probleme können zu einem komplexen und chaotischen Systemverhalten mit unzureichender Prüfbarkeit führen, was wiederum das Risiko für schwer greifbare Bugs erhöht, die sich bis in die fertigen Produkte hinein einer Aufdeckung entziehen.

Die visuelle Trace-Diagnose hilft den Entwicklern, das Softwaredesign zu analysieren und zu verbessern sowie ein stabiles, zuverlässiges Systemverhalten zu gewährleisten. Werden Fehler im Softwaredesign frühzeitiger erkannt, sind zu ihrer Behebung weniger Änderungen nötig und das Risiko für Fehler in den ausgelieferten Produkten wird geringer. Überdies können Verbesserungen am Softwaredesign auch die Leistungsfähigkeit und Reaktionsschnelligkeit des Systems entscheidend verbessern. Dies wiederum kann es möglich machen, kosteneffektivere Prozessoren zu wählen, um die Materialkosten zu senken oder durch Absenken der Taktfrequenz die Batterielebensdauer zu verlängern.

4. Timing und Performance während des gesamten Projekts verifizieren

Am besten misst man die Timing- und Performance-Parameter so früh wie möglich, damit sich etwaige Probleme noch vor der Auslieferung beheben lassen. Dies ist von entscheidender Bedeutung für Echtzeitsysteme mit expliziten Timing-Vorgaben, aber auch für die Nutzererfahrung anderer Applikationen. Schließlich möchte niemand eine schleppend reagierende Touch-Bedienoberfläche oder einen langsamen WLAN-Router haben. Die Ursachen hierfür sind aber aus dem Quellcode häufig nicht ersichtlich und der Umstieg auf einen schnelleren Prozessor hilft nicht unbedingt, wenn die eigentliche Ursache im Softwaredesign liegt.

Die visuelle Trace-Diagnose macht es einfach, die Ursachen von Anomalien aufzuzeigen und die Timing-Eigenschaften, die Speicherbelegung und die CPU-Auslastung der Software zu messen. Leichtere Einhaltung der Echtzeit-Vorgaben, bessere Applikations-Performance und höhere Kundenzufriedenheit sind nur ein paar Beispiele für die zahlreichen Vorteile dieser Vorgehensweise.

5. Breiten Zugang zu Diagnosefunktionen sichern

Die visuelle Trace-Diagnose kommt ohne zusätzliche Hardware aus, denn sie stützt sich nur auf Softwareintegration und die existierende Hardware der Applikation. Dies macht es möglich, sie standardmäßig in das Softwaresystem zu integrieren, sodass sie von den Entwicklern während der gesamten Entwicklungs-, Test- und Release-Phase genutzt werden kann. Wenn die Diagnosefunktionen immer verfügbar sind, sobald ein Problem auftaucht, können alle Entwickler jeden Tag davon profitieren. Aufgezeichnet werden alle Informationen, die für die Applikation relevant sind – darunter auch interne Daten und Zustände, die zur Laufzeit nicht nach außen gelangen. Außerdem lassen sich alle

Hersteller / Partner
Percepio
Funktion
Analyse , Debugger

© Embedded Tools GmbH | Schlikötterstiege 61 | 48161 Münster | Germany/Deutschland | Datenschutzerklärung | Impressum