[TUTORIEL] Programmer un ATmega328P avec l'AVR Dragon [1]

Attention zone pour développeurs avancés et nécessitant du matériel spécifique type professionnel.
Ne remplace pas une bonne et efficace utilisation de l'IDE Arduino

[TUTORIEL] Programmer un ATmega328P avec l'AVR Dragon [1]

Message non lude Laetitia » Mar 1 Oct 2013 15:01

Ce tutoriel est en deux parties : Bootloader puis Upload de sketchs

Bonjour,

Il arrive parfois que l'on veuille avoir accès à des fonctionnalités ou des paramètres inaccessibles via l'IDE Arduino. Pour remédier à cela il existe l'AVR Dragon, une carte permettant la programmation et le debug des microcontrôleurs Atmel, dont l'ATmega328P, cœur de l'Arduino Uno.

La présentation du logiciel étant relativement complète sur le site d'Atmel, je partirai du principe que vous avez au préalable jeté un œil sur le fonctionnement de celui-ci, et que vous l'avez installé et configuré en vue d'une utilisation avec l'AVR Dragon. Je pourrai me concentrer sur l'aspect programmation de l'ATmega : dans la première partie de ce tutoriel nous allons mettre un bootloader Uno sur notre microcontrôleur, puis dans un second temps je reviendrai sur l'upload des sketches.

- MATÉRIEL -

> Pré-requis

• Un AVR Dragon muni d'un support ZIF
Atmel Studio installé

> Composants

• Un ATmega328P

Si vous utilisez Atmel Studio 6+, il vous faudra également :
• soit un quartz 16MHz + deux condensateurs 22pF
• soit un résonateur 16MHz (les condensateurs sont intégrés au composant)

- SCHÉMA DU MONTAGE -

Pour simplifier les schémas, j'ai juste repris les connecteurs ZIF, ISP et VCC de la carte, avec leurs orientations respectives.
L'ATmega est à placer sur le support avec le détrompeur en butée en bas, il faut savoir que les pins accessibles à gauche du support sont directement reliées aux pins du microcontrôleur correspondantes et donc numérotées en fonction ;)

Si vous utilisez une version antérieure à Atmel Studio 6, il vous suffit de supprimer la partie résonateur du montage, c'est-à-dire laisser les pins 9 et 10 de votre ATmega libres.

Voici donc le montage avec le quartz :

wiring_mega328p_xtal.png
wiring_mega328p_xtal.png (17.04 Kio) Vu 3343 fois

Et avec le résonateur (les condensateurs sont intégrés au composant) :

wiring_mega328p_reson.png
wiring_mega328p_reson.png (14.57 Kio) Vu 3343 fois

- PROGRAMMATION DE L'ATMEGA -

• Ouvrir Atmel Studio 6
• Passer en mode programmateur : Tools > Device Programming
• Paramétrer l’outil, la cible et l’interface : Tool > AVR Dragon | Device > ATmega328P | Interface > ISP et cliquer sur « Apply »
• Régler la vitesse de l’horloge : elle doit être de 250KHz ou moins :!:
• Vérifier que l’on arrive bien à communiquer avec l’ATmega : Device Signature > Read, on doit obtenir la réponse « 0x1E950F »
• Paramétrer les fusibles comme suit (les fusibles marqués en jaune sont ceux à modifier sur un ATmega328P sorti de l’usine), ne pas oublier de cliquer sur « Program »

mega328_fuses.png
mega328_fuses.png (86.6 Kio) Vu 3343 fois

• Sélectionner le bootloader à mettre sur l’ATmega : Memories > Flash > [arduino-1.0.X\hardware\arduino\bootloaders\optiboot\optiboot_atmega328.hex]
• Laisser la case « Verify Flash after programming » cochée, elle permet de vérifier la présence du bootloader après upload, et cliquer sur « Program »

Pour vérifier que l'upload s'est bien passé, vous pouvez mettre votre ATmega dans un Uno vide ou dans un montage en standalone, et y charger un sketch : il ne devrait y avoir de problème ni pour l'upload ni pour l'exécution du code 8-)

C'est tout pour cette fois ! J'espère que ce tutoriel vous aura plu, et bonne bidouille en attendant le prochain !
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 291
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: [TUTORIEL] Programmer un ATmega328P avec l'AVR Dragon [1

Message non lude phil » Mer 2 Oct 2013 12:52

Merci pour ce super tuto :) :) :)
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19


Retourner vers Atmel Studio

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité