Arduino Due sous Eclipse

Bonjour,
Je voulais debuter avec Eclipse pour programmer ma Due mais il doit me manquer une configuration.
Pour les autres cartes ca marche (Uno, Mega 2560) pas de soucis.

Dans windows, preference, arduino j'ai mis la version 1.0.3 de l'ide arduino (que j'utilise pour tout arduino sauf due) et si j'essaye de mettre la version 1.5.2 (que j'utilise pour la due) il n'en veut pas.

J'ai vu aussi dans un forum de configurer external tools (voir piece jointe) mais quand je fais run il me jette.

Quelqu'un utilisant eclipse peut il me guider ?

Cordialement

Ce ne va pas être simple.

  1. Le cœur du micro de la Due n'est pas un avr mais un arm donc avr-gcc ne peut pas fonctionner.

  2. en conséquence avec la DUE il faut utiliser les librairies contenues dans l'IDE 1.5 (dernière version 1.5.4)
    Attention la 1.5.x est toujours beta.

Des membres du forum se penchent sur le sujet, fait des recherches sur les noms "avenue33" (Xcode sous Mac) et "Jantje" (eclipse sous Win$, Linux et Mac(?) )

Bonjour,

L'Arduino Due utilise un processeur ARM-CortexM de la série SAM3 du fabricant ATMEL.
Contrairement aux autres cartes la Due requiére un compilateur ARM (et non AVR).

Si tu veut utiliser le "core arduino" avec un ide autre que celui de base il te faudra :

  • un ide supporter les compilateurs de type ARM-GCC
  • la suite de compilation "Sourcery"
  • un logiciel de transfert (pour uploader le programme sur la carte, pour être très franc j'ai aucune idée de comment c'est fait de base avec l'ide arduino)

Tu aurais plus vite fait d'utiliser AVR Studio 6 qui prend en charge nativement les processeurs SAM3 :wink:

Merci à vous deux.
Bon vu vos reponses et ce que j'ai lu ailleurs je vais essayer AVR Studio.
Pour résumer il me faut AVR Studio, la suite de compilation "Sourcery" et un logiciel de transfert XD

J'ai installé AVR Studio 6 et j'ai installé le plugin Arduino et j'ai une question sur le mode debug.
On peut mettre un "espion" qui renvoit la valeur d'une variable et je voulais savoir comment il faisait cela.
Integre il automatiquement un Serialprint dans le code chaque fois que je mets un "espion" ?

Si je veux faire du vrai debug avec point d'arret, j'achete une sonde JTAG et je peux l'utiliser dans cet environnement ?
(Seulement pour la due car sur les autres pas de connecteur à première vue !?)

Touf2638:
J'ai installé AVR Studio 6 et j'ai installé le plugin Arduino et j'ai une question sur le mode debug.

Je sait pas d'où tu sort ton "plugin arduino" mais ya pas besoin de ça.
Regarde sur le sous-forum "tutoriels et cours" tu as un tutoriel pour compiler le core Arduino classique (pas Due, mais c'est la même démarche) avec AVR Studio.

Touf2638:
On peut mettre un "espion" qui renvoit la valeur d'une variable et je voulais savoir comment il faisait cela.
Integre il automatiquement un Serialprint dans le code chaque fois que je mets un "espion" ?

Les espions sont utilisables uniquement en simulation ou en debug avec une sonde JTAG/SWD hardware.
Si tu veut mettre des Serial.println("blabla"); c'est à toi de les écrire à la main :wink:

Touf2638:
Si je veux faire du vrai debug avec point d'arret, j'achete une sonde JTAG et je peux l'utiliser dans cet environnement ?

Encore heureux que les sondes ATMEL fonctionnent avec l'ide d'ATMEL :grin:
Attention quand même à la sonde en question, l'AVR Dragon ne supporte pas les processeurs SAM3/4/5 par exemple.
Je sait plus combien coute la sonde SAM-ICE de ATMEL mais ça doit piquer.

Touf2638:
(Seulement pour la due car sur les autres pas de connecteur à première vue !?)

Les autres cartes plus "classiques" sont elles aussi débuggable avec une sonde "SWD" qui utilise la broche RESET.

Je sait pas d'où tu sort ton "plugin arduino" mais ya pas besoin de ça.

Le "plugin arduino" appelé "Micro Ide arduino pour AVR" c'est proposé par AVR Studio dans extension manager.
C'est lui qui permet de mettre des espions comme j'ai décrit mais je vois pas comment ca marche d'où ma question.
Tu n'as pas ca au demarrage de AVR studio ?

Encore heureux que les sondes ATMEL fonctionnent avec l'ide d'ATMEL

C'est pas faux :disappointed_relieved: question stupide !!!

Pour les sondes ca veut dire qu'il en faut une pour avr et une pour arm ?
Ce genre de sonde genre SAM-Ice ca permet aussi de programmer ou c'est juste une debug ?

Bjr Touf2638,
La version téléchargeable d'AVR studio sur le site d'Atmel est elle complète ?
ou est ce une version d'éval ?
Merci

ThierryG:
Bjr Touf2638,
La version téléchargeable d'AVR studio sur le site d'Atmel est elle complète ?
ou est ce une version d'éval ?
Merci

C'est un outil gratuit, comme indiqué sur la page du produit: http://www.atmel.com/microsite/atmel_studio6/

J'utilise Atmel Studio pour mes projets un peu complexes.
Pour le reste et les divers essais j'utilise encore un peu l'IDE Arduino.

OK merci,
Par contre j'ai trouvé ca (Sourcery CodeBench Lite Edition) qui est, comme son nom l'indique, une version lite de Sourcery. Avez vous un lien vers la version FULL ?
SVP
Merci

Si j'ai bien vu elle est payante:

Academic Edition

  • Personal Edition Features*
  • For qualified academic faculty and students*
    Personal Edition
  • Command line tools and Eclipse Based IDE*
  • Small footprint high performance library (CSLIB)*
  • 30 days support*
    Priced from $99/user
    Standard Edition
  • Debuggable run-time libraries*
  • Optimized run-time libraries*
  • Support (one business day)*
    Priced from $1,000/user
    Professional Edition
  • Trace-based performance analysis*
  • Simulator (QEMU-based)*
  • Support (priority response)*
    Priced from $3,000/user

Les autres cartes plus "classiques" sont elles aussi débuggable avec une sonde "SWD" qui utilise la broche RESET.

T'aurais un lien avec plus d'infos sur ça car je trouve pas grand chose.

Sinon j'ai maintenant une SAM-ICE qui marche très bien (programmation et debug avec point d'arret, watch etc...) sur la Due sauf que quand je la deconnecte le programme tourne plus mais ca c'est un manque de connaissance de l'environnement que je suis en train de résoudre :wink:

Touf2638:
Le "plugin arduino" appelé "Micro Ide arduino pour AVR" c'est proposé par AVR Studio dans extension manager.
C'est lui qui permet de mettre des espions comme j'ai décrit mais je vois pas comment ca marche d'où ma question.
Tu n'as pas ca au demarrage de AVR studio ?

Moi j'utilise pas ce truc, j'ai l'ide de base et ça marche très bien.
Faut juste pas oublier les #include qui vont bien en début de fichier.

Touf2638:
Pour les sondes ca veut dire qu'il en faut une pour avr et une pour arm ?
Ce genre de sonde genre SAM-Ice ca permet aussi de programmer ou c'est juste une debug ?

Ça dépend de la sonde.
L'AVR Dragon c'est uniquement pour les ATtiny, ATmega, certains ATXmega et les AVR32.
La sonde SAM-Ice comme sont nom l'indique c'est uniquement pour les SAMx (processeurs ARM).
Dans les deux cas ces sondes permettent de faire de la programmation ET du debug sur les processeurs compatibles.

Touf2638:
T'aurais un lien avec plus d'infos sur ça car je trouve pas grand chose.

Faut virer un condensateur câblé sur la broche RESET, aprés suffit de brancher une sonde AVR Dragon sur RESET et GND.
(mais faut avant activer le debug "SWD" via le port ICSP, c'est tout un bordel)
J'ai pas de lien sous le bras tout de suite, mais en cherchant sur AVRfreaks (la bible de l'AVR) tu devrais trouver de la doc (pas forcément orienté arduino, mais sur le SWD).

Touf2638:
Sinon j'ai maintenant une SAM-ICE qui marche très bien (programmation et debug avec point d'arret, watch etc...) sur la Due sauf que quand je la deconnecte le programme tourne plus mais ca c'est un manque de connaissance de l'environnement que je suis en train de résoudre :wink:

Quand t'est en mode debug le code continu de tourner que si il est en mode "run" sans point d’arrêt (de mémoire), sinon dés que tu débranches la sonde tout s’arrête.
Si tu veut rendre ton programme "résident" (= version "de production") il suffit de passer en mode "release" dans le menu en haut de l'ide :wink:

Quelqu'un a essayé ca ?
Ca semble bien abouti.

ThierryG:
Quelqu'un a essayé ca ?
Ca semble bien abouti.

Je vois pas vraiment de différence par rapport à un IDE style CoIDE de Coocox qui fait la même chose avec les même outils ...