Skyduino:~#
Articles
arduino, Corrigé, programmation, test

[Arduino & MSP430 launchpad] Energia IDE

Bonjour tout le monde !

Depuis quelque temps on me demande un peu partout ce que vaut le logiciel « Energia » pour la MSP430 launchpad.
Aujourd’hui je vous propose de mettre les choses au point avec cet article 😉

Qu’est ce que Energia ? A quoi ça sert ?

Le logiciel Energia est un IDE dérivé du célèbre IDE arduino.
Le but de Energia est de permettre aux personnes possédant une carte MSP430 launchpad de coder en langage « arduino ».

Le développement sur MSP430 brute étant relativement casse tête, cet IDE permet de profiter pleinement de la « simplicité arduino » et du très bas prix de la launchpad !
En résumé : le beurre, l’argent du beurre et le sourire de la crémière.

Installation et 1er pas :

Pour l’installation rien de plus simple, il suffit de suivre les explications présente sur cette page :
https://github.com/energia/Energia/wiki/Getting-Started

Gros plan sur l’IDE :

Comme on peut le voir l’ide energia reprend toute les grandes lignes de l’ide arduino.
Les utilisateurs de cartes arduino classique ne seront donc pas dépaysés.

Ps: certains trouveront la couleurs rouge omniprésente un peu hardcore … question de goûts.

Les librairies :

De base il n’y pas grand chose, c’est le moins que l’on puisse dire.

En tout il y a donc 3 librairies officielles pour l’ide energia :
– SPI : permet d’utiliser le port SPI du MSP430
– Wire : permet d’utiliser le port I2C du MSP430
– TimerSerial : permet de faire du « software serial »

Pour le reste c’est à vous de coder vos propres librairies !
Certaines librairie « arduino officielle » utilisant uniquement l’api arduino de base devraient fonctionner normalement avec energia, pour les autres il faudra reprendre le code de zéro.

Les cartes ciblées :

Il est possible de développer avec energia sur trois type de micro-contrôleurs MSP430 :
– MSP430G2231
– MSP430G2452
– MSP430G2553

Avis aux possesseurs de la launchpad révision 1.4 (ou antérieurs) :
Il faudra soit acheter des MSP430 dont la référence figure dans la liste si dessus, soit (ré)investir dans une carte launchpad en révision 1.5.

Les programmateurs ciblés :

De base il n’y a pas vraiment le choix vu qu’il n’y en a qu’un : RF2500, soit le programmateur intégré à la carte launchpad.

Si vous voulez utiliser un débuggeur de olimex (par exemple), ou un autre debuggeur (supporté par MSPdebug) il faudra l’ajouter à la main dans programmers.txt

Le pin mapping (correspondance n° / broche) :

On retrouve les grands classique tel que : SS, SCK, MISO, MOSI correspondant au port SPI (si celui ci est disponible)

Ainsi que 9 entrées analogiques annotées de A0 à A7 + A10.
Note: A10 correspond au capteur de température interne du MSP430 !

Le tout étant bien sûr compris dans les 14 broches du micro-contrôleurs comme on peut le voir sur le schéma.

Mais ce n’est pas tout !
Les développeurs de energia ont été plus malin que ça !

Et oui, pas besoin de se casser la tête à chercher la correspondance broche MSP430 / « numéro arduino », les définitions sont déjà toute prêtes !

Au passage les « broches spéciales » de la launchpad sont elles aussi définis tel que les deux led (rouge et verte), le bouton poussoir ou encore le capteur de température interne.

Let’s blink !

Pour bien commencer avec energia rien ne vaut un petit exemple tel que blink !

Et comme on est de vrai ninja de l’arduino, on va même faire un « double blink » !

/*
  Blink - version MSP430 launchpad + Energia
 */

void setup() {                
  pinMode(RED_LED, OUTPUT);     
  pinMode(GREEN_LED, OUTPUT); 

  digitalWrite(RED_LED, LOW);
  digitalWrite(GREEN_LED, LOW); 
}

void loop() {
  digitalWrite(RED_LED, HIGH);   
  delay(500);    
  digitalWrite(RED_LED, LOW);   
  delay(500);

  digitalWrite(GREEN_LED, HIGH);   
  delay(500);    
  digitalWrite(GREEN_LED, LOW);   
  delay(500); 
}

un fois compilé ce bout de code prend un peu plus de 600 octets de flash, soit à peine 5% de la mémoire flash disponible.
Autant dire que le degré d’optimisation est nettement plus élevé qu’avec le « core arduino » officiel.

Ma conclusion :

Energia est un logiciel vraiment sympa !
Franchement je le conseille vivement à tous ceux qui voudrait coder sur MSP430 launchpad.

Il souffre encore de quelques bug et de quelques fonctions manquantes, mais cela n’est qu’une question de temps pour les choses se stabilisent.
(cf https://github.com/energia/Energia/wiki/Know-Issues )

La seul petite chose que je trouve dommage c’est de ne pas pouvoir profiter du débuggeur intégré à la launchpad.
Bon pour le moment il faut finir l’ide en lui même, mais j’espère vraiment pouvoir voir un jour l’intégration du débogage.

Ce serais une fonctionnalité stratégique, que même les cartes arduino à base de PIC32 ou autre ARM ne pourraient égaler.
Sans parler du prix dérisoire de la launchpad qui est très largement inférieur à une carte arduino classique !
(Bien sur les capacités de la launchpad ne sont pas comparables à une vrai carte arduino, moins de mémoire ram / flash, hardware plus restreint, etc …)

Publicités

Discussion

9 réflexions sur “[Arduino & MSP430 launchpad] Energia IDE

  1. Question : est-ce qu’on peut inclure du code en dur (enfin j’arrive pas à trouver le terme exact mais je crois que t’auras compris xD)? J’ai beau cherché, j’ai pas trouvé d’info sur Energia et les Low power mode, qui restent pour moi l’énorme avantage des MSP430. Merci !

    Publié par batto | 9 novembre 2012, 10 h 04 min
    • Energia c’est juste un éditeur de code et une surcouche pour rendre les choses facile.
      Tu peut inclure autant de code natif que tu veut dans la mesure ou il est écrit pour MSPGCC (et non IAR, …).

      Ajoute juste le code dans une fonction (ou mix code arduino et code natif), ajoute les #include comme si tu codais en natif avec MSPGCC et c’est bon.

      Publié par skywodd | 9 novembre 2012, 13 h 24 min
      • Ah cool merci 🙂 question bonus : j’ai pas encore mon launchpad (par ailleurs commandé chez ti fdp=0€ et v1.5 d’après le site) donc j’ai pas pu comparer les différentes interface de developpement, mais pour moi MSPGCC, IAR et CCS utilisait le même langage/syntaxe. Y’a quoi comme différences ?

        Publié par batto | 9 novembre 2012, 14 h 55 min
      • >> mais pour moi MSPGCC, IAR et CCS utilisait le même langage/syntaxe. Y’a quoi comme différences ?

        C’est surtout au niveau des interruptions et des mots clef spéciaux.
        MSPGCC utilise ISR(nomdinterruption_vector) { … }
        AR et CCS utilise des #pragma vector=…

        SInon pour le reste c’est du C classique.

        Publié par skywodd | 9 novembre 2012, 15 h 01 min
  2. Ok merci 😉

    Publié par batto | 9 novembre 2012, 16 h 36 min
  3. I don’t know how to make a simulation in CCS v4 can you help me.
    comment je peux lirf le contenu de mémoire flash du MSP430G2?

    Publié par Medkour | 21 mars 2013, 10 h 46 min

Rétroliens/Pings

  1. Pingback: MSP430 launchpad : Energia IDE (Arduino) | BTS CVM Bréquigny | Scoop.it - 14 juillet 2012

  2. Pingback: vulussu» Blog Archive » MSP430 launchpad : Energia IDE (Arduino) - 14 juillet 2012

  3. Pingback: MSP430 launchpad : Energia IDE (Arduino) | pense-bête Arduino | Scoop.it - 7 septembre 2012

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.