Forum: Mikrocontroller und Digitale Elektronik Franzs-Lernpakete mit Atmel ATmega/ATtiny - Debug-Schnittstelle vorhanden / nachrüstbar!


von Rolf H. (Firma: http://www.hemmerling.com) (hemmerling)


Lesenswert?

Hallo,

bei den Franzs-Lernpaketen mit Atmel ATmega/ATtiny

Verfügen die Boards über eine Debug-Schnittstelle vorhanden,
bzw. wo gibts Anleitungen wie die konkret bei diesen Boards nachrüstbar 
sind ?!
Aufgrund der verbauten Prozessoren müsste dies die "DebugWIRE" 
Schnittstelle sein, nicht JTAG.

Es geht also um diese Franzs-Lernpakete
http://www.amazon.de/exec/obidos/ASIN/3645650261/hemmerling-21
http://www.amazon.de/exec/obidos/ASIN/3772346057/hemmerling-21
http://www.amazon.de/exec/obidos/ASIN/3772358977/hemmerling-21
http://www.amazon.de/exec/obidos/ASIN/3645650180/hemmerling-21
http://www.amazon.de/exec/obidos/ASIN/3772343805/hemmerling-21
die teilweise übrigens bei
http://www.pearl.de/kw-1-lernpaket++franzis.shtml
günstiger angeboten werden :-).

Ich habe einen JTAGiCE3 Debugger bei der "Atmel Technology on Tour 2011
- Rapid Development with Atmel AVR XMEGA and Atmel AVR Studio 5:
Hands-on Training" für $99 inklusive einem ATxmega-Board bekommen... es
geht also um den Erwerb eines evenuellen ( zu ATxmega aus Sicht von 
Dritten inkompatiblen ) ATmega Zweit-Boards.

Der "kann" auch DebugWIRE.

Es geht also drum, wie ich bei den o.g. Boards oder auch anderen Boards 
den JTAGICE3 Debugger weiter verwenden kann.

Auf Host-Seite erfordert dies Atmel Studio 5 unter WinXP ( also mit 
Atmel Studio 4 gehts nicht, und es gibt für den JTAGICE3 wohl auch noch 
keine Linux-Tools ).

Grüße
Rolf

von Thomas E. (thomase)


Lesenswert?

Rolf Hemmerling schrieb:
> Es geht also drum, wie ich bei den o.g. Boards oder auch anderen Boards
> den JTAGICE3 Debugger weiter verwenden kann.

Der Debugger wird über die 6-polige ISP-Schnittstelle angeschlossen.
Einfach den Debugger starten. Dann wirst du beim ersten Mal gefragt, ob 
auf Debug-Wire umgeschaltet werden soll.
Die ISP-Schnittstelle ist danach nicht mehr aktiv und muß aus dem 
Debugger heraus wieder zurückgeschaltet werden. Beim Studio4 mit 
JTAGICEMKII macht man das unter JTAGICEMKII-Options. Beim Studio5 mit 
JTAGICEIII wird das sicherlich genauso gehen.

Der Reset-Anschluß, über den die Debug-Verbindung läuft, muß 
unbeschaltet sein. Vor allen Dingen ohne Kondensator.

mfg.

von Rolf H. (Firma: http://www.hemmerling.com) (hemmerling)


Lesenswert?

Danke für die allgemeine Auskunft + Tipps,

1)
haben die Hardware-Boards der genannten Franzis-Lernpakete denn so einen 
6-poligen Anschluss, und wie ist bei denen der Reset schon passend ( wie 
gewünscht unbeschaltet ) gestaltet ?

2)
Beim

Lernpaket Mikrocontroller-Technik mit Arduino/Freeduino (2. Auflage) mit 
Platine, Bauteilen und CD-Rom"
http://www.amazon.de/exec/obidos/ASIN/3645650644/hemmerling-21
mit
Arduino Diecimila
( auch wenn der auf dem Karton eine modernere Version zu sein scheint 
als die Versionen die auf der Arduino-Website abgebildet sind )

könnte da ja sogar jemand tun, der das Board woanders her hat als 
ausgerechnet durch Kauf des Franzis-Kastens.

3)
Die anderen Boards kann ich nicht identifizieren, wo die auch unabhängig 
von Franzis vertrieben werden.
Weiss da jemand weiter :-) ?!

4)
Denn wenn man KEINEN Hardware-Debugger am laufen hat, wie bekommt man 
das Board unter Kontrolle ohne Bootloader oder mit zerstörtem Bootloader 
?

Grüße
Rolf

von tip (Gast)


Lesenswert?

Rolf Hemmerling schrieb:
> 1)
> haben die Hardware-Boards der genannten Franzis-Lernpakete denn so einen
> 6-poligen Anschluss, und wie ist bei denen der Reset schon passend ( wie
> gewünscht unbeschaltet ) gestaltet ?

Schau mal hier:
http://www.franzis.de/elektronik/lernpakete-elektronik
Da gibts zum Teil detailierte Beschreibungen und Screenshots. Und in der 
Leseprobe dazu ist meistens der Schaltplan zum Board enthalten.

Und das "Lernpaket Mikrocontroller"
http://www.amazon.de/exec/obidos/ASIN/3645650180/hemmerling-21
hat jedenfalls keinen Anschluss. Das ist sehr einfach gehalten.

von Thomas E. (thomase)


Lesenswert?

Rolf Hemmerling schrieb:
> 6-poligen Anschluss, und wie ist bei denen der Reset schon passend ( wie
> gewünscht unbeschaltet ) gestaltet ?
Den Anschluss haben die alle Arduinos. Der Reset-Pin ist mit 10K an Vcc 
geführt. Das ist beim JTAGICEMKII unproblematisch.

mfg.

von Thomas E. (thomase)


Lesenswert?

Rolf Hemmerling schrieb:
> 6-poligen Anschluss, und wie ist bei denen der Reset schon passend ( wie
> gewünscht unbeschaltet ) gestaltet ?
Den Anschluss haben die alle Arduinos. Der Reset-Pin ist mit 10K an Vcc 
geführt. Das ist zumindest beim JTAGICEMKII unproblematisch.

http://www.amazon.de/exec/obidos/ASIN/3645650644/h...
Das sieht nach Uno aus. Der sollte gehen.

mfg.

von Rolf H. (Firma: http://www.hemmerling.com) (hemmerling)


Lesenswert?

Hallo,
Danke für die Antworten

a)
Nein es ist leider KEIN Uno, sondern ein Diecimila
http://arduino.cc/en/Main/ArduinoBoardDiecimila
mit
ATmega168
http://www.atmel.com/dyn/products/product_card.asp?part_id=3303
( 16 Kbytes Flash, 1 Kbyte SRAM, 512 Bytes EEPROM ).

Der Uno hat jeweils doppelt so viel von allem.

Franzis ist halt sparsam, nicht beim Endkunden-Preis :-(, sondern beim 
Einkauf :-( :-(.

b)
Danke für den Tipp mit den Screenshots, ich war immer auf der "anderen" 
Website von Franzis gewesen wo es das nicht gibt:

Das Bild
http://www.franzis.de/elektronik/lernpakete-elektronik/lernpaket-ardunio
zeigt deutlich einen 6-poligen Stecker, beschriftet mit "ICSP"

ICSP - In Circuit Serial Programming
, ein entsprechender Adapter liegt meinem JTAGICE3 bei. das würde also 
gehen :-).

Das beschriftete Bild von Diecimila
http://arduino.cc/en/Main/ArduinoBoardDiecimila
bestätigt das.

c)
Wie sieht es bei den anderen "preiswerteren" Franzis-Boards aus ?

Die JTAG Schnitstelle mit den 6 Pins ist irrelevant, dafür gibts 
debugWIRE das über die Resetleitung + Masse arbeitet :-).

Also hat schon jemand DebugWire Debugging gemacht, mit einem (fast) 
nackten Atmel-CPU als Ausgangslage ?!

Hier auf "unserer" Website
http://www.mikrocontroller.net/articles/DebugWIRE
steht ja eigentlich alles, Kommunikation über Reset-Leitung, aber hat 
das wer schon gemacht ?

Der Reset-Pin der CPU ist bei allen Boards hoffentlich zugänglich ?!
Das ist die verbleibene Frage.
Ich hab ja keine Lust, einen Draht an einen SMD-Pin zu löten o.ä....
Grüße
Rolf

von tip (Gast)


Lesenswert?

Rolf Hemmerling schrieb:
> Das Bild
> http://www.franzis.de/elektronik/lernpakete-elektronik/lernpaket-ardunio
> zeigt deutlich einen 6-poligen Stecker, beschriftet mit "ICSP"

... und in der Leseprobe ist sogar der Schaltplan eingezeichnet. (S.27 
im PDF)
http://www.franzis.de/franzis/area/download-shop/do_download.jsp?actionRequest=download&downloadOID=2257787&mediaOID=2257818

Auch zu den anderen Boards gibts teilweise eine Leseprobe mit 
Schaltplan. Schau dort mal nach.

von Thomas E. (thomase)


Lesenswert?

Rolf Hemmerling schrieb:
> Die JTAG Schnitstelle mit den 6 Pins ist irrelevant, dafür gibts
> debugWIRE mit weniger Pins + Leitungen :-)
Quark.

Die JTAG-Schnittstelle ist erstens nicht 6-polig und hat zweitens nichts 
mit dem Board an sich, sondern mit dem Controller zu tun. Bei Arduino 
sind der Mega 2560 und sein Vorgänger die einzigen mit JTAG-Anschluß. 
Der bei beiden allerdings nicht explizit herausgeführt ist.

Alle Arduinos verfügen über eine ISP-Schnittstelle, die zum Debuggen auf 
Debug-Wire umgeschaltet werden kann, ausser beim Mega.

Dann braucht man in der Tat nur noch 2 Leitungen, Reset und GND. Da aber 
der Debug-Mode auch eingeschaltet werden muß, braucht man zusätzlich 
noch die 3 SPI-Leitungen. Zusammen mit Vcc ergibt das dann 6 Anschlüsse. 
Und die hat jeder Arduino.

Rolf Hemmerling schrieb:
> Also hat schon jemand DebugWire Debugging gemacht, mit einem (fast)
> nackten Atmel-CPU als Ausgangslage ?!
Jeden Tag.

Rolf Hemmerling schrieb:
> Der Reset-Pin der CPU ist bei allen Boards hoffentlich zugänglich ?!
> Das ist die verbleibene Frage.
Ja sicher. Das ist Bestandteil der ISP-Schnittstelle.

mfg.

von Rolf H. (Firma: http://www.hemmerling.com) (hemmerling)


Lesenswert?

a)
"Alle Arduinos verfügen über eine ISP-Schnittstelle, die zum Debuggen 
auf
Debug-Wire umgeschaltet werden kann, ausser beim Mega."

Zu "ausser beim Mega. ?!
Du meinst sicher Arduino Mega, siehe Tabelle auf
http://en.wikipedia.org/wiki/Arduino
und nicht die CPUs, die ja eigentlich alle ATmega heissen..

"Bei Arduino
sind der Mega 2560 und sein Vorgänger die einzigen mit JTAG-Anschluß.
Der bei beiden allerdings nicht explizit herausgeführt ist"
Bislang hörte ich im AVR-Freaks Forum, daß die beiden JTAG haben... und 
empfohlen wurden mir die Boards nicht, da das meiste an fertiger 
Software für die kleineren Boards gemacht worden wäre... :-(

obwohl "viel Speicher" ja doch immer empfehlenswert ist :-)

b)
"Ja sicher. Das ist Bestandteil der ISP-Schnittstelle"
Die gibt es als Stecker nicht bei den leistungsmäßig deutlich unterhalb 
von Arduino vertriebenen "primitiven" Franzis-Boards....
da gibt es eine Platine mit eingelötetem AVR Chip und sonst nicht 
viel... wo man was anlöten könnte.

"Dann braucht man in der Tat nur noch 2 Leitungen, Reset und GND. Da 
aber
der Debug-Mode auch eingeschaltet werden muß, braucht man zusätzlich
noch die 3 SPI-Leitungen. Zusammen mit Vcc ergibt das dann 6 Anschlüsse.
Und die hat jeder Arduino"
Verstanden, und die SPI-Schnittstelle ist bei den "primitiven" Franzis 
Board wohl auch nicht auf einen Stecker rausgeführt...

Viele Grüße
Rolf

von Thomas E. (thomase)


Lesenswert?

Rolf Hemmerling schrieb:
> und nicht die CPUs, die ja eigentlich alle ATmega heissen..
Ja klar.

Rolf Hemmerling schrieb:
> obwohl "viel Speicher" ja doch immer empfehlenswert ist :-)
Ja. Und jede Menge Ports haben die auch. Allerdings ist für die meisten 
Anwendungen ein 28-oder 40-Pinner schon mehr als ausreichend.

Rolf Hemmerling schrieb:
> da das meiste an fertiger
> Software für die kleineren Boards gemacht worden wäre
Das mag sein. Aber man kann ein Arduino Board auch ohne den ganzen 
Arduino-Krempel als "neutrales" Universalboard verwenden.

Rolf Hemmerling schrieb:
> Verstanden, und die SPI-Schnittstelle ist bei den "primitiven" Franzis
> Board wohl auch nicht auf einen Stecker rausgeführt...
Die bieten wahrscheinlich nur die Programmierung mit einem Bootloader. 
Das tun die Arduinos im Arduino-System auch. Aber diese "Luxusboards" 
verfügen eben zusätzlich noch über die Entwicklerschnittstellen. Das ist 
das, was sie so schön flexibel macht. Man kann am Anfang mit dem 
Arduino-System rumspielen und wenn man in die "richtige" Programmierung 
einsteigen will, schmeisst man den Arduino-Krempel runter und 
programmiert über ISP. Wobei man natürlich im Arduino-System auch die 
dollsten Sachen programmieren kann.

mfg.

von Rolf H. (Firma: http://www.hemmerling.com) (hemmerling)


Lesenswert?

Ein ISP ist also bei den Franzis-"Primitiv" Boards nicht so einfach 
nachrüstbar auf einem Steckbrett ?

Gerade debugWIRE müsste man doch so hinbekommen.. ( JTAG haben die auf 
den Boards verbauten CPUs ja eh nicht )
?

Aber auch als Anfänger, eben mit der fertigen Platine ?!

Grüße
Rolf

von Thomas E. (thomase)


Lesenswert?

Versteif' dich nicht so auf die ohnehin viel zu teuren 
Franzis-Lernpakete.

Kauf' dir ein universelles Board, das kann auch ein Arduino Uno für 25€ 
sein. Und dann arbeitest du das Tutorial hier durch. Die Beispiele 
orientieren sich zwar am Atmega8, die Unterschiede zum 168/328 sind aber 
nicht gravierend. In erster Linie können die neueren Controller einfach 
ein bisschen mehr. Vor allem kann man sie debuggen.

mfg.

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.