Loading...
Pages: [1] 2   Go Down
Author Topic: eclipse avrdude et mega pas cool  (Read 497 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ben voila, je vais prendre une mega, j'installe eclipse et tout le toutim et bien entendu la carte mega à 16khz n'est pas supporté par avrdude...

quelqu'un a reussis a configurer eclispse avec ?

sinon résolu a coder dans eclipse et compiler avec l'ide arduino...
Logged

France S-O ou exil en IDF
Offline Offline
Edison Member
*
Karma: 12
Posts: 1062
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
bien entendu la carte mega à 16khz n'est pas supporté par avrdude...

Il aurait mieux valu écrire "je n'ai pas trouvé la référence au micro de la carte Mega", car l'Atmega2560 est bien supporté et à la fréquence  désirée.
Ce n'est pas bon de s'agacer cela fait écrire des bétises.

Ce qu'il faut bien comprendre c'est que l'éco-système arduino n'a stictement rien de professionnel et n'est pas reconnu en tant que tel dans les IDE de rang professionnel. De toute façon ces IDE ne connaissent que les micro-controleurs, il n'y a aucune raison qu'ils connaissent les produits finis à base de ces micros.
Ce que je viens d'écrire n'est en rien méprisant : l'IDE processing/wiring/arduino etc a le mérite de permettre, à des néophytes dans le domaine des micro-controleurs, de débuter sans se heurter à des murs. Mais elle à les inconvénients de ses avantages elle est très rudimentaire.

Donc si tu veux utiliser Eclipse il faut installer Eclipse-cdt pour programmer en C/C++ et le plugin avr téléchargeable sur sourceforge.

Ensuite pour avoir des fichiers *.hex les plus petits possible il faut :
- supprimer toutes les informations de débogage, au moins en mode release.
- ajouter aux compilateurs C et C++ les options "-ffunction-sections" et "-fdata-sections"
- ajouter au linker l'option "-Wl,--gc-sections"
Contrairement a ce que j'ai toujours lu il ne faut pas se contenter de passer l'option "-Wl,--gc-sections" avec celle des compilateurs il faut absolument la mettre dans la partie linker.

Si tu veux utiliser les bibliothèques arduino tu auras tout intérêt  a te créer une bibliothèque statique.
Pour le fichier main.cpp un squelette avec les ordres qui vont bien est présent dans le répertoire de l'IDE arduino qui contient les fichier *.h , *.c, *.cpp

Quelques liens qui m'ont aidés:
http://www.arrizza.com/cgi-bin/pub?CreateArduinoStaticLibrary
http://www.arrizza.com/cgi-bin/pub?CreateArduinoGenericProject
http://www.arrizza.com/cgi-bin/pub?CreateArduinoLedBlink

Attention les exemples sont pour des versions de bibliothèque arduino précédent la 1.0 .
A partir de la version 1.0 changer #include "WProgram.h" par #include "Arduino.h"
« Last Edit: January 17, 2013, 05:28:58 pm by 68tjs » Logged

Aides toi et la communauté t'aidera

Offline Offline
Full Member
***
Karma: 0
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

merci de ta réponse mais tout cela est déjà fait...

et c'est bien en configurant l'avr et donc en choisissant  le mcu type atmega2560 et en réglant la frequence de l'horloge a 16khz que le message "this mcu is not supported by avrdude" apparait bloquant toute compilation pour cette carte...
la 2560 ne semble pas supportée, alors que par exemple la uno elle semble passer a en lire certains post.

et t'inquiete j'ai bien compris que l'arduino n'avait rien d'une programmation au sommet mais comme tu le dis cela de rentrer plus facilement dans "l'électronique".
« Last Edit: January 18, 2013, 03:00:50 am by fred133084 » Logged

France S-O ou exil en IDF
Offline Offline
Edison Member
*
Karma: 12
Posts: 1062
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je n'ai pas de 2560 mais je confirme que le 328p passe bien.

A tu vérifié que tu as bien la dernière version d'avrdude ?
Parce que l'IDE Arduino utilise avrdude c'est donc que le micro est supporté.
Si tu as lu la doc technique d'avrdude tu as pu constater que le 2560 est dans la liste des micro supportés.

Un point dont je ne m'étais pas rendu compte : tu parle d'une horloge à 16kHz.

C'est bien une erreur de frappe et tu voulais écrire 16MHz parce qu'effectivement je ne suis pas sûr que le 2560 fonctionne à 16 kHz
Logged

Aides toi et la communauté t'aidera

France
Online Online
Faraday Member
**
Karma: 36
Posts: 4336
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je sait pas d'où tu sort ta version d'avrdude mais elle doit être sacrément vieille !
L'atmega2560 est bien supporté par avrdude (et utilise le protocole STK500v2 pour être précis).
Du reste l'ide arduino ne pourrait pas fonctionner avec l'arduino mega2560 si ce n'était pas le cas.

Quote
(...)
m2561 = ATMEGA2561      [c:\MHVAVRTools\bin\avrdude.conf:11822]
m2560 = ATMEGA2560      [c:\MHVAVRTools\bin\avrdude.conf:11629]
m1281 = ATMEGA1281      [c:\MHVAVRTools\bin\avrdude.conf:11441]
m1280 = ATMEGA1280      [c:\MHVAVRTools\bin\avrdude.conf:11252]
m640 = ATMEGA640       [c:\MHVAVRTools\bin\avrdude.conf:11064]
(...)
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Full Member
***
Karma: 0
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

je vous ferais une capture écran c'est le mieux !

entre temps j'ai trouve un plugin "arduino" et la tout semble bien mieux passer !

je vous ferais un retour.
Logged

France S-O ou exil en IDF
Offline Offline
Edison Member
*
Karma: 12
Posts: 1062
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui mais avec un plugin "Arduino" qui est une oeuvre individuelle tu es dépendant de l'auteur.
Tant qu'il s'en occupe c'est bien mais souvent les aléas de la vie (mariage, arrivée des enfants, etc ) font que si le projet n'est pas OpenSource et soutenu par une équipe capable de prendre le relais l'impasse est en vue en cas d'évolution des bibliothèques Arduino.

Alors que simplement en configurant Eclipse soi même : en fait on fait à la main ce que le plugin fait en automatique, on reste maître et indépendant.
Logged

Aides toi et la communauté t'aidera

Offline Offline
Full Member
***
Karma: 0
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

salut a tous, voici donc le message que j'ai, j'en suis a ma quatrieme installation...
donc je tente une fois de plus (je désespère pas) : http://www.arrizza.com/cgi-bin/pub?ArduinoHowTo  à suivre



pour info : W7 64 bits, eclipse juno, avr plug in (derniere version : http://avr-eclipse.sourceforge.net/updatesite), avr (http://sourceforge.net/projects/winavr/files/latest/download) ...
« Last Edit: January 24, 2013, 07:52:28 am by fred133084 » Logged

France
Online Online
Faraday Member
**
Karma: 36
Posts: 4336
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

À mon avis c'est le plugin eclipseAVR qui n'est pas à jour ...

Pour coder sur AVR avec eclipse j'utilise pas de plugin personnellement ...
J'ai juste Eclipse Juno version CDT (pour C/C++) de base.

Pour faire un code AVR il suffit de faire :
- projet d'exécutable "cross gcc" -> configuration du prefix "avr-" et du path, ajout des flags de compilation dans les propriétés du GCC/G++ et de LD et pour avrdude il suffit de faire un script "post-build".
- ou sinon plus simple (c'est ce que je fait) : un bête projet avec makefile "fait main", ça marche que tu fasse du code pour AVR, MSP430, ARM, x86 ou n'importe quoi d'autre.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Full Member
***
Karma: 0
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ben il te reste juste a faire un article sur ton site  smiley-twist
Logged

France S-O ou exil en IDF
Offline Offline
Edison Member
*
Karma: 12
Posts: 1062
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ce n'est pas un problème Eclipse ou de plugin à jour ou pas.
De toute façon il provient de chez sourceforge donc c'est la dernière version !

Le message le dit clairement c'est un problème avrdude seulement.
Ou plutôt un problème d'avrdude.conf puisque c'est dans ce fichier que l'on peut ajouter des nouveaux microcontroleur.

D'où provient cet avrdude ?

Pour moi le mieux c'est de télécharger la dernière mouture de l'IDE (1.03, pas la 1.5 qui est encore expérimentale) et tu aura la version d'avrdude (et avrdude.conf) qui sera garantie fonctionnelle avec le 2560 puisque c'est celle là que l'IDE arduino utilise.
Logged

Aides toi et la communauté t'aidera

France
Online Online
Faraday Member
**
Karma: 36
Posts: 4336
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ben il te reste juste a faire un article sur ton site  smiley-twist
Pourquoi pas ... j'ai d'autre truc de prévu pour le moment mais si j'ai le temps ça pourrai être une idée d'article sympa smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Full Member
***
Karma: 0
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

\arduino-1.0.3\hardware\

je suis bien en 1.0.3  smiley-cry
 serais ce la version 64 bits ? je crois avoir lu a un moment un article parlant d'un probleme en 64 bits ...
Logged

France S-O ou exil en IDF
Offline Offline
Edison Member
*
Karma: 12
Posts: 1062
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Peut-être ?
Je suis aussi en 64 bits mais avec Linux  smiley-mr-green
Logged

Aides toi et la communauté t'aidera

Offline Offline
Full Member
***
Karma: 0
Posts: 142
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bahhh j'ai que des os win

je teste sur une autre machine ... ben c'est pas mieux, j'ai aussi testé en 32 bit pareil... brr

je vais y arriver je vais y arriver !!!  (ou pas)

java.lang.NullPointerException
   at de.innot.avreclipse.ui.preferences.AVRDudeConfigEditor.addProgrammersComposite(AVRDudeConfigEditor.java:332)
   at de.innot.avreclipse.ui.preferences.AVRDudeConfigEditor.createDialogArea(AVRDudeConfigEditor.java:162)
   at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:760)
   at org.eclipse.jface.window.Window.create(Window.java:431)
   at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
   at org.eclipse.jface.dialogs.StatusDialog.create(StatusDialog.java:203)
   at org.eclipse.jface.window.Window.open(Window.java:790)
   at de.innot.avreclipse.ui.preferences.ProgConfigListFieldEditor.editButtonAction(ProgConfigListFieldEditor.java:465)
   at de.innot.avreclipse.ui.preferences.ProgConfigListFieldEditor.access$7(ProgConfigListFieldEditor.java:429)
   at de.innot.avreclipse.ui.preferences.ProgConfigListFieldEditor$4.widgetSelected(ProgConfigListFieldEditor.java:371)
   at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
   at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
   at org.eclipse.jface.window.Window.open(Window.java:801)
   at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:215)
   at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:65)
   at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
   at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
   at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
   at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
   at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1029)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
   at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:923)
   at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
   at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
Logged

Pages: [1] 2   Go Up
Print
 
Jump to: