Embedded Systems und Firmware
Welchen Vorteil hat es bei vielen Mikrocontrollern, große unveränderliche Tabellen (z. B. Schriftdaten) mit const zu deklarieren?
- ASie werden im Flash-Speicher abgelegt, und der knappe RAM wird nicht belegt
- BDer Tabelleninhalt wird automatisch komprimiert
- CDer Tabelleninhalt kann zur Laufzeit beliebig überschrieben werden
Antwort und Erläuterung anzeigen
Antwort: A. Sie werden im Flash-Speicher abgelegt, und der knappe RAM wird nicht belegt
Bei Mikrocontrollern hat der Flash-Speicher für das Programm oft einige hundert KB, der RAM aber nur einige zehn KB. Ein Array mit Initialwerten ohne const landet in .data und wird beim Start vom Flash in den RAM kopiert, belegt also RAM. Mit const bleiben die Daten als schreibgeschützte Daten im Flash und werden von dort gelesen. Bei manchen Mikrocontrollern ist für die Ablage im Flash eine besondere Angabe nötig.