Compiler OpenThread

Afficher le code 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 utilisateur et de la plate-forme cible.

Voici le workflow le plus courant:

  1. Configurez l'environnement de compilation et installez la chaîne d'outils souhaitée :
    1. Pour créer directement un code sur une machine,consultez l'atelier de programmation de 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 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 création cmake Répertorié dans openthread/examples/README.md

Exemples de compilation

Utilisez les options de création cmake pour activer les fonctionnalités de la plate-forme. Par exemple, pour créer le binaire de la plate-forme CC2538 avec l'activation du commissaire et des jointures:

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

Vous pouvez également créer la plate-forme nRF52840 avec la fonctionnalité de détection de jams 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 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 les SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd Appareil Thread minimal pour les SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Appareil à thread complet pour les conceptions de coprocesseur de 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 Co-processeur de radiofréquences (RCP) -DOT_APP_RCP=ON
-DOT_RCP=ON

Par défaut, tous les indicateurs ci-dessus sont activés. Si vous désactivez explicitement toutes les options, les applications ne sont pas créées, mais les fichiers de la 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 connaître les options compatibles avec chaque plate-forme. Pour en savoir plus sur les FTD et les MTD, consultez le Thread Primer. Pour en savoir plus sur les conceptions SoC et NCP, consultez la section Plates-formes.

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

Daemon OpenThread

Le Daemon OpenThread (OT Daemon) est un mode de compilation OpenThread POSIX qui exécute OpenThread en tant que service et est utilisé avec la conception RCP. Pour en savoir plus sur sa création et son utilisation, consultez le daemon OpenThread.

Créer des formules d'assistance

Les formules d'assistance pour la compilation sont disponibles 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 vers une nouvelle plate-forme matérielle.