Diagramas de flujo para aplicaciones integradas

8

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

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

He encontrado varios temas en google sobre diagramas uml incrustados y algunas preguntas allí: Diseño de software incrustado , pero no he encontrado ejemplos de este tipo de diagramas.

    
pregunta krzych

2 respuestas

4

Muestre 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 listo, temporizador, interrupciones externas) no puede estar en el bucle principal.

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

¡Buena suerte!

    
respondido por el Chirry
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 de mainloop 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 se puede describir 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 extremo o incluso no tendrá un marcador final.

Estos diagramas de flujo pueden compartir los mismos indicadores / variables para mostrar la interdependencia.

El diagrama de secuencia también puede ser útil para ti, pero supongo que no es lo que querías principalmente.

    
respondido por el x4mer

Lea otras preguntas en las etiquetas