Go Down

Topic: [Résolu] Intégration du langage Arduino dans AVR Studio 5 (Read 26 times) previous topic - next topic

skywodd


As-tu progressé dans tes propres modifications ?

Pour le moment je bloque sur un probléme de linker, les .h sont trouvé et utilisé mais le core.a ne veut pas s'inclure :smiley-yell:
Je vais tenter de compiler le core arduino en librairie statique "peut être que" ...
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Jean-Marie

Hello Skywodd,

Dans ma rédaction du résumé, j'essaye de rationaliser un peu en rassemblant tous les fichiers nécessaires en un endroit indépendant des répertoires d'Arduino.

Pour l'occasion, j'ai recréé également un nouveau projet. Or je viens de passer plus de 24 h sur le même problème que toi : j'avais oublié de renommer core.a en libcore.a

Vérifie un peu que tu ne buttes pas sur le même obstacle.
Amicalement, Jean-Marie

Jean-Marie

#27
Dec 09, 2011, 11:30 pm Last Edit: Dec 10, 2011, 12:10 am by Jean-Marie Reason: 1
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




Amicalement, Jean-Marie

Jean-Marie

Attention, la procédure et le pdf ont été corrigé à minuit 10 minutes car il manquait la ligne suivante:
•   Dans Studio, ajouter "#include <WProgram.h>" au-dessus de void setup()

Veuillez vérifier que vous avez cette ligne.
Amicalement, Jean-Marie

Jean-Marie

Amicalement, Jean-Marie

Go Up