Dieser Fork ändert das Verhalten des Bootloaders im OTA-DFU-Modus. Erkennt der Bootloader nach einem OTA-Update eine ungültige Anwendungsfirmware, bootet er zurück in den OTA-DFU-Modus. Dies ist zwar nicht absolut sicher, aber bei schwer zugänglichen Geräten deutlich besser als das Standardverhalten, das beim Erkennen einer ungültigen Anwendungsfirmware in den UF2/CDC-Modus bootet.
Zusätzlich wurde die HCI_RX_BUF_QUEUE_SIZE von 8 auf 16 erhöht. Dies ist für OTA-Updates auf nRF52850-Boards nahezu unerlässlich, da sonst ein Pufferüberlauf und ein Absturz des Bootloaders nahezu garantiert sind.
Unterstütze Boards:
Alle bereits vom Adafruit nrf52-Bootloader unterstützten Boards können selbstverständlich hinzugefügt werden.
- Nologo ProMicro NRF52840 (auch bekannt als SuperMini NRF52840)
- Seeed Studio XIAO nRF52840 BLE
- Seeed Studio XIAO nRF52840 BLE SENSE
- RAK 4631 (siehe Hinweis)
Link zu Githubseite: https://github.com/oltaco/Adafruit_nRF52_Bootloader_OTAFIX
Alle bereits vom Adafruit nrf52-Bootloader unterstützten Boards können genutzt werden.
Installation:
Die empfohlene Installationsmethode für den Bootloader ist die Verwendung der UF2-Datei. Lade die UF2-Datei für dein Board herunter, aktiviere den UF2-Modus (normalerweise durch zweimaliges Drücken der Reset-Taste innerhalb von 0,5 Sekunden) und kopiere die UF2-Datei.
Du kannst die ZIP- oder Hex-Datei auch flashen, dies wird jedoch nicht empfohlen, da du im Falle eines fehlerhaften Flashs JLink oder SWD zur Wiederherstellung benötigst.
Empfohlene Einstellungen und Hinweise für das OTA-Update:
Für das OTA-Update kannst du entweder „nRF Connect“ (Android/iOS) oder „nRF Device Firmware Update“ (Android/iOS) verwenden.
Verwende die folgenden Einstellungen für die App „nRF Device Firmware Update“. Beachte, dass diese mit Ausnahme von „Force Scanning“ nicht in Stein gemeißelt sind.


Hinweise zu den Einstellungen:
Ein erzwungener Scan (in nRF Connect „Scan for bootloader“ in Legacy DFU genannt) ist erforderlich, da das Gerät bei der Initialisierung des OTA-DFU-Modus neu startet und sich als AdaDFU mit einer anderen MAC-Adresse meldet. Durch den erzwungenen Scan kann die App das Gerät nach dem Neustart finden.
Eine Benachrichtigung über den Empfang von Paketen ist nicht zwingend erforderlich, verringert aber die Wahrscheinlichkeit von Fehlern beim Update -ist aber deutlich langsamer.
WICHTIG: Wenn du ein OTA-Update durchführst, während dein Gerät an einen Computer angeschlossen ist, wird das Gerät zwar aktualisiert, startet aber nicht mit der neuen Anwendungsfirmware. Zum Starten ist ein manueller Reset erforderlich. Der Anschluss an ein USB-Ladegerät ist problemlos möglich.
OTA-Update auf einem MeshCore-Repeater durchführen
Melden dich sich zunächst am Repeater an und führe den CLI-Befehl „start ota“ aus.
Öffne anschließend die App „nRF Device Firmware Update“, wähle die entsprechende MeshCore-Firmware-ZIP-Datei für dein Gerät aus, wähle dein Device (ProMicro_OTA/RAK4631_OTA usw.) und drücke die Starttaste.
Drücken Sie die Daumen und hoffen Sie auf das Beste!
Hinweise zum RAK4631-Bootloader
Diese Version des RAK4631-Bootloaders basiert auf einer deutlich neueren Version (0.9.2) des Adafruit nRF52-Bootloaders als die von RAK Wireless verwendete Version..
Es wurde nicht überprüft, welche Änderungen (falls vorhanden) RAK am Adafruit-Bootloader vorgenommen hat, daher ist nicht sicher, ob es Unterschiede gibt. Dieser Bootloader wurde getestet und bisher wurden keine Probleme festgestellt. Wenn du lieber den originalen RAK-Bootloader mit diesen Patches verwenden möchten, findest du ihn hier.
Diese Anleitung / Übersetzung wurde nach bestem Wissen erstellt, erhebt aber nicht den Anspruch auf Vollständigkeit und Richtigkeit der Angaben und dient lediglich als Hilfestellung.