Pourquoi migrer vers 32 bits

par 

Simon Duggleby, Manager Marketing Catégorie semi-conducteurs, RS Components

 

La migration vers un microcontrôleur (MCU) haut de gamme est plus facile lorsqu'elle suit une feuille de route et une courbe de performance définies par un fournisseur de confiance. 

Les fabricants utilisent des microcontrôleurs 8 bits depuis de nombreuses années, profitant de la réduction des prix et de la progression des fonctions, générées par la concurrence entre les fabricants de dispositifs intégrés (IDM). Cependant, avec la complexité croissante des applications, de nombreux fabricants IDM préfèrent de plus en plus utiliser des MCU 32 bits plus puissants et complexes, au lieu d'une architecture 8 bits relativement simple, pour répondre aux demandes en offrant de plus hauts niveaux de fonctionnalités.

La migration vers une architecture 32 bits apporte plusieurs avantages, incluant en particulier une gamme d'adresses beaucoup plus étendue.  Elle autorise une mémoire adressable plus importante (et donc des logiciels de commande et des algorithmes plus complexes), des voies de données plus larges (assurant une meilleure réactivité) et des groupes de périphériques plus importants.  Cette combinaison de puissance et de flexibilité d'exploitation explique le succès des dispositifs 32 bits auprès de nombreux fabricants, mais quels sont les risques associés à l'abandon des solutions 8 bits ?

En premier lieu, cette migration implique un risque de perte des connaissances techniques accumulées pendant plusieurs années et liées à un ensemble d'instructions, à une architecture spécifique.  La programmation d'un dispositif 8 bits avec un code Assembleur n'est pas plus simple avec un langage de programmation de haut niveau comme C ou C++, mais les fabricants IDM ne reculent devant aucun effort pour faciliter la transition et éliminer les problèmes.  Alors qu'il n'est pas toujours possible de préserver la compatibilité logicielle, la plupart des fabricants IDM offrent des environnements de développement intégrés (IDE) sophistiqués et des bibliothèques de logiciels beaucoup plus complètes que le support logiciel habituellement fourni avec des dispositifs 8 bits.

Un autre challenge de l'environnement logiciel est présenté par la nécessité d'un système d'exploitation en temps réel, noyau ou scheduler (RTOS) pour utiliser un dispositif 32 bits.  Il est vrai qu'en intégrant des logiciels prêts à l'emploi, conçus pour simplifier le développement des applications, les microcontrôleurs 32 bits apportent des améliorations importantes en termes de capacité de production. Cet avantage inclut une forme de système d'exploitation, mais la complexité (et la courbe d'apprentissage) variera en fonction des demandes de l'application et vaudra en finalité les efforts consentis.

 

Capacités des processeurs

Tout développeur participant à la conception d'un système intégré peut apprécier la position qu'ARM a établi avec sa gamme de processeurs Cortex-M, adoptés par un grand nombre de fabricants de semi-conducteurs et donc supportés par un puissant écosystème.  Comme l'architecture 8051 bénéficie d'une position presque similaire, il serait facile de supposer qu'un processeur Cortex-M est un choix évident pour préparer une migration vers des microcontrôleurs 32 bits.  Cependant, certains fabricants continuent d'offrir des alternatives, qui peuvent être un facteur important pour progresser sur la courbe d'apprentissage.  La gamme AVR d'Atmel couvre les solutions 8 à 32 bits, et Microchip a sélectionné le processeur MIPS pour développer sa famille 32 bits.  Les justifications de ces choix sont un élément important de la stratégie de migration et de la facilité avec laquelle ils peuvent assister les développeurs à effectuer la migration.

 

Solutions logicielles

Passer du langage Assembleur vers C peut paraître titanesque, et de nombreux fabricants comme Atmel savent tenir compte des niveaux de difficulté.  Le Tableau 1 présente les avantages des deux langages. Atmel a collaboré avec IAR pour fournir des conseils de configuration du compilateur C d'IAR sur ses microcontrôleurs AVR 8 bits destinés à des projets utilisant des codes Assembleur et C. Cette approche constitue une excellente base pour migrer la famille UC3 AVR 32 bits d'Atmel, programmée avec AVR32Studio, qui prend en charge C/C++ et Assembleur.

Tableau 1

 

Le support des outils est d'autant plus important que la complexité des microcontrôleurs et des logiciels d'application augmente.  Le support de la migration 8 – 32 bits sera en outre mieux facilité si la chaîne des outils reste connue et cohérente à tous les niveaux.  Telle est la philosophie adoptée par Microchip pour le récent lancement du MPLAB X, son environnement IDE intégral. Contrairement à certains IDE, le MPLAB X peut servir à développer des logiciels pour les microcontrôleurs Microchip, incluant ses modèles PIC 8 bits, les contrôleurs de signaux numériques dsPIC et la gamme PIC32 32 bits à haute performance sur processeur MIPS. Microchip a basé le MPLAB X sur l'IDE NetBeans d'Oracle. Par conséquent, il offre une gamme de fonctions professionnelles qui ne sont pas toujours disponibles dans des solutions intégrées pour environnements IDE.

 

Dépendances matérielles

En dehors du domaine logiciel, les réels avantages de la migration vers une architecture 32 bits sont ses niveaux de performance et l'étendue de ses fonctionnalités.  En dépit des efforts continus et extensifs des fabricants IDM pour adapter les microcontrôleurs basés sur des processeurs 8 bits, ils restent limités en termes de capacité, rendant inévitable la nécessité d'une migration vers 32 bits.  Tous les efforts pour faciliter cette transition sont donc de la plus haute importance.

Une stratégie à long terme joue un rôle crucial.  Par exemple, pour résoudre le challenge de la migration entre ses deux gammes STM8 8 bits (basée sur une architecture propriétaire) et STM32 32 bits (basée sur le processeur Cortex-M3 d'ARM), STMicroelectronics a redéveloppé l'adressage IP périphérique utilisé dans ces deux gammes pour garantir une grande facilité de conception dans tous les cas de figure.  Pour cela, un pont vient connecter les périphériques au processeur STM32, permettant aux deux gammes de partager la même IP de périphérique grâce à une modification des spécifications du bus interne.  Par conséquent, les différences ne concernent que la taille du registre et la fréquence d'horloge maximale.  Ils ont en commun un système d'horloge suffisamment similaire et les configurations des mémoires.

 

 

La Figure 1 présente une comparaison des gammes STM8 et STM32

D'un point de vue logiciel, ST souligne que la compatibilité des périphériques facilite la conception de la plate-forme, en simplifiant considérablement le changement entre les deux lignes de production.  En outre, les bibliothèques logicielles extensives sont conformes Hardware Abstraction Layer pour les ressources des microcontrôleurs. Il n'existe pas le moindre élément de contrôle ou de statut qui ne soit pas couvert par une fonction C ou une API.

 

Réduction des risques

La migration entre une solution 8 bits et une alternative 32 bits peut présenter certaines difficultés, mais en gardant la même gamme et le même fabricant, les développeurs ont la certitude que leur fournisseur préféré fera tous les efforts pour assurer une transition aussi transparente que possible, depuis le développement de l'adressage IP portable aux investissements dans des chaînes d'outils avancés.  Les microcontrôleurs sont optimisés pour des exigences relativement spécifiques. Seuls certains fabricants acceptent ou peuvent fournir une feuille de route pour faciliter la migration entre une solution bas de gamme vers de plus hautes performances. Il est essentiel de ne pas perdre de vue que les microcontrôleurs sont des dispositifs incroyablement souples, et nécessitent donc un certain niveau de configuration.  Avec des solutions 32 bits, comme STM32 de ST, AVR32 d'Atmel ou PIC32 de Microchip, leur patrimoine est évident, représentant non pas seulement une simple possibilité, mais surtout une courbe de performance sans problèmes, avec des dispositifs répondant aux besoins de toutes les applications et configurations.