Ah oui là ce n'est plus la solution facile c'est sur... Je te remercie pour l'aide que tu m'as apporter
J'avais déjà essayer de suivre ce tutoriel il y a 6 mois mais j'avais des erreurs lors de la compilation. Cependant je viens de refaire tout le tutoriel et voici l'erreur que j'obtiens:
Pour l'erreur sur pins_arduino.h c'est parce que tu n'a pas importé le fichier qui se trouve sous le répertoire "variants" de l'IDE.
L'autre erreur je ne sais pas.
Pour les tutos j'ai aussi le lien suivant:
et les sous liens dans le paragraphe "Some common activities"
Je suis retourné a ma configuration d'eclipse, après avoir revérifier tout les paramètres entre les différents site que vous m'avez donnés et après avoir inséré pin_arduino.h voici l'erreur que j'ai:
Je voulais savoir si je l'avais bien inséré et au bonne endroit. Sinon, est-ce que cela est normal que d'un site sur l'autre, les configuration ne sont pas les même?
Sauf que le pin_arduino ne s'insère pas quand je fais toutes ces étapes donc je doit le copié/coller
pour le pin_arduino il me dise bien de le copié non?
Copy the contents of the Arduino IDE's hardware/cores/arduino directory into this "src" folder. If you are using Arduino >1.0, you also need to copy the pins_arduino.h file out of the folder that matches your target under hardware/arduino/variants/.
donc si c'est fait, si tu ouvres ton dossier "includes", tu vas y trouver tes différents "path" et dedans tu vas y trouvers tous les fichiers que tu as mis manuellement a la racine de ton projet. non ?
Bon j'avance petit à petit, j'ai refais plusieurs fois les configurations avec plusieurs site différents et j'arrive a compiler la librairie sans erreur. Maintenant lors de la compilation du projet, eclipse ne peut pas créer de fichier .elf et je ne sais pas du tout d’où viens le problème. Voir la photo ci-dessous
grâce à ce site, Using Eclipse with Arduino Duemilanove - Chipkin Automation Systems on peut télécharger le dossier du projet blinky, et je constate que la seul différence que j'ai par rapport à mon fichier est la librairie. Moi je ne l'ai pas malgré que j'ai configurer plusieurs fois de façon différentes.
De plus, lorsque je met le programme dans mon main.cpp, il me dit qu'il connait aucune fonction (voir photo)
make all
Building target: Blinky.elf
Invoking: AVR C++ Linker
avr-gcc –cref -s -Os -o"Blinky.elf" ./test.o -lArduinoCore -lm -Wl,-Map,Blinky.map,--cref -s -nostdlib -L"C:\arduino-1.0.3\hardware\arduino\cores\arduino" -mmcu=atmega2560
avr-gcc.exe: –cref: No such file or directory
make: *** [Blinky.elf] Error 1
Je te remercie, mais ça ne m'aide pas vraiment, les erreurs qu'ils disent de corriger son déjà résolu dans les fichier que j'ai.
Quand je met mon main.cpp voici l'erreur que j'ai.
12:04:17 **** Incremental Build of configuration Release for project Blinky ****
make all
Building target: Blinky.elf
Invoking: AVR C++ Linker
avr-gcc --cref -s -Os -o"Blinky.elf" ./main.o -lm -Wl,-Map,Blinky.map,--cref -L"C:\arduino-1.0.3\hardware\arduino\cores\arduino" -mmcu=atmega2560
./main.o: In function loop': main.cpp:(.text+0x6): undefined reference to digitalWrite'
main.cpp:(.text+0x12): undefined reference to delay' main.cpp:(.text+0x1c): undefined reference to digitalWrite'
main.cpp:(.text+0x28): undefined reference to delay' ./main.o: In function setup':
main.cpp:(.text+0x34): undefined reference to pinMode' ./main.o: In function main':
main.cpp:(.text+0x3a): undefined reference to `init'
make: *** [Blinky.elf] Error 1
12:04:17 Build Finished (took 609ms)
Et voici le code:
#include <Arduino.h>
int ledPin = 12; // LED connected to digital pin 13
// The setup() method runs once, when the sketch starts
void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop()
{
digitalWrite(ledPin, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // set the LED off
delay(1000); // wait for a second
}
int main(void) {
/* Must call init for arduino to work properly */
init();
setup();
for (;;) {
loop();
} // end for
} // end main
Je te remercie d'avance pour l'aide que tu pourra m'apporter
Manifestement il ne trouve pas ce qu'il cherche.
La bonne méthode :
En premier faire une bibliothèque statique avec le core arduino. Cela se fait une seule fois mais il en faut une par modèle de micro-controleur.
Cela ne sert à rien de faire comme l'IDE qui refait la bibliothèque a chaque compilation (il parait que cela doit changer......un jour)
Ensuite faire classiquement un projet et indiquer au linker où il doit aller chercher la bibliothèque précédement constituée.