Mono envahit le marché de l’électronique embarquée avec… .NET

Explication détaillée de ce nouveau phénomène.

Avec Mono (un produit open source) pratiquement tous les équipements informatiques peuvent accéder à la plate-forme .NET : les ordinateurs de bureau, bien entendu, mais aussi les machines les plus petites (les téléphones portables) comme les plus imposantes (les supercalculateurs).

Miguel de Icaza, le bouillant meneur du projet Mono, nous informe que ce dernier supporte maintenant une nouvelle plate-forme processeur, le SH4. Le portage – encore à l’état embryonnaire – est assuré par STMicroelectronics.

Les SuperH sont des composants RISC créés initialement par Hitachi. Ils sont depuis passés sous la coupe de la société Renesas Technology (qui regroupe les activités processeur d’Hitachi et de Mitsubishi). STMicroelectronics reste un gros utilisateur de cette technologie. Les SuperH ont connu leur heure de gloire au sein de la console de jeux Sega Saturn et du Sega 32X. Toutefois, c’est dans le monde de l’électronique embarquée qu’ils ont poursuivi leur carrière.

Ce rapide historique permet de mieux comprendre pourquoi STMicroelectronics a tenu à assurer cette adaptation. Elle rejoint le portage MIPS64 créé en avril par la société N-iX. Ajoutez à ceci les architectures gérées en standard par l’équipe de développement de Mono et vous trouverez une couverture quasi complète des puces utilisées dans le monde de l’électronique embarquée : ARM, MIPS 32 bits, MIPS64, PowerPC, SH4, SPARC 32 bits et x86 (32 bits ou 64 bits).

.NET dans l’embarqué ?

Pourquoi un tel engouement des industriels pour cette solution ? Après tout, les offres basées sur des machines virtuelles n’ont jamais été très populaires dans ce milieu.

La transformation du marché y est pour beaucoup. Les technologies embarquées sont aujourd’hui utilisées dans des produits qui ressemblent de plus en plus (en termes de fonctionnalités) à des ordinateurs classiques : set-top boxes, smartphones, netbooks, GPS,etc. Nous sommes loin des automates industriels et du monde des microcontrôleurs classiques.

Ces nouveaux usages imposent des offres logicielles adaptées, plus riches et permettant de programmer des applications plus rapidement. Sun l’a bien compris, Java étant très prisé dans le monde de l’embarqué, en particulier sur le marché des téléphones mobiles.

Mono dispose toutefois de quelques avantages décisifs : le code peut être précompilé et livré sous la forme d’un exécutable prêt à l’emploi. L’environnement d’exécution Mono n’aura alors pas à être installé sur la machine cible.

De plus, il permet d’accéder aux nombreux langages de la plate-forme .NET. Enfin, il peut faire office de solution d’abstraction matérielle pour ceux qui souhaitent continuer à programmer en C. Il suffit par exemple d’utiliser le GCC, qui peut générer du code CIL (Common Intermediate Language) compatible avec les machines virtuelles .NET. Or, savez-vous qui est derrière le projet GCC-CIL ? STMicroelectronics ! Chapeau bas pour ce sens avancé de la stratégie.