En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des contenus et services adaptés à vos centres d'intérêts. En savoir plus et gérer ces paramètres. OK X
 
 

 

 

Techniques

S’engager sur l’architecture ARM par la voie facile

Publication: Juin 2012

Partagez sur
 
Par Norbert Hauser, vice-président exécutif en charge du marketing chez Kontron AG...
 

Les processeurs ARM les plus récents offrent des opportunités particulièrement alléchantes à la plupart des développeurs de systèmes embarqués, car ils associent des performances de classe PC à une efficacité énergétique sans équivalent. Leur utilisation soulève néanmoins quelques difficultés. De fait, par rapport à l’architecture x86, ils exigent des concepteurs un plus grand effort de développement. Les fournisseurs de cartes embarquées sont toutefois en mesure de réduire ce travail de manière significative grâce à leurs services de support logiciel liés au matériel.

Processeurs ARM : en avant toute !

Pratiquement tous les smartphones et toutes les tablettes actuellement disponibles sur le marché de l’électronique grand public utilisent des processeurs ARM. Les implantations ARM à l’état de l’art, comme celles proposées par NVIDIA ou Texas Instruments, dotent ces appareils d’une puissance de calcul et de capacités graphiques similaires à celles d’un PC et permettent ainsi la mise au point d’interfaces utilisateur à la fois sophistiquées et intuitives. Parallèlement, ces processeurs associent la simplicité d’utilisation à un niveau particulièrement élevé d’efficacité énergétique, ouvrant ainsi la voie à de nouvelles applications jusqu’ici inaccessibles aux processeurs x86 en raison de leur forte dissipation thermique ou de contraintes budgétaires. Même le coût unitaire joue désormais en faveur de ces petites unités centrales géniales, vendues aujourd’hui à des millions d’exemplaires. Selon Google, environ 500 000 nouveaux smartphones basés sur l’architecture ARM sont activés chaque jour – et encore ce nombre n’englobe-til que les ventes de terminaux équipés du système d’exploitation open source Android !

ARM : une architecture attractive pour les systèmes embarqués

Toutes ces caractéristiques (des interfaces utilisateur séduisantes, un niveau élevé d’efficacité énergétique et des prix unitaires compétitifs) s’additionnent pour rendre l’architecture ARM attractive aux yeux des développeurs de systèmes embarqués et facilitent la mise en oeuvre de nouvelles applications qu’il était jusqu’alors impossible de déployer sur les technologies x86. Par le biais de processeurs dédiés et déclinés selon différentes configurations, les solutions basées sur l’architecture ARM peuvent être adaptées de manière idéale aux besoins d’applications ciblées, tout en affichant des niveaux très faibles de consommation énergétique typiquement compris entre 1 et 3 watts. Par ailleurs, la convergence de la micro-informatique et de l’électronique grand public progresse de jour en jour et les caractéristiques respectives des processeurs ARM et x86 ont tendance à s’aligner. Les performances des processeurs ARM se sont désormais hissées au niveau des processeurs x86 les moins puissants, sans perdre de leur efficacité énergétique.

L’architecture ARM pose de nouveaux défis

Les dernières générations de processeurs ARM recèlent donc un formidable potentiel pour les conceptions qui nécessitent une interface utilisateur graphique et une connectivité réseau flexible tout en consommant aussi peu que possible. Tel est le cas des tablettes PC particulièrement robustes et résistantes, aujourd’hui utilisées en extérieur, dans les hôpitaux, par les services d’urgence ou par les spécialistes de la logistique. Les designs compacts à l’oeuvre dans les systèmes d’affichage numérique ou dans les applications d’info-loisir embarquées dans les véhicules sont également des exemples parfaits de ce type de conceptions. Toujours plus intelligentes et dotées d’interfaces tactiles pour une meilleure intuitivité, ces nouvelles générations d’équipements deviennent de plus en plus populaires dans le milieu industriel en raison de leur haut degré de convivialité et de sûreté fonctionnelle.

Au premier abord, le travail d’implémentation sur architecture ARM s’avère toutefois plus lourd que celui sur processeurs x86. L’environnement x86 se caractérise en effet par une standardisation poussée. Chaque pilote logiciel est pratiquement disponible sur tous les types de processeurs et s’avère souvent, pour ne pas dire toujours, intégré au sein même du système d’exploitation. Le monde ARM fonctionne, quant à lui, selon des règles différentes. Comme les processeurs ARM sont généralement adaptés aux dispositifs ciblés, le processus de développement de systèmes basés sur l’architecture ARM est plus complexe. Le développement matériel et le développement des logiciels de bas niveau, proches du matériel, y sont en effet étroitement imbriqués. Ainsi, il n’existe pas de système d’exploitation standard pour processeurs ARM qui puisse automatiquement tourner sur tous les équipements ARM. Tous les systèmes d’exploitation actuellement disponibles sur processeurs ARM, comme Windows Embedded Compact (anciennement Windows CE), les différentes déclinaisons de Linux ou l’environnement Android (lui-même basé sur Linux), doivent d’abord être adaptés à l’architecture matérielle. Ce travail d’adaptation consiste notamment à intégrer des pilotes spécifiques, propres à la plate-forme matérielle sélectionnée, et à optimiser l’exécution des OS et des applications sur cette même plate-forme. Nous allons illustrer ce processus de développement complexe dans l’exemple suivant, basé sur le système d’exploitation Android.

Un look and feel uniforme grâce à l’abstraction matérielle

L’installation d’Android sur une plate-forme matérielle ARM nécessite en premier lieu la création d’une base Linux adéquate. Un noyau Linux optimisé pour l’architecture ARM doit intégrer les pilotes logiciels des périphériques souhaités et doit être configuré pour fonctionner avec Android via l’adjonction de différents patches. Telle est la base sur laquelle repose la structure d’accueil et de gestion des applications (Application Framework) dans Android.

Ce socle logiciel a été conçu pour fournir un environnement au « look and feel » uniforme, à partir duquel n’importe quel équipement peut être développé. Dans la pratique, Android intègre une couche d’abstraction matérielle (HAL, Hardware Abstraction Layer) qui présente à l’Application Framework les interfaces aux ressources matérielles sous la forme de modules abstraits. Dès lors, la couche HAL fournit les interfaces aux moteurs graphiques, à l’appareil photo, à l’audio, au Wi-Fi, au GPS, etc. indépendamment de l’origine des périphériques physiques proprement dits, que ceux-ci proviennent d’un constructeur A ou d’un constructeur B.

Pour les ingénieurs d’application, l’avantage est énorme car le développement applicatif peut être mené d’une manière parfaitement standardisée ; l’origine des briques de base matérielles n’a strictement aucune importance. Grâce à ce niveau élevé de standardisation dans l’accès aux ressources matérielles, la même application Android peut tourner tel quel sur différentes plates-formes ARM. Il existe néanmoins un pré-requis. Les fournisseurs de la plate-forme matérielle ARM doivent en effet fournir au niveau logiciel tous les composants sous la forme de modules HAL. Pour des circuits standards comme les contrôleurs audio que l’on retrouve dans tous les terminaux Android grand public, il est fort probable que les modules HAL correspondants existent déjà. Mais il est aussi nécessaire de supporter et d’ancrer à l’Application Framework un grand nombre d’interfaces d’entrées/sorties qui peuvent être spécifiques aux applications et qui n’entrent pas dans l’éventail classique des interfaces proposées. Ce processus est indispensable à la création d’une infrastructure logicielle réutilisable que les ingénieurs d’application peuvent aisément intégrer dans leurs applicatifs.

Les services logiciels axés matériel montent au créneau

Cet exemple illustre bien le rôle décisif joué par les services logiciels axés matériel lorsqu’il s’agit de développer des équipements à base de processeurs ARM. Surtout lorsqu’on compare cette situation à celle qui préinterieur vaut dans le monde x86. Les ingénieurs d’application, dont les compétences résident essentiellement dans le développement logiciel, ne devraient plus hésiter à exploiter les avantages de la technologie ARM. De plus en plus souvent, les fabricants de plates-formes matérielles embarquées mettent en effet tout en oeuvre pour réduire leur travail au minimum. L’offre de services de Kontron inclut même la fourniture de cartes-mères, de modules et de systèmes à base de processeurs ARM prééquipés avec tous les systèmes d’exploitation pertinents. En d’autres termes, les utilisateurs peuvent bénéficier des avantages offerts par des plates-formes qui sont prêtes à l’usage et dont le système d’exploitation préinstallé intègre déjà toute l’infrastructure logicielle d’accès aux ressources matérielles. Les utilisateurs peuvent donc démarrer immédiatement le développement de leurs applications au-dessus du système d’exploitation, qu’ils apprécient le riche écosystème Android ou qu’ils préfèrent le look and feel uniformisé de l’interface utilisateur Metro que Windows 8 supportera sur certains processeurs ARM bien choisis. D’autre part, des systèmes d’exploitation temps réel comme QNX, Green Hills et VxWorks seront supportés.

Dès lors, aucune plate-forme matérielle ne sera commercialisée sous une forme brute. Elles seront au contraire proposées avec les logiciels adaptés et – si besoin – avec les licences correspondantes. Il va sans dire que cette proposition reste valable pour les conceptions spécifiques aux utilisateurs qui, sans nul doute, constitueront l’essentiel des projets ARM. Les clients OEM pourront ainsi bénéficier de solutions standards d’ores et déjà développées, et seules les personnalisations requises par l’utilisateur devront être effectuées et financées. Cette approche réduit de manière significative les coûts globaux de développement et les temps de mise sur le marché.

Les services de développement qu’une entreprise comme Kontron propose sur une plate-forme donnée sont utilisables sur d’autres plates-formes. C’est un avantage de plus pour les clients OEM ; en termes de platesformes matérielles, ils peuvent homogénéiser leur gamme d’équipements de manière beaucoup plus efficace. Avec, à leur disposition, un interlocuteur unique, des outils uniformisés et un grand éventail de processeurs (des circuits ARM aux processeurs x86 haut-degamme), les fabricants de systèmes - un concepteur d’une famille étoffée de Panel PC par exemple - peuvent réduire le nombre de leurs fournisseurs. Avec, à la clé, des économies substantielles grâce à l’usage de platesformes de traitement embarquées plus homogènes et parfaitement harmonisées, disponibles auprès de sociétés comme Kontron.

http://fr.kontron.com

Suivez Electronique Mag sur le Web

 

Newsletter

Inscrivez-vous a la newsletter d'Electronique Mag pour recevoir, régulièrement, des nouvelles du site par courrier électronique.

Email: