Forum: Mikrocontroller und Digitale Elektronik AVR-Dragon für Anfänger


von Simon (Gast)


Lesenswert?

Hallo,
ich überlege mir ein AVR-Dargon Board zu kaufen, verstehe aber noch ein 
paar Dinge noch nicht. Es ist schon etwas her, dass ich Microcontroller 
programmiert hatte und will nun wieder frisch einsteigen. Damals auf der 
Schule hatten wir ein EPM900 Board mit einem LPC936 "Bond Out" 
Controller und Keil IDE. Es war sehr gut mit diesem zu arbeiten weil man 
direkt "in-circuit" debuggen konnte. Nun will ich wie gesagt wieder 
einsteigen. AVR soll es sein.

Welcher Controller ist auf dem Board verbaut?
Ich finde keinen Schaltplan auf dem ich sehe wo die Pins vom Controller 
hin gehen. Die müssten doch alle unten auf die 40 Lötaugen gehen, auf 
welche ich dann einen Sockel löte. Kann ich meine Schalter, LEDs, 
Sensoren und sonstige Perepherie dort dann anschließen?

Spannungsversorgung kommt direkt über die USB-Schnittstelle.
Ich nehme an, ich kann das Board direkt über diese programmieren. Hier 
müsste ich doch aber wissen welchen Chip ich über AVR Studio 
programmiere.

Beim AVR-Dragon kann ich auch "online" debuggen. Dies mache ich über die 
JATAG Schnittstelle. Das mit der 6 poligen ISP Schnittstelle hatte ich 
schon einmal gemacht. Dazu hatte ich mir von einem Bekannten so einen 
AVR-Programmer ausgeliehen. Damit konnte ich über USB Pprogrammieren. 
Braucht man dann wieder einen anderen Programieradapter (10 polig) wenn 
ich über JATAG programmieren und debuggen will.

Hoffe jemand hat etwas Geduld und kann mir meine Fragen beantworten.

Vielen Dank,
Simon

von g457 (Gast)


Lesenswert?

> ich überlege mir ein AVR-Dargon Board zu kaufen

Soeins [0]? Das ist ein Programmieradapter, kein Entwicklungsboard. Kauf 
Dir einen Arduino-Nachbau (mit JTAG oder DebugWire) oder ähnliches dazu, 
dann kannst Du auch debuggen.

[0] http://www.atmel.com/tools/AVRDRAGON.aspx

von Simon (Gast)


Lesenswert?

Achso,

ich dachte das wäre ein Entwicklungsboard. Dass heißt wenn ich z.B. ein 
STK500 Board kaufe, könnte ich das AVR-Dragon über den 10 poligen JATAG 
mit dem dort eingesteckten Contoller verbinden, und dann diesen online 
debuggen? Ich hatte mir das komplett anders vorgestellt. Ich bin auf der 
Suche nach einem Entwicklunsboard bei dem ich auch online debuggen kann. 
Würde das mit dem STK und dem Dragon funktionieren? Das wären dann 
zusammen ja ca. 170 Euro - puh... Danke für den Tip mit dem Arduino. Ich 
möchte aber gerne AVR-Studio benutzen.

Grüße
Simon

von g457 (Gast)


Lesenswert?

> Danke für den Tip mit dem Arduino. Ich möchte aber gerne AVR-Studio
> benutzen.

Deswegen sagte ich

> Arduino-Nachbau (mit JTAG oder DebugWire) oder ähnliches

und

> dazu

Nur weil 'Arduino-Klon' auf dem PCB steht heisst das nicht, dass man die 
vermurkste IDE benutzen muss.

HTH

von Stefan F. (Gast)


Lesenswert?

> Welcher Controller ist auf dem Board verbaut?

Spielt keine Rolle. Ich meine, da sind sogar mehrere drauf.

> Ich finde keinen Schaltplan auf dem ich sehe wo die Pins vom
> Controller hin gehen.

Bei Atmel gibt es eine Bedienungsanleitung, wo alle Anschlüsse haarklein 
erklärt sind. Der unbestückte Bereich am Rand der Platine kann mit einem 
Klemmsockel und Stiftleisten bestückt werden. Dann kannst du mit losen 
Jumperkabeln einzelne Chips programmieren.

Aber einen einzelnen Chip zu debuggen ist ziemlich sinnlos. Dazu kannst 
du gleich einen Simulator (ganz ohne Hardware) verwenden.

Normalerweise verbindet man den Dragon jedoch mit einer komplett 
bestückten Schaltung. Ich hatte in mehreren Jahren noch keinen Bedarf 
empfunden, den unbestückten Bereich zu verwenden.

> Kann ich meine Schalter, LEDs, Sensoren und sonstige
> Perepherie dort dann anschließen?

Nein. Der Dragon ist ein Programmieradapter und Debugger. Er muss mit 
einem AVR Mikrocontroller (deiner Wahl) verbunden werden, der sich auf 
einer anderen Platine befindet. Da kannst du dann deine Schalter und 
LED's anschließen. Für den Anfang kann ich die billigen Arduino Nano 
Clones aus China empfehlen.

> Ich nehme an, ich kann das Board direkt über diese programmieren.

Nein, der Dragon ist kein Experimentierboard. Du kannst ihn nicht 
programmieren (abgesehen von einem Firmware-Upgrade).

> Ich bin auf der Suche nach einem Entwicklunsboard bei dem
> ich auch online debuggen kann.

Entwicklungsboard mit AVR Mikrocontroller gibt es viele, aber soweit ich 
weiß enthält kein einziges einen Debugger. Zum Debuggen brauchst du ein 
zusätzliches Gerät zwischen AVR Mikrocontrller und deinem PC, eben zum 
Beispiel einen Dragon oder einen Atmel ICE. Der Dragon is billiger, 
allerdings überstützt er einige neue Chips nicht und ist auf 32KB 
Programmspeicher beschränkt. Außerdem soll er recht empfindlich sein und 
ist daher nicht wirklich für Anfänger zu empfehlen.

Preisgünstiger wirst du da was im 32bit Umfeld finden. Da gibt es für ca 
10-20 Euro Sogenannte "STM32 Discovery". Das sind kleine Platinen mit 
STM32 Mikrocontroller, Programmieradapter und Debug-Schnittstelle - das 
ist fast geschenkt.

> Würde das mit dem STK und dem Dragon funktionieren?

Welches STK? Es gibt sehr unterschiedliche. Generell würde ich vom den 
STK Boards abraten, wenn du auf's Geld achten musst. Arduino Module oder 
Steckbretter mit einzelnen Chips sind zum Lernen genau so gut geeignet 
und viel billiger.

Bei AVR ist Debuggen leider teuer.

Ich habe noch nie JTAG benutzt, aber ich habe schon öfters mit der Debug 
Wire Schnittstelle von Atmel gearbeitet. Die ist in der Praxis sehr 
nervig, denn darüber kann man NICHT in ein laufendes Programm hinein 
schauen. Sondern man muss einen Unterbrechungspunkt setzen und dann 
(wenn alles still steht) kann man in den Chip hinein schauen. In den 
allermeisten realen Anwendungen führt so ein Unterbrechungspunkt aber 
zum Ausfall der Schaltung. Wenn ich z.B. das Steuerprogramm eines Asuro 
Roboters einfach anhalte, knallt er gegen die nächste Wand. Wenn ich die 
Steuerung einer Waschmaschine anhalte, läuft sie womöglich über. Wenn 
ich die Regelung eines Hubschraubers anhalte stürzt er ab.

Log-Meldungen sind da weniger invasiv und die kann man praktischerweise 
recht einfach per Bluetooth an den PC/Laptop/Smartphone senden.

von g457 (Gast)


Lesenswert?

> Wenn ich z.B. das Steuerprogramm eines Asuro Roboters einfach anhalte,
> knallt er gegen die nächste Wand.

Hochheben. Oder debuggen lernen.

> Wenn ich die Steuerung einer Waschmaschine anhalte, läuft sie womöglich
> über.

Wasserhahn zudrehen. Oder debuggen lernen.

> Wenn ich die Regelung eines Hubschraubers anhalte stürzt er ab.

Auf ein Gestell stellen. Oder debuggen lernen.

Nix für ungut.

von Jim M. (turboj)


Lesenswert?

Stefan U. schrieb:
> Außerdem soll er recht empfindlich sein und
> ist daher nicht wirklich für Anfänger zu empfehlen.

Amen. Insbesondere scheint er den - in der Praxis häufiger auftretenden 
- Fall nicht auszuhalten, wenn das Target Strom hat aber der Dragon 
selbst nicht am USB angesteckt ist.

Kauf lieber ein ATMEL ICE, auch wenn das etwas teurer ist. Hier hat vor 
kurzem jeman geschrieben, dass ein Dragon bei ihm eine Halbwertszeit von 
einer Stunde hatte...

Wenn C-Programmierung (und englische Sprache :-) nicht abschrecken, dann 
nimm lieber ein Cortex M3 (M4,M0) Board.

Oder schau Dir die EFM8 Sachen von Silabs mal an - du kennst ja 8051 
schon. Deren STKs sind nur etwas teurer als STM Discovery und bieten 
JLink Debugger.

von dasrotemopped (Gast)


Lesenswert?

>ich überlege mir ein AVR-Dargon Board zu kaufen
Gute Wahl, wenn man alle Programmiermodi der 8-bit AVRs unterstützen 
will.
In der Praxis verwendet man allerdings meist den ISP Modus, da reicht 
der AVR ISP MKII zum halben Preis. Da kann man sich ein paar kleine 
verflashte AVRs leisten

>Welcher Controller ist auf dem Board verbaut?
Atmega2560 + Atmega128A + cy7c1019d SRAM + pdiusbd12 und noch ein paar 
mehr Kleinzeug

Mit dem Dragon kann mal auch kleinere Schaltungen auf dem 
Steckbrett/Lochraster mit Strom versorgen. Aber der Dragon ist zu teuer 
um als Netzteil dauerhaft herzuhalten

An sonsten mal hier nachschauen:
http://www.atmel.com/tools/AVRDRAGON.aspx
http://www.atmel.com/Images/Atmel-42723-AVR-Dragon_UserGuide.pdf

Bei dem Wunsch, AVR 8-bitter zu programmieren würde ich direkt zu 
Arduino raten, alleine schon wegen dem Preis.
An sonsten schliesse ich mich dem Vorschlag an, ein Nucleo Board zum 
Einstieg zu benutzen.

Gruß,

dasrotemopped.

von Wolfgang S. (wsm)


Lesenswert?

Suchs du eine geeignete Anfängerplatine?

Schau mal den Punkt 4 auf der Seite http://ups.bplaced.de/Shop/shop.htm

W.

von Simon (Gast)


Lesenswert?

Hallo,

vielen Dank für all eure hilfreichen Antworten. Wie gesagt hatte ich 
großen Gefallen an dem STK500 von Atmel gefunden. Durch den letzten 
Beitrag von Wolfgang Schmidt bin ich jetzt aber doch etwas irritiert.
Bei Pollin kostet das Entwicklunsboard 
(http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bauelemente_Bauteile/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html?gclid=CN6t0p3RtdACFUmeGwodQqUH5Q) 
nur 15,- Euro und ist doch eigentlich das gleiche, oder?
Was ich vermisse sind aber noch eine zusätliche Buchsenleiste um an alle 
Pins des gesteckten Contollers zu kommen. Ich will ja diesen 
Programmieren und diesen dann aber gleich mit meiner Perepherie auf dem 
Steckboard verbinden. Geht das nicht?

Danke
Simon

von Stefan F. (Gast)


Lesenswert?

Das Pollin Board unterstützt weniger AVR Typen und hat weniger 
Anschlüsse. Aber es ist Ok.

Wenn dein Computer keinen echten RS232 Port hast, brauchst du aber 
unbedingt einen ISP Programmieradapter. Den wirst du früher oder später 
ohnehin haben wollen. Und du wolltest ja auch Debuggen, also wohl dann 
den teuren ICE.

> Was ich vermisse sind aber noch eine zusätliche Buchsenleiste um
> an alle Pins des gesteckten Contollers zu kommen. Ich will ja
> diesen Programmieren und diesen dann aber gleich mit meiner
> Perepherie auf dem Steckboard verbinden. Geht das nicht?

Dann sind Arduino Nano Module eigentlich genau das Richtige. Oder die 
Crumb Module von Chip45 - da gibt's auch welche mit mehr Pins.

Spricht denn für Dich irgend etwas gegen ein Steckbrett mit 
Einzelteilen? Du wirst es sicher schaffen, zwei Bauteile darauf zu 
stecken (einen AVR und einen Kondensator), denn mehr braucht man zum 
Start nicht.

von Alexander S. (alesi)


Lesenswert?

Wolfgang S. schrieb:
> Suchs du eine geeignete Anfängerplatine?
>
> Schau mal den Punkt 4 auf der Seite http://ups.bplaced.de/Shop/shop.htm

... und lese den Artikel
Pollin ATMEL Evaluations-Board
https://www.mikrocontroller.net/articles/Pollin_ATMEL_Evaluations-Board

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.