Compiler OpenThread

Afficher la source sur GitHub

Compiler OpenThread

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

Le workflow le plus courant est le suivant :

  1. Configurez l'environnement de compilation et installez la chaîne d'outils souhaitée :
    1. Pour compiler directement sur une machine,consultez l'atelier de programmation sur la simulation 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 de votre choix, 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 du dépôt cloné :
    1. Installez la chaîne d'outils :
      ./script/bootstrap
      
    2. Créez la configuration :
      ./script/build platform-specific-args cmake-options
      
  4. Flashez le binaire souhaité sur la plate-forme cible. Tous les binaires générés se trouvent dans ./build/bin.

Configuration

Vous pouvez configurer OpenThread pour différentes fonctionnalités et différents comportements lors du processus de compilation. Les options de configuration disponibles sont détaillées aux emplacements suivants :

Type Emplacement
Constantes compile-time Listé dans tous les fichiers d'en-tête de /src/core/config
Options de compilation CMake Listé dans /etc/cmake/options.cmake

Créer des exemples

Utilisez les options de compilation cmake pour activer les fonctionnalités de la plate-forme. Par exemple, pour compiler le binaire pour la plate-forme CC2538 avec la prise en charge du commissaire et du participant activée :

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

Vous pouvez également créer la plate-forme nRF52840 avec la fonctionnalité de détection des brouilleurs 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 déterminer quels binaires sont générés, utilisez des indicateurs avec la commande ./script/build. Par exemple, pour compiler OpenThread et générer uniquement le binaire 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 les conceptions SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd Appareil Thread minimal pour les conceptions SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Appareil Thread complet pour les conceptions de coprocesseur réseau (NCP) -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd Appareil Thread minimal pour les conceptions NCP -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp Conception du coprocesseur 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 créé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 le répertoire examples/platforms pour voir les indicateurs compatibles avec chaque plate-forme. Pour en savoir plus sur les FTD et les MTD, consultez Principes de base de Thread. Pour en savoir plus sur les conceptions SoC et NCP, consultez Plates-formes.

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

Daemon OpenThread

Le daemon OpenThread (daemon OT) est un mode de compilation OpenThread POSIX qui exécute OpenThread en tant que service et qui est utilisé avec la conception RCP. Pour en savoir plus sur la façon de le compiler et de l'utiliser, consultez OpenThread Daemon.

Créer des packages d'assistance

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