Atmel SAM D21 Xplained Pro

Bonjour à tous, comment allez-vous?
J’espère que le Papa Noël est bien venu vous voir et vous a gâté, même si en période de fête le plus important est avant tout de passer du temps avec les personnes qu’on aime… Pour ma part, je vais essayer de finir mon tour de quelques cartes à bases de processeurs ARM d’ici la fin de l’année, car j’ai pris pas mal de retard dans sur mon planning de publication… Aujourd’hui au programme, la découverte de l’Atmel SAMD 21 Xplained Pro :

Je ne vais pas vous présenter Atmel car c’est un fondeur bien connu des makers avec ses ATMega32u4 et ATMega328P qui sont respectivement sur l’Arduino Leonardo et sur l’Arduino Uno. Enfin maintenant en Europe c’est Genuino Leonardo et Genuino Uno à cause des problèmes de licences… Comme Atmel fabrique aussi des processeurs ARM et qu’on m’a prêté une carte d’évaluation, il fallait bien que je la teste…

Lien vers la documentation : http://www.atmel.com/tools/ATSAMD21-XPRO.aspx

La carte est relativement simple, il faut dire que c’est un kit d’évaluation. Il n’y a donc très peu de choses sur la carte, uniquement le strict nécessaire pour faire tourner le SAMD21J18A présent dessus. Le SAMD21J18A est un Cortex-M0+ cadencé à 32MHz, il est accompagné sur ma version de 256Kb de flash et de 32Kb de SRAM pour fonctionner.

Si le coeur vous en dit vous pouvez fouiller dans la datasheet du SAMD21 qui comporte 1111 pages sans sommaire s’il vous plaît 😡 :

http://www.atmel.com/images/atmel-42181-sam-d21_datasheet.pdf

Le reste des caractéristiques sont toutefois attirantes :

  • Deux boutons de contrôles
  • Deux LED indicatrices
  • 32-bit RTC
  • Interface USB 2.0
  • Jusqu’à six liaisons Serial pouvant être configurés pour les protocoles : USART, I2C, SPI
  • Débugger intégré

Petit point qui me fait complètement fondre : les tampons en plastiques au dos du PCB pour protéger les composants lorsque la carte est posée sur une surface dure et qui l’empêche également de glisser dans tout les sens au bout de son câble USB… Simple, rapide et peu cher à mettre en place… 😍

Comme la carte n’est pas mBed du moins mon kit d’évaluation, qui a été produit le 26/12/2014, il n’est pas possible d’utiliser le compilateur en ligne : https://developer.mbed.org/compiler/ . Ce qui complique un peu les choses 😰

Comme il y a de nombreux choix possibles, réaliser des tutoriels serait très long, je préfère vous donnez une liste regroupant les principales solutions que j’ai pût trouver sur internet, mais attention c’est une petite liste de solution, d’autres possibilités doivent être disponibles en fonction de votre système d’exploitation :

Pour Windows :

  • Utiliser la solution officielle : AtmelStudio 7 mais cela demande le download d’un bon gros fichier de 800Mo… Et pour installer et démarrer le programme, il faut s’armer d’une bonne dose de courage et de patience à mon goût… Comme compilateur à utiliser tous les jours je n’arrive pas à m’y résoudre… 😠
  • Utiliser une solution officieuse : Visual Studio avec un add-on/plug-in pour les processeurs ARM Atmel. Il faut trouver les bons fichiers ce qui est long et ne permettra une évolution de plate-forme facile comme un passage de Windows 7 à Windows 10 par exemple… Non mais attendez vous allez pas croire qu’on va vous simplifier la vie… 😘
  • Utiliser une solution semi-open source : Keil ARM qui est vraiment pas mal, mais la version gratuite limite la taille du code que vous pouvez envoyer sur la carte ce qui limite beaucoup les possibilités… 😭

Pour Linux :

  • À l’ancienne, la GUI, ça ne sert à rien cousin… Le plus simple c’est d’installer gcc-arm-linux-gnueabihf via apt-get sur Debian et ensuite de fouiller le web pour trouver les fichiers exemples sources à compiler, la technique et/ou le programme pour envoyer votre code sur la carte, etc. On arrive assez vite à un résultat sympa. Après c’est juste le temps que vous allez passer à trouver ces informations et à les adapter en fonction du processeur qui est sur la carte que vous utilisez… 😆
  • Les copains du web assurent à fond, ils ont déjà écrit un OS libre qui tourne sur un tas de processeurs : http://nuttx.org/ . Comme ils font les choses à la perfection, la documentation est très bien écrite, mais en anglais… 👌👍🏻

Pour Os X :

  • Au début les réponses que j’ai trouvées étaient assez décourageantes et plutôt surprenantes : tu veux faire de l’ARM sur Os X la bonne blague!!! 😮
  • Puis j’ai découvert Eclipse qui est un IDE en Java, il tourne aussi sur Windows et Linux, mais comme il faut ajouter des add-ons pour compiler du code en fonction de votre plateforme et que j’ai eu pas mal de déboire avec je suis assez neutre à son sujet… 😐
  • Sinon vous pouvez toujours essayer de tout faire en ligne de commande, mais pour trouver de la documentation qui sera forcément en anglais c’est un peu comme trouver une licorne… 😎

Conclusion :

Vous l’aurez compris en cette fin d’année 2015, pouvoir uploader du code sans limitations et sans payer une licence ultra cher sur une carte non mBed doter d’un processeur ARM reste assez difficile, peu importe le système d’exploitation qui essaie de compiler et d’envoyer du code sur la carte…😑

Pour moi les meilleures solutions, qui sont le mieux documentés et disponibles à l’heure actuelle sont celles que vous pourrez trouver sur système à base de Linux… On se demande bien pourquoi… 😇

@Bientôt Anders

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Traduction :