Embedded Systems und Firmware

Welchen Vorteil hat es bei vielen Mikrocontrollern, große unveränderliche Tabellen (z. B. Schriftdaten) mit const zu deklarieren?

  1. ASie werden im Flash-Speicher abgelegt, und der knappe RAM wird nicht belegt
  2. BDer Tabelleninhalt wird automatisch komprimiert
  3. 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.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Embedded Systems und Firmware

  1. Was lässt sich mit Debug-Schnittstellen wie JTAG und SWD tun?
  2. Eine bestimmte Regelberechnung soll alle 1 ms ausgeführt werden. Welche Implementierung auf einem Mikrocontroller ohne Betriebssystem ist am besten geeignet?
  3. Welche Aufgabe hat die Brown-out-Erkennung (BOD, Brown-out-Reset) eines Mikrocontrollers?
  4. Bei einem Mikrocontroller mit Interrupt-Prioritäten tritt während der Ausführung des Handlers eines Interrupts niedriger Priorität ein Interrupt hoher Priorität auf. Was geschieht im Allgemeinen (bei erlaubter Interrupt-Verschachtelung)?
  5. Welche C-Schreibweise setzt nur Bit 3 des Registers reg auf 1 und lässt die übrigen Bits unverändert?

Vergleiche zu diesem Thema