Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Construire OpenThread

Chaînes à outils

La principale chaîne d'outils prise en charge pour la construction d'OpenThread est GNU Autotools.

Outils automatiques GNU

Des instructions sur la création d'exemples avec GNU Autotools peuvent être trouvées dans le dossier de plate - forme de chaque exemple. Notez que l'intention de ces exemples est d'afficher le code minimal nécessaire pour exécuter OpenThread sur chaque plateforme respective. En tant que tels, ils ne mettent pas en évidence toutes les capacités de la plateforme.

Une configuration supplémentaire pendant les versions peut être nécessaire, en fonction de votre cas d'utilisation.

GNU Autotools - Construction de Nest Labs

Nest Labs a créé un cadre de système de construction clé en main personnalisé, basé sur GNU Autotools. Ceci est utilisé pour les progiciels autonomes qui doivent prendre en charge:

  • s'appuyer sur et cibler des systèmes hôtes de build autonomes
  • systèmes cibles intégrés utilisant des chaînes d'outils basées sur GCC ou compatibles

La version Nest Labs de GNU Autotools est recommandée pour une utilisation avec OpenThread car certains systèmes hôtes de construction peuvent ne pas avoir GNU Autotools, ou peuvent avoir des versions et distributions différentes. Cela conduit à des sorties Autotools primaires et secondaires incohérentes, ce qui entraîne une expérience utilisateur et d'assistance divergente. La version de Nest Labs évite cela en fournissant un ensemble pré-construit et qualifié de GNU Autotools avec des scripts associés qui ne reposent pas sur les versions d'Autotools sur le système hôte de construction.

Ce projet est généralement sous-arboré (ou git sous-modulé) dans un référentiel de projet cible et sert de base pour le système de construction de ce projet.

Pour en savoir plus ou pour utiliser cet outil pour vos builds OpenThread, consultez le README .

Comment créer OpenThread

Les étapes de création d'OpenThread varient en fonction de la chaîne d'outils, de la machine utilisateur et de la plate-forme cible.

Le flux de travail le plus courant est:

  1. Configurez l'environnement de construction et installez la chaîne d'outils souhaitée:
    1. Pour construire directement sur une machine, consultez le Simulation Codelab pour des instructions détaillées
    2. Pour utiliser un conteneur Docker avec un environnement préconfiguré, téléchargez et exécutez l'image d' environment OpenThread:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
  2. Dans l'environnement de votre choix, clonez le référentiel OpenThread Git:
    git clone https://github.com/openthread/openthread
  3. Depuis le répertoire racine du référentiel cloné:
    1. Installez la chaîne d'outils GNU et d'autres dépendances (facultatif):
      ./script/bootstrap
    2. Configurer l'environnement:
      ./bootstrap
    3. Configurez et construisez, en utilisant des exemples de plate-forme prédéfinis avec personnalisation facultative via des commutateurs communs:
      1. Modifier les constantes de compilation OpenThread dans le fichier /examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. Construisez la configuration:
        make -f examples/Makefile-<platform> <switches>
  4. Flashez le binaire souhaité sur la plate-forme cible. Tous les binaires générés se trouvent dans /output/ <platform> /bin . Lors de l'utilisation du mode avancé, la <platform> peut être spécifique à la machine de l'utilisateur. Par exemple, x86_64-apple-darwin .

Des instructions spécifiques sur la création de plates-formes prises en charge avec GNU Autotools peuvent être trouvées dans le dossier de plate - forme de chaque exemple.

Configuration

Vous pouvez configurer OpenThread pour différentes fonctionnalités et différents comportements pendant le processus de génération. Les options de configuration disponibles sont détaillées aux emplacements suivants:

Type Emplacement
Constantes de compilation Répertorié dans tous les fichiers d'en-tête de /src/core/config
Commutateurs de build Makefile Répertorié dans /examples/common-switches.mk

Créer des exemples

Utilisez un commutateur pour activer la fonctionnalité pour un exemple de plate-forme. Par exemple, pour créer l'exemple CC2538 avec le support du commissaire et du joint activé:

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

Ou, pour créer l'exemple nRF52840 avec la fonction de détection de bourrage activée:

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

Binaires

Les binaires suivants sont générés dans /output/ <platform> /bin partir du processus de construction. Pour déterminer quels binaires sont générés, utilisez les indicateurs d'option de configuration avec la commande ./configure pour générer un Makefile mis à jour pour la construction. Par exemple, pour construire OpenThread et générer uniquement les binaires CLI:

./configure --enable-cli
make
Binaire La description Configurer les indicateurs d'option
ot-cli-ftd Dispositif Full Thread pour les conceptions SoC --enable-cli
--enable-ftd
ot-cli-mtd Dispositif de filetage minimal pour les conceptions SoC --enable-cli
--enable-mtd
ot-ncp-ftd Dispositif Full Thread pour les conceptions de coprocesseur réseau (NCP) --enable-ncp
--enable-ftd
ot-ncp-mtd Dispositif de filetage minimal pour les conceptions NCP --enable-ncp
--enable-mtd
ot-rcp Conception de co-processeur radio (RCP) --enable-ncp
--enable-radio-only

Si ni ces indicateurs ni un exemple de plate-forme ne sont utilisés, les applications ne sont pas construites mais les fichiers de bibliothèque OpenThread sont toujours générés dans /output/ <platform> /lib pour une utilisation dans un projet.

Consultez l'exemple de Makefiles pour chaque plate-forme pour voir quels indicateurs chaque plate-forme prend en charge. Par exemple, la TI CC2650 ne prend pas en charge les FTD . Pour plus d'informations sur les FTD et les MTD, consultez le guide Thread Primer . Pour plus d'informations sur les conceptions SoC et NCP, consultez Plates - formes .

Le processus pour flasher ces binaires varie selon les plates-formes d'exemple. Voir les README dans le dossier d'exemples de chaque plate-forme pour des instructions détaillées.

Démon OpenThread

OpenThread Daemon (OT Daemon) est un mode de construction OpenThread POSIX qui exécute OpenThread en tant que service et est utilisé avec la conception RCP. Pour plus d'informations sur la façon de le créer et de l'utiliser, consultez OpenThread Daemon .

Créer des packages de support

Build Support Packages (BSP) se trouvent dans /third_party . Les BSP sont des codes tiers supplémentaires utilisés par OpenThread sur chaque plate-forme respective, généralement inclus lors du portage d'OpenThread sur une nouvelle plate-forme matérielle.