Partage via


Générer une application générale

Important

Il s’agit de la documentation Azure Sphere (héritée). Azure Sphere (hérité) prend sa retraite le 27 septembre 2027 et les utilisateurs doivent migrer vers Azure Sphere (intégré) pour l’instant. Utilisez le sélecteur de version situé au-dessus du TOC pour afficher la documentation Azure Sphere (intégrée).

Cette section explique comment générer, empaqueter et déployer une application de haut niveau Azure Sphere.

Ces instructions utilisent l’exemple d’application HelloWorld_HighLevelApp comme exemple.

Prérequis

Préparer votre appareil pour le développement et le débogage

Pour pouvoir générer un exemple d’application sur votre appareil Azure Sphere ou développer de nouvelles applications pour celui-ci, vous devez activer le développement et le chargement indépendant (sideloading). Par défaut, les appareils Azure Sphere sont « verrouillés » ; autrement dit, ils ne permettent pas aux applications en cours de développement d’être chargées à partir d’un ordinateur et ne permettent pas le débogage d’applications. La préparation de l’appareil au chargement indépendant supprime cette restriction.

La commande azsphere device enable-development configure l’appareil pour accepter les applications pour le débogage, charge le serveur de débogage sur l’appareil et affecte l’appareil à un groupe d’appareils qui n’autorise pas les mises à jour des applications cloud. Pendant le développement et le débogage d’applications, vous devez laisser l’appareil dans ce groupe afin que les mises à jour d’applications cloud ne remplacent pas l’application en cours de développement.

  1. Assurez-vous que votre appareil Azure Sphere est connecté à votre ordinateur et que votre ordinateur est connecté à Internet.

  2. Ouvrez une interface de ligne de commande à l’aide de PowerShell, de l’invite de commandes Windows ou de l’interpréteur de commandes Linux.

  3. Entrez la commande suivante :

    azsphere device enable-development
    

    Vous devez obtenir une sortie similaire à la suivante :

    Getting device capability configuration for application development.
    Downloading device capability configuration for device ID '<device ID>'.
    Successfully downloaded device capability configuration.
    Successfully wrote device capability configuration file 'C:\Users\user\AppData\Local\Temp\tmpD732.tmp'.
    Setting device group ID 'a6df7013-c7c2-4764-8424-00cbacb431e5' for device with ID '<device ID>'.
    Successfully disabled over-the-air updates.
    Enabling application development capability on attached device.
    Applying device capability configuration to device.
    Successfully applied device capability configuration to device.
    The device is rebooting.
    Installing debugging server to device.
    Deploying 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' to the attached device.
    Image package 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' has been deployed to the attached device.
    Application development capability enabled.
    Successfully set up device '<device ID>' for application development, and disabled over-the-air updates.
    Command completed successfully in 00:00:38.3299276.
    

Si la commande azsphere device enable-development échoue, consultez Résoudre les problèmes liés à Azure Sphere pour obtenir de l’aide.

Générer et déployer l’application dans Visual Studio avec débogage

  1. Vérifiez que votre appareil est connecté à votre PC par USB. Dans le menu Définir l’élément de démarrage, sélectionnez Azure Sphere App (HLCore)Azure Sphere App est le nom de votre application générale actuelle ou appuyez sur F5.

    Bouton Débogueur GDB distant

  2. Si vous êtes invité à générer le projet, sélectionnez Oui. Visual Studio compile l’application, crée un package d’image, le charge indépendamment sur la carte, puis le démarre en mode débogage. Le chargement indépendant (sideloading) signifie que l’application est remise directement à partir du PC via une connexion câblée plutôt qu’avec le cloud.

    Notez l’ID d’image du package d’images dans la sortie Afficher la sortie afficher>>à partir de : Sortie de build. Vous utiliserez l’ID d’image plus loin dans le tutoriel : Créer un déploiement cloud.

  3. Par défaut, la fenêtre Sortie affiche la sortie de l’appareil. Pour voir les messages à partir du débogueur, sélectionnez Déboguer dans le menu déroulant Afficher la sortie à partir de :. Vous pouvez également inspecter le désassemblage du programme, les registres ou la mémoire par le biais du menu Déboguer>Fenêtres.

Générer et déployer l’application dans Visual Studio sans débogage

  1. Vérifiez que votre appareil est connecté à votre PC par USB. Dans le menu Débogage, sélectionnez Démarrer sans débogage ou appuyez sur Ctrl+F5.

  2. Si vous êtes invité à générer le projet, sélectionnez Oui. Visual Studio compile l’application, crée un package d’image, le charge sur la carte et le démarre. Le chargement indépendant (sideloading) signifie que l’application est remise directement à partir du PC via une connexion câblée plutôt qu’avec le cloud.

  3. Par défaut, la fenêtre Sortie affiche la sortie de l’appareil.

Générer et déployer l’application dans Visual Studio Code avec débogage

  1. Appuyez sur F5 pour générer et déboguer le projet. Si le projet n’a pas été créé précédemment ou si les fichiers ont changé et regénéré sont requis, Visual Studio Code génère le projet avant le démarrage du débogage.

  2. Attendez plusieurs secondes pour que Visual Studio Code génère l’application, créez un package d’images, déployez-le sur la carte et démarrez-le en mode débogage. Vous verrez les mises à jour d’état dans le volet Sortie le long du chemin.

    Tout d’abord, CMake détermine si l’application doit être générée. Si c’est le cas, le focus passe à la fenêtre de sortie, qui affiche la sortie de CMake/Build.

    Ensuite, le volet Sortie affiche le résultat à mesure que le package d’image est déployé sur l’appareil. Enfin, la console de débogage reçoit le focus et affiche la sortie du débogueur.

Générer et déployer l’application dans Visual Studio Code sans débogage

  1. Vérifiez que votre appareil est connecté à votre PC par USB. Dans le menu Exécuter , sélectionnez Démarrer sans débogage ou appuyez sur Ctrl+F5 pour générer et exécuter le projet. Si le projet n’a pas été généré précédemment ou si des fichiers ont changé et regénéré sont requis, Visual Studio Code génère le projet.

  2. Attendez plusieurs secondes pour que Visual Studio Code génère l’application, créez un package d’images, déployez-le sur la carte et démarrez-le. Vous verrez les mises à jour d’état dans le volet Sortie le long du chemin.

    Tout d’abord, CMake détermine si l’application doit être générée. Si c’est le cas, le focus passe à la fenêtre de sortie, qui affiche la sortie de CMake/Build.

    Ensuite, la fenêtre de sortie montre la sortie de azsphere lors du déploiement du package d’image sur l’appareil. L’application démarre automatiquement après son déploiement sur l’appareil.

Créer l’application

Pour générer votre application, vous devez d’abord trouver les bibliothèques, les en-têtes et les outils de compilation appropriés (collectivement appelés sysroot) sur votre ordinateur. Le SDK Azure Sphere est fourni avec plusieurs sysroots afin que les applications puissent cibler différents ensembles d’API, comme décrit dans la version du runtime d’application, sysroots et les API bêta. Les sysroots sont installés dans le dossier d’installation du SDK Azure Sphere sous Sysroots.

  1. Créez ou accédez au répertoire qui doit contenir les fichiers à générer lors du processus de build.

  2. Si votre application dépend d’une autre application, marquez les applications comme partenaires dans leurs fichiers app_manifest.md.

  3. Ajoutez ou mettez à jour le fichier CMakeLists.txt de votre application afin d’appeler les fonctions CMake pour Azure Sphere nécessaires.

  4. À partir du répertoire de build de votre projet, à l’invite de commandes, exécutez CMake avec les paramètres suivants :

    cmake --preset <preset-name> <source-path>
    
    • --preset <preset-name>

      Nom prédéfini de configuration de build tel que défini dans CMakePresets.json.

    • --build <cmake-path>

      Répertoire binaire qui contient le cache CMake. Par exemple, si vous exécutez CMake sur un exemple Azure Sphere, la commande de build serait cmake --build out/ARM-Debug.

    • <source-path>

      Chemin d’accès du répertoire qui contient les fichiers sources de l’exemple d’application. Dans l’exemple, le référentiel d’exemples Azure Sphere a été téléchargé dans un répertoire appelé AzSphere.

      Les paramètres CMake sont séparés par des espaces. Le caractère de continuation de ligne (^ pour la ligne de commande Windows, \ pour la ligne de commande Linux ou « pour PowerShell) peut être utilisé pour la lisibilité, mais n’est pas obligatoire.

    Les exemples suivants montrent les commandes CMake pour l’application de haut niveau Hello World.

    Invite de commandes Windows

    cmake ^
     --preset "ARM-Debug" ^
     "C:\AzSphere\azure-sphere-samples\Samples\HelloWorld\HelloWorld_HighLevelApp"
    

    Windows PowerShell

    cmake `
     --preset "ARM-Debug" `
     "C:\AzSphere\azure-sphere-samples\Samples\HelloWorld\HelloWorld_HighLevelApp"
    
  5. Exécutez Ninja pour générer l’application et créer le fichier de package d’images :

    ninja -C out/ARM-Debug
    

    Ninja place les fichiers .imagepackage et d’application résultants dans le répertoire spécifié.

    Vous pouvez également appeler Ninja via CMake avec la commande suivante :

    cmake --build out/<binary-dir>
    

    Définissez <binary-dir> le répertoire binaire qui contient le cache CMake. Par exemple, si vous exécutez CMake sur un exemple Azure Sphere, la commande de build serait cmake --build out/ARM-Debug.

Déployer l’application

Vérifiez que votre appareil dispose de la fonctionnalité appDevelopment afin de pouvoir charger indépendamment l’application, et vérifiez que le serveur de débogage est présent. Utilisez si nécessaire la commande azsphere device enable-development.

  1. Si votre appareil exécute déjà une ou plusieurs applications, supprimez-les.

    azsphere device sideload delete
    

    Notez que cette commande supprime toutes les applications sur l’appareil. Si vous avez déjà déployé une application en temps réel qui est partenaire de l’application de haut niveau, utilisez le paramètre --component-id pour spécifier l’application à supprimer. Vous trouverez l’ID de composant de l’application dans son fichier app_manifest.json.

  2. Chargez le package d’images sur votre appareil en exécutant la commande azsphere device sideload deploy et en spécifiant le package d’image. Par exemple :

    azsphere device sideload deploy --image-package C:\Users\LocalSamples\HelloWorld\HelloWorld_HighLevelApp\out\ARM-Debug\HelloWorld_HighLevelApp.imagepackage
    

Votre application doit commencer à s’exécuter.

Vous pouvez arrêter et redémarrer ultérieurement l’application avec les commandes azsphere device app stop --component-id <component-ID> et azsphere device app start --component-id <component ID>.