====== Développer pour Arduino sous Eclipse ====== Paramétrage et configuration de l'EDI Eclipse pour développement (cross compilation) sur plateforme Arduino. ===== Installer IDE Arduino ===== L'IDE Arduino inclus les outils et les fichiers headers qui seront utilisés par la suite par l'IDE Eclipse. Recuperer l'archive et decompresser l'IDE Arduino. Dans mon cas l'IDe Arduino est installer au noeud: **''/opt/arduino-1.0.1/''** ===== Installer Eclipse ===== Récupérer la version Juno pour dev C/C++ Remarque: Ici pas de dev Java, Le JRE sera nécessaire pas le JDK. Sous ubuntu, l'EDI Eclipse peut être installé via le gestionnaire de paquets $ sudo apt-get install eclipse-cdt ==== Installer/configurer AVR Plugin ===== === Installer le plugin Eclipse AVR plugin === Menu Help --> install New Software...\\ Dans le champ texte "Work with" mentionner http://avr-eclipse.sourceforge.net/updatesite cliquer sur Add et donner un nom a la nouvelle entrée (AVR plugin). La zone des Plugins disponibles est mise a jour. Sélectionner l'item AVR Eclipse plugin et cliquer sur Next === Configurer AVR Plugin === Menu Windows --> Préférences...\\ Dans l'arborescence du panneau gauche, Déployer AVR-> Paths\\ Activer l'option ''Disable search for system path at starup''\\ Renseigner les chemins nécessaires au fonctionnement du plugin: ^ champ ^ role ^ chemin | | AVR-GCC | compilateur | [IdeArduinoRoot]/hardware/tools/avr/bin | | GNU-Make| outil aide compilation| /usr/bin | | AVR header files| fichiers de déclaration C/C++ | /hardware/tools/avr/lib/avr/include | ==== Création de la bibliothèque ArduinoCore ==== Cette bibliothèque intégrera les déclarations et fonctions spécifiques à la plateforme Arduino, elle sera incluse dans tous les projets. Menu File --> New --> C++ Project. Dans le fenêtre nouveau projet, section Project type sélectionner ''AVR Cross Target Static Library''. Saisir le nom du projet: ArduinoUnoCore et cliquer sur Next. Cette bibliothèque contiendra le code stable distribué dans l'IDE Arduino, la case debug peut être décochée. cliquer sur Next. La fenêtre suivante permet de définir le processeur cible par défaut. Les valeurs renseignées ici pourront être redéfinies dans les paramètres du projet. Ces paramètres liés au matériel seront différents selon la carte utilisée. Pour l'Arduino Uno SMD edition: ^ MCU Type | ATMega 328P| ^ MCU Frequency (Hz)| 16000000 | Les informations matérielles sur les différentes plateformes Arduino sont disponibles à l'adresse http://arduino.cc/en/Main/Products?from=Main.Hardware Après validation le projet est ouvert. Nous avons à présent un projet de bibliothèque vide, on importe les fichiers distribués dans l'IDE Arduino. Clic droit sur le projet ArduinoUnoCore dans le menu contextuel sélectionner l'option **Properties**. Dans l'arborescence, déployer la feuille C/C++ build >> Settings. Dans le panneau droit, onglet **Tools settings**, sélectionner la feuille **AVR Compiler--> Directories**. - Ajouter le chemin vers les headers de la plateforme Arduino présents dans l'IDE Arduino ''**/opt/arduino-1.0.1/hardware/arduino/cores/arduino**''. Remarque: Si l'IDE Arduino est installé via le gestionnaire de paquet de la distribution Ubuntu utiliser le chemin suivant: ''**/usr/share/arduino/hardware/arduino/cores/arduino**''. - Ajouter le chemin vers le header de déclaration des entrées/sorties propres au micro-contrôleur disponible dans un des sous-répertoires de /opt/arduino-1.0.1/hardware/arduino/variants. Pour l'arduino Uno ''/opt/arduino-1.0.1/hardware/arduino/variants/standard'' Faire de même pour la section AVR C++ Compiler Clic droit sur le projet ArduinoUnoCore sélectionner l'option **Import**.\\ Dans la fenêtre Importation sélectionner **General --> File System**.\\ Sélectionner tous les fichiers sous /opt/arduino-1.0.1/hardware/arduino/cores/arduino, dé-sélectionner seulement main.cpp\\ Cliquer sur le bouton avancé et sélectionner l'option **Create links in workspace**. De cette manière, en cas de mise a jour de l'IDE Arduino la biliothèque sera automatiquement à jour. Menu Project -> build project ===== Références ===== * http://horrorcoding.altervista.org/arduino-development-with-eclipse-a-step-by-step-tutorial-to-the-basic-setup/