OpenThread auf neue Hardwareplattformen portieren

Quellcode auf GitHub ansehen

Die Portierung des OpenThread-Stacks auf eine neue Hardwareplattform umfasst nur wenige Schritte:

  1. Build-Umgebung einrichten
  2. CMake-Regeln definieren
  3. APIs der Plattformabstraktionsschicht implementieren
  4. Erweiterte Funktionen implementieren (Hardware Abstraction Layer)
  5. Port prüfen
  6. Zertifizierung und README

Anforderungen an die Hardwareplattform

Für OpenThread sind die folgenden Plattformdienste erforderlich:

  • IEEE 802.15.4-2006 für Thread 1.1 2,4-GHz-Funkschnittstelle
    • IEEE 802.15.4-Frames senden und empfangen
    • IEEE 802.15.4-Bestätigungsframes generieren
    • RSSI-Messwerte (Received Signal Strength Indicator) für empfangene Frames bereitstellen
  • IEEE 802.15.4-2015 für Thread 1.2 und höher
    • IEEE 802.15.4-2015-Frames mit Header-IEs oder Nutzlast-IEs senden und empfangen
    • Enh-Ack-Frames generieren
  • Ein freilaufender Timer mit Wecker und Millisekundenauflösung
  • Nichtflüchtiger Speicher zum Speichern von Netzwerkkonfigurationseinstellungen
  • Ein echter Zufallszahlengenerator (True Random Number Generator, TRNG)

Beispiel-Builds

Im OpenThread-Repository finden Sie mehrere Beispielbuilds. Weitere Informationen finden Sie unter Plattformen.

Beispiele für funktionierende Ports sind ot-cc2538, ot-efr32 und ot-nrf528xx. ot-cc2538 ist ein guter Ausgangspunkt, da nur eine einzige Plattform implementiert wird. ot-efr32 und ot-nrf528xx sind etwas komplizierter, da sie die Unterstützung mehrerer Plattformen implementieren.