Archives par mot-clé : LM4F120H5QR

Portage de MICROPYTHON sur TeXAS INSTRUMENTS LM4F120 (Stellaris LaunchPad)

J’ai un petit côté nostalgique en ce moment et j’avais envie de retrouver les plaisirs simples des micro-ordinateurs des années 80: un interpréteur simple (type BASIC) en ligne de commande. J’avais dans mes fonds de tiroir une carte Stellaris LaunchPad de Texas Instruments qui est construite autour d’un micro-contrôleur bien plus puissant que nos vénérables Amstrad CPC, Thomson MO5, Sinclair ZX ou Matra Alice 90 (dans mon cas). Il ne me restait plus qu’à trouver un projet autour de son CPU Cortex M4 32 bits avec 64Ko de RAM et 256Ko de mémoire flash.

MicroPython remplit parfaitement la mission: simple d’accès, tournant sur des micro-contrôleurs et aussi parfaitement évolutif. Python est aussi bien plus propre et puissant que le BASIC. Seul problème: les “versions” (portages) actuellement disponible ne tournaient pas sur la carte que j’avais à ma disposition. Comme l’architecture (ARM v8 32bits) était déjà supportée, en principe le travail ne serait que minime.

Capture écran MicroPython sur Stellaris LaunchPad
Capture ecran Micropython sur Stellaris LaunchPad

J’avais réussi mon premier objectif (ligne de commande) depuis quelques semaines mais je voulais aussi implémenter un minimum de fonctionnalité, et surtout le faire proprement. Le plus dur a été de comprendre la philosophie de MicroPython et comment faire un code qui soit utile pour tous. Ce soir, j’ai eu la grande satisfaction de publier sur GitHub mon premier “commit” avec un code relativement bien documenté et propre et qui utilise les fonctions de base de la carte (LED tricolore et boutons pression).

Tout est disponible publiquement ici: https://github.com/zl4yy/micropython

Maintenant je voudrais implémenter des fonctions plus évoluées comme les bus I2C et SPI, les ports USB, etc. Entre temps j’ai découvert un autre projet similaire mais sur une version plus vieille de MicroPython. J’ai l’intention de m’en inspirer et de réutiliser une partie du code (qui est open source) mais l’auteur a fait quelques choix différents qu’il me faudra contourner.

A l’étroit avec un Arduino ou un LaunchPad ?

Texas Instruments fait encore une fois très fort! Si vous vous sentez restreints dans vos ambitions par les performances et les capacités mémoires limitées des ATMega328 ou MSP430G2553 des Arduino (http://arduino NULL.cc/en/Main/Hardware) ou LaunchPad, courrez acheter un Stellaris LaunchPad.

StellarPad (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/10/med_ek-lm4f120xl_stellarislaunchpad_tool NULL.jpg)Non seulement le Stellaris LaunchPad LM4F120 (http://www NULL.ti NULL.com/tool/ek-lm4f120xl#buy) embarque un processeur beaucoup plus puissant que tout ceux dont j’ai parlé jusqu’à présent, mais offert au prix de 5 USD par TI il est à peine plus cher que le LaunchPad et surtout 4 fois moins cher que n’importe lequel des Arduino!!! Ce nouveau petit jouet embarque un processeur 32 bits Stellaris LM4F120H5QR (http://www NULL.ti NULL.com/product/lm4f120h5qr) construit sur l’architecture Cortex M4F d’ARM, la version “électronique embarquée” des processeur tournant aujourd’hui des les iPad, iPhone. Tournant à 80MHz et possédant 256Ko de flash et 32Ko de SRAM, il est le chaînon manquant entre la catégorie “Arduino” et la catégorie “Rabsperry Pi”, plus proche des ChipKIT dont je vous parlais récemment (http://xv4y NULL.radioclub NULL.asia/2012/09/20/programmer-un-micro-controleur-pic-comme-un-arduino/). Le nombre des entrées-sorties, périphérique et canaux de communications est aussi à l’avenant, de quoi penser à de gros projets…

Cerise sur le gâteau, Robert Wessels vient de m’informer qu’il travaille sur l’incorporation du StellarPad (plus court que Stellaris LaunchPad) à Energia et qu’il sera donc très prochainement possible de programmer ce micro-contrôleur exactement comme un LaunchPad MSP430 ou un Arduino. Si après tout cela vous n’avez pas encore commandé celui-ci chez Texas Instruments, je ne sais pas ce qu’il me reste à faire!