[TUTORIEL] Programmation du microcontrôleur du TD1208

Forum de support et d'échange sur la carte Akeru (carte compatible Arduino développée par Snootlab et intégrant la technologie Sigfox) et du shield Akene pour Arduino (shield pour Arduino développée par Snootlab et intégrant la technologie Sigfox)

[TUTORIEL] Programmation du microcontrôleur du TD1208

Message non lude Laetitia » Mer 29 Juin 2016 16:59

Bonjour,

Aujourd'hui nous allons apprendre à programmer le Cortex-M3 caché dans les modems Sigfox ! Il s'agit d'un EFM32 de chez Silicon Labs et il est programmable via les outils proposés par le fabricant, décrits ci-dessous.

- MATÉRIEL -


- INSTALLATION DE SIMPLICITY STUDIO -

  • Télécharger le logiciel sur cette page.
  • Lancer l'installation.
  • À la fin de l'installation, lorsque l'on vous demande de choisir les packages à installer, choisir "Tiny Gecko 3300".
  • Laisser le logiciel ouvert, nous y reviendrons dans un moment.

- PRÉSENTATION DU PROGRAMMATEUR -

Le EFM32™ Giant Gecko Starter Kit (que j'abrègerai ici en Gecko) est une carte permettant le développement sur microcontrôleurs ARM.

Elle embarque un microcontrôleur EFM32 semblable à celui présent dans le TD1208, quelques capteurs et actionneurs (boutons, capteur de luminosité, LEDs, écran LCD), un système de monitoring d'énergie pour tracker la consommation de votre montage, bref, tout ce qu'il faut pour bien démarrer avec les ARM.

En plus, et c'est ce qui nous intéresse ici, elle peut servir de carte d'interface pour programmer un autre EFM32, extérieur à la carte. Pour ce faire, il faut câbler certains signaux du Gecko vers le microcontrôleur qui nous intéresse, et paramétrer Simplicity Studio en fonction.

topview_gecko.png
topview_gecko.png (56.85 Kio) Vu 1357 fois

Légende : en bleu l'EFM32, en jaune les capteurs et boutons, en vert le LCD, en rouge les connecteurs utiles pour ce tutoriel.

- CÂBLAGE DU MODEM TD1208 -

Il nous faut maintenant relier le programmateur, c'est-à-dire le Gecko, à la cible, c'est-à-dire notre modem TD1208.

Sur nos produits Sigfox, les pins du modem sont accessibles via des pastilles et leur nom est indiqué sur la sérigraphie. Le câblage est identique pour tous les produits de la gamme, j'indiquerai donc ici simplement le nom des signaux du TD1208 et où les brancher sur le Gecko, un schéma explicatif est disponible un peu plus bas.

  • Pour que l'alimentation soit disponible, il faut relier la pin #1 du connecteur de debug (celui situé en haut à droite) à la pin de debug portant le label 3V3 (en bas à droite)
  • Ensuite il faut relier, du connecteur de debug vers le TD1208 :
    • la pin #7 à DB2
    • la pin #9 à DB3
    • la pin #15 à RST
  • Enfin, relier les pins 19 et 20 du connecteur d'extension (celui qui est à l'horizontale sur le côté droit), respectivement à GND et 3V3.

gecko_cables.png
gecko_cables.png (26.22 Kio) Vu 1357 fois

Légende :
- sur le connecteur de debug : le signal RST à relier sur la pin grise, DB3 sur la bleue, DB2 sur la verte, et la rouge à relier sur 3V3 dans les pins de debug en bas, colorée à l'identique.
- sur le connecteur d'extension : 3V3 et GND à relier aux pins portant le même nom sur votre produit Sigfox.

Optionnel : la pin TIM2 du TD1208 permet de visualiser l'activité du bootloader, lorsqu'on lui branche une LED. Vous pouvez la relier directement à D13 sur un Akeru ou un Akene pour exploiter celle présente sur la carte.

- PARAMÉTRAGE DE LA CIBLE -

  • Relier la carte Gecko à l'ordinateur via le câble USB.
  • Dans Simplicity Studio, en bas à gauche de la fenêtre, cliquer sur Refresh detected hardware.
  • Une fois que le Gecko apparaît dans le liste des cartes disponibles, faire un clic droit puis cliquer sur Select target part :

    select_target_part.png
    select_target_part.png (8.67 Kio) Vu 1357 fois

  • Dans la fenêtre qui s'ouvre, cliquer sur Detect Target. Un avertissement s'affiche, cliquez sur OK. Vous devriez obtenir un résultat semblable à celui-ci (les numéros de série et nom de vendeur peuvent différer mais vous devriez bien trouver un microcontrôleur EFM32G210F128) :

    detect_target_done.png
    detect_target_done.png (33.95 Kio) Vu 1357 fois

  • Passer ensuite la carte en mode programmateur :

    • Cliquer sur Kit Manager dans le menu Tools :

      kit_manager.png
      kit_manager.png (16.41 Kio) Vu 1357 fois

    • Dans la fenêtre qui s'ouvre, chercher Debug Mode et sélectionner Out dans le menu déroulant (MCU permet de programmer l'EFM32 embarqué sur le Gecko, In de connecter un debugger externe) :

      debug_mode_out.png
      debug_mode_out.png (3.11 Kio) Vu 1357 fois

      Lorsque le paramètre est pris en compte, la LED Debug Out en haut à droite de la carte s'allume. Fermer la fenêtre en cliquant sur Close.
  • Cliquer sur Flash Programmer dans Tools (juste à côté du Kit Manager de l'étape précédente)
  • Dans la nouvelle fenêtre, vérifier que vous ayez bien accès à la section Flash Erase/Write Protection, sinon c'est qu'il y a un souci dans la configuration. Reprenez les étapes précédentes.

    erase_write_protection.png
    erase_write_protection.png (5.72 Kio) Vu 1357 fois

  • Sélectionner le fichier à uploader dans le TD1208, format .hex ou .bin. Pour nos produits Sigfox il s'agit généralement du firmware de Telecom Design, disponible ici.
  • Cliquer sur Program. Note : aucun message de confirmation n'apparaîtra à la fin des opérations.
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: [TUTORIEL] Programmation du microcontrôleur du TD1208

Message non lude Archie » Mer 10 Aoû 2016 10:03

Bonjour letitia,

il y a un autre moyen de reprogrammer le microcontrôleur. Pour ceux qui ont un JDEBUG de segger avec l'adapteur qui va bien. C'est moins complet mais il a l'avantage de reprogrammer beaucoup de microcontrôleur.

En tous ca, le giant gecko est un beau joujou pour dvp sur ce microcontroleur.
Archie
 
Messages: 26
Inscription: Mar 12 Jan 2016 18:42


Retourner vers Akeru et Akene

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron