J'ai une application intégrée qui utilise des interruptions et dma. La boucle principale envoie uniquement des données au PC.
Comment concevoir un organigramme du programme? Comment montrer les interruptions et le dma travaillant sur un organigramme?
J'ai trouvé plusieurs sujets dans google sur les diagrammes uml intégrés, et quelques questions: concevoir des logiciels embarqués , mais je n'ai pas trouvé d'exemples de tels diagrammes.
embedded
code-design
krzych
la source
la source
Réponses:
Affichez les diagrammes de flux de travail indépendamment, un pour la boucle principale, un pour le DMA et l'autre pour les interruptions.
Comme les interruptions sont déclenchées par des événements externes (comme ADC ready, timer, interrupts externes), il ne peut pas être dans la boucle principale.
Juste au début du workflow, placez le titre dans un cercle, par exemple: "Main", "EXT_INT", "DMA", etc.
Bonne chance!
la source
Désolé, mais vous ne pouvez pas afficher plusieurs workflows distincts sur un même diagramme de flux connecté. Il existe rarement un endroit général à partir duquel le contrôle de la boucle principale est interrompu par un événement externe (interruption) -> ainsi, le point de connexion entre le flux du gestionnaire principal et celui de l'interruption ne peut pas être décrit sur le diagramme de flux.
La seule façon est de dessiner plusieurs diagrammes qui montrent des workflows de séquences qui peuvent s'exécuter "en parallèle" (processus RTOS) ou se bloquer (interruptions). Ces séquences auront leur position de début marquée par RESET, EXT_DATA_READY_EVENT ou tout autre nom significatif décrivant le début du flux d'exécution pour ce graphique. Chaque séquence aura sa propre fin ou même aucun marqueur de fin.
Ces organigrammes peuvent partager les mêmes indicateurs / variables pour montrer l'interdépendance.
Le diagramme de séquence peut également être utile pour vous, mais je suppose - ce n'est pas ce que vous vouliez principalement.
la source