ClickCease Les meilleurs outils de développement Linux embarqués - TuxCare

Rejoignez notre populaire bulletin d'information

Rejoignez 4 500+ professionnels de Linux et de l'Open Source !

2 fois par mois. Pas de spam.

Les meilleurs outils de développement Linux embarqués

25 août 2020 - L'équipe de relations publiques de TuxCare

Les meilleurs outils de développement embarqué Linux

La plupart des développeurs sont habitués à une interface graphique pour le développement, alors quand on plonge dans le monde de l'IoT et du développement Linux embarqué, c'est une nouvelle expérience qui nécessite une programmation plus bas niveau et une exécution en ligne de commande. Si vous voulez un jour construire des systèmes tels que l'IoT, le GPS, la technologie automobile, la fabrication ou toute autre programmation électronique de bas niveau, vous avez besoin d'un environnement de développement embarqué pour travailler.

Linux embarqué est commun à la plupart de ces systèmes parce qu'il s'agit d'une source ouverte avec beaucoup de documentation pour démarrer, et qu'il faut très peu de frais initiaux pour utiliser le système d'exploitation. Pour cette raison, les développeurs intéressés par cette voie travaillent généralement avec la programmation Linux et téléchargent les bons outils pour connecter, programmer et déployer leurs produits. Nous avons compilé une liste des meilleurs outils de programmation Linux embarqués pour vous aider à démarrer, que vous soyez un débutant ou un professionnel à la recherche d'un nouvel outil.

Contenu :

  1. Éditeurs de systèmes embarqués
  2. Compilateurs
  3. Assembleurs
  4. Débogueur
  5. Linker
  6. Emulateurs
  7. Environnements complets de développement de logiciels

 

Éditeurs de systèmes embarquésÉditeurs de systèmes embarqués

Les développeurs doivent être familiers avec les éditeurs d'interface graphique courants, car c'est avec eux qu'ils travaillent tous les jours. Par exemple, Visual Studio est un éditeur courant pour C# et VB.NET. Les développeurs Java utilisent généralement Eclipse ou NetBeans. Les développeurs Python utilisent PyCharm. Chaque développeur a son éditeur préféré, et les meilleurs outils permettent aux développeurs d'écrire facilement du code codé en couleur pour identifier plus facilement les différentes syntaxes. La programmation embarquée étant principalement réalisée en C ou C++, la bonne solution doit prendre en charge ces deux langages.

 

  • Geany: Geany est beaucoup plus axé sur l'interface graphique, la mise en évidence de la syntaxe et la prise en charge des balises HTML et XML. Il est également compatible avec Java, PHP, Python, Perl et Pascal. Nous le citons en premier, car il s'agit de l'outil le plus simple pour la plupart des développeurs qui ne sont pas familiers avec les commandes de type Unix.
  • Lime: Les développeurs qui connaissent l'éditeur de texte Sublime apprécieront son successeur Lime. L'interface est similaire à celle de Sublime, et il est développé dans le langage Go, actuellement très populaire.
  • Nano: Nano est utile aux programmeurs débutants et avancés. Il est basé sur la ligne de commande, mais il surligne et codifie le texte en couleur pour que la syntaxe C soit facilement compréhensible.
  • Bluefish: Bluefish possède quelques fonctionnalités supplémentaires par rapport aux outils énumérés ci-dessus. Il est destiné au développement Linux ainsi qu'au développement web, mais il fonctionne également avec des fichiers distants et dispose d'un correcteur orthographique et d'options d'annulation. Pour les projets plus importants, Bluefish offre de meilleures fonctions d'organisation et fonctionne bien avec plusieurs projets.
  • Vim : éditeur de texte polyvalent et hautement configurable qui est présent sur littéralement toutes les plateformes. Malgré son seuil d'entrée relativement élevé, il est utilisé par de nombreux développeurs de systèmes embarqués qui l'apprécient pour la possibilité de personnaliser presque tout et l'utilisent presque partout, même sur les petits systèmes embarqués où aucun mode graphique n'est disponible.

 

 

Compilateurs
Compilateurs

Une fois votre programme écrit, il est temps de le compiler. Un compilateur transforme le code humain en binaire pour une utilisation sur le système local tel qu'un ordinateur portable ou un serveur. Avec Linux embarqué, vous avez besoin d'un compilateur qui créera des binaires pour le CPU d'une machine cible, et non pour votre machine hôte. Les compilateurs pour le développement embarqué sont également appelés "chaînes d'outils de compilation croisée".

Vous pourriez assembler votre propre code, mais cela est fastidieux, surtout pour un nouveau développeur. En revanche, il existe plusieurs outils qui vous permettent de compiler, de lier et d'assembler du code C. Si vous utilisez un Linux basé sur Debian tel qu'Ubuntu pour votre programmation, le système d'exploitation dispose déjà d'outils. Exécutez la commande suivante pour les installer :

 

sudo apt install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi

 

Si vous préférez construire votre chaîne d'outils inter-compilateurs, voici quelques outils qui vous offrent des fonctionnalités de compilateur afin que vous n'ayez pas à les construire à partir de zéro :

  • Crosstool-NG: cette chaîne de compilation croisée de base assemble votre code et crée les bibliothèques de liens nécessaires.
  • Buildroot: Buildroot est idéal pour les débutants, car il dispose d'un système de menus et d'une interface beaucoup plus robustes. Il compile, crée des bibliothèques et construit une hiérarchie de répertoires, ce qui facilite la navigation dans les grands projets.
  • Yocto: Yocto va plus loin dans la compilation et construit des paquets pour le système embarqué cible. Il construit également des binaires et des bibliothèques, mais les paquets facilitent la distribution et l'installation sur un système externe. Yocto est la solution la plus puissante et la plus polyvalente en raison de son extrême complexité.

Lire la suite : Quelle est la meilleure distribution Linux pour le développement embarqué ?

 

 

Assembleurs

Assembleurs

Le code humain doit être assemblé en langage machine. Les compilateurs convertissent le code humain en code objet, puis en binaires. Les assembleurs effectuent une conversion beaucoup plus rapide en créant des binaires directement à partir de code de bas niveau ressemblant beaucoup plus au code machine. Les assembleurs sont beaucoup plus rapides que les compilateurs, mais ils sont limités aux langages de bas niveau. Pour les développeurs avancés qui travaillent avec des langages d'assemblage de bas niveau, un assembleur peut être utilisé pour faire correspondre les instructions codées avec l'exécution du CPU.

Linux possède son propre assembleur appelé GNU Assembler (également connu sous le nom de gas ou as). Il est inclus dans les GNU Binutils, qui sont une collection d'outils binaires spécifiques au système d'exploitation Linux. Vous pouvez consulter la liste des outils inclus dans l'installation ici.

Pour installer Binutils, exécutez la commande suivante :

sudo apt install build-essential

 

Mais si vous avez besoin de compiler en arm64, installez :

sudo apt install crossbuild-essential-arm64

 

 

Débogueur

Débogueur

Tout développeur sait que le code doit être testé et débogué. Un débogueur vous permet de voir ce qui se passe à chaque ligne d'exécution. Votre code peut être syntaxiquement correct, mais des erreurs de logique feront planter le programme. Vous pouvez éliminer ces erreurs à l'aide d'un débogueur.

Le projet GNU propose un débogueur à télécharger. Il est spécifique à la programmation en C, et donc parfait pour déboguer le code des systèmes embarqués. Pour l'installer à partir de la ligne de commande, utilisez la commande suivante :

 

sudo apt-get install libc6-dbg gdb valgrind

 

Linker

Linker

Lorsque vous construisez un programme, il est courant d'avoir plusieurs fichiers et bibliothèques nécessaires à son fonctionnement. Ces fichiers sont liés au cours du processus de compilation à l'aide d'un éditeur de liens. Les compilateurs se chargent souvent de l'édition de liens pour vous, mais si vous utilisez des assembleurs pour convertir du code de bas niveau en langage machine, vous pouvez avoir besoin d'un éditeur de liens pour relier les fichiers du projet entre eux.

Si vous utilisez l'un des compilateurs énumérés ci-dessus, vous n'avez probablement pas besoin d'un éditeur de liens, mais le projet GNU dispose d'un éditeur de liens pour les projets plus avancés. L'éditeur de liens est disponible avec les Binutils mentionnés dans la section Assembleurs. L'installation de Binutils inclut l'éditeur de liens. Utilisez la commande suivante pour installer les outils :

 

sudo apt-get install build-essential

 

Emulateurs

Emulateurs

Si vous avez déjà programmé pour le système d'exploitation Android, vous avez probablement travaillé avec un émulateur. Un émulateur est un programme qui reproduit l'environnement cible. Tous les éléments de l'interface, les commandes, les images de sortie et les fonctionnalités sont affichés sur votre ordinateur local de la même manière que ce qui serait affiché à vos utilisateurs sur leurs appareils embarqués.

L'outil gratuit le plus populaire est QEMU. QEMU vous permet de visualiser vos créations sur plusieurs distributions Linux. Pour les distributions Debian ou Ubuntu, lancez la commande suivante pour l'installer :

 

sudo apt-get install qemu

 

Environnements complets de développement de logiciels

Environnements complets de développement de logiciels

La liste de logiciels ci-dessus vous permet de personnaliser votre environnement de développement, mais il existe plusieurs progiciels IDE complets qui effectuent toutes les opérations d'édition et de compilation pour vous sans avoir à installer de ressources distinctes. Les environnements de développement IDE ci-dessous vous offrent une interface graphique complète, une prise en charge multiplateforme, et certains prennent en charge les applications Web qui peuvent être intégrées à vos projets.

 

  • PyCharm: PyCharm est conçu pour les développeurs Python, mais il offre un support multiplateforme et fonctionne bien pour les développeurs Linux. JetBrains, les développeurs de PyCharm, ont ajouté une fonctionnalité appelée CLion, utilisée spécifiquement pour la programmation Linux embarquée.
  • Qt Creator : Qt Creator est spécifiquement conçu pour la programmation de systèmes embarqués. Il dispose d'un émulateur pour plusieurs appareils cibles, y compris l'automobile, l'IoT, les téléviseurs, les applications mobiles et plus encore.
  • MPLAB X: Cet IDE est conçu pour le développement embarqué de microcontrôleurs PIC et de contrôleurs de signaux.
  • Visual Studio: La plupart des développeurs connaissent Visual Studio pour sa programmation .NET, mais le plugin VisualGDB transforme l'interface de Visual Studio en une plate-forme de développement Linux multiplateforme pour les systèmes embarqués.
  • Eclipse: Eclipse est un IDE de développement Java courant, mais le module complémentaire Eclipse IDE for Automotive Software Developers fournit les outils et le compilateur nécessaires à la création de solutions pour l'industrie automobile.
  • Arduino: Pour les développeurs qui souhaitent tester la programmation de systèmes embarqués, Arduino est un bon point de départ. Il contient le matériel et les logiciels nécessaires pour créer un environnement complet qui aide les débutants à apprendre.
  • ARM Keil: Pour une plateforme de développement complète, ARM Keil peut être utilisé pour programmer pour presque tous les appareils basés sur ARM. Il s'agit d'un IDE adapté aux professionnels qui ont besoin de travailler avec les appareils les plus populaires du marché. L'IDE propose des modèles de code et des projets d'exemple pour les débutants.

 

Conclusion

Si vous souhaitez vous lancer dans le développement Linux embarqué, les outils ci-dessus constituent une liste complète de ce dont vous avez besoin pour faire fonctionner votre environnement. La programmation Linux embarquée est un environnement différent de la programmation bureautique standard, mais c'est un excellent moyen de s'initier au fonctionnement des systèmes IoT et automobiles.

Vous cherchez à automatiser la correction des vulnérabilités sans redémarrage du noyau, temps d'arrêt du système ou fenêtres de maintenance programmées ?

Découvrez le Live Patching avec TuxCare

Devenez rédacteur invité de TuxCare

Commencer

Courrier

Rejoindre

4,500

Professionnels de Linux et de l'Open Source
!

S'abonner à
notre lettre d'information