La virtualisation, pour quoi faire ?
- Renaud Jordi
- 25 oct. 2023
- 2 min de lecture
Virtualiser un ECU, pourquoi ? Comment ?
Un début de réponse avec l’architecture AUTOSAR
Dernier de la série sur le sujet, si vous n’avez pas lu les derniers posts, je vous encourage à le faire ;)
Pour rappel : la MCAL (MicroController Abstraction Layer) permet de créer les abstractions nécessaires permettant l’utilisation du microcontrôleur choisi.
Nous le savons tous, le temps de développement d’une carte impacte fortement le temps de développement du logiciel. Sans compter les problèmes de courts-circuits causés par une mauvaise configuration ou des micros “brickés”. Les premiers prototypes ont la vie dure…
L’idée assez simple, mais ingénieuse, est de créer une nouvelle MCAL pour configurer un microcontrôleur virtuel.
Ainsi, l’architecture AUTOSAR est maintenue. Les Services Layers et ECU Abstraction Layers restent inchangées et le Runtime Environment et l’Application Layer n’y voient que du feu ;)
Bien sûr, comme il n’y a pas de vrai hardware, les Complex Drivers sont à réadapter, voire à stubber.
Le résultat ? Une chaine de compilation pour PC et un banc virtuel à portée de clic 😉
Première chose à noter : La compilation des fichiers d’origine.
Excepté la MCAL, l’OS et quelques adaptations mineures, le code de production est inchangé. Cela permet de tester la configuration et la mise en œuvre de tous les modules et de l'application.
L’avantage indéniable : Plus besoin de hardware.
Tout le code est exécuté dans l’environnement de test. Ce qui permet l’exécution régulière en Intégration Continue, mais aussi, le démarrage du développement des composants avant la livraison de la carte de test.
Dernier point : L’injection de pannes.
Simuler un court-circuit coûte moins cher que de le provoquer 😉
Voici quelques solutions sur le marché :
Vector propose vVIRTUALtarget lié à son écosystème CANoe.
Silver de Synopsys est une solution ouverte et entièrement personnalisable
dSPACE a aussi son écosystème complet avec SystemDesk.
Réel ou Virtuel, Vector, Synopsys ou dSPACE, choisissez votre arme avant de tester votre ECU ;)
