[Résolu] Intégration du langage Arduino dans AVR Studio 5

J'ai terminé le résumé de ce qu'il faut faire pour intégrer l'Arduino dans l'environnement de développement AVR Studio5.
Je n'ai pas résisté à l'envie d'appeler cette intégration AVR_Studuino

Cela peut paraître compliqué, mais c'est essentiellement dû au fait que j'ai tenté de détailler les divers points de manière précise.

En gros, la méthode consiste à rassembler le "core" Arduino et les librairies en un endroit et à inclure cet endroit dans les répertoires de Studio, de manière à ce que Studio se serve du core Arduino pour compiler le programme. Ensuite, on ajoute avrdude à Studio comme outil externe pour le flashage du fichier hex produit.

Voici l'ensemble de la procédure à suivre:


AVR_Studuino


Arduino intégré dans AVR Studio 5

Installation de AVR Studio 5
• Télécharger AVR Studio5 as5installer-full-5.0.1223 ici : http://www.atmel.com/dyn/products/tools_card.asp?tool_id=17212
• Installer AVR Studio 5 et l’ouvrir
• Installer AVRGCC C++: Menu Tools --> Extension Manager --> Online Gallery --> AVRGCC C++(Beta)
• Installer Terminal Window: Menu Tools --> Extension Manager --> Online Gallery --> Terminal Window

Création d’un nouveau projet:
• Start Page --> New Project --> C++ --> C++ Executable Project
• Name: Blink
• Location: …....\Mes documents\AVRStudio (remplacer les …... par ce qui convient)
• Solution name: Blink
• --> OK
• Device Selection: choisir votre Atmega
• --> OK

Copie des fichiers Arduino
• Dans Windows, créer le répertoire AVR_Studuino : ….…\Mes documents\AVRStudio\AVR_Studuino
• Copier dans AVR_Studuino tous les fichiers du répertoire C:\Program Files\arduino-0022\hardware\arduino\cores\arduino
• Copier dans AVR_Studuino le répertoire entier C:\Program Files\arduino-0022\libraries
• Ouvrir l’IDE Arduino et charger le sketch « Blink »
• Copier le sketch et le coller à la place du programme par défaut de Studio
• Dans Studio, ajouter "#include <WProgram.h>" au-dessus de void setup()
• Dans l'IDE Arduino, compiler le sketch Blink. Laisser l'IDE ouverte
• Aller dans le répertoire C:\Documents and Settings\Jeannot\Local Settings\Temp\build……………...tmp
• Copier le fichier « core.a » dans le répertoire AVR_Stduino et le renommer « libcore.a »
• Copier C:\Program Files\arduino-0022\hardware\tools\avr\bin\avrdude.exe dans ….…\Mes documents\AVRStudio\AVR_Studuino
• Copier C:\Program Files\arduino-0022\hardware\tools\avr\etc\avrdude.conf dans ….…\Mes documents\AVRStudio\AVR_Studuino

Inclusion dans Studio des chemins d’accès à ces répertoires
• Studio : menu Project --> Properties --> onglet Toolchain --> AVR/GNU C++ Compiler --> Directories --> bouton Include
• Dans la fenêtre “Add Include Paths“, introduire le répertoire ….…\Mes documents\AVRStudio\AVR_Studuino et décocher la case « Relative Path »
• Introduire également les répertoires des librairies à utiliser dans ce projet. Exemple : ……\Mes documents\AVRStudio\AVR_Studuino\libraries\Wire

Modification du fichier « makefile »
• Menu Project --> Properties --> onglet Toolchain --> AVR/GNU C++ Linker --> Miscellaneous
• Ecrire dans la fenêtre les paramètres suivant : -Wl,-lcore -Wl,-L"……..\Mes documents\ AVRStudio\AVR_Studuino"
• Menu général Build --> Build Blink
• Ouvrir le fichier ……..\Mes documents\AVRStudio\Blink\Blink\Debug\Makefile avec Notepad. Ne pas cocher « Retour automatique à la ligne
• Dans Notepad, menu Edition --> Rechercher. Introduire dans la fenêtre WL
• Déplacer la séquence -Wl,-lcore -Wl,-L"……..\Mes documents\ AVRStudio\AVR_Studuino" à la fin de la ligne
• Sauvegarder le fichier Makefile et fermer Notepad
• Dans Studio, menu Project --> Properties --> onglet Build
• Cocher la case “Use External Makefile” et entrer le chemin d’accès à Makefile : ……..\Mes documents\AVRStudio\Blink\Blink\Debug\Makefile

Vérification que la compilation se fait sans erreur
• Menu général Build --> Build Blink
• En cas d’erreur, vérifier méticuleusement tous les points ci-dessus avant de continuer

Intégration de la commande d’upload
• Menu Tools --> External Tools
• Title : Upload Arduino (peut être modifié)
• Command : ……….\Mes documents\AVRStudio\AVR_Studuino\avrdude.exe
• Arguments : -C "………….\Mes documents\AVRStudio\AVR_Studuino\avrdude.conf" -v -v -p atmega328p -c stk500v1 -P COM3 -b 57600 -U flash:w:"$(ProjectDir)Debug$(ItemFileName).hex":i
• Attention d’adapter –p atmega328p au microcontrôleur utilisé
• Ne pas cocher « Use Output window »
• Cocher “Prompt for arguments”
• Ne pas cocher “Close on exit”
• Cliquer « OK »

Vérification que l’upload se fait correctement
• Menu Tools --> Upload Arduino
• Possibilité de modifier les paramètres d’avrdude
• Cliquer « OK »
• Une fenêtre DOS s’ouvre et montre le travail d’avrdude


Ci-dessous l'ensemble de la procédure sous forme de pdf

Studuino.pdf (30.4 KB)