Embedded Systems und Firmware

Warum werden bei einem Gerät mit Firmware-Update per Funk (OTA-Update) im Flash-Speicher zwei Bereiche (Bank A und Bank B) für die Firmware vorgesehen?

  1. ADamit dasselbe Programm in beiden Bereichen gleichzeitig läuft und die Geschwindigkeit verdoppelt wird
  2. BDamit ein Bereich zum Speichern von Fotos der Nutzer dient
  3. CDamit die neue Firmware in den anderen Bereich geschrieben wird und bei einem Fehlschlag mittendrin vom ursprünglichen Bereich neu gestartet werden kann
Antwort und Erläuterung anzeigen

Antwort: C. Damit die neue Firmware in den anderen Bereich geschrieben wird und bei einem Fehlschlag mittendrin vom ursprünglichen Bereich neu gestartet werden kann

Wird direkt über die laufende Firmware geschrieben, kann das Gerät nicht mehr starten, wenn mittendrin die Stromversorgung oder die Verbindung abbricht. Beim Zwei-Bank-Verfahren wird die neue Firmware in den ungenutzten Bereich geschrieben und erst nach Bestätigung des korrekten Schreibens der Startbereich umgeschaltet. Schlägt der Start mit der neuen Version fehl, schaltet der Bootloader auf den ursprünglichen Bereich zurück. Der Preis ist der doppelte Speicherbedarf, dafür ist das Update sicher.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Embedded Systems und Firmware

  1. Was ist der Hauptzweck des Sleep-Modus eines Mikrocontrollers in batteriebetriebenen Embedded-Geräten?
  2. Ein Sensorgerät arbeitet nur 1 % der Gesamtzeit mit 10 mA und schläft die restlichen 99 % der Zeit mit 10 µA. Welcher Wert kommt dem mittleren Stromverbrauch am nächsten?
  3. Warum wird in der Firmware kleiner Mikrocontroller häufig auf dynamische Speicherbelegung wie malloc verzichtet?
  4. Was ist bei einem kleinen Mikrocontroller ohne MMU im Hinblick auf übermäßige Stack-Nutzung zu beachten?
  5. Ein 12-Bit-ADC mit 3.3 V Referenzspannung liefert den Wert 2048. Welcher Wert kommt der Eingangsspannung am nächsten?

Vergleiche zu diesem Thema