Outils pour utilisateurs

Outils du site


computing:embedded:creation_d_un_projet_c_pour_les_avr

Cet article va présenter comment créer un projet C pour les AVR sous Eclipse.

Création du projet

Pour commencer, nous allons créer un projet C. File → New → C Project
Ensuite, il faut nommer ce projet et sélectionner AVR Cross Target Application → Empty Project. Cliquer ensuite sur Next. C Project

Configuration

Selectionner Debug et Release et cliquer sur Next.

Sélection de l'AVR

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. Pour une ARDUINO MEGA, le microcontroleur est un ATMEGA2560 et la fréquence du quartz est de 16000000.

Cliquer sur Finish et le projet est créé.

Création de répertoires

Création du répertoire source

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)
Indiquer le nom du projet et le nom du répertoire (src) puis valider.

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.
File → New → Folder
Indiquer le nom du projet et le nom du répertoire (src) puis valider.

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 :
Properties → C/C++ General → Paths and Symbols
Dans l'onglet Includes : Cliquer sur Add… puis sur Workspace, sélectionner le projet → include
puis valider tout.

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.

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.

/*
 * lib_a.c
 */
 
void
function_lib_a(void)
{
 
}
/*
 * lib_a.h
 */
 
#ifndef LIB_A_H_
#define LIB_A_H_
 
void
function_lib_a(void);
 
#endif /* LIB_A_H_ */

Notre projet test a besoin de cette librairie, il faut donc inclure lib_a.h :

/*
 * main.c
 */
 
#include <lib_a.h>
 
int
main (void)
{
  function_lib_a ();
 
  return 1;
}

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.

  • 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.

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

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.txt · Dernière modification: 2014/10/30 10:29 par ldo