Flussdiagramme für eingebettete Anwendungen

8

Ich habe eine eingebettete Anwendung, die Interrupts und DMA verwendet. Die Hauptschleife sendet nur Daten an den PC.

Wie entwerfe ich ein Flussdiagramm des Programms? Wie werden Interrupts und DMA angezeigt, die am Flussdiagramm arbeiten?

Ich habe in Google mehrere Themen zu eingebetteten Uml-Diagrammen und einige Fragen dort gefunden: Entwerfen eingebetteter Software , aber keine Beispiele für solche Diagramme gefunden.

krzych
quelle
Möchten Sie, dass Software Diagramme erstellt oder die Theorie und Techniken, wie sie erstellt werden?
1
Theorie, Techniken und Beispiele sind am besten. Ich verwende Visio oder Visual Paradigm, um solche Diagramme zu entwerfen, aber wenn Sie etwas empfehlen können, ist es auch gut.
krzych
Schauen Sie sich verschiedene UML-Diagramme an .
Nick Alexeev
@NickAlexeev hat leider nicht gefunden, wie Interrupts und Arbeiten von dma in Ihrer Referenz angezeigt werden können.
krzych
2
@krzych Sequenzdiagramme können verwendet werden, die das Zusammenspiel zwischen Interrupts und der Hauptschleife zeigen. Es ist nicht so detailliert wie Flussdiagramme, kann jedoch die Interruptdimension anzeigen.
Nick Alexeev

Antworten:

4

Zeigen Sie die Workflow-Diagramme unabhängig voneinander an, eines für die Hauptschleife, eines für den DMA und das andere für die Interrupts.

Da die Interrups durch externe Ereignisse (wie ADC bereit, Timer, externe Interrupts) ausgelöst werden, können sie sich nicht in der Hauptschleife befinden.

Setzen Sie das Tittle gleich zu Beginn des Workflows in einen Kreis, z. B. "Main", "EXT_INT", "DMA" usw.

Viel Glück!

Chirry
quelle
0

Es tut uns leid, aber Sie können nicht mehrere separate Workflows in einem verbundenen Flussdiagramm anzeigen. Es gibt selten einen allgemeinen Ort, an dem die Steuerung des Hauptschleifens durch ein externes Ereignis (Interrupt) unterbrochen wird -> daher kann der Verbindungspunkt zwischen Haupt- und Interrupt-Handler-Fluss nicht im Flussdiagramm beschrieben werden.

Die einzige Möglichkeit besteht darin, mehrere Diagramme zu zeichnen, die Workflows von Sequenzen zeigen, die möglicherweise "parallel" (RTOS-Prozesse) ausgeführt werden oder sich gegenseitig blockieren (Interrupts). Die Startposition dieser Sequenzen wird durch RESET, EXT_DATA_READY_EVENT oder einen anderen aussagekräftigen Namen markiert, der den Start des Ausführungsablaufs für dieses Diagramm beschreibt. Jede Sequenz hat ein eigenes Ende oder sogar keinen Endmarker.

Diese Flussdiagramme können dieselben Flags / Variablen verwenden, um die gegenseitige Abhängigkeit anzuzeigen.

Das Sequenzdiagramm mag auch für Sie nützlich sein, aber ich nehme an - es ist nicht das, was Sie in erster Linie wollten.

x4mer
quelle