Pour éditer le wiki, il faut demander un compte à un Lapin !

Makefile pour Arduino

From Le L∞p's Wiki
Revision as of 20:48, 18 February 2011 by ToM (Talk | contribs) (fix lien)

Jump to: navigation, search

Makefile pour Arduino

ce petit Makefile est devenu mon compagnon pour tous mes développements arduinos, parce que bon, l'IDE arduino est insupportable pour le dev que je suis. Et parce que vim rulez !

  • voici le fichier Makefile à télécharger.

Configuration

1. Section des bibliothèques utilisateur

Avant de l'utiliser, il est nécessaire de l'éditer et de le configurer un poil :

les deux valeurs ci-dessous sont à configurer avec les répertoires d'installation de votre environnement arduino. La valeur par défaut de INSTALL_DIR correspond au chemin sous OSX, mais sous linux il doit y avoir un répertoire de base équivalent... INSTALL_LIB_DIR correspond au chemin vers les bibliothèques fournies avec l'environnement Arduino (qui est en général dans $(INSTALL_DIR)/libraries mais peut être déplacé dans un autre répertoire, selon les goûts du développeur).

  • sous mac :
INSTALL_DIR = /Applications/Arduino.app/Contents/Resources/Java
INSTALL_LIB_DIR = $(INSTALL_DIR)/libraries

  • sous linux :

?

  • sous windows :

?

1. Section de configuration de l'arduino

Cette section configure les différents détails correspondant à votre arduino. Les options par défaut sont valides pour un Arduino Duemilanove et Uno. La chaîne VERSION doit correspondre à la version téléchargée de l'IDE (bien que ce ne soit pas un problème de la laisser telle quelle).

  • la variable port peut être définie statiquement dans le fichier, ou manuellement (en la commentant) à l'extérieur du fichier, ce qui est utile lorsqu'on uploade un programme sur deux arduinos avec le même Makefile.
PORT=/dev/ttyUSB0


La configuration ci-dessous correspond aux chemins vers les bibliothèques utilisateurs. De même, le répertoire par défaut donné ci-dessous est celui d'OSX (encore). Pour inclure des bibliothèques en fonction du projet en cours, il suffit d'étendre $(LOCAL_CXX) et $(LOCAL_C) avec les chemins vers les fichiers C++ et C adéquats. Bien évidemment, il suffit de rajouter plus ou moins de fichiers séparés par une espace, si aucune bibliothèque n'est nécessaire, on peut laisser la variable vide (mais elle doit être présente).

LOCAL_LIB_DIR = $(HOME)/Documents/Arduino/libraries
LOCAL_CXX = $(LOCAL_LIB_DIR)/EthernetDHCP/EthernetDHCP.cpp (LOCAL_LIB_DIR)/XXX/YYY.cpp
LOCAL_C = $(LOCAL_LIB_DIR)/EthernetDHCP/utility/EthernetDhcpUtil.c

Utilisation

Lorsque vous créez un projet arduino, il faut faire en sorte qu'il y ai :

  • un répertoire et un fichier « .pde » portant le même nom
MyArduinoProject
|-- MyArduinoProject.pde
`-- Makefile

dans ce répertoire, il suffit de taper :

% make

pour compiler le projet, ce qui va générer les binaires et les différents outputs :

MyArduinoProject
|-- MyArduinoProject.pde
|-- Makefile 
`-- applet
   |-- MyArduinoProject.cpp
   |-- MyArduinoProject.elf
   |-- MyArduinoProject.hex
   |-- MyArduinoProject.o
   `-- core.a

ensuite pour mettre à jour l'Arduino il faut taper :

% make upload

ou si vous n'avez pas configuré la variable $PORT dans le Makefile

% PORT=/dev/ttyUSB0 make upload

et vous pourrez découvrir avec bonheur ce que fait votre programme arduino !