Der Engineering-Fall für OTA in Bluetooth-Modulen
Firmware-Updates im Feld via OTA sind für eingesetzte Bluetooth-Module nicht mehr optional. Ein Fertigungsfehler in der Sensorkalibrierung, eine Protokollstack-Schwachstelle oder eine neue Funktionsanforderung kann Zehntausende von Feldgeräten betreffen.
Nordics DFU über BLE ist der am weitesten verbreitete OTA-Mechanismus für nRF52-Module. Dieser Artikel behandelt Architektur, Implementierungsentscheidungen und Fehlermodi, die Ingenieure vor dem Produktionseinsatz verstehen müssen.
OTA-Architektur: Bootloader- und Anwendungsregionen
| Region | Typische Größe | Inhalt |
|---|---|---|
| MBR | 4 KB | Einstiegspunkt |
| Bootloader | 24–32 KB | DFU-Logik, Signaturprüfung |
| SoftDevice | ~140 KB | Nordic S132/S140 |
| Anwendung + DFU-Bereich | Restlicher Flash | Firmware + eingehendes Image |
Einzelbank vs. Doppelbank-DFU
Doppelbank (empfohlen): Das eingehende Image wird in einer separaten Flash-Bank gespeichert. Die bestehende Anwendung läuft während des Downloads weiter. Unterbrochene Updates lassen das alte Firmware intakt.
Einzelbank: Kein Flash-Overhead, aber Stromausfall während des Updates kann das Gerät unbrauchbar machen.
Image-Signierung und Sicherheit
Unsigniertes OTA ist ein Sicherheitsrisiko. Nordics sicherer Bootloader verwendet ECDSA-p256-Signierung. Das Update-Paket (.zip) wird mit einem privaten Schlüssel signiert; nur der entsprechende öffentliche Schlüssel (im Bootloader bei der Fertigung eingebettet) kann es validieren.
Nach der Programmierung die Bootloader-Flash-Region sperren (APPROTECT), um Auslesung zu verhindern.
Fehlermodusanalyse
| Fehlermodus | Ursache | Gegenmaßnahme |
|---|---|---|
| Stromausfall | Batterie leer | Batteriestand prüfen; Doppelbank nutzen |
| Verbindungsabbruch | Interferenz, Entfernung | DFU-Protokoll unterstützt Fortsetzung |
| Versions-Downgrade | Alte Firmware versehentlich bereitgestellt | fw_version monoton erhöhen |
Zusammenfassung
OTA ist eine kritische Fähigkeit für jeden Einsatz von Bluetooth-Modulen, die über ein Jahr im Feld betrieben werden sollen. Die wichtigste Investition ist die Testabdeckung — testen Sie jeden Fehlermodus explizit, bevor Sie ausliefern.