Les technologies de virtualisation qui permettent l’exécution simultanée, sur un même processeur, de plusieurs environnements logiciels éventuellement dotés de niveaux de criticité différents ont déjà commencé à diffuser dans l’automobile. Mais on les rencontre généralement au sein de sous-systèmes électroniques architecturés autour de microprocesseurs ...à architecture x86, Power ou Arm. Le monde des microcontrôleurs ne devrait pas toutefois rester à l’écart de cette évolution.
L’éditeur Green Hills Software vient ainsi d’annoncer la disponibilité d’un hyperviseur embarqué sûr et sécurisé, taillé pour ce type de circuit, et son portage sur le microcontrôleur multicœur automobile RH850/U2A de Renesas. Dévoilée en 2019, cette puce avec mémoire flash embarquée intègre une fonction de virtualisation assistée par le silicium tout en conservant les performances temps réel caractéristiques de cette famille de processeurs 32 bits à architecture propriétaire. C’est aussi le premier microcontrôleur automobile de Renesas qualifié pour des applications « inter-domaines » et, à ce titre, conçu pour répondre aux besoins croissants exprimés par les constructeurs et équipementiers automobiles qui souhaitent intégrer différentes applications sur une puce unique, permettant ainsi de bâtir des unités de contrôle/commande (ECU) « unifiées » dans le cadre des nouvelles architectures électroélectroniques (E/E) de véhicules.
De son côté, l’hyperviseur µ-visor pour microcontrôleur est présenté par Green Hills comme apte à répondre aux exigences de cybersécurité automobile ISO/SAE 21434 et UNECE WP.29 et aux contraintes de sûreté de fonctionnement ISO 26262 Asil D. Il a, à ce titre, profité de l’expérience acquise par l’éditeur américain avec sa plate-forme de virtualisation pour processeurs d’application Integrity Multivisor, qui aurait déjà été mis en œuvre dans des dizaines de millions de véhicules dans le monde.
Dans la pratique, µ-visor peut donc assurer la consolidation de plusieurs environnements logiciels pour microcontrôleurs sur une seule puce multicœur RH850/U2A et donc garantir une réduction du coût, de la taille et de la consommation du système résultant, tout en simplifiant la conception vis-à-vis de la sûreté de fonctionnement.
Ainsi, en utilisant les fonctionnalités avancées de virtualisation assistée par le silicium du SoC de Renesas, µ-visor permet à plusieurs machines virtuelles de fonctionner simultanément, dans le cadre de stratégies d’ordonnancement et de gestion diverses, associées à des cas d‘usage automobile différents.
Selon Green Hills, µ-visor peut notamment héberger plusieurs systèmes d'exploitation, y compris les environnements Autosar de fournisseurs tiers, le propre système d'exploitation temps réel µ-velOSity de la société, des OS maison d’équipementiers ou de constructeurs, voire des micro-exécutifs.
En outre µ-visor tire profit des fonctionnalités propres au microcontrôleur RH850/U2A qui intègre jusqu’à quatre cœurs de processeur cadencés à 400 MHz et présentés dans une structure à double cœur en mode lockstep. Chaque cœur dispose d’une fonction de virtualisation à assistance matérielle conforme aux exigences de sûreté ISO 26262 Asil D et assure les performances temps réel traditionnellement fournies par le RH850, précise Renesas. La virtualisation "hardware" permet ici à plusieurs logiciels dotés de niveaux de sureté fonctionnelle différents de fonctionner de manière indépendante sans interférences, tout en limitant la surcharge processeur liée à cette fonction afin de maintenir l'exécution temps réel.
Green Hills complète son offre de virtualisation avec l'environnement de développement intégré Multi et les outils associés certifiés ISO 26262 Asil D. Ceux-ci fournissent aux développeurs des outils étroitement intégrés qui offrent une visibilité sur les performances système et le comportement d'exécution, afin d’intégrer et d’optimiser plusieurs charges de travail sur un seul microcontrôleur RH850/U2A. A noter qu’à terme µ-visor sera aussi disponible sur les microcontrôleurs TriCore et les cœurs Arm Cortex-R52 (intégrés notamment dans les microcontrôleurs Stellar de STMicroelectronics).