Diagrammi di flusso per applicazioni integrate


8

Ho un'applicazione incorporata che utilizza interrupt e dma. Il loop principale invia solo dati al PC.

Come progettare il diagramma di flusso del programma? Come mostrare interrupt e dma lavorando sul diagramma di flusso?

Ho trovato diversi argomenti in google su diagrammi uml incorporati e alcune domande lì: progettazione di software embedded , ma non ho trovato esempi di tali diagrammi.


Vuoi che il software realizzi diagrammi o la teoria e le tecniche su come realizzarli?

1
Teoria, tecniche ed esempi saranno i migliori. Sto usando Visio o Visual Paradigm per progettare tali diagrammi, ma se hai qualcosa da raccomandare andrà bene.
Krzych,

Dai un'occhiata a vari diagrammi UML .
Nick Alexeev

@NickAlexeev purtroppo non ha trovato il modo di mostrare gli interrupt e il lavoro svolto da dma nel tuo riferimento.
Krzych,

2
@krzych È possibile utilizzare i diagrammi di sequenza che mostrano l'interazione tra gli interrupt e il ciclo principale. Non è dettagliato come i diagrammi di flusso, ma può mostrare la dimensione degli interrupt.
Nick Alexeev

Risposte:


4

Mostra i diagrammi del flusso di lavoro in modo indipendente, uno per il ciclo principale, uno per il DMA e l'altro per gli interrupt.

Poiché le interruzioni sono innescate da eventi esterni (come ADC pronto, timer, interruzioni esterne) non può essere nel loop principale.

Proprio all'inizio del flusso di lavoro, metti il ​​cerchio in un cerchio, ad esempio: "Main", "EXT_INT", "DMA", ecc.

In bocca al lupo!


0

Siamo spiacenti, ma non puoi mostrare diversi flussi di lavoro separati su un diagramma di flusso collegato. Esiste raramente un luogo generale da cui il controllo di mainloop è interrotto da un evento esterno (interruzione) -> quindi il punto di connessione tra il flusso del gestore principale e quello dell'interruzione non può essere descritto nel diagramma di flusso.

L'unico modo è disegnare diversi diagrammi che mostrano flussi di lavoro di sequenze che possono essere eseguite "in parallelo" (processi RTOS) o che si bloccano a vicenda (Interruzioni). Le sequenze avranno la posizione iniziale contrassegnata da RESET, EXT_DATA_READY_EVENT o qualsiasi altro nome significativo che descriva l'inizio del flusso di esecuzione per questo grafico. Ogni sequenza avrà la sua fine o addirittura non avrà un marcatore di fine.

Questi diagrammi di flusso possono condividere gli stessi flag / variabili per mostrare l'interdipendenza.

Anche il diagramma sequenziale può essere utile per te, ma suppongo che non sia quello che volevi principalmente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.