Vous êtes sur la page 1sur 17

Dbogage avec AVR Dragon

Dbogage avec AVR Dragon


Pascal Jean
pascal.jean(at)epsilonrt.com
http://www.epsilonrt.com/
Historique des versions
Version Auteur Description
1.01 ascal !ean "#. nov. "010 1"$%&
Rsum
AVR Dragon est un outil de dveloppement ' bas pri( ddi au( microcontr)leurs AVR *
bits et +" bits commercialis par A,-./.
Apr0s une description compl0te d1AVR Dragon et des liaisons utilises pour le connecter '
la carte cible 2,3"004 ce document dtaille l1utilisation des logiciels 5odevision AVR et
AVR 2tudio pour e66ectuer la tlc7argement en 8/A2H et le dbogage d1un programme
5.
,able des mati0res
1.COPYRIGHT ET LICENCE...................................................................................................2
1.1.-ta9in6ormation..........................................................................................................."
2.PRSENTATION DE AVR DRAGON.....................................................................................3
3.DESCRIPTION DE AVR DRAGON.......................................................................................3
+.1.2pci6ications lectriques................................................................................................+
+.".5onnecteurs vers le microcontr)leur cible.........................................................................&
+.".1.5onnecteur !,A:......................................................................................................&
+.".".5onnecteur ;2<debug=ire........................................................................................&
+.+.Vo>ants........................................................................................................................%
+.&.5onnecteur d1alimentation..............................................................................................%
+.%.Description des inter6aces vers la carte cible.....................................................................%
+.%.1.;nter6ace ;2...........................................................................................................%
+.%.".;nter6ace !,A:.........................................................................................................%
+.%.+.;nter6ace debug=ire.................................................................................................?
4.INSTALLATION ET CONNEXION DE AVR DRAGON............................................................
&.1.;nstallation du driver @2A (AVR 2tudio)............................................................................#
&.".5onne(ion entre AVR Dragon et la carte cible....................................................................#
&.+.@tilisation des adaptateurs dragon3.................................................................................#
!."TILISATION DE AVR DRAGON AVEC CODEVISION AVR..................................................#
%.1.rogrammation ' partir de 5odevision AVR.......................................................................B
%.".Dbogage ' partir de 5odevision AVR.............................................................................10
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 1'1
D(OGAGE AVEC AVR DRAGON C 5op>rig7t et /icence
)."TILISATION DE AVR DRAGON AVEC AVR ST"DIO........................................................12
?.1.;nstallation de =inAVR.................................................................................................1"
?.".5ration du projet et compilation avec AVR 2tudio...........................................................1+
?.+.rogrammation avec AVR 2tudio....................................................................................1&
?.&.Dbogage avec AVR 2tudio...........................................................................................1%
?.&.1.Dmarrage du dbogage.........................................................................................1%
?.&."..(cution en mode pas ' pas...................................................................................1%
?.&.+.ose de points d1arrDt.............................................................................................1%
?.&.&.Visualisation et modi6ication du contenu d1une variable...............................................1?
?.&.%.Visualisation et modi6ication du contenu d1un registre d1entres9sorties.........................1?
?.&.?.Visualisation et modi6ication du contenu de la mmoire...............................................1#
.*A+ LISTE DES +"ESTIONS *R+"ENTES......................................................................1
1. COPYRIGHT ET LICENCE
Copyright (c) 2010 Pascal Jean.
Permission is granted to copy, distribute and/or modify this document under the terms of the
!" #ree $ocumentation %icense, &ersion 1.2 or any later 'ersion published by the #ree
(oft)are #oundation* )ith no +n'ariant (ections, no #ront,Co'er -e.ts, and no /ac0,Co'er
-e.ts. 1 copy of the license is included in the section entitled 2!" #ree $ocumentation
%icense2.
Copyright (c) 2010 Pascal Jean.
Permission est accord3e de copier, distribuer et/ou modifier ce document selon les termes de
la %icence de $ocumentation %ibre !" (!" #ree $ocumentation %icense), 'ersion 1.2 ou toute
'ersion ult3rieure publi3e par la #ree (oft)are #oundation * sans (ections +n'ariables * sans
-e.te de Premi4re de Cou'erture, et sans -e.te de 5uatri4me de Cou'erture. "ne copie de la
pr3sente %icence est incluse dans la section intitul3e 6 %icence de $ocumentation %ibre !"
7.
Copyright (c) 2010 Pascal Jean.
%a feuille de style 8pen8ffice de ce document est publi3e sous licence Creati'e Commons,
Paternit3, Pas d9utilisation commerciale, Partage des conditions +nitiales : l9identi;ue.
%e te.te complet de cette licence peut <tre consult3 sur
http=//creati'ecommons.org/licenses/by,nc,sa/2.0/fr/legalcode
1.1. ,-.a/0n1234a.02n
5et article est crit avec EpenE66ice +.". ;l est disponible en version imprimable au 6ormats D8.
/a derni0re version de ce document peut Dtre tlc7arge ' l1adresse $
7ttp$<<FFF.epsilonrt.com<avrdragon<avrdragon9notice.pd6
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 2'1
D(OGAGE AVEC AVR DRAGON C rsentation de AVR Dragon
2. PRSENTATION DE AVR DRAGON
AVR Dragon est un outil de dveloppement ' bas pri( ddi au( microcontr)leurs AVR * bits et +"
bits d1A,-./. ;l se prsente sous la 6orme d1une petite carte lectronique relie au 5 par @2A.
AVR Dragon permet principalement " c7oses $
rogrammer les mmoires 8/A2H et ..RE- des microcontr)leurs AVR et AVR+"
Dboguer un programme directement dans la mmoire du microcontr)leur AVR et AVR+"
en permettant par e(emple4 d1e(cuter en pas ' pas4 de poser des points d1arrDts4
d1observer l1volution des variables du programme ou du contenu des mmoires (2RA-4
..RE-) et de lire ou modi6ier le contenu des registres.
.n plus de ces deu( 6onctions essentielles4 AVR Dragon dispose d1une Gone de protot>page pouvant
accueillir des microcontr)leurs en boitier D;.
AVR Dragon prvu ' l1origine pour s1intgrer au logiciel gratuit AVR 2tudio d1A,-./ est aussi
compatible avec d1autres logiciels comme 5odeVision AVR ou AVRD@D..
our le dbogage4 il est ncessaire que le microcontr)leur cible dispose d1une inter6ace !,A:4
debug=ire ou D;.
2a documentation4 en anglais4 est disponible sur 7ttp$<<FFF.atmel.com<avrdragon ou dans l1aide en
ligne des outils d1AVR 2tudio (AVR Tools Help).
/a liste des modes de programmation et de dbogage supports par les microcontr)leurs peut Dtre
consulte sur internet ou dans l1aide en ligne d1AVR 2tudio.
3. DESCRIPTION DE AVR DRAGON
3.1. S%-c010ca.02ns -lec.3056es
AVR Dragon est reli au 5 par un cordon @2A. ;l est auto9aliment par @2A et n1a donc pas besoin
d1Dtre aliment4 directement4 ou par la carte cible. Le %23. "S( 6.0l0s- s63 le PC 720. 8.3e
ca%a9le 7e 1263n03 !$$ 4A (USB bus powered high-power ou self-powered)4 ce qui est le cas de
tous les ports des 5 de bureau. 5e point doit 6aire l1objet d1une vri6ication dans le cas de
l1utilisation d1un ordinateur portable (le 5 ne risque rien4 mais si le port @2A ne peut pas 6ournir les
%00 mA4 AVR Dragon ne 6onctionnera pas)4
AVR Dragon doit4 par contre4 avoir acc0s ' la tension d1alimentation du microcontr)leur cible (par le
connecteur ;2 ou !,A:) a6in de la mesurer. 5omme AVR Dragon dispose de circuits de translation
de niveau logique4 il 12nc.02nne a:ec 7es 40c32c2n.3;le63s c09les al04en.-s en.3e 1<= e. !<!
V2l.s.
AVR Dragon peut ventuellement4 alimenter le microcontr)leur cible mais uniquement en %V et par
l1intermdiaire d1un connecteur ddi. Dans ce cas4 la consommation de la carte cible ne doit pas
dpasser +00 mA. ;l semble raisonnable de limiter l1usage de cette tension d1alimentation '
l1utilisation de la Gone de protot>page se trouvant sur AVR Dragon.
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 3'1
D(OGAGE AVEC AVR DRAGON C 5onnecteurs vers le microcontr)leur cible
3.2. C2nnec.e63s :e3s le 40c32c2n.3;le63 c09le
AVR Dragon peut principalement programmer les microcontr)leurs cibles4 ;n92itu4 par l1intermdiaire
d1une liaison ;2 ou !,A:. /e dbogage est ralis par l1intermdiaire d1une liaison debug=ire ou
!,A:.
;l peut aussi programmer des microcontr)leurs ' l1aide d1inter6aces H 7aute tension I ( ou HV2).
;l est ncessaire dans ce cas4 d1e(traire le microcontr)leur de son support de la carte cible. Aien que
tr0s peu utiliss4 les modes de programmation H 7aute tension I peuvent permettre de revalider un
6usebit 2;.J et<ou !,A:.J invalid accidentellement. 5ette possibilit ne sera pas dcrite dans ce
document.
AVR Dragon dispose d1un connecteur H.10 ' ? broc7es pour la conne(ion ;24 debug=ire et D; et
d1un connecteur H.10 ' 10 broc7es pour la conne(ion !,A:. /1utilisation de D; ne sera pas dcrite
dans ce document.
;l 6aut noter qu1A,-./ a4 de 6aKon autoritaire4 impos le connecteur ;2 H.10 ' ? broc7es sur ses
nouveau( outils de dveloppement (comme AVR Dragon ou AVR;2 mL;;)4 sans se soucier de la
compatibilit des cartes cibles e(istantes M A l1utilisateur de s1adapter... /1e(plication o66icielle est de
limiter les con6usions entre un connecteur !,A: et un connecteur ;24 ce qui se comprends...
3.2.1.C2nnec.e63 JTAG
/e connecteur H.10 ' 10 broc7es peut Dtre utilis pour la programmation et<ou le dbogage en
mode !,A:.
E4%lace4en. 76 c2nnec.e63 JTAG (32c>a&e 76 c2nnec.e63 JTAG
Le c2nnec.e63 HE1$ ? 1$ 932c>es es. 3-se3:- a6 JTAG
e. NE DOIT PAS 8.3e 3el0- ? 6n c2nnec.e63 ISP.
3.2.2.C2nnec.e63 ISP'7e96&@03e
/e connecteur H.10 ' ? broc7es peut Dtre utilis pour la programmation en mode ;2 et<ou pour le
dbogage en mode debug=ire. Dans le cas d1un connecteur ;2 cible ' 10 broc7es4 il 6aut utiliser un
adaptateur.
E4%lace4en. 76 c2nnec.e63 ISP'7e96&@03e (32c>a&e 76 c2nnec.e63 ISP'7e96&@03e
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 4'1
D(OGAGE AVEC AVR DRAGON C Vo>ants
3.3. V2Aan.s
AVR Dragon dispose de deu( /.D $
une /.D ' plusieurs couleurs4 LED14 qui indique l1tat de AVR Dragon
(voir ci9dessous).
une /.D verte4 LED24 qui indique s1allume lorsqu1il > a du tra6ic @2A
C26le63 LED1 S0&n010ca.02n
Rouge AVR Dragon prDt. AVR 2tudio n1est pas connect.
Nteinte AVR Dragon prDt. AVR 2tudio est connect.
Verte ,rans6ert de donnes entre AVR 2tudio et AVR Dragon.
!aune ;nitialisation ou mise ' jour du firmware AVR Dragon.
3.4. C2nnec.e63 7Bal04en.a.02n
5e connecteur H.10 ' ? broc7es peut Dtre utilis pour alimenter4 en % Volts4 un microcontr)leur
dans la Gone de protot>page. /e courant ma(imal pouvant Dtre 6ourni par ce connecteur est de +00
mA.
E4%lace4en. 76 c2nnec.e63 7Bal04en.a.02n (32c>a&e 76 c2nnec.e63 7Bal04en.a.02n
3.!. Desc30%.02n 7es 0n.e31aces :e3s la ca3.e c09le
3.!.1.In.e31ace ISP
/a liaison ;2 utilise ? 6ils. 5es signau( sont -E2;4 -;2E4 2534 R.2.,4 V,: et :JD. V,: est utilis
par AVR Dragon pour vri6ier la prsence et la con6ormit (entre 14* et %4% Volts) de la tension
d1alimentation du microcontr)leur cible et pour e66ectuer la translation de niveau( logiques.
Dans le cas d1une utilisation des lignes -E2;4 -;2E et 253 par des circuits e(ternes et a6in d1viter
des con6lits sur ces lignes4 il est ncessaire d1intercaler des rsistances srie entre la liaison et les
circuits e(ternes. /es rsistances doivent Dtre calcules a6in de ne pas dpasser la consommation en
courant ma(imale ("0 mA par broc7e sans dpasser 100 mA par port). ar e(emple dans le cas d1un
tension d1alimentation de % V4 les rsistances devront avoir une valeur minimale de "%0 O.
3.!.2.In.e31ace JTAG
? 6ils au minimum sont utiliss pour relier AVR Dragon ' la cible. 5es signau( sont ,534 ,DE4 ,D;4
,-24 V,re6 et :JD. V,re6 est utilis par AVR Dragon pour vri6ier la prsence et la con6ormit (entre
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e !'1
D(OGAGE AVEC AVR DRAGON C Description des inter6aces vers la carte cible
14* et %4% Volts) de la tension d1alimentation du microcontr)leur cible et pour e66ectuer la translation
de niveau( logiques.
/e signal n2R2, est 6acultati6 et emplo> pour commander et surveiller le R.2., de la cible. 5e
signal n1est normalement pas ncessaire mais peu Dtre utile pour revalider l1inter6ace !,A: dans le
cas oP le programme prsent dans le microcontr)leur aurait mis ' 1 le bit !,D du registre -5@52R.
/a 6igure ci9dessus montre comment la liaison !,A: devrait Dtre cQble pour un 6onctionnement
correct. Dans le cas d1une utilisation des lignes !,A: par des circuits e(ternes et a6in d1viter des
con6lits sur ces lignes4 il est ncessaire d1intercaler des rsistances srie entre la liaison et les
circuits e(ternes. /es rsistances doivent Dtre calcules a6in de ne pas dpasser la consommation en
courant ma(imale ("0 mA par broc7e sans dpasser 100 mA par port). ar e(emple dans le cas d1un
tension d1alimentation de % V4 les rsistances devront avoir une valeur minimale de "%0 O.
3.!.3.In.e31ace 7e96&@03e
+ 6ils au minimum sont ncessaires pour la communication entre AVR Dragon et la carte cible avec
l1inter6ace de debug=ire. 5es signau( sont R.2.,4 V,re6 et :JD.
our utiliser la ligne R.2., pour le dbogage en debug=ire4 il ne 6aut %as qu1un condensateur > soit
reli. 2i c1est le cas4 il 6aut tout simplement dsouder ce condensateur. 2i une rsistance de pull9up
est connecte au R.2.,4 il ne 6aut pas que sa valeur soit in6rieure ' 10 LO.
;l 6aut noter que tous les microcontr)leurs A,-./ sont quips4 au niveau de la ligne de R.2.,4
d1une rsistance de pull9up et d1un circuit de R.2., interne. 5e circuit gn0re un R.2., interne
(Power-on reset) dont la dure est paramtrable par les 6usebits 2@, et 5/32./ (se r6rer au
datasheet du microcontr)leur).
I4%23.an. C
5ette inter6ace utilise seulement un 6il (R.2.,)4 pour
la communication avec la cible (utilisation
bidirectionnelle). our permettre ' l1inter6ace
debug=ire de 6onctionner avec AVR Dragon4 il 6aut
que le fusebit D=.J soit valid (D=.JR0).
ar d6aut4 D=.J n1est pas valid ' la sortie
d1usine. 5e fusebit doit Dtre valid par l1inter6ace
;24 raison pour laquelle il est conseill4 a6in de
6aciliter la programmation et le dbogage4 de cQbler
l1ensemble des signau( ;2 lors de l1utilisation de
l1inter6ace debug=ire.
Re4a356e $ Suand le fusebit D=.J est valid4 la
6onctionnalit normale d1inter6ace d1;2 est d9
valide. 5eci a6in que le debug=ire puisse avoir le
contr)le complet du R.2.,. Suand D=.J est valid il n1est plus possible d1utiliser ;2. our
revalider l1inter6ace ;2 il 6audra le 6aire ' l1aide d1AVR 2tudio (De96&CAVR D3a&2n
O%.02nsCC2nnec.02n) ou de l1utilitaire en ligne de commande avrdragon (par e(emple a'rdragon
,d1-mega1>? ,@ pour un A,mega1?*).
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e )'1
D(OGAGE AVEC AVR DRAGON C ;nstallation et conne(ion de AVR Dragon
4. INSTALLATION ET CONNEXION DE AVR DRAGON
4.1. Ins.alla.02n 76 730:e3 "S( DAVR S.6702E
Avant de connecter AVR Dragon au 54 il est ncessaire d1installer le driver @2A !ungo. 5e driver 6ait
partie d1AVR 2tudio &.1" 2+ ou suprieur.
;l est donc ncessaire de tlc7arger AVR 2tudio sur 7ttp$<<FFF.atmel.com<avrstudio et de
l1installer en administrateur. @ne 6ois4 l1installation du driver e66ectue4 connecteG AVR Dragon au 5
' l1aide d1un cordon @2A (A<A).
4.2. C2nneF02n en.3e AVR D3a&2n e. la ca3.e c09le
2i la carte cible est quip de connecteur compatible avec AVR Dragon4 il su66it de relier AVR Dragon
' la carte cible ' l1aide d1un cordon droit H.10 ' ? 6ils (pour ;2 ou debug=ire) ou ' l1aide d1un
cordon droit H.10 ' 10 6ils (pour !,A:).
/es connecteurs de AVR Dragon ne disposant pas de dtrompeur4 il
6audra s1assurer que le cordon est correctement branc7 avec le 6il
rouge du cot de la broc7e 1 du connecteur.
Dans le cas d1une carte cible non compatible4 ce qui est le cas de 2,3"004 il 6audra utiliser des
adaptateurs.
4.3. ".0l0sa.02n 7es a7a%.a.e63s 73a&2nG
/a carte 2,3"00 dispose d1un connecteur ;2 10 broc7es et ne dispose pas de connecteur !,A:. En
peut nanmoins utiliser AVR Dragon ' condition d1intercaler des adaptateurs. ;l sera alors possible
de programmer tous les microcontr)leurs supports par 2,3"00 et de dboguer les programmes sur
les microcontr)leurs supports par 2,3"00 disposant d1une inter6ace !,A: (A,mega1?4 A,mega+"
et A,mega1?").
/e dbogage par debug=ire n1est pas possible car la carte 2,3"00 int0gre un s>st0me de
surveillance de la tension d1alimentation qui pilote la broc7e R.2.,. 5e s>st0me de surveillance
d1alimentation empDc7e AVR Dragon de piloter correctement la ligne R.2.,.
;l > a + adaptateurs pour 2,3"00 $
@n adaptateur pour l1inter6ace ;2 qui s1intercale entre le connecteur ;2 10 broc7es de
2,3"00 et le connecteur ;2 ? broc7es de AVR Dragon.
Deu( adaptateurs pour l1inter6ace !,A: qui s1intercale entre le connecteur ER,5 ' 10
broc7es de 2,3"00 et le connecteur !,A: de AVR Dragon. ;l > a deu( adaptateurs !,A: car
le routage des lignes !,A: sur le ER,5 est di66rent entre les A,mega1?<+" et
l1A,mega1?".
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e '1
P0n 1
P0n 1
D(OGAGE AVEC AVR DRAGON C @tilisation des adaptateurs dragon3
A7a%.a.e63 ISP
-ettre en place l1adaptateur sur le connecteur ;2 10 broc7es du
2,3"00.
Relier l1adaptateur ' l1aide du cordon H.10 ' ? 6ils au connecteur
;2 de AVR Dragon.
/1adaptateur dispose d1un cavalier qui doit Dtre mis en place dans le
cas d1une utilisation avec 2,3"00.
;l 6aut savoir que la carte 2,3"00 ncessite l1activation d1un signal
(signal R: sur la broc7e +) lors de la programmation. 5e signal
n1tant pas prsent sur le connecteur ;2 de AVR Dragon4
l1adaptateur le recr ' partir du signal R.2.,.
/e cavalier permet donc d1appliquer ou non le signal R: gnr '
partir du R.2., sur la broc7e + du connecteur ;2 du 2,3"00.
A7a%.a.e63s JTAG
57oisir le mod0le d1adaptateur en 6onction du mod0le de
microcontr)leur en place. (!,A: -1? pour les A,mega1? et
A,mega+"4 !,A: -1?" pour l1A,mega1?").
-ettre en place l1adaptateur sur le connecteur ER,5 ' 10 broc7es
du 2,3"00.
Relier l1adaptateur ' l1aide du cordon H.10 ' 10 6ils au connecteur
!,A: de AVR Dragon.
/es adaptateurs disposent de connecteurs ' ? broc7es qui permettent
d1accder au signau( du ER,5 qui ne sont pas utiliss par !,A:. /e
broc7age de ces connecteurs est di66rent suivant le mod0le
d1adaptateur $
JTAG ,1) JTAG ,1)2
/es 6ic7iers de 6abrication de ces adaptateurs peuvent Dtre tlc7arg sur
6tp$<<6tp.epsilonrt.com<pub<dragon3< .
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e ='1
D(OGAGE AVEC AVR DRAGON C @tilisation de AVR Dragon avec 5odevision AVR
!. "TILISATION DE AVR DRAGON AVEC CODEVISION AVR
5odevision AVR supporte AVR Dragon depuis sa version ".0. ;l sera possible de programmer le
microcontr)leur cible4 en mode ;2 ou !,A:4 directement ' partir de 5odevision AVR comme avec
n1importe quel programmateur.
5odevision AVR n1int0gre pas de dbogueur intgr mais peu 6aire appel ' AVR 2tudio pour la mise
au point du programme.
!.1. P32&3a44a.02n ? %a3.03 7e C27e:0s02n AVR
our utiliser AVR Dragon avec 5odeVision AVR4 il su66it de lui
indiquer le t>pe de programmateur et le mode de
programmation par l1intermdiaire du menu
Se..0n&sHP32&3a44e3 ou par le bouton quivalent de la
barre d1outils.
;l 6audra prendre soin de bien prciser le mode de
programmation en 6onction de l1inter6ace utilise pour
connecter AVR Dragon ' la carte 2,3"00 (;2 ou !,A:).
A partir de l'4 on e66ectue la programmation du
microcontr)leur cible comme ' l17abitude4 soit par
un appel directe du c7ip programmer (T22lsHC>0%
P32&3a44e3) ou par l1intermdiaire du 926.2n
70s%2n09le apr0s une compilation sans erreur
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e #'1
D(OGAGE AVEC AVR DRAGON C rogrammation ' partir de 5odevision AVR
;l > a plusieurs avantages ' utiliser AVR Dragon ' la place d1un programmateur 2,3"00 sur port
parall0le $
AVR Dragon peut Dtre utilis sur les 5 ne disposant pas de port parall0le (portables)
AVR Dragon peut Dtre utilis sur des cibles alimentes entre 14* et %4% Volts
AVR Dragon peut e66ectuer un dbogage et il est compatible avec les nouvelles 6amilles et
les nouveau( mod0les de microcontr)leurs A,-./
AVR Dragon est conKu et 6abriqu par A,-./4 il est 6iable et voluti6.
!.2. D-92&a&e ? %a3.03 7e C27e:0s02n AVR
/a procdure d1utilisation d1AVR 2tudio est dtaill au paragrap7e +.".1 de la documentation
5odevision AVR. 5omme prcis prcdemment4 le dbogage se 6ait ' l1aide de AVR 2tudio.
5odevision AVR ne 6ait que gnrer un 6ic7ier 5E8 qui inclut le code source et le code objet puis
appelle AVR 2tudio.
Avant de pouvoir e66ectuer le dbogage4 il 6audra vri6ier que 5odevision AVR est con6igur
convenablement (Jormalement cela est 6ait par d6aut) $
pour utiliser AVR 2tudio par le menu Se..0n&sHDe96&&e3 en prcisant le c7emin complet
d1AVR 2tudio
pour gnrer un 6ic7ier 5E8 par le menu P32Iec.HC2n10&63eHC C24%0le3HC27e
Gene3a.02n en c7oisissant le 6ormat T5E8 RE- H.U ..C
;l 6aut ensuite appeler AVR 2tudio par le menu T22lsHDe96&&e3 ou le bouton de la barre
d1outils. @ne 6ois dans AVR 2tudio $
1. ;l 6aut ouvrir le 6ic7ier 5E8 gnr
dans le rpertoire du projet par
5odevision AVR
". AVR 2tudio vous propose de crer un
6ic7ier projet A24 accepteG en cliquant
sur En3e&0s.3e3.
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 1$'1
D(OGAGE AVEC AVR DRAGON C Dbogage ' partir de 5odevision AVR
+. ;l 6aut alors c7oisir la plate6orme de
dbogage (AVR Dragon) et le
microcontr)leur cible (ici A,mega+")
avant de cliquer sur *0n0s>.
/e dbogage commence dans AVR 2tudio $
Re4a356e I4%23.an.e $ Arriv ' ce stade4 il peut Dtre intressant d1enregistrer le projet AVR
2tudio par P32Iec.HSa:e. 5ela permettra ' l1avenir de ne pas recommencer les tapes 1 ' + et
d1ouvrir directement le 6ic7ier projet A2 ' la place du 6ic7ier 5E8.
/1utilisateur peut alors procder au dbogage de son programme dans AVR 2tudio $ mode pas ' pas4
pose de point d1arrDt4 visualisation et modi6ication ventuelle du contenu des variables4 des registres
ou de la mmoire. our les dtails4 se r6rer au paragrap7e Dbogage avec AVR 2tudio.
2i une erreur est constate et que l1utilisateur sou7aite modi6ier le code source de son programme4 il
doit4 sans 6ermer AVR 2tudio4 le modi6ier dans 5odevision AVR4 puis le recompiler (P32Iec.H(60l7).
.n revenant dans AVR 2tudio (on clique dessus dans la barre de tQc7es)4
celui9ci dtecte la modi6ication du 6ic7ier 5E8 et propose de le rec7arger4 il
6aut accepter par Eui. En peut alors reprendre de dbogage et petit '
petit converger vers un programme totalement 6onctionnel.
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 11'1
D(OGAGE AVEC AVR DRAGON C @tilisation de AVR Dragon avec AVR 2tudio
). "TILISATION DE AVR DRAGON AVEC AVR ST"DIO
5omme je l1ai dj' indiqu AVR 2tudio est un logiciel dvelopp et 6ourni gratuitement par A,-./.
5e que l1on sait moins c1est que celui9ci est solution compl0te de dveloppement qui peut Dtre
coupl au cl0bre compilateur :55 en version AVR.
/es avantages de cette solution par rapport ' 5odevision AVR sont les suivants $
avr9gcc est gratuit et non limit en taille de code
avr9gcc est totalement intgr dans AVR 2tudio car il dispose d1un plugin. /1utilisateur n1a
plus qu1un seul logiciel ' utiliser pour l1dition4 la compilation4 la programmation4 le
dbogage.
avr9gcc utilise un code 5 normalis AJ2;. /1utilisateur pourra donc utiliser un langage
normalis dont l1apprentissage sera trans6rable sur une autre plate6orme qu1AVR.
avr9gcc est multi9plate6orme (=indoFs4 E29U4 /inu(). Dans le cas de E29U ou /inu(4
d1autres logiciel de dveloppement qu1AVR 2tudio sont disponibles.
avr9gcc est utilis par la majorit des programmeurs AVR et de nombreu( projets libres. En
peut citer par e(emple les projets $
AVR /ibc (7ttp$<<FFF.nongnu.org<avr9libc)
roc>on AVR/ib (7ttp$<<7ubbard.engr.scu.edu<embedded<avr<avrlib)
-avri(/ib (7ttp$<<epsilonrt.com<mavri(<modules.7tml)
8ree-odbus (7ttp$<<6reemodbus.berlios.de)
/@8A (7ttp$<<FFF.6ourFalledcubicle.com</@8A.p7p)
/es inconvnients de cette solution par rapport ' 5odevision AVR sont les suivants $
5odevision AVR dispose d1un =iGard permettant au dbutant de gnrer du code
automatiquement
5odevision AVR 6ournit un langage 5 H adapt I pour les dbutants (donc non standardis)
qui permet par e(emple l1acc0s directe au( bits d1un registre (ER,5.1 R 0 par e(emple).
5odevision AVR 6ournit une librairie intgre qui rpond au besoin les plus courants.
Voici deu( versions d1un programme permettant de 6aire clignoter une /.D sur le port A $
Ve3s02n C ANSI Da:3/&ccE Ve3s02n C27e:0s02n
).1. Ins.alla.02n 7e @0nAVR
=inAVR est un package complet 6ourni sous 6orme d1installeur =indoFs qui permet d1installer le
compilateur avr9gcc.
our utiliser =inAVR4 il su66it de le tlc7arger 7ttp$<<Finavr.source6orge.net et de l1installer. ;l est
pr6rable4 d1installer =inAVR dans le dossier par d6aut (sans espace).
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 12'1
D(OGAGE AVEC AVR DRAGON C 5ration du projet et compilation avec AVR 2tudio
).2. C3-a.02n 76 %32Ie. e. c24%0la.02n a:ec AVR S.6702
our compiler un programme en 54 il 6aut comme sous 5odevision AVR crer et con6igurer un projet.
2ous AVR 2tudio4 il 6aut 6aire P32Iec.HNeJ P32Iec. $
57oisir le t>pe de projet AVR :55
;ndiquer le c7emin oP l1on sou7aite stocLer le
projet et ses 6ic7iers
Donner un nom au projet
5liquer sur NeF.
C7oisir la plate6orme AVR Dragon et le
microcontr)leur cible (ici A,mega +")
5liquer sur *0n0s>
5on6igurer le projet par le menu
P32Iec.HC2n10&63a.02n O%.02ns $
;ndiquer la 6rquence de l17orloge utilise par le
microcontr)leur (ici *000000 HG R * -HG)
57oisir l1optimisation /Os (optimisation de la taille
du code)
5liquer sur OK.
@ne 6ois le programme saisit dans la 6enDtre
d1dition4 il 6aut le compiler par le menu (60l7H(60l7
ou ' l1aide du bouton de la barre d1outils.
En peut aussi4 directement4 procder ' la compilation
et au dbogage par le menu (60l7H(60l7 an7 R6n
ou ' l1aide du bouton de la barre d1outils.
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 13'1
D(OGAGE AVEC AVR DRAGON C rogrammation avec AVR 2tudio
).3. P32&3a44a.02n a:ec AVR S.6702
AVR 2tudio dispose aussi d1un programmateur $
En peut > accder par le menu T22lsHP32&3a4
AVRHC2nnec.... ou par le bouton
correspondant de la barre d1outils $
57oisir AVR Dragon
5liquer sur C2nnec....
57oisir le mode de programmation (ici !,A:)
5liquer sur l1onglet rogram
;ndiquer l1endroit oP se trouve le 6ic7ier H.U
(gnralement dans le dossier de6ault du
projet)
5liquer sur *las> P32&3a4
NE PAS *ER,ER la 6enDtre mais la rduire M
A partir de l'4 il su66ira de cliquer sur le
bouton ci9contre pour H 6las7er I le
microcontr)leur ' c7aque modi6ication du
programme.
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 14'1
D(OGAGE AVEC AVR DRAGON C Dbogage avec AVR 2tudio
).4. D-92&a&e a:ec AVR S.6702
).4.1.D-4a33a&e 76 7-92&a&e
our e66ectuer un dbogage dans de bonnes conditions4 il est pr6rable de recompiler le programme
en con6igurant le projet sans optimisation $
our modi6ier l1optimisation4 cliquer sur le
bouton E70. C633en. C2n10&63a.02n
O%.02ns4 puis dans O%.040La.02n
slectionner /O$
Recompiler le programme par un Auild.
our dmarrer le dbogage4 il su66it de cliquer
sur le bouton S.a3. De96&&0n&
/e point d1e(cution (6l0c7e jaune) se
positionne avant la 6onction main()
).4.2.EF-c6.02n en 427e %as ? %as
Des appuis successi6s sur le bouton S.e%
O:e3 (ou la touc7e *1$) permettent
d1e(cuter les instructions les unes ' la suite
des autres sans H descendre I dans les
6onctions.
2i on sou7aite observer le 6onctionnement
d1une 6onction4 on peut descendre dedans
grQce au bouton S.e% In.2 (ou la touc7e
*11)
).4.3.P2se 7e %20n.s 7Ba338.
our poser un point d1arrDt4 il su66it de cliquer
sur la ligne oP l1on sou7aite le placer et
d1appu>er sur la touc7e *# ou sur le bouton
T2&&le (3eaK%20n.
uis de lancer le programme en appu>ant sur
*! ou le bouton R6n
/e point d1e(cution s1arrDte sur l1endroit oP a
t pos le point d1arrDt.
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 1!'1
D(OGAGE AVEC AVR DRAGON C Dbogage avec AVR 2tudio
).4.4.V0s6al0sa.02n e. 427010ca.02n 76 c2n.en6 7B6ne :a30a9le
our visualiser le contenu d1une variable4 il
su66it de double9cliquer sur son nom4 puis de
6aire un clic droit et de slectionner A77
@a.c>
/a variable apparaVt dans la 6enDtre @a.c>.
2i cette 6enDtre n1est pas prsente4 il 6aut
l1a66ic7er par V0eJH@a.c>.
En peut visualiser sa valeur en 7e(adcimal
par un clic droit sur la 6enDtre @a.c> puis
D0s%laA selec.e7 Val6e as HeF
En peut modi6ier sa valeur en double9cliquant
dessus dans la colonne Val6e.
).4.!.V0s6al0sa.02n e. 427010ca.02n 76 c2n.en6 7B6n 3e&0s.3e 7Ben.3-es/s23.0es
/a 6enDtre ;<E VieF permet de visualiser et de
modi6ier le contenu des registres d1entres9
sorties. 2i cette 6enDtre n1est pas prsente4 il
6aut l1a66ic7er par V0eJHT22l(a3HIO.
;l su66it pour cela de c7oisir le registre dans la
partie suprieure de la 6enDtre.
uis de cliquer sur les cases ' coc7er dans la
partie in6rieure pour modi6ier la valeur
A titre d1in6ormation4 le clic sur le bit 0 de
ER,A4 provoque dans cet e(emple l1allumage
en temps rel de la /.D qui > est connecte.
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 1)'1
D(OGAGE AVEC AVR DRAGON C Dbogage avec AVR 2tudio
).4.).V0s6al0sa.02n e. 427010ca.02n 76 c2n.en6 7e la 4-4203e
2i la 6enDtre ,e423A n1est pas visible4 il 6aut
l1a66ic7er par V0eJH,e423A.
En peut visualiser le contenu de la mmoire
RA- en slectionnant Da.a dans la 6enDtre
,e423A en prcisant la valeur de l1adresse
dans A773ess.
our modi6ier une valeur dans la mmoire4 il
su66it de cliquer dessus et de la taper au
clavier. /es valeurs modi6ies apparaissent en
rouge.
De la mDme 6aKon on peut visualiser et
modi6ier le contenu de la mmoire ..RE-.
En peut visualiser le contenu de la mmoire
8/A2H mais pas la modi6ier.
. *A+ LISTE DES +"ESTIONS *R+"ENTES
W
P. Jean2$1$ avrdragon9notice.odt version 1.01 %a&e 1'1