Créer une application en temps réel
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).
Les applications RTApps sont déboguées à l’aide d’OpenOCD, qui est installée avec le Kit de développement logiciel (SDK) Azure Sphere et la version de GDB installée dans le cadre de la chaîne d’outils ARM GNU Embedded Toolchain.
Déboguer une application en temps réel avec Visual Studio
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 (RT Core) où Azure Sphere App est le nom de votre application en temps réel actuelle ou appuyez sur F5.
Si vous êtes invité à générer le projet, sélectionnez Oui. Visual Studio compile l’application en temps réel, crée un package d’image, le charge sur la carte et 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’image dans la sortie Afficher>>la sortie Afficher la sortie de la sortie : Générer lorsque vous êtes prêt à créer un déploiement, vous devez connaître le chemin d’accès au package d’image.
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.
Visual Studio configure les connexions entre le serveur GDB et OpenOCD afin de vous permettre d'utiliser l'interface de débogage Visual Studio standard (F5, F6, F9 pour les points d'arrêt, etc.) sur une application en temps réel, de la même manière que sur une application générale.
Lors de l’arrêt à un point d’arrêt dans votre code source C, vous pouvez ouvrir une fenêtre Désassembleur qui affiche l’adresse actuelle, l’assembleur mnemonique pour la commande actuelle et des informations telles que les registres impliqués ou la commande de code source en cours d’exécution.
Pour ouvrir la fenêtre Désassembleur :
- Vérifiez que le fichier source de code C contenant le point d’arrêt est ouvert dans Visual Studio.
- Sélectionnez Désassembler> Windows>ou appuyez sur Alt+8.
Déboguer une application en temps réel avec Visual Studio Code
Visual Studio Code est débogué en appuyant sur F5 ou en exécutant la commande de débogage à partir de la vue débogage dans la barre gauche. Dans les exemples, .vscode/launch.json existe déjà, le débogage démarre donc immédiatement. Dans une nouvelle application, le débogage commence par demander s’il s’agit d’une application de haut niveau ou en temps réel, puis crée un fichier .vscode/launch.json à partir de votre réponse. Le débogage est alors activé.
Lors de l’arrêt à un point d’arrêt dans votre code source C, vous pouvez ouvrir une vue Désassemblement qui affiche l’adresse actuelle, les données hexadécimaux brutes, l’assembleur mnemonique pour la commande actuelle et des informations telles que les registres impliqués ou la commande de code source en cours d’exécution.
Pour ouvrir la vue Désassemblement :
- Vérifiez que le fichier source du code C contenant le point d’arrêt est ouvert dans un éditeur Visual Studio Code.
- Cliquez avec le bouton droit dans la fenêtre de l’éditeur et sélectionnez Ouvrir le mode Désassembleur ou sélectionnez Afficher>la palette>de commandes Ouvrir le mode Désassembleur.
Déboguer une application en temps réel à l’aide de l’interface CLI
Démarrez l’application en vue du débogage :
azsphere device app start --component-id <component id>
Cette commande retourne le cœur sur lequel l’application s’exécute.
Accédez au dossier Openocd pour le sysroot avec lequel l’application a été générée. Dans ce guide de démarrage rapide, le sysroot est 5+Beta2004. Les sysroots sont installés dans le dossier d’installation du SDK Azure Sphere. Par exemple, sur Windows, le dossier est installé par défaut dans
C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\5+Beta2004\tools\openocd
et sur Linux, dans/opt/azurespheresdk/Sysroots/5+Beta2004/tools/sysroots/x86_64-pokysdk-linux/usr/bin/openocd
.Exécutez
openocd
comme le montre l’exemple suivant. L’exemple suppose que l’application s’exécute sur le cœur 0. Si l’application s’exécute sur le cœur 1, remplacez « targets io0 » par « targets io1 ».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.
Accédez au dossier qui contient le fichier .out de l’application et démarrez
arm-none-eabi-gdb
, qui fait partie de la chaîne d’outils incorporée GNU pour ARM :Invite de commandes Windows
"C:\Program Files (x86)\GNU Arm Embedded Toolchain\9 2020-q2-update\bin\arm-none-eabi-gdb" IntercoreComms_RTApp_MT3620_BareMetal.out
Windows PowerShell
& "C:\Program Files (x86)\GNU Arm Embedded Toolchain\9 2020-q2-update\bin\arm-none-eabi-gdb" IntercoreComms_RTApp_MT3620_BareMetal.out
Le serveur OpenOCD fournit une interface de serveur GDB sur :4444. Définissez la cible pour le débogage.
target remote :4444
Exécutez les commandes gdb que vous choisissez.
Développer avec des applications partenaires
Quand vous chargez une application sur l’appareil Azure Sphere, les outils de déploiement Azure Sphere suppriment par défaut toutes les applications existantes. Pour éviter ce problème lorsque vous développez des applications qui communiquent entre elles, vous devez marquer les applications en tant que partenaires. Lorsque vous déployez l’une des applications, ses partenaires ne seront pas supprimés. Pour plus d’informations, consultez Marquer les applications comme partenaires.
Dépannage
Si vous rencontrez des problèmes, consultez Résolution de problèmes d’applications temps réel.