Les firmes allemandes Lauterbach, spécialiste en outils matériels et logiciels de développement et de test de systèmes embarqués, et OpenSynergy, filiale du japonais Panasonic depuis 2016 qui édite des logiciels embarqués pour l’automobile, approfondissent leur coopération technologique autour de l'hyperviseur Coqos ...d'OpenSynergy et des systèmes d'exploitation invités qui y sont exécutés. Des travaux qui visent à offrir aux utilisateurs un moyen efficace de déboguer et de suivre le développement d’applications sur des puces-systèmes SoC complexes sans nécessiter une connaissance approfondie de l'interaction entre les multiples systèmes d'exploitation installés sur ce type de circuit.
Rappelons que la technologie d’hyperviseur Coqos permet d'exécuter plusieurs systèmes d'exploitation invités (Linux, Android, Autosar…) dans des machines virtuelles séparées. Cet hyperviseur pensé pour les applications automobiles est conforme à la norme ISO 26262. Il suit l'architecture multinoyau de l'architecture Armv8 et tire parti de la virtualisation matérielle du SoC à l'aide de cette architecture.
Les outils de Lauterbach vont donc désormais prendre en charge des variantes des cœurs de processeur Arm-A et Arm-R pour l'hyperviseur Coqos qui autorise la gestion de plusieurs applications sur un seul microcontrôleur ou microprocesseur, tout en garantissant l'absence d'interférences entre des systèmes de criticité différente (selon différents niveaux Asil jusqu'au Asil-D). Dans ce cadre, le débogueur Trace32 de Lauterbach peut visualiser les interruptions, déboguer le code de démarrage à partir de la première instruction et inspecter toutes les ressources du système d'exploitation invité, y compris le code d'application et les tables de processus.
En utilisant le module de trace de cet outil, le développeur qui travaille avec Qocos peut également analyser les performances en temps réel de l'hyperviseur et des systèmes d'exploitation invités. On le sait, les opérations de débogage et de traçage sont des étapes clés d'un flot de développement. Les outils Lauterbach aide à ce niveau les ingénieurs à trouver la raison de résultats erronés pendant l'exécution du programme en leur permettant de contrôler l'exécution, d'inspecter les résultats intermédiaires ou de suivre l'exécution du programme pour effectuer des analyses telles que le comportement d'exécution ou la couverture de code, et ce sans ajouter d'instrumentation supplémentaire au code.
En d’autres termes, le partenariat entre les deux sociétés va permettre aux développeurs de déboguer et de tracer sous Qocos différentes machines virtuelles s'exécutant sur un SoC en identifiant le code source requis et les variables correspondantes, tout en permettant à l'utilisateur de basculer à volonté entre les machines virtuelles présentes.