OpenThread erstellen
Die Schritte zum Erstellen von OpenThread variieren je nach Toolchain, Nutzercomputer und Zielplattform.
Am häufigsten werden folgende Workflows verwendet:
- Richten Sie die Build-Umgebung ein und installieren Sie die gewünschte Toolchain:
- Eine Anleitung zum Erstellen direkt auf einem Computer finden Sie im Codelab „Simulation“.
- Um einen Docker-Container mit einer vorkonfigurierten Umgebung zu verwenden, müssen Sie das OpenThread-Image
environment
herunterladen und ausführen:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- Klonen Sie in der ausgewählten Umgebung das plattformspezifische OpenThread-Git-Repository. CC2538 als Beispiel:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- Aus dem geklonten Stammverzeichnis des Klons:
- Installieren Sie die Toolchain:
./script/bootstrap
- Erstellen Sie die Konfiguration:
./script/build platform-specific-args cmake-options
- Installieren Sie die Toolchain:
- Stellen Sie das gewünschte Binärprogramm auf die Zielplattform zurück. Alle generierten Binärprogramme befinden sich in
./build/bin
.
Konfiguration
Sie können OpenThread für verschiedene Funktionen und Verhaltensweisen während des Build-Prozesses konfigurieren. Die verfügbaren Konfigurationsoptionen sind hier aufgeführt:
Typ | Standort |
---|---|
Konstanten für Kompilierungszeiten | In allen Headerdateien in /src/core/config aufgeführt |
Cmake-Build-Optionen | In openthread/examples/README.md aufgeführt |
Build-Beispiele
cmake-Build-Optionen, um die Funktion für die Plattform zu aktivieren. So erstellen Sie beispielsweise das Binärprogramm für die Plattform CC2538 mit aktivierter Unterstützung für Kommission und Joiner:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
So erstellen Sie die nRF52840-Plattform mit aktivierter Jam Detection-Funktion im Repository:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Binärprogramme
Die folgenden Binärprogramme werden im Build-Prozess in ./build/bin
generiert. Verwenden Sie Flags mit dem Befehl ./script/build
, um festzustellen, welche Binärprogramme 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 |
„Minimal Thread“-Gerät für SoC-Designs | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
Full-Thread-Gerät für NCP-Netzwerke (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 |
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 die OpenThread-Bibliotheksdateien werden zur Verwendung in einem Projekt weiterhin in ./build/lib
generiert.
Sehen Sie sich die Beispiel-Makefiles für jede Plattform an, um zu sehen, welche Flags die einzelnen Plattformen unterstützen. Weitere Informationen zu FTDs und MTDs finden Sie in der Thread-Primer-Hilfe. Weitere Informationen zu SoC- und NCP-Designs finden Sie unter Plattformen.
Das Flash-Verfahren dieser Binärprogramme variiert je nach Beispielplattform. Eine ausführliche Anleitung finden Sie in den README-Dateien auf den einzelnen Plattformen und im Beispielordner.
OpenThread-Daemon
OpenThread Daemon (OT Daemon) ist ein OpenThread POSIX-Build-Modus, der OpenThread als Dienst ausführt und beim RCP-Design zum Einsatz kommt. Weitere Informationen zur Erstellung und Verwendung finden Sie unter OpenThread Daemon.
Build-Supportpakete
Build-Supportpakete (BSPs) finden Sie in /third_party
. BSPs sind zusätzlicher Drittanbietercode, der von OpenThread auf der jeweiligen Plattform verwendet wird. In der Regel ist dieser bei der Portierung von OpenThread auf eine neue Hardwareplattform enthalten.