Compiler OpenThread

Voir la source sur GitHub

Créer OpenThread

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

Le workflow le plus courant est:

  1. Configurez l'environnement de compilation et installez la chaîne d'outils souhaitée :
    1. Pour compiler directement sur une machine,reportez-vous à l'atelier de programmation sur les simulations pour obtenir des instructions détaillées.
    2. Pour utiliser un conteneur Docker avec un environnement préconfiguré,téléchargez et exécutez l'image OpenThread environment :
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. Dans l'environnement choisi, clonez le dépôt Git OpenThread spécifique à la plate-forme. Prenons l'exemple de CC2538 :
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. À partir du répertoire racine cloné :
    1. Installez la chaîne d'outils :
      ./script/bootstrap
      
    2. Créez la configuration suivante :
      ./script/build platform-specific-args cmake-options
      
  4. Flashez le binaire souhaité sur la plate-forme cible. Tous les binaires générés sont situés dans ./build/bin.

Configuration

Vous pouvez configurer OpenThread pour différentes fonctions et comportements pendant le processus de compilation. 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
Options de compilation cmake Répertorié dans openthread/examples/README.md

Exemples de compilation

Utilisez les options de compilation cmake pour activer la fonctionnalité de la plate-forme. Par exemple, pour compiler le binaire de la plate-forme CC2538 avec la compatibilité du commissaire et de la jointure, procédez comme suit:

./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON

Vous pouvez également créer la plate-forme nRF52840 avec la fonctionnalité Jam Detection activée dans son dépôt:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

Binaires

Les binaires suivants sont générés dans ./build/bin à partir du processus de compilation. Pour identifier les binaires générés, utilisez des options avec la commande ./script/build. Par exemple, pour créer OpenThread et ne générer que le binaire de la CLI FTD:

./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
Binaire Description Options
ot-cli-ftd Appareil à thread complet pour SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd Appareil à thread minimal pour la conception SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Appareil à thread complet pour les réseaux NCP (Network Co-Processor) -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd Appareil à thread minimal pour les graphismes NCP -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp Conception de coprocesseurs radio (RCP) -DOT_APP_RCP=ON
-DOT_RCP=ON

Par défaut, tous les indicateurs ci-dessus sont activés. Si vous désactivez explicitement tous les indicateurs, les applications ne sont pas compilées, mais les fichiers de bibliothèque OpenThread sont toujours générés dans ./build/lib pour être utilisés dans un projet.

Consultez les exemples de fichiers Makemake pour chaque plate-forme afin de connaître les indicateurs compatibles avec chacune. Pour en savoir plus sur les fichiers FTD et MTD, consultez l'article Thread Primer. Pour en savoir plus sur les conceptions SoC et NCP, consultez la section Plates-formes.

La procédure à suivre pour convertir ces binaires varie selon les exemples de plate-forme. Pour obtenir des instructions détaillées, consultez les fichiers README dans chaque dossier d'exemple de chaque plate-forme.

Daemon OpenThread

OpenThread Daemon (OT Daemon) est un mode de compilation OpenThread POSIX qui exécute OpenThread comme service et utilisé avec la conception RCP. Pour plus d'informations sur sa création et son utilisation, consultez la page Daemon d'OpenThread.

Créer des formules d'assistance

Les formules d'assistance Build (BSP) sont disponibles dans /third_party. Les BSP sont du code tiers supplémentaire utilisé par OpenThread sur chaque plate-forme respective, généralement inclus lors du portage d'OpenThread vers une nouvelle plate-forme matérielle.