Outils pour utilisateurs

Outils du site


computing:embedded:creation_d_un_projet_c_pour_les_avr

Différences

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

computing:embedded:creation_d_un_projet_c_pour_les_avr [2014/10/29 11:23]
ldo
computing:embedded:creation_d_un_projet_c_pour_les_avr [2014/10/30 10:29] (Version actuelle)
ldo [Programmation AVR]
Ligne 1: Ligne 1:
 Cet article va présenter comment créer un projet C pour les AVR sous Eclipse. Cet article va présenter comment créer un projet C pour les AVR sous Eclipse.
  
-=== Création du projet ===+==== Création du projet ​====
 Pour commencer, nous allons créer un projet C. Pour commencer, nous allons créer un projet C.
 File -> New -> C Project File -> New -> C Project
- +\\ Ensuite, il faut nommer ce projet et sélectionner ​**AVR Cross Target Application** -> Empty Project. Cliquer ensuite sur Next.
-Ensuite, il faut nommer ce projet et sélectionner AVR Cross Target Application -> Empty Project. Cliquer ensuite sur Next.+
 {{:​computing:​embedded:​create_c_avr_project.png?​400|C Project}} {{:​computing:​embedded:​create_c_avr_project.png?​400|C Project}}
  
Ligne 15: Ligne 14:
 === Sélection de l'AVR === === Sélection de l'AVR ===
 Il faut choisir le microcontrôleur et la valeur de l'​horloge. Il faut choisir le microcontrôleur et la valeur de l'​horloge.
-Par exemple, pour une ARDUINO UNO, il faut choisir un ATMEGA328P et indiquer 16000000 pour la fréquence.+\\ Par exemple, pour une ARDUINO UNO, il faut choisir un ATMEGA328P et indiquer 16000000 pour la fréquence.
 Pour une ARDUINO MEGA, le microcontroleur est un ATMEGA2560 et la fréquence du quartz est de 16000000. Pour une ARDUINO MEGA, le microcontroleur est un ATMEGA2560 et la fréquence du quartz est de 16000000.
  
Ligne 22: Ligne 21:
 Cliquer sur Finish et le projet est créé. Cliquer sur Finish et le projet est créé.
  
-=== Création de répertoires ===+==== Création de répertoires ​====
  
-== Création du répertoire source == +=== Création du répertoire source ​=== 
-Pour plus la clarté, nous allons créer un répertoire src qui va contenir tous les fichiers .c du projet. +Pour plus de clarté, nous allons créer un répertoire src qui va contenir tous les fichiers .c du projet. 
-// File -> New -> Source Folder (ou clic gauche sur le projet puis New -> Source Folder) +\\ File -> New -> Source Folder (ou clic gauche sur le projet puis New -> Source Folder) 
-// Indiquer le nom du projet et le nom du répertoire (src) puis valider.+\\ Indiquer le nom du projet et le nom du répertoire (src) puis valider.
  
-== Création du répertoire include ==+Maintenant que le répertoire src est créé, nous pouvons créer les fichiers .c : 
 +\\ New -> Source File 
 + 
 +=== Création du répertoire include ​===
 Nous allons maintenant créer un répertoire include qui va contenir tous les fichiers .h du projet. Nous allons maintenant créer un répertoire include qui va contenir tous les fichiers .h du projet.
-// File -> New -> Folder +\\ File -> New -> Folder 
-// Indiquer le nom du projet et le nom du répertoire (src) puis valider.+\\ Indiquer le nom du projet et le nom du répertoire (src) puis valider.
  
-== Variable d’environnement Path ==+Maintenant que le répertoire include est créé, nous pouvons créer les fichiers headers : 
 +\\ New -> Header File 
 + 
 +=== Variable d’environnement Path ===
 Il faut maintenant indiquer au projet où aller chercher les fichiers .c et .h. Pour les fichiers .c, cela est fait automatiquement à la création du répertoire source. Pour le répertoire include, il faut l'​ajouter à la variable d'​environnement Path : Il faut maintenant indiquer au projet où aller chercher les fichiers .c et .h. Pour les fichiers .c, cela est fait automatiquement à la création du répertoire source. Pour le répertoire include, il faut l'​ajouter à la variable d'​environnement Path :
-Properties -> C/C++ General -> Paths and Symbols +\\ Properties -> C/C++ General -> Paths and Symbols 
-// Dans l'​onglet Includes : Cliquer sur Add... puis sur Workspace, sélectionner le projet -> include +\\ Dans l'​onglet Includes : Cliquer sur Add... puis sur Workspace, sélectionner le projet -> include 
-puis valider tout.+\\ puis valider tout. 
 {{:​computing:​embedded:​paths_and_symbols.png?​400|}} {{:​computing:​embedded:​paths_and_symbols.png?​400|}}
 +
 +=== Création d'une librairie ===
 +Il est également possible de créer des librairies. La procédure est quasiment identique à celle de la création d'un projet.
 +\\ File -> New -> C Project
 +\\ Ensuite , il faut nommer la librairie.
 +Comme nous voulons créer une librairie, il faut sélectionner **AVR Cross Target Static Library** -> Empty Project.
 +\\ Cliquer ensuite sur Next.
 +
 +{{:​computing:​embedded:​avr_library_project.png?​300|}}
 +
 +La suite est identique à la procédure de création d'un projet.
 +\\ Sélectionner Debug et Release et cliquer sur Next.
 +\\ Choisir le microcontrôleur et la valeur de l'​horloge.
 +\\ Cliquer sur Finish et la librairie est créée.
 +
 +==== Inclusion d'une librairie dans un projet ====
 +Nous allons maintenant expliquer comment inclure une librairie dans un projet.
 +
 +=== Exemple ===
 +Nous avons créer une librairie test_library avec deux fichiers lib_a.c et lib_a.h. ​
 +
 +<code c>
 +/*
 + * lib_a.c
 + */
 +
 +void
 +function_lib_a(void)
 +{
 +
 +}
 +</​code>​
 +
 +<code c>
 +/*
 + * lib_a.h
 + */
 +
 +#ifndef LIB_A_H_
 +#define LIB_A_H_
 +
 +void
 +function_lib_a(void);​
 +
 +#endif /* LIB_A_H_ */
 +</​code>​
 +
 +Notre projet test a besoin de cette librairie, il faut donc inclure lib_a.h :
 +<code c>
 +/*
 + * main.c
 + */
 +
 +#include <​lib_a.h>​
 +
 +int
 +main (void)
 +{
 +  function_lib_a ();
 +
 +  return 1;
 +}
 +</​code>​
 +
 +=== Ajout de la librairie ===
 +Pour que le makefile trouve cette librairie lors de la compilation,​ il faut :
 +  * ajouter le répertoire contenant header dans la variable d'​environnement Path :
 +\\ Properties -> C/C++ General -> Paths and Symbols
 +\\ Dans l'​onglet Includes : Cliquer sur Add... puis sur Workspace
 +\\ Sélectionner test_library -> include
 +\\ et valider.
 +
 +{{:​computing:​embedded:​path_library.png?​400|}}
 +
 +  * indiquer le nom de la librairie
 +\\ Properties -> C/C++ Build -> Setting
 +\\ Dans l'​onglet Tools settings : AVR C Linker -> Libraries
 +\\ Dans la zone Libraries (-l) : Cliquer sur Add et entrer test_library
 +
 +  * indiquer le chemin où trouver la librairie
 +\\ Dans la zone Libraries Path (-L) : Cliquer sur Add... puis sur Workspace
 +\\ Sélectionner test_library -> Debug (ou Release)
 +\\ et valider.
 +
 +{{:​computing:​embedded:​setting_lib.png?​400|}}
 +
 +==== Compilation ====
 +Pour compiler
 +clic droit sur le projet : Build configurations -> Set Active
 +\\ sélectionner Release
 +
 +==== Programmation AVR ====
 +clic droit sur le projet : Properties
 +=== Sélection du microcontrôleur ===
 +Normalement,​ lors de la création du projet, nous avons déjà sélectionner le microcontrôleur et la fréquence de l'​horloge. En cas de modification : AVR -> Target Hardware : Sélectionner le microcontrôleur et la fréquence de l'​horloge.
 +
 +=== Sélection du programmateur ===
 +Dans le cas des ARDUINO, le microcontrolleur intègre un bootloader qui permet de les programmer directement (sans programmateur externe).
 +\\ AVR -> AVRDude. Dans l'​onglet Programmer, cliquer sur New dans la zone Programmer configuration.
 +  * Donner un nom à la configuration
 +  * Sélectionner le type de programmateur : programmer Hardware (-c)
 +  * Sélectionner le port USB : Override Default Port (-P)
 +  * Sélectionner la vitesse de programmation : Override Default baudrate (-b)
 +  * Sélectionner les autres options : Other options
 +== ARDUINO MEGA ==
 +  * nom : ARDUINO MEGA
 +  * programmer Hardware : Atmel STK500 V2.x firmware
 +  * Override Default Port : /​dev/​ttyACM0
 +  * Override Default baudrate : 115200
 +  * Other options : -D
 +
 +{{:​computing:​embedded:​conf_mega.png?​400|}}
 +
 +== ARDUINO UNO ==
 +  * nom : ARDUINO UNO
 +  * programmer Hardware : Arduino
 +  * Override Default Port : /​dev/​ttyACM0
 +  * Override Default baudrate : 115200
 +
 +== ARDUINO ROMEO ou LEONARDO ==
 +  * nom : ARDUINO ROMEO
 +  * programmer Hardware : Atmel AppNote AVR109 Bootloader
 +  * Override Default Port : /​dev/​ttyACM0
 +  * Override Default baudrate : 57600
 +
 +=== Programmation ===
 +Clic droit AVR -> Upload Project to Target Device
 +\\ La programmation prend quelques secondes en fonction de la taille du programme à télécharger.
 +Un message indique dans la console que la programmation s'est bien déroulée.
computing/embedded/creation_d_un_projet_c_pour_les_avr.1414578232.txt.gz · Dernière modification: 2014/10/29 11:23 (modification externe)