Génération de FreeRTOS avec CMake - FreeRTOS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Génération de FreeRTOS avec CMake

CMake cible votre système d'exploitation hôte en tant que système cible par défaut. Pour utiliser CMake pour la compilation croisée, vous devez fournir un fichier de chaîne d'outils qui spécifie le compilateur que vous souhaitez utiliser. FreeRTOS fournit des fichiers de chaîne d'outils par défaut dansfreertos/tools/cmake/toolchains. Les instructions d'utilisation du fichier de chaîne d'outils varient selon que vous utilisez l'interface de ligne de commande CMake ou l'interface utilisateur graphique. Génération de fichiers de build (outil de ligne de commande CMake) propose plus d'informations. Pour en savoir plus sur la compilation croisée dans CMake, consultez la section Compilation croisée sur le Wiki CMake officiel.

Pour générer un projet basé sur CMake

  1. Exécutez CMake pour générer les fichiers de build pour un système de build natif, tel que Make ou Ninja.

    Vous pouvez utiliser l'outil de ligne de commande CMake ou l'interface graphique utilisateur CMake pour générer les fichiers de build pour votre système de build natif.

    Pour plus d'informations sur la génération de fichiers de build FreeRTOS, consultezGénération de fichiers de build (outil de ligne de commande CMake)andGénération de fichiers de build (GUI CMake).

  2. Appelez le système de build natif pour transformer le projet en fichier exécutable.

    Pour plus d'informations sur la création de fichiers de build FreeRTOS, consultezCréation de FreeRTOS à partir de fichiers de build générés.

Génération de fichiers de build (outil de ligne de commande CMake)

Vous pouvez utiliser l'outil de ligne de commande CMake (cmake) pour générer des fichiers de build pour FreeRTOS à partir de la ligne de commande.

Pour générer les fichiers de build, vous devez spécifier la carte cible, le compilateur ainsi que les emplacements de votre code source et de votre répertoire de builds. Spécifiez la carte cible à l'aide de la commande-DVENDORoption. Spécifiez le compilateur avec l'option -DCOMPILER. Spécifiez l'emplacement de votre code source avec le commutateur -S et l'emplacement des fichiers de build générées avec le commutateur -B.

Note

Le compilateur doit se trouver dans la variable PATH du système, sinon vous devez spécifier l'emplacement du compilateur.

Par exemple, si le fournisseur est Texas Instruments, que la carte est une CC3220 Launchpad et que le compilateur est GCC pour ARM, vous pouvez exécuter la commande suivante pour générer les fichiers source depuis le répertoire actuel vers un répertoire nommé build-directory :

cmake -DVENDOR=ti -DBOARD=cc3220_launchpad -DCOMPILER=arm-ti -S . -B build-directory
Note

Si vous utilisez Windows, vous devez spécifier le système de build natif, car CMake utilise Visual Studio par défaut. Exemples :

cmake -DVENDOR=ti -DBOARD=cc3220_launchpad -DCOMPILER=arm-ti -S . -B build-directory -G Ninja

Ou:

cmake -DVENDOR=ti -DBOARD=cc3220_launchpad -DCOMPILER=arm-ti -S . -B build-directory -G "MinGW Makefiles"

Les expressions régulières ${VENDOR}.* et ${BOARD}.* sont utilisées pour rechercher une carte correspondante, afin que vous n’ayez pas à utiliser les noms complets du fournisseur et de la carte pour les options VENDOR et BOARD. Vous pouvez utiliser les noms partiels, à condition qu'il n’existe qu’une seule correspondance. Par exemple, les commandes suivantes génèrent les mêmes fichiers de build à partir de la même source :

cmake -DVENDOR=ti -DCOMPILER=arm-ti -S . -B build-directory
cmake -DBOARD=cc3220 -DCOMPILER=arm-ti -S . -B build-directory
cmake -DVENDOR=t -DBOARD=cc -DCOMPILER=arm-ti -S . -B build-directory

Vous pouvez utiliser l' option CMAKE_TOOLCHAIN_FILE si vous souhaitez utiliser un fichier de chaîne d’outils qui ne figure pas dans le répertoire cmake/toolchains par défaut. Exemples :

cmake -DBOARD=cc3220 -DCMAKE_TOOLCHAIN_FILE='/path/to/toolchain_file.cmake' -S . -B build-directory

Si le fichier de chaîne d’outils n'utilise pas de chemins absolus pour votre compilateur, et que vous n'avez pas ajouté votre compilateur à la variable d' environnement PATH, il est possible que CMake ne trouve pas son emplacement. Pour vous assurer que CMake trouve votre fichier de chaîne d’outils, vous pouvez utiliser l'option AFR_TOOLCHAIN_PATH. Cette option recherche le chemin du répertoire de la chaîne d’outils spécifiée et le sous-dossier dans bin. Exemples :

cmake -DBOARD=cc3220 -DCMAKE_TOOLCHAIN_FILE='/path/to/toolchain_file.cmake' -DAFR_TOOLCHAIN_PATH='/path/to/toolchain/' -S . -B build-directory

Pour activer le débogage, définissez le paramètre CMAKE_BUILD_TYPE sur debug. Lorsque cette option est activée, CMake ajoute des indicateurs de débogage aux options de compilation et crée FreeRTOS avec des symboles de débogage.

# Build with debug symbols cmake -DBOARD=cc3220 -DCOMPILER=arm-ti -DCMAKE_BUILD_TYPE=debug -S . -B build-directory

Vous pouvez également définir CMAKE_BUILD_TYPE sur release pour ajouter des indicateurs d'optimisation aux options de compilation.

Génération de fichiers de build (GUI CMake)

Vous pouvez utiliser l'interface graphique graphique utilisateur CMake pour générer des fichiers build FreeRTOS.

Pour générer des fichiers de build avec la GUI CMake

  1. À partir de la ligne de commande, exécutez cmake-gui pour lancer la GUI.

  2. Sélectionnez Browse Source (Sélectionner la source) et spécifiez l’entrée source, puis sélectionnez Browse Build (Sélectionner la build) et spécifiez la sortie de la build.

  3. Sélectionnez Configure (Configurer), puis dans Specify the build generator for this project (Spécifier le générateur de build pour ce projet), recherchez et choisissez le système de build que vous souhaitez utiliser pour créer les fichiers de build générés.

    Note

    Si vous ne voyez pas la fenêtre contextuelle, il se peut que vous réutilisiez un répertoire de build existant. Dans ce cas, supprimez d'abord le cache CMake en cliquant sur File - > Delete (Fichier - > Supprimer) Cache dans le menu.

  4. Sélectionnez Specify toolchain file for cross-compiling (Spécifier le fichier de chaîne d’outils pour compilation croisée, puis sélectionnez Next (Suivant).

  5. Choisissez le fichier de chaîne d'outils (par exemple, freertos/tools/cmake/toolchains/arm-ti.cmake), puis sélectionnez Terminer.

    La configuration par défaut pour FreeRTOS est la carte modèle, qui ne fournit aucune cible de couche portable. Par conséquent, une fenêtre s'affiche avec le message Error in configuration process (Erreur dans le processus de configuration).

    Note

    Si le message d’erreur suivant s'affiche :

    CMake Error at tools/cmake/toolchains/find_compiler.cmake:23 (message): Compiler not found, you can specify search path with "AFR_TOOLCHAIN_PATH".

    Cela signifie que le compilateur n'est pas dans votre variable d'environnement PATH. Vous pouvez définir la variable AFR_TOOLCHAIN_PATH dans l'interface utilisateur graphique pour indiquer à CMake où vous avez installé votre compilateur. Si vous ne voyez pas la variable AFR_TOOLCHAIN_PATH, cliquez sur le bouton Ajouter une entrée dans la fenêtre contextuelle, entrez AFR_TOOLCHAIN_PATH pour le nom, sélectionnez PATH pour le type, et entrez le chemin d'accès du compilateur dans la valeur, par exemple, « C:/toolchains/arm-none-eabi-gcc ».

  6. La GUI devrait maintenant ressembler à ceci :

    Sélectionnez AFR_BOARD, choisissez votre carte, puis sélectionnez à nouveau Configure (Configurer) .

  7. Sélectionnez Generate (Générer). CMake génère les fichiers du système de génération (par exemple, makefiles ou ninja), et ces fichiers apparaissent dans le répertoire de génération que vous avez spécifié lors de la première étape. Suivez les instructions de la section suivante pour générer l'image binaire.

Création de FreeRTOS à partir de fichiers de build générés

Vous pouvez créer FreeRTOS avec un système de build natif en appelant la commande du système de build depuis le répertoire de fichiers binaires de sortie. Par exemple, si votre répertoire de sortie de fichier de build est build-directory, et que vous utilisez CMake en tant que système de build natif, exécutez les commandes suivantes :

cd build-directory make -j4

Vous pouvez également utiliser l'outil de ligne de commande CMake pour créer FreeRTOS. CMake fournit une couche d'abstraction pour appeler les systèmes de build natifs. Exemples :

cmake --build build-directory

Voici quelques autres utilisations courantes du mode de build de l'outil de ligne de commande CMake :

# Take advantage of CPU cores. cmake --build build-directory --parallel 8
# Build specific targets. cmake --build build-directory --target afr_kernel
# Clean first, then build. cmake --build build-directory --clean-first

Pour plus d'informations sur le mode de build CMake, consultez la documentation CMake.