Into The Lab 2023 – Chipmover

« Révolutionner la migration logicielle dans l’embarqué »

Vidéo de présentation

Le problème : L’Interchangeabilité des micro-contrôleurs

Lors de la conception d’un système embarqué, le choix du composant central, le micro-contrôleur, est très important, car il va dicter tous les autres choix technologiques d’implémentation logicielle et d’architecture du produit.

La conception et la production des systèmes embarqués est inter-dépendante de l’industrie des semi-conducteurs. Cette industrie a été ces dernières années confrontée à d’inévitable ruptures de la chaîne d’approvisionnement dû à diverses contraintes: environnementales, géopolitiques, confinement, … Lors de ces épisodes et pour les entreprises n’ayant pas anticipé ce phénomène, il a été très difficile, voire impossible de changer le microprocesseur de leur produit sans devoir les ré-architecturer, réécrire le logiciel entièrement et de re-tester un tout nouveau produit différent de celui d’origine.

 

 

Dans ce contexte, les coûts de développement du projet explosent et les délais et les retards s’accumulent. Le produit n’est plus compétitif sur le marché…

 

La complexité d’une migration logicielle entre micro-contrôleurs devient donc un vrai challenge que les industriels doivent pouvoir surmonter s’ils veulent survivre dans un contexte économique fortement concurrentiel.

 

Facteur aggravant, et dans un contexte où le marché de l’emploi des systèmes embarqués est en très forte croissance, ces dernières années entreprises du secteur peinent à recruter de nouveaux profils, car trop peu de candidats sur le marché comparé à la demande qui explose. Le nombre de diplômés dans ce secteur est limité et/ou en faible augmentation.

La solution : La migration logicielle

Répondre à la nécessité d’une entreprise pour une migration logicielle rapide et sans sur-coût de développement de son produit est notre principale motivation.

 

Pour accomplir cela, notre solution se divise sur 2 fronts :

  • Proposer un outil de développement pour l’ingénieur facilitant le processus de migration logiciel pour un gain de temps et de qualité
  • Proposer une solution logicielle innovante pour la cible embarquée qui permettra de développer du code dans un environnement multi-architecture.

 

Pour répondre à ces deux problèmes, nous proposons deux solutions distinctes :

Chipmover UI > Interface-utilisateur :

Rendre le travail de l’ingénieur plus fluide en proposant des fonctionnalités de gestion de projet, d’édition de codes et de visualisation. Le tout dans une interface intuitive.

Chipmover VE> Virtual-Environment :

Proposer une solution logicielle visant à développer du code dans un environnement multi-architecture grâce à la virtualisation.

Le marché

International

Chipmover vise à s’imposer sur un marché qu’est celui des micro-contrôleurs. Voici ci-dessous les chiffres des revenus du marché pour la période 2019-2022. Ce chiffre est estimé en croissance pour atteindre 51.13B$ en 2028.

 

Les 10 leaders du marché étaient en 2020 était : Renesas, NXP, Infineon, ST Microelectronics, Microchip, Texas Instrument, Samsung, Silicon Labs…,

 

 

L’industrie automobile représente dans ce marché une part au niveau international de 30.5% en 2022. La prévision de croissance de ce marché est prévue de 14% supplémentaires d’ici 2031 avec des applications toujours croissantes telles que: la conduite autonome, systèmes de sécurités intelligents et plus globalement la digitalisation des automobiles grand public.

 

Plus globalement les industriels des micro-contrôleurs renforcent leurs engagements en faveur d’une production durable et les capacités de production vont augmenter dans les prochaines années dans les régions Etats-Unis et Europe.

 

Notre solution peut se révéler utile aussi sur d’autres marchés qui utilisent des technologies à micro-contrôleurs, comme celui des objets connectés, des dispositifs médicaux et plus généralement l’électronique grand public et industrielle, eux aussi en forte croissance ces dernières années.

Europe

A titre de comparaison, pour la segmentation européen de ce marché (micro-contrôleur), il s’élève à 2,47B$ en 2022. Il est estimé en croissance pour 2028 à 3.31B$. Les acteurs majeurs dans cette région du monde sont : NXP, Infineon, Microchip, Analog Device et Texas Instrument (sans ordre particulier).

Le produit : Chipmover

Nous détaillons ici plus en détails l’architecture de notre produit. Il repose sur trois différents composants: Chipmover VE, Chipmover UI et Chipmover Logic.

Chipmover VE

C’est l’innovation majeure de notre projet. En effet, la technologie de virtualisation a déjà fait ses preuves sur des produits tels que les serveurs et portables (ordinateurs, téléphone), mais elle ne s’est pas encore développée dans les systèmes embarqués. Pourtant, elle offre de nombreux avantages :

  • Réductions des coûts d’opérations : la virtualisation permet l’exécution de plusieurs applications sur le même matériel, réduisant ainsi les coûts de maintenance.
  • L’agilité et la rapidité : Lors du déploiement d’une nouvelle application, la virtualisation facilite celle-ci, pas besoin de déployer une nouvelle infrastructure pour chaque application.
  • L’isolation et la sécurité : Chaque application est indépendante et isolée. Si l’une plante, elle n’affecte pas les autres.

 

Et enfin, notre principale motivation :

 

La portabilité du code et abstraction matérielle : la virtualisation permet d’abstraire le comportement “bas-niveau” du matériel, permettant au code applicatif d’être indépendant de la plateforme sur laquelle il sera exécuté.

 

 

Chipmover UI

L’interface-utilisateur intuitive sera conçue comme une plateforme centrale pour l’utilisateur, elle lui permettra de créer un projet logiciel dans notre environnement. Il peut alors éditer le code des différents modules disponibles de notre environnement Chipmover VE:  la couche d’abstraction, les conteneurs virtuels et la configuration de l’hyperviseur.

 

Chipmover Logic

Deux expériences utilisateurs distinctes sont à prendre en compte dans le cadre de l’utilisation de notre produit :

  • L’utilisateur commence son développement logiciel avec notre produit. Il écrit donc son code dans notre environnement soit à partir de zéro, soit grâce à des projets d’exemples.
  • L’utilisateur possède déjà son produit avec la base de code qu’il doit migrer dans notre environnement.

 

Dans ce deuxième cas de figure, Chipmover Logic permettra, grâce à des outils d’analyse approfondie et de génération de code, de faciliter et d’automatiser la génération dans notre environnement de conteneurs logiciels en fonction des modules logiciels détectés dans le code d’origine. De plus des informations relatives à cette analyse approfondie seront directement accessibles via l’interface Chipmover UI comme : les périphériques disponibles sur l’architecture matérielle choisie vs celle d’origine ; les capacités mémoire utilisées par le firmware en RAM et Flash ; les différents registres internes et périphériques, utilisé par le code et leurs configurations initiales ainsi que diverses informations spécifiques à chaque plateforme.

 

Ces fonctionnalités seront disponibles à tout moment, permettant à l’ingénieur d’obtenir une vue clair sur l’état actuel de son projet et sa migration.

La concurrence

Environnement de développement (IDE)

Les industriels des semi-conducteurs proposent tous des outils permettant la création, l’édition et le debuggage de projet logiciel embarqué (IDE). Ces outils sont limités, dans le cadre d’une migration logiciel, dans le sens qu’ils ne regroupent que l’ensemble de librairie/driver propre à chaque plateforme propre de l’entreprise et ne sont donc valables qu’au sein de leur propre éco-système. Vous ne pourrez donc pas générer de projet pour STM32 (ST MicroElectronic) avec l’outil Simplicity Studio (IDE de Silicon Labs) par exemple. D’autres IDE que ceux des industriels du secteur existent, mais ne sont pas utilisés par les développeurs (mauvaise expérience utilisateur), ou pas particulièrement adaptés au monde de l’embarqué ne disposant, souvent, pas toutes les fonctionnalités pour développer et déboguer des projets embarqués.

 

La virtualisation dans l’embarqué

Certains systèmes embarqués intègrent aujourd’hui des technologies de virtualisation. Cette intégration est motivée par la criticité et la complexité grandissante des applications[1]. En effet, des industries comme le spatial, l’aviation et l’automobile ont, ces dernières années, intégré ces technologies dans leur produits basé sur des processeurs performants et multi-coeurs (dit applicatif) où les capacités de ces processeurs permettent l’intégration de ces technologies. Citons par exemple les solutions SysGO Pike OS, AUTOSAR, Helix.

 

La virtualisation sur microcontrôleurs est confrontée à une limitation des ressources disponibles sur ces types de plateformes  (protection et capacité mémoire notamment). Le monde de la recherche étudie depuis plusieurs années cette problématique et des initiatives commencent à apparaître sur le marché, citons par exemple MicroEJ, MICROSAR et TOIT lang, qui repose sur des technologies similaires à de la virtualisation et de la conteneurisation. Ce marché est encore embryonnaire et aucune des solutions ne s’impose encore sur le marché. De nouvelles technologies hardware apparaissent aujourd’hui sur le marché des semi-conducteurs qui visent à faciliter la virtualisation sur micro-contrôleur, citons par exemple ARM TrustZone.

Conclusion

Aucune solution ne propose actuellement un outil comme Chipmover: un environnement de développement unique permettant la création de projet multi-architecture grâce à un environnement embarqué virtualisé (containeriser), permettant la migration autonome du code applicatif et diverses analyses de codes, le tout pour un gain de temps, une réduction des coûts et pour une migration logicielle réussi !

 

Chipmover se veut être une synthèse des outils standard qu’un ingénieur peut avoir à rencontrer lors des développement et migration d’architecture embarqué. Tout en se différenciant en incorporant des fonctionnalités innovantes. L’importance de la simplicité d’utilisation est primordiale pour réussir à s’imposer comme un acteur majeur de la migration logicielle dans l’embarqué.

L’équipe

Théophile Leroy – 28 ans – Rennes

 

Ingénieur logiciel embarqué avec  cinq années d’expériences sur des projets principalement IoT. Mes points forts sont la compréhension des architectures embarquées, le débogage et l’optimisation sur microcontrôleurs (ARM Cortex-M) et des différents périphériques annexes associés (mémoire, display, I/O, connectivités,…).

 

J’ai notamment participé au développement du premier produit intégrant la technologie de reconnaissance vocale Amazon Alexa sur une cible microcontrôleur de NXP.

 

Je participe actuellement à l’intégration et au déploiement du tout nouveau réseau “Amazon Sidewalk” pour le compte du fabricant de puces spécialisé dans l’IoT Silicon Labs.

MicrosoftTeams-image

Théophile Leroy

Ingénieur logiciel embarqué - ELSYS Design
Pour continuer de découvrir les autres projets Into The Lab 2023