Archives par mot-clé : Stellaris LaunchPad

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.

Le Stellaris LaunchPad rebaptisé Tiva C

Texas Instruments Tiva C LaunchPad (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/04/2013-04-12_Tiva_Launchpad_angle NULL.jpg)Texas Instruments a apporté quelques modifications à sa plateforme hardware pour micro-contrôleurs haute performance. En plus d’être renommée Tiva C LaunchPad, le composant soudé sur la carte est un TM4C123GH6PM qui ajoute des capacités de PWM, QEI, Hôte USB avec OTG. Cette dernière fonctionnalité USB On-The-Go est un peu ce qui manquait à la précédente version et permet de connecter beaucoup plus facilement un clavier ou un autre périphérique de saisie et surtout d’accéder aux mémoires de masse sur port USB (disque dur, Flash…). Le prix est toujours de 13 USD ce qui le rend très très attractif face aux 10 USD auxquels est passé le LaunchPad MSP430 de TI.

Sortie de Energia 009 avec le support du StellarPad

Stellaris LaunchPad Texas Instruments (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/10/med_ek-lm4f120xl_stellarislaunchpad_tool NULL.jpg)L’équipe de développement de l’IDE Energia (fork d’Arduino pour les micro-contrôleurs de Texas Instruments) vient d’annoncer la sortie de la nouvelle release 009 (http://forum NULL.43oh NULL.com/topic/2993-new-energia-release-0101e0009-12062012/). Celle-ci ajoute en particulier le très attendu support du Stellaris LaunchPad (http://xv4y NULL.radioclub NULL.asia/2012/10/02/a-letroit-avec-un-arduino-ou-un-launchpad/). Coïncidence, TI vient de se compter de m’annoncer que mon StellarPad qui était en liste d’attente depuis plusieurs semaines vient d’être expédié par FedEx. Je devrais donc l’avoir dans les mains d’ici quelques jours!

J’ai téléchargé cette nouvelle version mais j’avoue que je n’ai pas encore eu le temps de la tester. Je suis en train de finaliser mon prototype de balise WSPR agile avec DDS afin de pouvoir commander les composants débuts janvier pour une première série.