NXP et le français MicroEJ amènent les conteneurs logiciels au monde du développement embarqué

NXP Platform Acceleration

Sous le nom de NXP Platform Accelerator, la société de semi-conducteurs NXP annonce un environnement dont l’ambition est d’apporter aux marchés de la périphérie de réseau (edge) industriels et IoT (Internet des objets) une expérience de conception logicielle similaire à celle que connaît le secteur des smartphones.

Développé en collaboration avec l’éditeur français MicroEJ, l’environnement s’appuie pour cela sur la plate-forme logicielle MicroEJ VEE qui permet de déployer des conteneurs pour virtualisation d’applications (et des API standard) dans des équipements IoT et embarqués aux ressources limitées. Selon NXP, ce choix garantit la portabilité logicielle sur le large portefeuille de microcontrôleurs (où s’exécutent généralement des systèmes d’exploitation temps réel) et de processeurs d'application (aptes à héberger Linux) de la firme batave. Avec en corollaire la possibilité pour les fabricants d’équipements d'accélérer considérablement le développement de nouveaux produits et de réduire leurs coûts.

De plus, NXP Platform Accelerator fournit des API spécifiques pour garantir un accès facile aux fonctionnalités avancées intégrées dans les puces NXP, telles que la gestion de l'alimentation et les graphiques 2D/3D. Par exemple, un simple appel au "profil basse consommation" depuis la couche application client déclenchera une optimisation des performances pour un profil de consommation donné.

Pour la société de semi-conducteurs, le choix de la conteneurisation logicielle a fini par s’imposer car de nombreux produits industriels et IoT sont aujourd’hui conçus dans un objectif précis avec des fonctionnalités fixes et des capacités de traitement limitées qui peuvent s'avérer insuffisantes pour répondre aux besoins évolutifs d'un environnement de plus en plus automatisé. Dans ce cadre, la capacité à faire évoluer les fonctionnalités d’un tel produit nécessite de redévelopper et d'intégrer des logiciels de bas niveau, des OS temps réel ou des systèmes d'exploitation de niveau supérieur, ainsi qu’une panoplie de middleware, ce qui peut créer des problèmes de mise au point majeurs et ralentir considérablement le développement.

L’environnement NXP Platform Accelerator relève ce défi en utilisant la conteneurisation logicielle qui permet la portabilité des logiciels binaires sur l'ensemble du portefeuille de processeurs NXP. La réutilisabilité au niveau binaire offrirait donc aux clients la possibilité de prototyper de nouveaux produits le plus rapidement possible et de créer un ensemble d'appareils intelligents complexes aptes à évoluer rapidement avec les besoins et les tendances du marché. En outre, assure la société de semi-conducteurs, NXP Platform Accelerator permet le déploiement, au niveau edge, d'applications en mode "sandbox" (c’est-à-dire sous une forme isolée du reste du système). Apportant alors des fonctionnalités de type smartphone à la périphérie de réseau, telles que des mises à jour partielles ou totales over-the-air, des apps téléchargeables ou des microservices.

« La portabilité des logiciels et l'optimisation de la nomenclature s'excluent souvent mutuellement, rappelle Fred Rivard, le dirigeant de MicroEJ. L’environnement NXP Platform Accelerator combine ces deux objectifs, grâce à des conteneurs logiciels particulièrement compacts. Cette innovation à faible encombrement permet aux développeurs de bénéficier simultanément d’une nomenclature optimisée et d’un processus de conception logicielle moderne. Les ingénieurs peuvent ainsi créer de nouveaux produits et plates-formes plus rapidement et concevoir des produits moins gourmands en énergie et moins coûteux, l’environnement permettant en outre aux fabricants de produits de se différencier et d'innover au niveau des fonctionnalités. »

NXP Platform Accelerator intègre aussi des outils de développement évolués, notamment pour la simulation et la gestion de produits virtuels, ainsi qu’un framework multilangage (C, Java et JavaScript), des processus de collaboration agiles et la prise en charge des IDE Android Studio, IntelliJ et Eclipse (et toujours grâce à l'offre logicielle de MicroEJ).

L’environnement NXP Platform Accelerator NXP est d’ores et déjà disponible pour les microcontrôleurs crossover i.MX RT595 économes en énergie et les microcontrôleurs crossover multicœurs hautes performances i.MX RT1170.