Partager via


Résoudre les problèmes liés aux applications en temps réel

Voici quelques étapes de résolution des problèmes qui peuvent se produire pendant le développement d’applications en temps réel (RTApps).

Problèmes de débogage

Le débogage peut échouer pour les raisons suivantes :

  • Windows Update remplace le pilote USB pour les cœurs en temps réel par un pilote générique. Pour restaurer la fonctionnalité de débogage pour les cœurs en temps réel, ouvrez une interface de ligne de commande à l’aide de PowerShell ou de l’invite de commandes Windows avec des privilèges d’administrateur et réactivez le débogage principal en temps réel. Le pilote USB requis est installé lorsque vous exécutez :

    az sphere device enable-development --enable-rt-core-debugging
    
  • Le fichier de paramètres de débogage contient des erreurs. Dans ce cas, le débogueur peut ne pas démarrer. Si vous avez modifié les paramètres du débogueur, vérifiez que la syntaxe du fichier est correcte.

  • Le débogueur sur puce a peut-être déjà été démarré dans un autre contexte. Si vous voyez une erreur telle que « Serveur du débogueur : Erreur : impossible de lier gdb au socket sur le port 4444 : Adresse déjà utilisée » ou « Erreur : libusb_open() a échoué avec LIBUSB_ERROR_ACCESS », case activée pour voir si un processus openocd ou gdb est déjà en cours d’exécution.

    Si vous exécutez sur Linux, la commande sudo lsof -n -i :4444 | grep LISTEN doit afficher tous les processus qui détiennent le port 4444 ouvert. Le remplacement par 4444 tout autre port mentionné dans le message d’erreur doit fournir les mêmes informations pour ce port.

  • Il vous manque peut-être le package libncurses5 sur votre système Ubuntu 20.04. Si vous voyez une erreur telle que « erreur lors du chargement des bibliothèques partagées : libncurses.so.5 : impossible d’ouvrir le fichier objet partagé : aucun fichier ou répertoire de ce type », vous devez installer le package comme suit :

    sudo add-apt-repository universe
    sudo apt-get install libncurses5
    
  • Si vous essayez de déboguer une application de haut niveau et deux applications en temps réel à l’aide de plusieurs instances de Visual Studio, la deuxième instance de Visual Studio ne pourra pas se connecter au débogueur. Pour contourner ce problème, déboguez toutes les applications à partir d’un seul instance de Visual Studio, comme décrit dans Déboguer les applications partenaires.

Problèmes CMake

Vous pouvez rencontrer les problèmes suivants lors de l’utilisation de CMake avec une application en temps réel :

  • La première fois que vous ouvrez un projet CMake dans Visual Studio, la génération de CMakeLists s’exécute automatiquement et définit l’ID de composant pour l’application. Si vous supprimez ensuite l’ID du composant( par exemple, parce que l’application se trouve dans un dépôt GitHub et que vous avez effectué une réinitialisation matérielle), la build échoue. Pour résoudre ce problème, régénérez le cache CMake dans Visual Studio.
  • L’élément de démarrage CMakeLists.txt se régénère fréquemment. La tâche CMakeLists s’exécute chaque fois que Visual Studio régénère le cache CMake. Par conséquent, il peut s’exécuter souvent.
  • Visual Studio se bloque lorsque vous générez une application en temps réel avec CMake. Pour éviter ce problème, utilisez Visual Studio 2019 update 1 ou version ultérieure.

En règle générale, si des erreurs se produisent lorsque vous utilisez CMake, essayez de régénérer le cache CMake. Cela résout souvent les problèmes.