En dévoilant fin février le STM32MP1, son premier processeur multicœur hétérogène bâti sur deux cœurs Arm Cortex-A7 et un cœur de microcontrôleur Arm Cortex-M4, STMicroelectronics s’est ouvert au monde Linux. Une opportunité qu’a saisie le français Ac6, bien connu pour ses services d’expertise et ses formations dans les domaines de l’embarqué. ...Lors d’Embedded World 2019, la société présentait en effet sur le stand de ST la version bêta d’Ac6 System Workbench for Linux (SW4Linux), un environnement de développement intégré pour le STM32MP1, décrit comme le premier à intégrer au sein d’un seul IDE l’ensemble du processus d’élaboration du logiciel d’un système embarqué Linux. Du portage et de la configuration du noyau sur une carte donnée, jusqu’au développement, au test et à la validation de l’application, en passant par la création et le débogage des pilotes logiciels et l’intégration de packages applicatifs, généralement open source, au sein de l’image système.
« Notre IDE, qui a nécessité un travail de 17 années-hommes et dont la version finale sera officiellement disponible cet été, permet à des développeurs non spécialistes de Linux embarqué de créer leurs propres plates-formes adaptées à leurs besoins, indique Bernard Dautrevaux, cofondateur et directeur technique d’Ac6. Le tout dans un environnement Eclipse et à travers une interface utilisateur conviviale qui guide le développeur sur chaque option : choix des packages, compilation, configuration, gestion des images finales prêtes à être embarquées, etc. Le même environnement permet de développer des applications pour les intégrer dans la plate-forme. Avec ici un gros avantage ; tout est fait pour que l’utilisateur puisse reproduire à tout moment exactement la même plate-forme qui a été livrée sur un projet donné. »
Selon Ac6, cette caractéristique distingue clairement System Workbench for Linux des méthodes de développement open source bien connues du type Buildroot ou Yocto qui nécessitent une connaissance approfondie des outils et la maîtrise d’un savoir-faire qu’il est difficile de conserver à long terme. L’IDE du Français, qui se présente comme un plug-in Eclipse, a aussi l’avantage de simplifier, grâce à son interface utilisateur 100% graphique, l’intégration de packages prédéfinis, testés et validés (pour une puce-système SoC, une carte ou une fonction données) et de packages open source tiers, eux aussi déjà validés, comme Wayland (serveur d’affichage de fenêtres), GStreamer (framework multimédia), OpenCV (bibliothèque graphique spécialisée dans le traitement d’images en temps réel) ou Qt. System Workbench for Linux est également intégré à l’outil Arm Development Studio DS5 et fournit ainsi un environnement unique permettant la mise en place simple, à travers les compilateurs Arm de DS5, d'une plate-forme Linux contenant le noyau, les modules, les packages et le "root filesystem", ainsi que le développement et le débogage des applications utilisateur, précise Ac6. A ce titre, l'IDE du Français prend en charge les outils de débogage Trace32 de l’éditeur allemand Lauterbach.
Dans le cas particulier du processeur STM32MP1, System Workbench for Linux peut être couplé avec des outils de développement pour microcontrôleur également bâtis sur Eclipse, comme System Workbench for STM32, pour développer et déboguer simultanément sur les deux types de cœurs, indique encore Ac6. Avec ce type de processeur hétérogène, les logiciels temps réel critiques tournent en effet sur le cœur Cortex-M et peuvent être programmés en tant qu’application bare-metal (directement sur le silicium) ou en tant que tâches s’exécutant sur un système d’exploitation temps réel comme FreeRTOS. Aptes à exécuter Linux, le ou les cœurs Cortex-A, de leur côté, prennent à leur charge les logiciels non critiques comme l’interface homme-machine, les communications réseau, etc.
On rappellera que c’est Ac6, dans le cadre d’un partenariat signé en 2013 avec STMicroelectronics, qui a développé l’environnement de développement gratuit System Workbench for STM32 (lire notre article ici). Pour la communication et la synchronisation entre les deux environnements de développement, le Français utilise le protocole standard OpenAMP.
A noter qu’au-delà des cartes d’évaluation de ST pour le processeur STM32MP15x, l’IDE d’Ac6 a aussi été installé sur la carte de développement Avenger96 que commercialise Arrow (lire notre article ici). Précisons encore que System Workbench for Linux est commercialisé avec une documentation utilisateur en ligne ainsi qu’avec une formation gratuite d’une journée au moment de la livraison.