Embedded systemen en firmware
Welk voordeel heeft het declareren van een grote, ongewijzigde tabel (zoals lettertypegegevens) met const bij veel microcontrollers?
- ADe tabel staat in het flashgeheugen en neemt geen van het schaarse RAM in beslag
- BDe inhoud van de tabel wordt automatisch gecomprimeerd
- CDe inhoud van de tabel kan tijdens de uitvoering vrij worden herschreven
Antwoord en toelichting tonen
Antwoord: A. De tabel staat in het flashgeheugen en neemt geen van het schaarse RAM in beslag
Bij microcontrollers heeft het flashgeheugen voor het programma vaak enkele honderden KB, maar het RAM slechts enkele tientallen KB. Een array met beginwaarden zonder const komt in .data terecht en wordt bij het opstarten uit het flashgeheugen naar RAM gekopieerd, dus gebruikt RAM. Met const kan het als alleen-lezen gegevens in het flashgeheugen blijven staan en toch worden gelezen. Bij sommige microcontrollers is voor plaatsing in flash een speciale aanduiding nodig.