OpenThread erstellen

<ph type="x-smartling-placeholder"></ph> Quelle auf GitHub ansehen

OpenThread erstellen

Die Schritte zum Erstellen von OpenThread variieren je nach Toolchain, Nutzercomputer und Zielplattform.

Der gängigste Workflow ist:

  1. Richten Sie die Build-Umgebung ein und installieren Sie die gewünschte Toolchain: <ph type="x-smartling-placeholder">
      </ph>
    1. Wenn Sie direkt auf einer Maschine erstellen möchten,finden Sie im Simulations-Codelab eine ausführliche Anleitung.
    2. Wenn Sie einen Docker-Container mit einer vorkonfigurierten Umgebung verwenden möchten, Laden Sie das OpenThread environment-Image herunter und führen Sie es aus:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. Klonen Sie in der ausgewählten Umgebung das plattformspezifische OpenThread-Git-Repository. Nehmen wir als Beispiel CC2538:
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. Aus dem Stammverzeichnis des geklonten Repositorys: <ph type="x-smartling-placeholder">
      </ph>
    1. Installieren Sie die Toolchain:
      ./script/bootstrap
      
    2. Erstellen Sie die Konfiguration:
      ./script/build platform-specific-args cmake-options
      
  4. Flashen Sie die gewünschte Binärdatei in die Zielplattform. Alle generierten Binärprogramme sind in ./build/bin.

Konfiguration

Sie können OpenThread für verschiedene Funktionen und Verhaltensweisen während der des Build-Prozesses. Die verfügbaren Konfigurationsoptionen werden im Folgenden beschrieben. Standorte:

Typ Standort
Kompilierungszeitkonstanten Wird in allen Headerdateien in /src/core/config aufgeführt
Build-Optionen erstellen Gelistet in openthread/examples/README.md

Build-Beispiele

Verwenden Sie cmake-Build-Optionen, um Funktionen für die Plattform zu aktivieren. Wenn Sie beispielsweise Erstellen Sie die Binärdatei für die CC2538-Plattform mit aktivierter Unterstützung durch Commissioner und Joiner:

./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON

Oder um die nRF52840-Plattform mit der Störerkennung Funktion im Repository aktiviert:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

Binärprogramme

Die folgenden Binärdateien werden während des Build-Prozesses in ./build/bin generiert. Verwenden Sie Flags mit dem Befehl ./script/build, um zu ermitteln, welche Binärdateien generiert werden. So erstellen Sie beispielsweise OpenThread und generieren nur die FTD-Befehlszeilen-Binärdatei:

./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
Binär Beschreibung Optionen
ot-cli-ftd Full-Thread-Gerät für SoC-Designs -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd Minimales Thread-Gerät für SoC-Designs -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Full-Thread-Gerät für NCP-Designs (Network Co-Processor) -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd Minimales Thread-Gerät für NCP-Designs -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp Design von Radio Co-Processor (RCP) -DOT_APP_RCP=ON
-DOT_RCP=ON

Standardmäßig sind alle oben genannten Flags aktiviert. Wenn Sie alle Flags explizit deaktivieren, werden Anwendungen erstellt. OpenThread-Bibliotheksdateien werden jedoch weiterhin in ./build/lib zur Verwendung in einem Projekt generiert.

Im Verzeichnis examples/platforms sehen Sie, welche Flags die einzelnen Plattformen enthalten unterstützt. Weitere Informationen zu FTDs und MTDs finden Sie in der Thread-Primer Für Weitere Informationen zum SoC- und NCP-Design findest du unter Plattformen.

Der Vorgang zum Flashen dieser Binärprogramme variiert je nach Beispielplattform. Weitere Informationen finden Sie in der README-Dateien in den Beispielordner für eine detaillierte Anleitung.

OpenThread-Daemon

OpenThread Daemon (OT Daemon) ist ein OpenThread-POSIX-Build-Modus, der ausgeführt wird OpenThread als Dienst und wird mit dem RCP-Design verwendet. Weitere Informationen zu Informationen zur Erstellung und Verwendung finden Sie unter OpenThread Daemon.

Supportpakete erstellen

Build Support Packages (BSPs) finden Sie in /third_party BSPs sind zusätzlicher Code von Drittanbietern, der von OpenThread auf der jeweiligen Plattform verwendet wird und in der Regel beim Portieren von OpenThread auf eine neue Hardwareplattform enthalten ist.