1.1 Le problème du bare-metal

2. 1.1 Le problème du bare-metal

La programmation bare-metal repose sur une boucle principale (loop()) exécutée séquentiellement. Chaque tâche bloque les autres : un delay(1000) pour lire un capteur empêche de rafraîchir un écran ou de répondre à un réseau.

// Bare-metal — le problème classique
void loop() {
    read_sensor();        // 200 ms
    update_display();     // 50 ms
    send_wifi_packet();   // 500 ms — tout est bloqué pendant ce temps
    delay(1000);          // 1 s de latence ajoutée
}

Alternatives non-RTOS : state machines, timers matériels, interruptions. Elles fonctionnent jusqu'à 3-4 tâches. Au-delà, la complexité explose et la maintenance devient cauchemardesque.

Quand choisir un RTOS ? - Plus de 3 tâches concurrentes avec des périodicités différentes - Des exigences de latence strictes (ex : répondre à un événement < 10 ms) - Un bus partagé (I2C, SPI) accédé par plusieurs composants logiciels - Un projet qui va grossir : le RTOS est une architecture, pas un surcoût

Se connecter pour suivre votre progression.