Systèmes embarqués et firmware
Sur un petit microcontrôleur sans MMU, quelle précaution concernant la surconsommation de pile est correcte ?
- ALa pile s'agrandit automatiquement sans limite ; inutile de s'en soucier
- BUn débordement de pile affiche toujours un écran d'erreur
- CUn débordement de pile n'est pas détecté immédiatement et peut corrompre silencieusement les données voisines ; il faut éviter les récursions profondes et les grands tableaux locaux et estimer la consommation
Afficher la réponse et l'explication
Réponse : C. Un débordement de pile n'est pas détecté immédiatement et peut corrompre silencieusement les données voisines ; il faut éviter les récursions profondes et les grands tableaux locaux et estimer la consommation
Sur PC, le système d'exploitation place une page interdite au-delà de la pile pour détecter son débordement, mais les microcontrôleurs sans MMU n'ont souvent pas ce mécanisme : un débordement écrase silencieusement les variables situées au-delà. Les symptômes apparaissent ailleurs, ce qui rend la cause difficile à identifier. On évite les récursions profondes et les grands tableaux locaux, on estime la consommation maximale avec des outils, ou l'on écrit un motif témoin en bout de pile pour vérifier qu'il n'est pas corrompu.
Continuer : 9 autres questions sur Systèmes embarqués et firmware