OpenThread erstellen
Die Schritte zum Erstellen von OpenThread variieren je nach Toolchain, Nutzercomputer und Zielplattform.
Der häufigste Workflow ist:
- Richten Sie die Build-Umgebung ein und installieren Sie die gewünschte Toolchain:
- Eine detaillierte Anleitung zum Erstellen direkt auf einer Maschine finden Sie im Simulations-Codelab.
- Wenn Sie einen Docker-Container mit einer vorkonfigurierten Umgebung verwenden möchten, laden Sie das OpenThread-Image
environment
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 CC2538 als Beispiel:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- Über das Stammverzeichnis des geklonten Repositorys:
- Installieren Sie die Toolchain:
./script/bootstrap
- Erstellen Sie die Konfiguration:
./script/build platform-specific-args cmake-options
- Installieren Sie die Toolchain:
- Flashen Sie das gewünschte Binärprogramm in die Zielplattform. Alle generierten Binärprogramme befinden sich in
./build/bin
.
Konfiguration
Sie können OpenThread während des Build-Prozesses für verschiedene Funktionen und Verhaltensweisen konfigurieren. Die verfügbaren Konfigurationsoptionen werden an den folgenden Stellen ausführlich beschrieben:
Typ | Standort |
---|---|
Kompilierungszeitkonstanten | Wird in allen Header-Dateien in /src/core/config aufgeführt |
Cmake-Build-Optionen | Aufgeführt in openthread/examples/README.md |
Build-Beispiele
Mit cmake-Build-Optionen können Sie Funktionen für die Plattform aktivieren. So erstellen Sie beispielsweise das Binärprogramm für die CC2538-Plattform mit aktivierter Unterstützung von Kommissar und Joiner:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
So erstellen Sie die nRF52840-Plattform mit aktiviertem Jam Detection-Feature im Repository:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Binärprogramme
Die folgenden Binärdateien werden in ./build/bin
aus dem Build-Prozess 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 das FTD-CLI-Binärprogramm:
./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 |
Minimaler Thread-Modus für SoC-Designs | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
Full-Thread-Gerät für Network Co-Processor-Designs (NCP-Designs) | -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 |
RCP-Design (Radio Co-Processor) | -DOT_APP_RCP=ON -DOT_RCP=ON |
Standardmäßig sind alle oben genannten Flags aktiviert. Wenn Sie alle Flags explizit deaktivieren, werden keine Anwendungen erstellt, aber OpenThread-Bibliotheksdateien werden weiterhin in ./build/lib
für die Verwendung in einem Projekt generiert.
Im Verzeichnis examples/platforms
sehen Sie, welche Flags die einzelnen Plattformen unterstützen. Weitere Informationen zu FTDs und MTDs finden Sie unter Thread Primer. Weitere Informationen zu SoC- und NCP-Designs finden Sie unter Plattformen.
Das Verfahren zum Flashen dieser Binärdateien variiert je nach Beispielplattform. Eine ausführliche Anleitung finden Sie in den READMEs im Beispielordner der einzelnen Plattformen.
OpenThread-Daemon
OpenThread Daemon (OT Daemon) ist ein OpenThread POSIX-Build-Modus, der OpenThread als Dienst ausführt und mit dem RCP-Design verwendet wird. Weitere Informationen zur Erstellung und Verwendung finden Sie unter OpenThread-Daemon.
Supportpakete erstellen
Build-Supportpakete (BSPs) finden Sie unter /third_party
. BSPs sind zusätzlicher Drittanbietercode, der von OpenThread auf den einzelnen Plattformen verwendet wird. Sie wird im Allgemeinen beim Portieren von OpenThread auf eine neue Hardwareplattform eingebunden.