Systèmes embarqués et firmware

Sur un microcontrôleur à interruptions hiérarchisées, une interruption de haute priorité survient pendant l'exécution du gestionnaire d'une interruption de faible priorité. Que se passe-t-il généralement (imbrication des interruptions autorisée) ?

  1. ALe gestionnaire de faible priorité est interrompu, celui de haute priorité s'exécute, puis l'exécution reprend dans le gestionnaire de faible priorité
  2. BL'interruption de haute priorité est ignorée jusqu'à la fin du gestionnaire de faible priorité
  3. CLes deux gestionnaires s'exécutent simultanément, en parallèle, sur le même processeur
Afficher la réponse et l'explication

Réponse : A. Le gestionnaire de faible priorité est interrompu, celui de haute priorité s'exécute, puis l'exécution reprend dans le gestionnaire de faible priorité

Avec des priorités d'interruption, une interruption urgente est traitée même pendant l'exécution d'un autre gestionnaire. Par exemple, en donnant une priorité élevée à la détection de surintensité d'un moteur et une priorité faible à la réception de communications, la surintensité est traitée immédiatement même pendant une réception. Le NVIC des Cortex-M d'Arm, entre autres, dispose de ce mécanisme. Les interruptions de priorité égale ou inférieure attendent la fin du gestionnaire en cours.

S'entraîner sur ce thème Retour au thème

Autres questions sur Systèmes embarqués et firmware

  1. En langage C, quelle écriture met à 1 uniquement le bit 3 du registre reg sans modifier les autres bits ?
  2. En langage C, quelle écriture met à 0 uniquement le bit 3 du registre reg sans modifier les autres bits ?
  3. On souhaite basculer, à chaque exécution, entre allumage et extinction le bit d'une broche de sortie reliée à une LED. Quelle écriture C est correcte ?
  4. Quelle condition C teste correctement si le bit 5 du registre d'entrée in vaut 1 ?
  5. Le code ci-dessus réécrit un champ de plusieurs bits du registre reg. Que fait-il ?

Comparatifs sur ce thème