Gamoover

[move]Le staff Gamoover vous souhaite la bienvenue ;)

Launchpad tuto 001 : Installer les outils de programmation

Démarré par KodeIn, Samedi 14 Mai 2011, 18:30:07 PM

KodeIn

Programmer les µC compatibles avec le LaunchPad
Pour programmer les µC compatibles avec le LaunchPad, la méthode la plus simple est d'utiliser un IDE.

D'abord qu'est-ce qu'un IDE?
Un IDE (Environnement de Développement Intégré) est un logiciel regroupant un éditeur texte (avec coloration syntaxique, etc...), un compilateur et généralement un débugger. (C'est effectivement le cas pour CCS)

Quels sont les IDE disponibles?
CCS et IAR sont les deux IDE sous Windows recommandés par Ti.
Il y a d'autres IDE pour Linux ou osX, mais soit ils sont payant, soit ce sont des outils en ligne de commande, mais ils feront l'objet d'un autre tutorial ou d'une mise à jour de celui-ci.
La plupart de ces IDE ou autres compilateurs utilisent le C comme langage de programmation.
Il existe un compilateur en assembleur, c'est un langage intéressant, mais très bas niveau (ça ne veut pas dire que le langage est idiot, mais qu'il est très près du langage machine ;)). Donc un peu ardu.

Lequel choisir?
Je vous conseille de débuter avec CCS pour la raison suivante :
La où IAR nous permet de compiler un programme de 4kB, CCS permet un programme de 16kB.
Hors, les plus "gros" MSP430 compatibles avec le LaunchPad (les MSP430G25xx) comportent un espace programmable de 16kB.
Donc, quitte à apprendre à manier un IDE, autant en choisir un couvrant tous les MSP430 accessibles à notre matériel.

Où télécharger CCS et IAR?
Sur la page concernant le LaunchPad du wiki de Ti, ici
Pour télécharger CCS il vous faudra un login Ti et remplir un petit "bon d'exportation" dans lequel vous devrez expliquer l'usage que vous ferez du logiciel. Bien entendu, évitez de dire, "pour déconner" que c'est pour développer du matos militaire, des radars ou des trucs du genre  :D
Comme pour le questionnaire que vous devez remplir dans l'avion pour aller aux USA, c'est un peu ridicule, mais ils prennent ça TRES au sérieux.
Le lien que Ti vous fournira (sur la page suivant et par email) pour télécharger CCS sera valide pendant 16 jours, au-delà vous devrez refaire une demande.

Okay, CSS est téléchargé, je fais quoi maintenant?
Je pars du postulat que vous savez décompresser un fichier ZIP et lancer l'installateur.

Il ne vous reste plus qu'à lancer l'exécutable.


Cliquez sur Next autant de fois qu'il faudra pour arriver à ça (vous devrez, entre-temps, accepter la licence) :


Appuyez sur OK, malgré cette alarme, tout a toujours fonctionné parfaitement  :D


Ici, choisissez l'option "MSP430-only Core Tools" ça vous évitera d'installer tout un tas de modules qui ne vous seront pas utiles ;)


Rien à changer, sauf si vous souhaitez utiliser un autre programmateur pour MSP430 que le Launchpad, qui ne serait pas USB.


Appuyez sur Next à plusieurs reprises pour arriver à cet écran. C'est à ce moment que l'installation de CCS va débuter. Ne vous étonnez pas si des fenêtres apparaissent et disparaissent, ce sont les modules qui s'installent.


Et voilà installation terminée!

Premier contact/première compilation avec CCS! (A.K.A. Tuto-001)
Nous allons simplement reprogrammer le MSP430G2231 avec son programme original (clignotement des 2 leds et senseur de t°).
Lancez CCS.


Un joli splashscreen noir et rouge va s'afficher, et ensuite, un dialogue pour la création d'un workspace va apparaitre.
Pour en avoir fait les frais lors de ma première installation, je vous recommande de mettre votre workspace à la racine de votre partition et d'éviter d'utiliser des caractères accentués ou des espaces dans le nom du dossier. Mon prénom contenant des accents, CCS avait des soucis pour s'y retrouver. :?


Créez un nouveau projet CCS.


On va le nommer Tuto-001, appuyez sur Next.


Vous finirez par arriver à cet formulaire où vous devrez choisir pour quel modèle de MSP430 vous allez développer. La liste déroulante de gauche permet de choisir la famille de MSP430 (dans notre cas, les MSP430Gxxxx) et celle de gauche permet de choisir quel modèle (MSP430G2231).
Vous pouvez finaliser la création du projet.


Cliquez droit sur le projet et ajouter un fichier source C.
Par habitude je nomme le fichier source contenant la fonction main() avec le nom main. Vous pouvez le nommer comme vous le souhaitez, mais je vous conseil de prendre cette bonne habitude  ;)
Validez la création de "main.c".

Vous pouvez maintenant copier/coller le contenu de ce fichier "main.c" dans votre "main.c".

C'est maintenant qu'il faut brancher votre Launchpad à votre machine, windows devrait installer automatiquement tous les pilotes nécessaires (si ce n'est pas le cas, réinstallez CCS!).

Et cliquez sur l'espèce de cafard vert, en haut à gauche dans la barre d'outils.

Sans déconner, main.c a été modifié! ;D
Ben oui alors, sauve. Là, il va y avoir des lignes qui vont défiler et si tout s'est bien passé, vous allez tomber sur l'écran suivant.


Patientez un peu, il compile le code et tente d'établir la connexion avec le launchpad et de programmer le µC.


Et il ne se passera rien tant que vous n'aurez pas cliqué sur le bouton play appelé "Run".
A ce moment le launchpad devrait se comporter comme prévu par son programme.


Pour arrêter le débug, il suffit de cliquer sur le bouton stop rouge, appelé "Terminate All".

Félicitations, vous avez programmé votre MSP430!
Vivement le Tuto-002 où nous allons créer un programme pour faire clignoter les leds rouge et verte du launchpad (la folie totale, non?). :P
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

KodeIn

Ben voilà, désolé pour avoir laissé trainé ça si longtemps.
Je me permet de faire un petit up pour avoir votre avis, savoir si c'est assez détaillé, assez clair. ;)
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

CuBe

Très sympa ton tuto! Je vais filer le lien à un pote qui a acheté le kit TI après que je lui ai montré le topic où tu en parlais. Il se pourrait même que je me laisse tenter pour un petit projet ^^
WIP Cocktail PacMan Midway :D
RoadTrip New Astro City

Recherche :
-Metal Slug 5
-Thunder Hoop

KodeIn

Merci, ça me motive pour faire la suite ;)

Sinon, j'ai trouvé un tuto pour linux et un pack pour osX si des gens sont intéressés qu'ils se fassent connaitre.
Par contre, c'est vraiment moins facile d'utilisation par rapport à l'IDE.

Pour le Tuto-002, j'en profiterai pour inclure les explications pour les opérateurs bitwise.
Et je m'assurerai de mettre le plus de commentaires possibles dans le code source.
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

Iro

Désolé, j'avais pas vu ton tuto  :-\
Mais c'est nickel pour un 1er pas   ^-^
Une petite erreur ici "Et il ne se passer rien tant que vous ..."

"d'éviter d'utiliser des caractères accentués ou des espaces dans le nom du dossier."
Je comprends pas que dans des envirronemenrs modernes, on en soit encore à faire attention à ce genre de choses   :-X
"Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
Peter Shou Owner' Club

WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF - Ma collec' de panels

LES TUTOS DE GAMO   

KodeIn

Merki, effectivement petite bourde de ma part :p

Et oui, ça m'a surpris aussi!
CCS est basé sur un IDE écrit en Java, Eclipse. Et il me semble que le Java gère sans soucis les noms de dossier avec espaces et caractères accentués.
Donc, je soupçonne que ça se produit parce le compilateur ou le linkeur sont des outils "ligne de commande" à l'ancienne et du coup, n'aiment pas trop les répertoires modernes.
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

Maitre_Poulpi

Super tes articles, du coup j'ai commandé le kit et la montre aussi  :D
Bon j'ai pas trop eu le temps de m'en occuper mais je trouverais bien un moment surtout que tu vas me motiver si tu continues les tutos  ^-
Je suis sur mac moi aussi  ;)
May the Gamooforce be with you !
À partir du moment où un fou sait qu'il l'est, peut-on toujours le nommer ainsi ?
Boulot, rétro, dodo... et un peu (beaucoup) de TATC© (Touche A Tout Compulsif)...
Le WIP en slip et le hack Sega en Pijama !

KodeIn

Ah, la montre ez430-chronos, j'ai bien bavé devant!
Mais mes fonds ne permettent vraiment pas de me l'offrir, ptet plus tard, quand j'aurai (commencé et) fini de rénover ma borne ;)

Et rassures-toi, les tutos vont continuer à apparaitre tout doucement.
Je prends mon temps pour comprendre le fonctionnement de la bête et comment la programmer, histoire d'éviter de vous transmettre des bourdes.  ;)
Il faut savoir que je débute totalement dans l'univers des µC. J'ai bien tripatouiller des PICs il y a des années de ça, mais depuis le temps, le peu que j'avais acquis a disparu dans les brumes insondables de l'oubli...
Et il faut en même temps que je me (re)forme en électronique/électricité générale. A part "U = R * I" et les tables de vérité (ahhh, les portes logiques, j'adorais jouer avec les transistors et les diodes!), il ne me reste plus grand chose. :D

Donc, je vais continuer la rédaction du tuto 2, c'est dans celui-là qu'on attaque le vif du sujet, le tout premier programme fait avec vos petites mains!
Bon, comme c'est les bases basiques de la programmation, je vais vous "tenir la main" et je vais avoir du mal à éviter l'effet "copier/coller" pour le tuto.
Mais je vais essayer de ne pas vous donner bêtement des lignes de code sans vous expliquer pourquoi on les écrit et ce qui se passe derrière.
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

Maitre_Poulpi

Bon ça y est, j'ai fait celui-ci.
Aucun problème, trop facile  8)

Je pense que j'ai comme toi en plus pour l'install => via Parallel Desktop  ;)
May the Gamooforce be with you !
À partir du moment où un fou sait qu'il l'est, peut-on toujours le nommer ainsi ?
Boulot, rétro, dodo... et un peu (beaucoup) de TATC© (Touche A Tout Compulsif)...
Le WIP en slip et le hack Sega en Pijama !

KodeIn

Oui, celui-là, c'est easy game.
C'est celui où j'essaye de mettre tout le monde à l'aise...

Avant le tacle des opérateurs bitwise suivit par le taquet dans la nuque des interruptions :D
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

nc333

#10
Salut! tu pourrais mètre a jour ton tuto pour la v5 ? elle apporte pas mal de changement et chuis perdu

edit: enfait y'a pas de changement mais dans le menus news j'ai pas css project, enfait j'ai juste eclipse
"Bon, j'ai pas mal réfléchi. Quand la vie vous fait trébucher, ça ne suffit pas de se relever. Il faut lui péter les rotules, à cette grognasse ! Œil pour œil, dent pour dent ! « Essaie un peu de te relever, maintenant, traînée ! »" Caves Johnson, 1980


La présentation c'est ICI :)