Le paradigme embarqué

Programmer une machine contrainte : boucle principale sans système, interruptions et drapeaux, noyau temps réel et échéances, registres et masques de bits, budget d'énergie et chien de garde.

  • 25 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Les chiffres
  5. Mises en situation

Quelques cartes du deck

  • Interruption : de quoi s'agit-il ?

    Voir la réponse

    Signal matériel qui suspend le programme en cours pour exécuter tout de suite une routine dédiée, puis reprend là où il s'était arrêté.

    Elle évite de tester un bouton ou un capteur en boucle. La routine doit rester courte : pendant son exécution, le reste du programme est arrêté.

  • Que vaut reg après ces lignes en C ?

    ```c
    unsigned char reg = 0x41;
    reg |= (1 << 5);
    `

    • 0x61
    • 0x20
    • 0x46
    • 0x40
    Voir la réponse

    0x61

    1 << 5 vaut 0x20 (le bit 5). Le OU met ce bit à 1 sans toucher aux autres : 0x41 | 0x20 = 0x61. reg = 1 << 5 aurait donné 0x20 en effaçant le reste.

  • Une routine d'interruption se contente de positionner un … ; la … fait ensuite le vrai travail.

    Voir la réponse

    Une routine d'interruption se contente de positionner un drapeau ; la boucle principale fait ensuite le vrai travail.

    La routine doit être brève, sans attente ni affichage. Le drapeau partagé doit être déclaré volatile, sinon le compilateur peut ne jamais relire sa valeur dans la boucle.

  • Contrainte temps réel : de quoi s'agit-il ?

    Voir la réponse

    Exigence qu'un traitement soit terminé avant une échéance fixée ; ce qui compte est la date du résultat autant que sa valeur.

    « Rapide » ne suffit pas : il faut une durée bornée dans le pire cas. Dur, la manquer est une défaillance (airbag) ; souple, elle dégrade seulement la qualité (vidéo).