Partie de jambes en l'air avec mon ARM7
Si vous avez déjà installé un environnement de développement pour un microcontrôleur, vous savez à quel point cela peut être difficile. Plus le contrôleur est puissant, plus les outils sont complexes. Même pour faire fonctionner comme on veutles des outils commerciaux payés fort cher il faut pas mal de temps. Préparer les chemins, créer les fichiers de liens, écrire les fichiers make, comprendre les options du compilateur, tout cela demande beaucoup d’efforts et peut causer des tracas. Le pire c'est encore que trois mois plus tard, il est impossible à se rappeler comment tout cela fonctionne !
NXP propose une solution pour s'attaquer aux contrôleurs ARM : le module mbed avec outils de développement en ligne. Le module de la taille d’une boîte d'allumettes comprend un microcontrôleur ARM7 LPC2368 et un port USB, avec des périphériques en veux-tu en voilà : Ethernet, USB, CAN, UART (3x), SPI (2x), I2C (2x), 6 entrées analogiques ou 6 sorties MLI (modulation de largeur d’impulsions). Tout cela sur deux connecteurs de 20 picots qui permettent de planter le module sur une plaque labdec. Les composants passifs pour les ports Ethernet et USB sont embarqués sur la carte. Un module mbed à base de Cortex a été annoncé.
Comment ça marche ? C’est simple : connecter le module par le biais d’un câble USB à un ordinateur avec un accès à l'internet. Peu importe le système d’exploitation dès lors qu’il dispose d’un navigateur. L’ordinateur reconnaît le module comme périphérique de stockage sur lequel se trouve un fichier HTML. Ouvrir ce fichier dans le navigateur. Un clic sur le lien proposé permet d’ouvrir un compte sur le site mbed qui donne accès au compilateur. On commence aussitôt à programmer en C. Après compilation et débogage, on télécharge l’exécutable que l’on enregistre directement sur la clé USB mbed. Le gros bouton bleu permet de lancer le nouveau programme. C’est tout !
Si vous avez l’impression qu'il s'agit que d’une démo sophistiquée, détrompez-vous, l’environnement mbed a bien des ressources séduiisantes. Le compilateur est fourni avec un grand nombre de bibliothèques qui facilitent énormément la programmation. Il y a un petit air d’Arduino avec des fonctions comme DigitalIn ou AnalogOut, mais il y a aussi des bibliothèques comme SPI, I2C ou encore un système de fichiers. Les bibliothèques Ethernet et USB sont incomplètes, ce qui est normal, mbed est encore au stade bêta. L’interface de programmation applicative est bien documentée et le site déborde d’informations, de notices et d’exemples. Le débogage n’a pas été oublié non plus, car le module mbed peut fonctionner comme un double périphérique USB : disque amovible et port série en même temps !