Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Erstellen Sie OpenThread

Werkzeugketten

Die primär unterstützte Toolchain zum Erstellen von OpenThread ist GNU Autotools.

GNU Autotools

Anweisungen zum Erstellen von Beispielen mit GNU Autotools finden Sie im Plattformordner jedes Beispiels. Beachten Sie, dass in diesen Beispielen der minimale Code angezeigt werden soll, der zum Ausführen von OpenThread auf der jeweiligen Plattform erforderlich ist. Daher heben sie nicht die vollen Funktionen der Plattform hervor.

Abhängig von Ihrem Anwendungsfall kann eine weitere Konfiguration während der Erstellung erforderlich sein.

GNU Autotools - Nest Labs bauen

Nest Labs hat ein angepasstes, schlüsselfertiges Build-System-Framework erstellt, das auf GNU Autotools basiert. Dies wird für eigenständige Softwarepakete verwendet, die Folgendes unterstützen müssen:

  • Aufbauend auf und gezielt gegen eigenständige Build-Host-Systeme
  • eingebettete Zielsysteme mit GCC-basierten oder -kompatiblen Toolchains

Der Nest Labs-Build von GNU Autotools wird für die Verwendung mit OpenThread empfohlen, da einige Build-Host-Systeme möglicherweise nicht über GNU Autotools oder unterschiedliche Versionen und Distributionen verfügen. Dies führt zu einer inkonsistenten primären und sekundären Autotools-Ausgabe, was zu einer unterschiedlichen Benutzer- und Supporterfahrung führt. Der Nest Labs-Build vermeidet dies, indem er einen vorgefertigten, qualifizierten Satz von GNU-Autotools mit zugehörigen Skripten bereitstellt, die nicht auf den Versionen von Autotools auf dem Build-Hostsystem basieren.

Dieses Projekt wird normalerweise in einem Zielprojekt-Repository untergeordnet (oder git-submoduliert) und dient als Startwert für das Build-System dieses Projekts.

Weitere Informationen oder die Verwendung dieses Tools für Ihre OpenThread-Builds finden Sie in der README Datei.

So erstellen Sie OpenThread

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

Der häufigste Workflow ist:

  1. Richten Sie die Build-Umgebung ein und installieren Sie die gewünschte Toolchain:
    1. Ausführliche Anweisungen zum direkten Aufbau auf einer Maschine finden Sie im Simulationscodelab
    2. Laden Sie das OpenThread- environment
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      herunter und führen Sie es aus, um einen Docker-Container mit einer vorkonfigurierten Umgebung zu verwenden
  2. Klonen Sie in der von Ihnen ausgewählten Umgebung das OpenThread Git-Repository:
    git clone https://github.com/openthread/openthread
  3. Aus dem Stammverzeichnis des geklonten Repositorys:
    1. Installieren Sie die GNU-Toolchain und andere Abhängigkeiten (optional):
      ./script/bootstrap
    2. Richten Sie die Umgebung ein:
      ./bootstrap
    3. Konfigurieren und erstellen Sie anhand vordefinierter Plattformbeispiele mit optionaler Anpassung über allgemeine Switches:
      1. Ändern Sie die OpenThread-Konstanten für die Kompilierungszeit in der Datei /examples/platforms/ <platform> /openthread-core- <platform> -config.h der ausgewählten Plattform
      2. Erstellen Sie die Konfiguration:
        make -f examples/Makefile-<platform> <switches>
  4. Flashen Sie die gewünschte Binärdatei auf die Zielplattform. Alle generierten Binärdateien befinden sich in /output/ <platform> /bin . Bei Verwendung des erweiterten Modus kann die <platform> spezifisch für den Computer des Benutzers sein. Zum Beispiel x86_64-apple-darwin .

Spezifische Anweisungen zum Erstellen unterstützter Plattformen mit GNU Autotools finden Sie im Plattformordner jedes Beispiels.

Aufbau

Sie können OpenThread für verschiedene Funktionen und Verhaltensweisen während des Erstellungsprozesses konfigurieren. Die verfügbaren Konfigurationsoptionen sind an folgenden Stellen aufgeführt:

Art Ort
Konstanten zur Kompilierungszeit Wird in allen Header-Dateien in /src/core/config
Makefile-Build-Schalter Gelistet in /examples/common-switches.mk

Erstellen Sie Beispiele

Verwenden Sie einen Schalter, um die Funktionalität für eine Beispielplattform zu aktivieren. So erstellen Sie beispielsweise das CC2538-Beispiel mit aktivierter Unterstützung für Kommissare und Tischler:

make -f examples/Makefile-cc2538 COMMISSIONER=1 JOINER=1

Oder das nRF52840 Beispiel bauen mit der Jam - Erkennungsfunktion aktiviert:

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

Binärdateien

Die folgenden Binärdateien werden in /output/ <platform> /bin aus dem Erstellungsprozess generiert. Um zu bestimmen, welche Binärdateien generiert werden, generieren Sie mit dem Befehl ./configure Optionsflags konfigurieren, um ein aktualisiertes Makefile für die ./configure zu generieren. So erstellen Sie beispielsweise OpenThread und generieren nur die CLI-Binärdateien:

./configure --enable-cli
make
Binär Beschreibung Konfigurieren Sie Optionsflags
ot-cli-ftd Full Thread-Gerät für SoC-Designs --enable-cli
--enable-ftd
ot-cli-mtd Minimal Thread-Gerät für SoC-Designs --enable-cli
--enable-mtd
ot-ncp-ftd Full Thread-Gerät für NCP-Designs (Network Co-Processor) --enable-ncp
--enable-ftd
ot-ncp-mtd Minimal Thread-Gerät für NCP-Designs --enable-ncp
--enable-mtd
ot-rcp RCP-Design (Radio Co-Processor) --enable-ncp
--enable-radio-only

Wenn weder diese Flags noch ein Plattformbeispiel verwendet werden, werden keine Anwendungen erstellt, aber OpenThread-Bibliotheksdateien werden weiterhin in /output/ <platform> /lib zur Verwendung in einem Projekt generiert.

Überprüfen Sie das Beispiel-Makefiles für jede Plattform, um festzustellen, welche Flags jede Plattform unterstützt. Beispielsweise unterstützt der TI CC2650 keine FTDs . Weitere Informationen zu FTDs und MTDs finden Sie im Thread Primer . Weitere Informationen zu SoC- und NCP-Designs finden Sie unter Plattformen .

Der Vorgang zum Flashen dieser Binärdateien variiert je nach Beispielplattform. Ausführliche Anweisungen finden Sie in den READMEs im Beispielordner jeder Plattform.

OpenThread Daemon

OpenThread Daemon (OT Daemon) ist ein OpenThread POSIX-Erstellungsmodus, der OpenThread als Dienst ausführt und mit dem RCP-Design verwendet wird. Weitere Informationen zum Erstellen und Verwenden finden Sie unter OpenThread Daemon .

Erstellen Sie Support-Pakete

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 im Allgemeinen beim Portieren von OpenThread auf eine neue Hardwareplattform enthalten ist.