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 :
- Configurez l'environnement de compilation et installez la chaîne d'outils souhaitée :
- Pour compiler directement sur une machine,consultez l'atelier de programmation sur la simulation pour obtenir des instructions détaillées.
- Pour utiliser un conteneur Docker avec un environnement préconfiguré,téléchargez et exécutez l'image OpenThread
environment:docker pull openthread/environment:latestdocker run -it --rm openthread/environment bash
- 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 - À partir du répertoire racine du dépôt cloné :
- Installez la chaîne d'outils :
./script/bootstrap - Créez la configuration :
./script/build platform-specific-args cmake-options
- Installez la chaîne d'outils :
- 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.