Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Programmation > Apprendre à coder > Les micro-contrôleurs > Trucs et astuces > Configurer AVRLIB pour AVRDUDE

Configurer AVRLIB pour AVRDUDE

dimanche 28 février 2010, par Julien H.

On ne présente plus AVRLIB, un ensemble de fonctions pour les microcontrôleurs AVR qui simplifie beaucoup l’écriture de programmes utilisant des périphériques internes (timers, counter, I2C, UART) ou externes (LCD, ...).

Un seul inconvénient : le makefile utilisé dans les exemples permet de compiler mais ne propose pas de programmer un microcontrôleur (ce qui est désormais obligatoire pour rester aussi pratique et automatique qu’Arduino).

Pas de souci, il suffit de modifier un fichier pour rajouter un appel à avrdude. On va prendre la partie du makefile de WinAVR et le copier dans le fichier "avrproj_make" qui se trouve sous $AVRLIB$/make.

1) ouvrez le fichier avrproj_make

2) repérez la section juste avant le nettoyage (entre la section 10 et la section 11)

3) ajoutez la partie ci-dessous

###### Ajout de l’appel à AVRDUDE

#---------------- Programming Options (avrdude) ----------------

AVRDUDE = avrdude

# Programming hardware
# Type : avrdude -c ?
# to get a full listing.
#
#AVRDUDE_PROGRAMMER = stk500v2

# com1 = serial port. Use lpt1 to connect to parallel port.
#AVRDUDE_PORT = com1 # programmer connected to serial device

AVRDUDE_WRITE_FLASH = -U flash:w :$(TRG).hex
#AVRDUDE_WRITE_EEPROM = -U eeprom:w :$(TRG).eep

# Uncomment the following if you want avrdude’s erase cycle counter.
# Note that this counter needs to be initialized first using -Yn,
# see avrdude manual.
#AVRDUDE_ERASE_COUNTER = -y

# Uncomment the following if you do /not/ wish a verification to be
# performed after programming the device.
#AVRDUDE_NO_VERIFY = -V

# Increase verbosity level. Please use this when submitting bug
# reports about avrdude. See <http://savannah.nongnu.org/projects...>
# to submit bug reports.
#AVRDUDE_VERBOSE = -v -v

AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)

# Program the device.
program : $(TRG).hex $(TRG).eep
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)

###### BLOCK 11) make instruction to delete created files ######

4) ouvrez le makefile de votre projet WinAVR

5) ajoutez ces lignes

# programmer id—check the avrdude for complete list
# of available opts. These should include stk500,
# avr910, avrisp, bsd, pony and more. Set this to
# one of the valid "-c PROGRAMMER-ID" values
# described in the avrdude info page.
#
AVRDUDE_PROGRAMMER=stk500

# port—serial or parallel port to which your
# hardware programmer is attached
#
AVRDUDE_PORT=COM3

Et voilà, rien de bien compliqué n’est-ce pas ? Mais encore fallait-il le savoir.

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.