2009-03-15 8 views
3

Ich versuche, eine Timeline für meinen eingebetteten Echtzeitcode zu erstellen. Ich muss alle Interrupts zeigen, was sie auslöst, wann sie bedient werden, wie lange sie ausgeführt werden usw. Ich habe das Profiling gemacht und habe die Rohdaten, jetzt brauche ich eine Möglichkeit, die Timeline grafisch darzustellen, zu skalieren.Was ist ein gutes Werkzeug für die Darstellung von Zeitleisten im unter-Millisekunden-Bereich?

Ich habe nach einem guten Werkzeug gesucht, aber ich habe noch nichts Tolles gefunden. Alles, was ich gefunden habe, funktioniert auf Zeitlinien von Tagen und Jahren. Ich möchte ein Diagramm, das einen einzelnen 2-Millisekunden-Zyklus zeigt. Momentan verwende ich Visio, aber ich denke, dass es etwas einfacheres geben muss. Irgendwelche Ideen?

Ich hoffe, etwas wie dieses zu produzieren: .
Leider ist meins komplizierter, aber das ist die allgemeine Idee.

Antwort

2

Also in diesem Maßstab wird Ihre Abszisse eine reine Zahl (z. B. Mikrosekunden von der Startzeit, oder einige solcher) sein. Grafische Werkzeuge, um solche Dinge zu zeichnen, sind alltäglich.

Ich würde vorschlagen, etwas wie gnuplot, aber ich vermute, es ist mehr auf das Problem als in Ihrer Zusammenfassung offensichtlich ist.

Ah, das Bild macht alles viel klarer. Wenn gnuplot es nicht für dich tut, werde ich einen anderen Vorschlag machen (oder zumindest sagen, was ich tun würde): schreibe es von Grund auf neu.

Speziell würde ich wahrscheinlich etwas in einer Skriptsprache (Ruby, Python, was auch immer) zusammenwerfen, um die Daten zu lesen und pic Code zu generieren, der so aussah, wie ich es wollte. Wenn Sie sich entscheiden, diese Route zu gehen, hier ist eine overview of pic basics und auch die manual. Wenn du dich eingruppierst, solltest du in einer Stunde etwas plausibel haben und innerhalb einer Woche hast du etwas, das dir besser gefällt, als es irgendeine Standard-GUI-App je tun würde.

+0

ja, meine X-Achse wird in CPU-Ticks (10ns) sein. Ich werde gnuplot auschecken. Ich bin mir nicht sicher, wie kompliziert es wäre, meine Daten in einem Format zu präsentieren, das sie verwenden könnte. – AShelly

+0

Ich habe noch nie zuvor ein Bild gesehen. Es sieht vielversprechend aus. – AShelly

+0

Akzeptiert: Ich habe nie ganz auf meiner Windows-Plattform gearbeitet (meistens Ghostscript-Probleme), aber es war die beste Lösung. – AShelly

0

Ich fühle für dich. In meinem System haben wir einen Zyklus von 1,1 Millisekunden und 13 Messpunkte über 4 verschiedene Komponenten. Ich vermute, Sie stehen vor einer ähnlichen Komplexität.

Schlechte Nachrichten gibt es keine Lösungen von der Stange, die ich kenne. Allerdings ist MarkusQ richtig, dass Sie Standard-Grafikpakete verwenden können, um das zu erreichen, was Sie brauchen. Aber Sie müssen etwas Zeit investieren, um die Ausgabe nach Ihren Wünschen anzupassen.

Wir verwenden extensiv die R Project angetrieben durch Python-Code über RPy R/Python bridge, um unsere Plots zu generieren. Diese Konfiguration funktioniert sehr gut für uns und hat uns ermöglicht, den Prozess zu automatisieren. Python dient zum Erfassen und Bereinigen der Daten vom Echtzeitsystem und R zum Zeichnen.

R Grafik Anpassung zu unterstützen ist umfangreich mit dem Sie alle Aspekte der Handlung zu steuern, Standorte, Größen etc. Es kann zunächst einschüchternd sein, aber es ist ein ausgezeichnetes Buch R Graphics die website that contains all of the book's examples mit einem Begleiter hilft.

Was auch immer Sie wählen, stellen Sie sicher, dass es die Möglichkeit gibt, via Skripting zu automatisieren. Die Menge an Daten, die Echtzeitsysteme erzeugen, ist zu viel, um ohne flexible Werkzeuge auskommen zu können.

0

gtkwave könnte verwendet werden