Développement embarqué

Découvrez comment configurer CLion pour divers types de matériel et de chaînes d'outils et comment déboguer sur puce.

Serveur GDB

Débogage On-Chip avec le Serveur GDB

S'il est possible de procéder au débogage sur le microcontrôleur de votre choix avec GDB Server, vous pouvez le faire depuis CLion en utilisant la configuration spéciale Run/Debug Embedded GDB Server. Elle couvre OpenOCD, ST-Link GDB Servers, Segger J-Link GDB Server, QEMU et de nombreux autres serveurs GDB specifiques.

Un assistant permet de créer des configurations d'exécution de serveur GDB embarqué avec les arguments de serveur GDB prédéfinis correspondant au type de serveur GDB sélectionné dans les paramètres de cet assistant.

OpenOCD

Débogueur Open On-Chip

Le débogage avec Open On-Chip Debugger est pris en charge par CLion. Utilisez le nouveau modèle de configuration Run/Debug, « OpenOCD Download and Run » pour déboguer votre microcontrôleur.

Si vous travaillez avec un projet STM32CubeMX dans CLion, une configuration OpenOCD Run/Debug est automatiquement créée pour vous.

En savoir plus sur l'intégration de STM32CubeMX et d'OpenOCD

Vue du thread FreeRTOS

Intégration de RTOS

Si vous déboguez des applications avec RTOS dans CLion, une vue répertoriant les listes de tâches est disponible. Vous pouvez accéder à la tâche qui vous intéresse pour afficher ses variables et d'autres informations. FreeRTOS, Zephyr et Azure RTOS sont pris en charge.

Périphériques

Vue Périphérique pour les dispositifs ARM

Lors du débogage on-chip d'un composant, il est crucial de pouvoir visualiser les périphériques. Dans CLion, cette vue est disponible pour deux types configurations Run/Debug : Embedded GDB Server et OpenOCD Download & Run. Dans les deux cas, un onglet Peripherals s'affiche dans la fenêtre d'outils de débogage lorsque vous commencez à déboguer. Chargez le fichier .svd approprié et sélectionnez les périphériques actifs que vous souhaitez voir.

Pour en savoir plus

PlatformIO

PlatformIO

PlatformIO est une plateforme open source dédiée au développement de systèmes embarqués. Pour en bénéficier dans vos projets embarqués, vous pouvez utiliser le plugin PlatformIO for CLion qui :

  • Ajoute le type de projet PlatformIO à l'assistant New Project.
  • Travaille directement avec le fichier platformio.ini : il suit les changements qui y sont apportés et met à jour les informations du projet en conséquence.
  • Crée automatiquement des configurations pour le débogage et le chargement sur serveur.
  • Permet le débogage avec le débogueur PIO Unified Debugger de CLion directement sur puce.
  • Permet d'accéder rapidement aux commandes et actions de projet les plus utilisées dans la fenêtre d'outil PlatformIO.
IAR

Chaîne d'outils IAR

Si vous utilisez le compilateur/la chaîne d'outils IAR dans vos projets embarqués, vous pouvez le faire dans CLion. Les projets utilisant la chaîne d'outils IAR se chargent correctement et fonctionnent dans CLion.

Quelques points à noter  :

  • MinGW est requis.
  • Ninja est recommandé en tant que générateur CMake.
  • Quelques conseils sur l'utilisation de CMake avec IAR Embedded Workbench.
Compilateur sur mesure

Compilateur sur mesure

Supposons que vous utilisiez un compilateur personnalisé, ou un compilateur encore inconnu de CLion en mode natif, ce qui est souvent le cas dans le développement embarqué. Il existe un moyen de décrire à CLion toutes les informations nécessaires sur le compilateur et de travailler avec ce dernier comme s'il était pris en charge en natif.

Cliquez sur Settings | Build, Execution, Deployment | Toolchains | Custom Defined Compiler pour l'activer et fournir le fichier *.yaml qui définit votre compilateur personnalisé. Consultez les exemples de configuration préparés par l'équipe de CLion à votre intention.

MISRA

MISRA C et C++

CLion 2020.3 fournit une prise en charge partielle de MISRA C 2012 et MISRA C++ 2008, directives largement utilisées dans le domaine du développement embarqué, notamment dans le secteur automobile. Cette prise en charge accélère le développement de ce type de projets en identifiant les incompatibilités plus tôt dans le cycle de développement. La liste des vérifications prises en charge actuellement est disponible sur la page Confluence de CLion.

STM32CubeMX

Intégration de STM32CubeMX

Si vous développez pour les cartes STMicroelectronics, sachez que CLion s'intègre avec STM32CubeMX :

  • CLion peut créer un nouveau projet .ioc ou ouvrir un projet existant et générer un fichier CMake pour garantir un environnement de travail correct.
  • Vous pouvez démarrer STM32CubeMX directement depuis CLion à tout moment pour mettre à jour les paramètres de la carte et générer du code.
  • CLion vous rappelle de sélectionner une configuration de carte et suggère une liste d'options dans l'interface utilisateur.