<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:
- Richten Sie die Build-Umgebung ein und installieren Sie die gewünschte Toolchain:
<ph type="x-smartling-placeholder">- </ph>
- Wenn Sie direkt auf einer Maschine erstellen möchten,finden Sie im Simulations-Codelab eine ausführliche Anleitung.
- 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:latestdocker run -it --rm openthread/environment bash
 
- 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
- Aus dem Stammverzeichnis des geklonten Repositorys:
<ph type="x-smartling-placeholder">- </ph>
- Installieren Sie die Toolchain:
./script/bootstrap
- Erstellen Sie die Konfiguration:
./script/build platform-specific-args cmake-options
 
- Installieren Sie die Toolchain:
- 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/configaufgefü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.