Le javascript est désactivé sur votre navigateur
 
Prononcer /'po.bot/
Accueil du siteProgrammation et logicielsLes micro-contrôleursTrucs et astuces
  publication inférieure à 7 jours
  publié < 7j sous cette rubrique
     
À propos de l'article
    Publié le 28 février 2010
    par Julien H.

    Mis à jour le 28 février 2010
Mots-clés de cet article
    Outils logiciels :
    WinAVR , AVRLIB
Choisir votre langue :

Configurer AVRLIB pour AVRDUDE

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

 
Répondre à cet article
Vous avez aimé cet article ? Merci de nous recommander !