Systèmes embarqués et firmware
Sur de nombreux microcontrôleurs, quel est l'avantage de déclarer avec const les grandes tables non modifiées (données de police, etc.) ?
- AElles sont placées en mémoire flash et n'occupent pas la RAM, peu abondante
- BLe contenu de la table est compressé automatiquement
- CLe contenu de la table devient librement modifiable à l'exécution
Afficher la réponse et l'explication
Réponse : A. Elles sont placées en mémoire flash et n'occupent pas la RAM, peu abondante
Sur microcontrôleur, il est fréquent de disposer de plusieurs centaines de KB de flash pour le programme mais de seulement quelques dizaines de KB de RAM. Un tableau initialisé sans const est placé en .data et copié de la flash vers la RAM au démarrage, ce qui consomme de la RAM. Avec const, il reste en flash comme donnée en lecture seule et y est lu directement. Certains microcontrôleurs exigent une directive particulière pour placer des données en flash.
Continuer : 9 autres questions sur Systèmes embarqués et firmware