Diagramas de flujo para aplicaciones integradas

8

Tengo una aplicación incrustada que usa interrupciones y dma. El bucle principal solo envía datos a la PC.

¿Cómo diseñar un diagrama de flujo del programa? ¿Cómo mostrar interrupciones y dma trabajando en diagrama de flujo?

Encontré varios temas en google sobre diagramas UML incrustados, y algunas preguntas allí: Diseño de software embebido , pero no he encontrado ejemplos de tales diagramas.

krzych
fuente
¿Desea que el software haga diagramas o la teoría y las técnicas sobre cómo hacerlos?
1
Teoría, técnicas y ejemplos serán los mejores. Estoy usando Visio o Visual Paradigm para diseñar tales diagramas, pero si tiene algo que recomendar, también será bueno.
krzych
Echa un vistazo a varios diagramas UML .
Nick Alexeev
@NickAlexeev desafortunadamente no ha encontrado cómo mostrar las interrupciones y el trabajo realizado por dma en su referencia.
krzych
2
Los diagramas de secuencia de @krzych se pueden usar mostrando la interacción entre las interrupciones y el bucle principal. No es tan detallado como los diagramas de flujo, pero puede mostrar la dimensión de interrupciones.
Nick Alexeev

Respuestas:

4

Muestra los diagramas de flujo de trabajo de forma independiente, uno para el bucle principal, uno para el DMA y otro para las interrupciones.

Como las interrupciones son activadas por eventos externos (como ADC ready, timer, interrupciones externas) no puede estar en el bucle principal.

Justo al comienzo del flujo de trabajo, coloque el título en un círculo, por ejemplo: "Principal", "EXT_INT", "DMA", etc.

¡Buena suerte!

Chirry
fuente
0

Lo sentimos, pero no puede mostrar varios flujos de trabajo separados en un diagrama de flujo conectado. Rara vez existe un lugar general desde donde el control del bucle principal se interrumpe por un evento externo (interrupción) -> por lo tanto, el punto de conexión entre el flujo principal y el controlador de interrupción no puede describirse en el diagrama de flujo.

La única forma es dibujar varios diagramas que muestren flujos de trabajo de secuencias que pueden ejecutarse "en paralelo" (procesos RTOS) o bloquearse entre sí (interrupciones). Esas secuencias tendrán su posición de inicio marcada por RESET, EXT_DATA_READY_EVENT o cualquier otro nombre significativo que describa el inicio del flujo de ejecución para este gráfico. Cada secuencia tendrá su propio final o incluso no tendrá un marcador de final.

Estos diagramas de flujo pueden compartir las mismas banderas / variables para mostrar la interdependencia.

El diagrama de secuencia también puede ser útil para usted, pero supongo que no es lo que deseaba principalmente.

x4mer
fuente