<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:latest
docker 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/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.