Les deux poids lourds du développement logiciel pour systèmes embarqués Green Hills Software et MathWorks ont décidé de collaborer pour mettre à disposition des développeurs une boîte à outils permettant aux ingénieurs de bâtir et de déployer facilement des modèles Simulink et Matlab sur une large gamme de processeurs embarqués.... Multi Toolbox for Embedded Coder, c’est le nom de la solution, interconnecte les produits de développement logiciel des deux sociétés dans leurs domaines respectifs, à savoir le logiciel de calcul mathématique pour MathWorks et l'environnement de développement de code pour Green Hills.
Ainsi, les ingénieurs et scientifiques qui élaborent des algorithmes dans Matlab et Simulink disposent désormais d'un moyen simple pour développer, déboguer, optimiser et déployer leurs programmes sur des milliers de processeurs embarqués pris en charge par Green Hills. Concrètement, à travers la boîte à outils, les utilisateurs peuvent développer des modèles Simulink et Matlab et générer du code source C/C++ qui est ensuite compilé, puis exécuté sous la forme de code binaire optimisés sur le processeur cible ou sur le simulateur intégré. Les résultats sont ensuite renvoyés à Simulink grâce à une approche de type PIL (Processor-In-the-Loop ) permettant à l'utilisateur de visualiser les résultats ou de confirmer par programme que les résultats des algorithmes Simulink sur le poste de travail correspondent bien aux résultats réels exécutés sur le processeur embarqué.
« La connexion de Simulink aux simulateurs et débogueurs est la prochaine étape pour les développeurs afin qu’ils puissent déplacer les tests et la vérification réalisés sur un processeur physique vers le laboratoire ou le bureau, commente Tom Erkkinen, chef de produit chez MathWorks. Green Hills partage cette vision et a travaillé en étroite collaboration avec nous pour mettre au point une solution alignée sur la tendance actuelle de progression du travail à distance et de collaboration en ligne avec des environnements de test et de développement virtuels. »
Plus spécifiquement, avec la boîte à outils Multi Toolbox for Embedded Coder, les développeurs peuvent exécuter le programme en arrière et en avant, définir des points d'arrêt, déboguer et afficher les variables, assurer le débogage des systèmes d'exploitation temps réel (Integrity et µ-velOSity de Green Hills, Autosar ou Linux), vérifier le respect des règles Misra C/C++, réaliser la détection des erreurs d'exécution et la détection des fuites de mémoire, optimiser le programme avec l'analyse des performances et enfin analyser la couverture de code avec l’analyseur de code source DoubleCheck de Green Hills.
Pour les domaines où la sécurité fonctionnelle est importante, la chaîne d'outils C/C++ est certifiée aux normes et niveaux de sûreté les plus élevés, y compris pour l'automobile (ISO 26262 Asil-D), l'industrie (CEI 61508 SIL3) et le ferroviaire (EN 50128 SIL4).
Enfin, Multi Toolbox for Embedded Coder prend en charge une gamme très large de microprocesseurs et microcontrôleurs de NXP, Renesas, Qualcomm, TI et Microchip fondés sur des architectures de cœurs Arm Cortex-A (Armv8-A et Armv7-A), Cortex-R (Armv7-R), Cortex-M (Armv7-M), ou des cœurs RISC-V et RH850 de Renesas. Le support de l’architecture Armv8-R est en cours (avec en particulier le Cortex-R52/8).