Forum: Mikrocontroller und Digitale Elektronik JTAG != JTAG? Wieso gibt's für jeden µC einen anderes JTAG Programmiergerät?


von Talad (Gast)


Lesenswert?

Ich stelle gerade auf folgender Seite fest, daß es für jeden 
Mikrocontroller ein anderes JTAG Programmiergerät gibt.
http://www.mikrocontroller.net/articles/JTAG


Meine Frage, wieso gibt's es eigentlich kein Universal JTAG 
Programmiergerät, daß alle µC anspricht?


Ich selbst will nur einen "AT MEGA8 AVR" und "MSP430 F2012" 
programmieren können und suche nun ein JTAG Programmiergerät zum 
Anschluß an meinen PC.


Welches soll ich denn jetzt da nehmen?
Ich kenne mich hier leider nicht besonders gut aus.
Was mir aber wichtig wäre, ist, daß es auf PC Seite an den USB Anschluß 
angeschlossen werden kann und unter Linux mit Open Source Software 
läuft.

Das Gerät sollte gut erhältlich oder nachbaubar sein.
Und beim Preis so günstig wie möglich sein.


Ich bin noch ganz am Anfang bezügl. dem Thema Microcontrollern, habe im 
der Studium schon einen programmiert, aber möchte mir kein Testboard 
kaufen, weil die mir erstens zu teuer sind und zweitens ich so einen 
einfachen µC selber in eine selbst ausgedachte Schaltung integrieren 
will.
Mit Elektronik ansich (analog/digital) kenne ich mich nämlich schon 
etwas aus, so daß ich mir Zutraue auch einen einzeln gekauften µC 
Baustein mit einer eigenen Schaltung zum Laufen zu bringen.
Ein Testboard brauche ich also nicht.

von Daniel F. (danielosna)


Lesenswert?

Das ist doch kein Problem: Dein Atmega 8 hat kein JTAG-Interface - also 
brauchst du nur einen JTAG-Adapter für deinen MSP...

Atmega 8 wird via ISP geflasht...

Einfache Testboards für die Atmegas gibt es ab 25€... und das ist dir zu 
viel? Schonmal geschaut was ein ordentlicher JTAG-Adapter kostet?

von Daniel F. (danielosna)


Lesenswert?


von (prx) A. K. (prx)


Lesenswert?

Talad schrieb:

> Meine Frage, wieso gibt's es eigentlich kein Universal JTAG
> Programmiergerät, daß alle µC anspricht?

JTAG definiert die Hardwareschnittstelle. Was da drüber läuft ist weit 
weniger definiert. Und der Welt-Diktator, der vorschreiben könnte, dass 
alle ausschliesslich die JTAG-Box von Segger zu verwenden hätten, der 
ist noch nicht erschaffen.

Also funktioniert die Software von Atmel nur mit der Atmel-Box, die von 
Kail nur mit den Box von ... usw.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Die physikalische JTAG Schnittstelle ist nur ein Teil von JTAG. 
Mindestens genauso wichtig ist der Softwareteil: Was bedeutet welcher 
JTAG Befehl... Und da können die Hersteller ihre eigenen kleinen 
Geschäftsgeheimnisse unterbringen.

Fürs Selberbauen eines Multitarget-Programmers wären im Moment 
Versaloon (AVR ISP oder JTAG programmieren OK, JTAG debuggen???) oder 
GoodFET (AVR nur ISP programmieren, experimentell) meine Favoriten. 
Aber bisher habe ich mir das noch nicht zugetraut.

von jojansen (Gast)


Lesenswert?

Moin,
wie schon erwähnt ist JTAG die Hardwareseite. die JTAG fähigen Bausteine 
befinden sich in einer Reihe (vom JTAG aus gesehen) und es werden Daten 
durch diese Kette geschoben die dann wiederum für das Innenleben der ICs 
bestimmt ist oder was zu deren Pins hinausgeht (und natürlich auch die 
andere Richtung).
Diese Geschichte kann man mit einem simplen Interface am LPT Anschluss 
erledigen oder man kann vieeele K€ für ein Interface ausgeben. Die 
Unterschiede sind dann z.B. in der Geschwindigkeit vom Schiebetakt zu 
finden, aber nicht nur.
Aber ohne Software läuft das alles nicht und die sagt schliesslich dem 
Interface was es wie zu tun hat. Da gibt es einfache Geschichten wie zum 
Debuggen oder Flashen aus einer IDE heraus oder eben komplexere 
Umgebungen in denen Prüf/Testabläufe generiert und geschrieben werden. 
JTAG eignet sich hervorragend für die Elektronikproduktion und den 
Test/Inbetriebnahme von Leiterplatten. Ein Beispiel ist das, was bei 
www.goepel.com gemacht wird.
Das ist dann weit aus mehr als einfach nur zu Flashen.
Ich hoffe, Dich jetzt hier nicht vollgelabert zu haben, sondern etwas 
Licht ins Dunkel gebracht zu haben.
:-) Johannes

von Thomas E. (thomase)


Lesenswert?

Talad schrieb:
> Meine Frage, wieso gibt's es eigentlich kein Universal JTAG
>
> Programmiergerät, daß alle µC anspricht?

JTAG ist ein standardisiertes Verfahren zum Auslesen von Registern eines 
IC. Das nennt sich Boundary Scan. Dazu sind bestimmte Register im 
Standard definiert.

Die Register zum Programmieren und Debuggen sind Zusatzregister, die 
keinem Standard entsprechen, sodaß jeder Hersteller sein eigenes 
Süppchen kocht.

mfg.

von Talad (Gast)


Lesenswert?

Daniel F. schrieb:
> Das ist doch kein Problem: Dein Atmega 8 hat kein JTAG-Interface - also
> brauchst du nur einen JTAG-Adapter für deinen MSP...

Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß 
und Linux kompatibilität?


> Atmega 8 wird via ISP geflasht...

Gut, dann programmier ich die beiden Geräte eben mit zwei 
unterschiedlichen Standards.

Was würdet ihr mir als ISP Adapter empfehlen?
Gleiche Bedingungen wie oben: USB + Linux kompatibel ist wichtig.



> Einfache Testboards für die Atmegas gibt es ab 25€... und das ist dir zu
> viel? Schonmal geschaut was ein ordentlicher JTAG-Adapter kostet?

Ein AT Mega 8 Chip kostet nur 2,35 € bei Reichelt und die restlichen 
Kosten für diverse Bauteile zähle ich ja sowieso zu meinen geplanten 
Elektronikprojekten.
Sprich, ich will eigentlich nicht Programmieren üben auf einem Mega8, 
sondern schon ein konkretes Problem lösen bzw. ein Projekt realisieren.

Die Testboards haben nen Haufen Zeug das ich für meine eigentliche 
Problemstellung nicht brauche und wenn ich dann mein eigenes 
Elektronikprojekt realisieren will kann ich das sowieso nicht auf ein 
Testboard aufbauen.
Denn wenn ich letzteres machen würde, dann kann ich auch gleich das 
Eleketronikprojekt so realisieren, daß es von meinem PC aus angesteuert 
wird.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Talad schrieb:
> Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß
> und Linux kompatibilität?

Beim MSP430 gibt es nicht so viele Möglichkeiten, entweder das Original 
von TI (MSP-FET430UIF) oder dessen Nachbau von Olimex.

von Ferdi (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> oder dessen Nachbau von Olimex

Oder , aber halt parallel :\\, für 2 euro nachbauen.

von Talad (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Talad schrieb:
>> Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß
>> und Linux kompatibilität?
>
> Beim MSP430 gibt es nicht so viele Möglichkeiten, entweder das Original
> von TI (MSP-FET430UIF) oder dessen Nachbau von Olimex.

Die Dinger sind ja schweineteuer. :shocked:

Reicht auch dieses da:
MSP 430 USB-Stick Entwicklungstool Texas Instruments eZ430-F2013
Das kostet bei Conrad nur 29,63 €.
Best.-Nr.: 170285 - U1

http://www.conrad.de/ce/ProductDetail.html?hk=WW2&utm_source=zanox&utm_medium=deeplink&utm_content=dl_article&utm_campaign=tracking&insert=U1&WT.mc_id=epro&productcode=170285


Ansonsten sind bei Conrad mehrere aufgelistet:
http://produkt.conrad.de/45973183/emulator-msp-fet-430-uif.htm

Wo ist der Unterschied zwischen einem Emulator und einem 
Entwicklungstool?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Talad schrieb:
> Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß
> und Linux kompatibilität?

Für ATmega8 & Co: AVR Dragon.  Programmer (für alle möglichen
AVR-Programmierprotokolle) und Debugger in einem.  Viel billiger als
das bauen das nichtmal die Chinesen. ;-)

von Frank K. (fchk)


Lesenswert?

Talad schrieb:
> Daniel F. schrieb:
>> Das ist doch kein Problem: Dein Atmega 8 hat kein JTAG-Interface - also
>> brauchst du nur einen JTAG-Adapter für deinen MSP...
>
> Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß
> und Linux kompatibilität?

Für Linux nimmst Du am besten das Original von TI:
http://www.conrad.de/ce/de/product/170258/EMULATOR-MSP-FET-430-UIF

Der hier von Olimex
http://www.olimex.com/dev/msp-jtag-iso.html
soll wohl auch gehen, die anderen sind Windows-only.

> Was würdet ihr mir als ISP Adapter empfehlen?
> Gleiche Bedingungen wie oben: USB + Linux kompatibel ist wichtig.

Auch hier ist das Original vom Hersteller erste Wahl:
http://www.reichelt.de/?ACTION=3;ARTICLE=45040;PROVID=2402

fchk

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ferdi schrieb:
> Rufus Τ. Firefly schrieb:
>> oder dessen Nachbau von Olimex
>
> Oder , aber halt parallel :\\, für 2 euro nachbauen.

Nicht ratsam, weil das Ding unter anderem kein Spy-Bi-Wire unterstützt 
und obendrein eine tote Schnittstelle voraussetzt.

Außerdem war explizit USB gefordert.

Talad schrieb:
> Die Dinger sind ja schweineteuer. :shocked:

Das ist nicht "schweineteuer", oder Du hast irgendeinen Preis gesehen, 
der sehr deutlich über 100 EUR liegt.
Sieh Dir einfach mal Preise* für JTAG-Adapter für AVR an, die Atmel 
selbst verkauft.

> Reicht auch dieses da:
> MSP 430 USB-Stick Entwicklungstool Texas Instruments eZ430-F2013

Das ist eine abgespeckte Ausführung, die nur das Spy-Bi-Wire-Interface 
unterstützt, was gerade ältere MSP430-Varianten ausschließt.

Günstiger ist da übrigens das Launchpad, das wurde eine Zeit lang für 
4.30 USD verkauft, das enthält ein vergleichbares Spy-Bi-Wire-Interface.



*) In der Apotheke mit dem blauen 'C', aber vor dem Anklicken des Links 
unbedingt hinsetzen!

http://www.conrad.de/ce/de/product/154135/PROGRAMMER-ATJTAGICE-MKII/SHOP_AREA_29142&promotionareaSearchDetail=005

von Simon K. (simon) Benutzerseite


Lesenswert?


von Reinhard Kern (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Das ist nicht "schweineteuer", oder Du hast irgendeinen Preis gesehen,
> der sehr deutlich über 100 EUR liegt.
> Sieh Dir einfach mal Preise* für JTAG-Adapter für AVR an, die Atmel
> selbst verkauft.

Hallo,

ihr lebt doch in goldenen Zeiten und wisst es nicht - meine erste 
Entwicklungsausrüstung mit einem Hitex-In-Circuit-Emulator und einem 
Tektronik Logic Analyser hatte etwa den Gegenwert eines 
Einfamilienhauses.

Gruss Reinhard

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mir erzählst Du da nichts neues, ich erinnere mich auch an die Zeit, 
in der man als Entwickler von so etwas träumte, es aber nicht verwenden 
konnte, weil in der Firma einfach nicht genug Geld dafür vorhanden war.

von Talad (Gast)


Lesenswert?

Jörg Wunsch schrieb:
>> Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß
>> und Linux kompatibilität?
>
> Für ATmega8 & Co: AVR Dragon.  Programmer (für alle möglichen
> AVR-Programmierprotokolle) und Debugger in einem.  Viel billiger als
> das bauen das nichtmal die Chinesen. ;-)


Der AVR Dragon sieht in der Tat sehr gut, der Preis ist noch halbwegs 
akzeptabel und die Möglichkeiten bezügl. der großen Auswahl an 
unterstützen AVR µC ist auch sehr gut.


Frank K. schrieb:>
> Für Linux nimmst Du am besten das Original von TI:
> http://www.conrad.de/ce/de/product/170258/EMULATOR-MSP-FET-430-UIF
>
> Der hier von Olimex
> http://www.olimex.com/dev/msp-jtag-iso.html
> soll wohl auch gehen, die anderen sind Windows-only.

Die sind beide leider für mich zu teuer.
Ich will ja erstmal ein bischen in die Materie reinschnuppern 
(allerdings mit meinen eigenen Schaltungen) und dann rentiert sich so 
ein 100 € Programmiergerät noch nicht.

Auch ist der MSP430 etwas günstiger als ein ATMEGA 8, aber wenn ich für 
das Programmiergerät so viel bezahlen muß, dann rechnet sich der 
niedrigere Preis pro Chip des MSP430 nie und nimmer.

Da müßte ich schon 100 Stück verbauen, damit das einigermaßen 
wirtschaftlich wird und die AVR Familie bietet ja eigentlich mehr als 
genug Möglichkeiten, so daß ich den MSP430 gar nicht mehr brauche.

Oder hat der MSP430 außer dessen geringer Preis und der Tatsache daß ich 
mit diesem, im Gegensatz zu AVR basierten Chips, schon gearbeitet habe 
noch Vorteile gegen die AVR basierte Chipfamilie?


Wenn ja, dann käme für den MSP430 eigentlich nur eine Low Cost Lösung in 
Frage. Wie sieht es hier beim MSP430 also bezügl. Parallelport basierter 
Programmiergeräte aus?





> Auch hier ist das Original vom Hersteller erste Wahl:
> http://www.reichelt.de/?ACTION=3;ARTICLE=45040;PROVID=2402

Worin unterscheidet sich das AVR Programming Tool AT AVR ISP2 mit USB im 
Vergleich zum AVR Dragon?
Abgesehen davon, daß der AVR Dragon etwa 20 € teurer ist?

von Sparfuchs (Gast)


Lesenswert?

>mit einem Hitex-In-Circuit-Emulator und einem
>Tektronik Logic Analyser hatte etwa den Gegenwert eines
>Einfamilienhauses.

Die Zeiten kenne ich noch; habe mich fürs Haus entschieden und nicht 
bereut ;-)
Die elektronischen Probleme habe ich dann mit dem Kopf gelöst.

von Talad (Gast)


Lesenswert?

Ich stelle gerade fest, vom Olimex gibt es auch noch eine Low Cost JTAG 
USB Variante für den MSP430:

MSP430-JTAG-TINY
http://www.olimex.com/dev/msp-jtag-tiny.html

Der kostet mit ca. 55 € nur die Hälfte vom MSP430-JTAG-ISO.


Wäre der auch empfehlenswert?

von NoName986 (Gast)


Lesenswert?

Talad schrieb:
> Wenn ja, dann käme für den MSP430 eigentlich nur eine Low Cost Lösung in
> Frage. Wie sieht es hier beim MSP430 also bezügl. Parallelport basierter
> Programmiergeräte aus?

Eine mögliche Low-Cost Lösung für/mit MSP430 ist
die TI Chronos um rd 50$.
Brustgurt zur Pulsmessung (wer´s braucht) ist nochmal
rd 50EUR.

Da ist alles dabei, was man zum Debuggen
braucht.

von Lukas K. (carrotindustries)


Lesenswert?

Ohne mir alles durchgelesen zu haben:
Prinzipiell würde das schon Sinn machen, wenn der Programmieralgorithmus 
auf dem Computer läuft und das Programmiergerät nur noch die Daten, die 
man ihm per USB schickt stupf auf der JTAG Schnittstelle ausgibt.

Wirklich universell (und teuer) sind die GALEPs

von Spess53 (Gast)


Lesenswert?

Hi

>Worin unterscheidet sich das AVR Programming Tool AT AVR ISP2 mit USB im
>Vergleich zum AVR Dragon?
>Abgesehen davon, daß der AVR Dragon etwa 20 € teurer ist?

AVR ISP MKII : ISP

AVR Dragon   : ISP, HV-Programmierung, JTAG Debugging

MfG Spess

von Frank K. (fchk)


Lesenswert?

Talad schrieb:

> Frank K. schrieb:>
>> Für Linux nimmst Du am besten das Original von TI:
>> http://www.conrad.de/ce/de/product/170258/EMULATOR-MSP-FET-430-UIF
>>
>> Der hier von Olimex
>> http://www.olimex.com/dev/msp-jtag-iso.html
>> soll wohl auch gehen, die anderen sind Windows-only.
>
> Die sind beide leider für mich zu teuer.
> Ich will ja erstmal ein bischen in die Materie reinschnuppern
> (allerdings mit meinen eigenen Schaltungen) und dann rentiert sich so
> ein 100 € Programmiergerät noch nicht.
>
> Auch ist der MSP430 etwas günstiger als ein ATMEGA 8, aber wenn ich für
> das Programmiergerät so viel bezahlen muß, dann rechnet sich der
> niedrigere Preis pro Chip des MSP430 nie und nimmer.
>
> Da müßte ich schon 100 Stück verbauen, damit das einigermaßen
> wirtschaftlich wird und die AVR Familie bietet ja eigentlich mehr als
> genug Möglichkeiten, so daß ich den MSP430 gar nicht mehr brauche.
>
> Oder hat der MSP430 außer dessen geringer Preis und der Tatsache daß ich
> mit diesem, im Gegensatz zu AVR basierten Chips, schon gearbeitet habe
> noch Vorteile gegen die AVR basierte Chipfamilie?

Planst Du batteriebetriebene Geräte zu bauen?
Brauchst Du VIEL 16 Bit Arithmetik (der MSP430 ist intern 16 Bittig, der 
AVR nur 8-bittig)
Brauchst Du unbedingt DMA?

Wenn Du eines davon bejahen kannst, dann greife zum MSP430, ansonsten 
lass es bleiben.

> Wenn ja, dann käme für den MSP430 eigentlich nur eine Low Cost Lösung in
> Frage. Wie sieht es hier beim MSP430 also bezügl. Parallelport basierter
> Programmiergeräte aus?

Mit Linux? Ähhhm...

>> Auch hier ist das Original vom Hersteller erste Wahl:
>> http://www.reichelt.de/?ACTION=3;ARTICLE=45040;PROVID=2402
>
> Worin unterscheidet sich das AVR Programming Tool AT AVR ISP2 mit USB im
> Vergleich zum AVR Dragon?
> Abgesehen davon, daß der AVR Dragon etwa 20 € teurer ist?

Der AVRISP mkii kann NUR ISP und PDI-Programmierung, d.h. Du kannst nur 
Deine Programme reinladen und dann schauen, ob es geht. Debuggen geht 
über ISP nicht, über PDI ja, aber nicht mit diesem Teil.

Der Dragon kann auch JTAG und ist auch als Debugger für JTAG und 
DebugWire einsetzbar. PDI kann der Dragon nicht, aber das findest Du 
auch nur bei den XMegas.

Der Mega8 hat nur ISP, der neuere und pinkompatible Mega88 kann auch 
DebugWire und hat mehr Möglichkeiten und ist etwas schneller und im 
Preis etwa gleich.

fchk

von Frank K. (fchk)


Lesenswert?

Talad schrieb:
> Ich stelle gerade fest, vom Olimex gibt es auch noch eine Low Cost JTAG
> USB Variante für den MSP430:
>
> MSP430-JTAG-TINY
> http://www.olimex.com/dev/msp-jtag-tiny.html
>
> Der kostet mit ca. 55 € nur die Hälfte vom MSP430-JTAG-ISO.
>
>
> Wäre der auch empfehlenswert?

Wenn Du Windows hättest, ja. Mit Linux geht der nicht, da gehen nur die 
beiden Typen, die ich geschrieben habe, keine anderen.

Tja, 80 Euro für ein Windows...

fchk

von Lukas K. (carrotindustries)


Lesenswert?

Frank K. schrieb:
> Talad schrieb:
>> Ich stelle gerade fest, vom Olimex gibt es auch noch eine Low Cost JTAG
>> USB Variante für den MSP430:
>>
>> MSP430-JTAG-TINY
>> http://www.olimex.com/dev/msp-jtag-tiny.html
>>
>> Der kostet mit ca. 55 € nur die Hälfte vom MSP430-JTAG-ISO.
>>
>>
>> Wäre der auch empfehlenswert?
>
> Wenn Du Windows hättest, ja. Mit Linux geht der nicht, da gehen nur die
> beiden Typen, die ich geschrieben habe, keine anderen.
>
> Tja, 80 Euro für ein Windows...
>
> fchk

Du kennst mspdebug nicht;
Auszug aus der Manpage
1
DRIVERS
2
       A driver name must be specified on the command line for MSPDebug to connect to. Valid driver names are listed here.
3
4
       rf2500 Connect to an eZ430-RF2500 device. Only USB connection is supported.
5
6
       olimex Connect to an Olimex MSP-JTAG-TINY device. Both USB and tty access are supported.
7
8
       olimex-iso
9
              Connect to an Olimex MSP-JTAG-ISO device. Only tty access is supported.
10
11
       sim   [..]
12
13
       uif    Connect to an eZ430-F2013 or a FET430UIF device. The device argument should be the filename of the appropriate tty device. The TI serial converter chips on these devices are supported  by
14
              newer versions of the Linux kernel, and should appear as /dev/ttyXX when attached.
15
16
              USB connection is not supported for this driver.
17
18
       uif-bsl
19
              Connect  to the bootloader on a FET430UIF device[...]
20
       flash-bsl
21
              Connect  to  the built-in bootloader in MSP430 devices with flash bootloader memory. [...]

von Marko B. (glagnar)


Lesenswert?

Wenns um den MSP430 und nur ums Programmieren geht: die MSP430 lassen 
sich sehr gut ueber den eingebauten seriellen Bootloader programmieren. 
Funktioniert einwandfrei ueber USB-RS232 Wandler und man braucht sonst 
nichts.

von Talad (Gast)


Lesenswert?

Frank K. schrieb:
> Planst Du batteriebetriebene Geräte zu bauen?

Ja, aber die bekommen einen Ausschalter und müssen nicht dauerhaft im 
Standby laufen, daher ist der Stromverbrauch nicht so gravierend.

> Brauchst Du VIEL 16 Bit Arithmetik (der MSP430 ist intern 16 Bittig, der
> AVR nur 8-bittig)
> Brauchst Du unbedingt DMA?
>
> Wenn Du eines davon bejahen kannst, dann greife zum MSP430, ansonsten
> lass es bleiben.

Ich brauche vor allem einen guten A/DC.
Beide haben einen 10 bittigen ADC, wobei der AVR je nach Chiptyp mehrere 
davon hat.
Aber welcher hat die bessere Genauigkeit? 10 Bit haben hier beide, aber 
welcher hat die engeren Toleranzen, das wäre für mich noch wichtig?

DMA werde ich kaum brauchen, denn die ganzen Berechnungen erledigt eh 
der µC und die Peripherie is eher passiv.

16 Bit Arithmetik fände ich gut, es macht einiges einfacher, ist aber 
nicht zwingend.

Wirklich wichtig ist also wirklich der ADC.


>
>> Wenn ja, dann käme für den MSP430 eigentlich nur eine Low Cost Lösung in
>> Frage. Wie sieht es hier beim MSP430 also bezügl. Parallelport basierter
>> Programmiergeräte aus?
>
> Mit Linux? Ähhhm...

Ja. Es wäre schon gut wenn ich unter Linux entwickeln und den µC von 
dort aus programmieren könnte.



> Der AVRISP mkii kann NUR ISP und PDI-Programmierung, d.h. Du kannst nur
> Deine Programme reinladen und dann schauen, ob es geht. Debuggen geht
> über ISP nicht, über PDI ja, aber nicht mit diesem Teil.
>
> Der Dragon kann auch JTAG und ist auch als Debugger für JTAG und
> DebugWire einsetzbar. PDI kann der Dragon nicht, aber das findest Du
> auch nur bei den XMegas.

Danke für die Antwort.


> Der Mega8 hat nur ISP, der neuere und pinkompatible Mega88 kann auch
> DebugWire und hat mehr Möglichkeiten und ist etwas schneller und im
> Preis etwa gleich.

Im S-DIL Gehäuse kostet der ATMEGA 88-20 bei reichelt 3,55 €.
Etwas günstiger wird es erst als TQFP Gehäuse für 2,95 €, aber das 
wollte ich vermeiden.
Der ATMEGA 8L8 kostet nur 2,35 €.

Aber trotzdem danke für den Hinweis.

von Talad (Gast)


Lesenswert?

Marko B. schrieb:
> Wenns um den MSP430 und nur ums Programmieren geht: die MSP430 lassen
> sich sehr gut ueber den eingebauten seriellen Bootloader programmieren.
> Funktioniert einwandfrei ueber USB-RS232 Wandler und man braucht sonst
> nichts.

Was für ein USB-RS232 Wandler wäre das?

Wenn ich damit das viel Geld spare, dann komme ich auch ohne Debugging 
Option aus.
Im Studium habe ich z.B. auch den kompletten C Code direkt auf meinem 
x86 Computer als x86 Binary getestet und dann nur noch 
Hardwarespezifische Dinge an die MSP430 angepaßt.

von Marko B. (glagnar)


Lesenswert?

Talad schrieb:
> Marko B. schrieb:
>> Wenns um den MSP430 und nur ums Programmieren geht: die MSP430 lassen
>> sich sehr gut ueber den eingebauten seriellen Bootloader programmieren.
>> Funktioniert einwandfrei ueber USB-RS232 Wandler und man braucht sonst
>> nichts.
>
> Was für ein USB-RS232 Wandler wäre das?

Vollkommen beliebig, solange er RS232 mit 9600bps macht. Wenn Du noch 
einen PC mit RS232 Port hast, dann kannst Du natuerlich auch den 
benutzen. Er muss allerdings RTS und DTR haben, um die 
Aktivierungssequenz fuer den Bootloader zu toggeln.

Ich hab ein Handy-Datenkabel zerlegt. Der darin enthaltene Wandler hat 
einen integrierten 3,3V Spannungsregler und liefert auch 3,3V 
Spannungspegel - perfekt fuer den MSP430. Damit kann man gleichzeitig 
noch die Schaltung versorgen und braucht sonst gar nichts.

Der Bootloader unterstuetzt uebrigens das Schreiben von Daten ins RAM 
und das direkte Anspringen einer Adresse. Damit kann man kleine 
Programme direkt ins RAM laden und von dort ausfuehren. Ich hab mir eine 
Python-Lib und eine Shell geschrieben, um mit dem Bootloader zu 
kommunizieren.

> Wenn ich damit das viel Geld spare, dann komme ich auch ohne Debugging
> Option aus.
> Im Studium habe ich z.B. auch den kompletten C Code direkt auf meinem
> x86 Computer als x86 Binary getestet und dann nur noch
> Hardwarespezifische Dinge an die MSP430 angepaßt.

Real Men(tm) debug with printf().

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Talad schrieb:
> Ich brauche vor allem einen guten A/DC.
> Beide haben einen 10 bittigen ADC, wobei der AVR je nach Chiptyp mehrere
> davon hat.

Es gibt nicht "Den MSP430", sondern ziemlich viele unterschiedliche 
Modelle, die durchaus unterschiedliche ADCs haben. Es gibt auch 12- und 
16-Bit-Wandler in MSP430-Varianten.

Wenn Du ein Familienmitglied mit SpyBiWire-Interface nutzt, dann kannst 
Du das sehr kostengünstige LaunchPad als Programmier- und 
Debuginterface verwenden.
http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29?DCMP=launchpad&HQS=Other+OT+launchpadwiki

Zwar ist das Launchpad primär dafür vorgesehen, die sehr einfach 
strukturierten MSP430G-Varianten zu verwenden, es lässt sich aber auch 
mit "Dickschiffen" wie dem 'F5438 verwenden.


Talad schrieb:
> Wenn ich damit das viel Geld spare, dann komme ich auch ohne Debugging
> Option aus.
> Im Studium habe ich z.B. auch den kompletten C Code direkt auf meinem
> x86 Computer als x86 Binary getestet und dann nur noch
> Hardwarespezifische Dinge an die MSP430 angepaßt.

Vergiss das am besten gleich wieder. Das geht bei µC-Entwicklung nicht, 
weil gerade die Anpassung der hardwarespezifischen Dinge eine anständige 
Debugunterstützung erfordert.

Was Du da an einmal ausgegebenem Geld sparst, wirfst Du duch sehr viel 
Zeitaufwand bei der Fehlersuche wieder zum Fenster hinaus. Selbst wenn 
Du Deine Arbeitsstunde mit nur 1 EUR bewertest, lohnt die Investition in 
ein anständiges Debug-Interface.

Der vollwertige MSP-FET430UIF ist die schickere Variante, aber das 
Launchpad reicht auch, wenn Du mit SpyBiWire auskommst (was halt ältere 
MSP430-Varianten wie z.B. 'F1611 ausschließt).

von Tobias K. (kurzschluss81)


Lesenswert?

Der MSP430 hat aber im Gegensatz zu den AVRs eine vernünftige 
Debugunterstützung schon in Hardware eingebaut.
Das debugginginterface ist bei den MSP430 um einiges leistungsfähiger 
als bei AVR

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tobias Korrmann schrieb:
> Der MSP430 hat aber im Gegensatz zu den AVRs eine vernünftige
> Debugunterstützung schon in Hardware eingebaut.

Das halte ich in dieser Form für eine reichlich gewagte Aussage.

von Tobias K. (kurzschluss81)


Lesenswert?

Was nur weil ein Großteil der User AVRs verwendet?

Ich habe mit MSPs angefangen. Jetzt musste ich in der Firma mich mit 
einem AVR beschäftigen genauer einem AT90CAN128.
Wenn ich dort die Debugfähigkeiten der beiden Prozessorarchitekturen 
gegenüberstelle muss ich sagen das der MSP430 sich um Längen besser 
debuggen lässt.
Das fängt schon damit an das ich, wenn ich einen Breakpunkt setzen 
möchte, erst den Prozessor anhalten muss bevor ich den Breakpunkt setzen 
kann.
Weiter gehts damit das ich die Optimierungseinstellungen auf O0 setzen 
muss damit ich beim Debuggen auch wirklich sehe was er macht. Zu Anfang 
(Debuseinstellungen auf Os dann auf O2 und O3) Ist der Debugger kreutz 
und Quer durch meinen Code gesprungen und ich wusste nicht wiso. Nur mit 
O0 machte er genau das was ich wollte.
Bei den MSP430 haben die Optimierungseinstellungen nicht mit der 
Debugfähigkeit des Codes zu tun.

un ein weitere Großer Nachteil bei der Debugfunktion der AVRs ist der 
Preis der dafür notwendigen Hardware.
JTAG ICE MKII kostet 300€   (Atmel AVR)
JTAG FET kostet 100 € (TI MSP430)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Tobias Korrmann schrieb:
> Weiter gehts damit das ich die Optimierungseinstellungen auf O0 setzen
> muss damit ich beim Debuggen auch wirklich sehe was er macht. Zu Anfang
> (Debuseinstellungen auf Os dann auf O2 und O3) Ist der Debugger kreutz
> und Quer durch meinen Code gesprungen und ich wusste nicht wiso. Nur mit
> O0 machte er genau das was ich wollte.
> Bei den MSP430 haben die Optimierungseinstellungen nicht mit der
> Debugfähigkeit des Codes zu tun.

Das ist Quark, das hat nichts mit dem Controller, sondern mit dem 
Compiler zu tun. Und wenn Dein MSP430-Compilat bei aktivierten 
Optimierungen nicht "kreuz und quer" durch den Code springt, dann 
funktionieren die Optimierungen nicht.

Tobias Korrmann schrieb:
> un ein weitere Großer Nachteil bei der Debugfunktion der AVRs ist der
> Preis der dafür notwendigen Hardware.

Das ist allerdings wahr, vor allem, wo es für alle neueren 
MSP430-Mitglieder mit SBW auch noch deutlich günstigere Debuginterfaces 
gibt (Launchpad).

von Talad (Gast)


Lesenswert?

Tobias Korrmann schrieb:
> un ein weitere Großer Nachteil bei der Debugfunktion der AVRs ist der
> Preis der dafür notwendigen Hardware.
> JTAG ICE MKII kostet 300€   (Atmel AVR)
> JTAG FET kostet 100 € (TI MSP430)

Ich dachte jetzt mit dem AVG Dragon (ca. 50 €) könnte man auch debuggen?
Habe ich da jetzt etwas falsch verstanden?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tobias Korrmann schrieb:
> Das fängt schon damit an das ich, wenn ich einen Breakpunkt setzen
> möchte, erst den Prozessor anhalten muss bevor ich den Breakpunkt setzen
> kann.

Das dürfte eher ein Manko des AVR Studio sein (das ich als Debugger
eher miserabel finde, ehrlich gesagt), ich glaube, das JTAG ICE
selbst könnte den breakpoint auch "live" setzen, sofern es ein
JTAG-breakpoint ist.  Wenn es aber ein software breakpoint ist (d.h.
es wird eine BREAK-Anweisung direkt in den Flash geschrieben), dann
wüsste ich nicht, wie man auf irgendeiner Architektur ohne Anhalten
der CPU auskommen sollte.

Leider ist das Protokoll des JTAG ICE extrem auf den Debugger AVR
Studio und dessen Fähigkeiten und Unfähigkeiten zugeschnitten, sodass
ein Debuggen bspw. mit dem GDB via JTAG ICE in der Tat eher lahm ist.
Das hat man bei Atmel übrigens auch gemerkt, als es dann an den AVR32
ging, dafür hat nun das JTAG ICE so eine Art "bypass mode", in dem
man direkt JTAG mit dem Prozessor redet.  Im Prinzip müsste man darüber
auch eine bessere GDB-Anbindung an die 8-bit-AVRs organisieren können,
wenn sich mal jemand die Mühe machen würde, das zu zimmern.

Talad schrieb:
> Ich dachte jetzt mit dem AVG Dragon (ca. 50 €) könnte man auch debuggen?

Ja, natürlich, und zwar mittlerweile alle 8-bit-AVRs.

von mh (Gast)


Lesenswert?

>> Ich dachte jetzt mit dem AVG Dragon (ca. 50 €) könnte man auch debuggen?
> Ja, natürlich, und zwar mittlerweile alle 8-bit-AVRs.

Auch alle XMega? Die Atmel-Homepage sagt etwas anderes.

von Talad (Gast)


Lesenswert?

Also wenn ich mir das so durchlese:
http://msp430.techcontent.net/whymsp.htm


Dann scheint der MSP430 von der Programmierung her besser zu sein, als 
Atmel (AVR).

von Micha (Gast)


Lesenswert?

Mittlerweile geht JTAG-mäßig doch einiges mit dem FT2232. Wie es 
speziell mit AVR/MSP/Linux aussieht weiß ich aber nicht...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Talad schrieb:
> Also wenn ich mir das so durchlese:
> http://msp430.techcontent.net/whymsp.htm
>
>
> Dann scheint der MSP430 von der Programmierung her besser zu sein, als
> Atmel (AVR).

Und du meinst, dass du nicht minder voreingenommene Abhandlungen
für nahezu jeden x-beliebigen Controller im Netz finden wirst?

Wenn schon, dann musst du solche Vergleiche von Leuten lesen, die in
mehr als einer Controllerfamilie regelmäßig zugange sind und damit
auch vergleichbare Projekte gemacht haben.

Selbst das historisch stärkste Argument für MSP430, der geringe
Stromverbrauch, ist mittlerweile schon mächtig angestaubt, da auch
neuere Controller anderer Hersteller dem kaum noch (wenn überhaupt)
nachstehen.  In der Praxis wird der gesamte Energieverbrauch oft
viel mehr vom Rest bestimmt denn vom Controller selbst.

von Tobias K. (kurzschluss81)


Lesenswert?

Jörg Wunsch schrieb:
> Talad schrieb:
>> Also wenn ich mir das so durchlese:
>> http://msp430.techcontent.net/whymsp.htm
>>
>>
>> Dann scheint der MSP430 von der Programmierung her besser zu sein, als
>> Atmel (AVR).
>
> Und du meinst, dass du nicht minder voreingenommene Abhandlungen
> für nahezu jeden x-beliebigen Controller im Netz finden wirst?

wobei ich dem rechtgebe wenn ich die MSP mit dem jetzt auch von mir 
verwendeten AT90CAN 128 vergleiche. Dort schneidet der MSP430 um Längen 
besser ab.

wobei es auch einen unschlagbaren Vorteil bei den ATMEL gegenüber MSP430 
gibt.
Es gibt für AVRs eine kostenlose halbwegs vernünftig einsetzbare IDE 
ohne Codebegrenzung welche man auch recht einfach installieren kann ohne 
sich mit Makefiles und ähnlichem herumschlagen zu müssen.

CCS kostet allerdings auch nur 500 E in der Code unbegrenzten Version 
(0€ bei 16kByte Codebegrenzung) und man kann damit auch die C2000 
Derivate Programmieren und Debuggen

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tobias Korrmann schrieb:
> Dort schneidet der MSP430 um Längen
> besser ab.

Dasselbe würde wohl jemand sagen, der ungeliebt von einem AVR
auf MSP430 umzusteigen gezwungen wäre.  Was an so einem Umstieg
am meisten stört ist, dass die grundlegenden Konzepte oft ganz
anders sind, sodass man einfach erstmal lange Zeit sucht, bis
man sich zurecht findet, während man in der gewohnten Architektur
"zu Hause" ist.

von Lukas K. (carrotindustries)


Lesenswert?

Von SBW kann ich bei größeren Projekten nur abraten, da es furchtbar 
langsam ist, afaik 1.2kBaud. Also bleibt der Bootloader bzw. JTAG.

von Talad (Gast)


Lesenswert?

Nochmal ne Frage wegen AVR:

Was haltet ihr von diesem USB AVR Lab Programmiergerät?
http://wiki.ullihome.de/index.php/USBAVR-ISP/de


Vom Preis ist das sehr günstig.
Auf der Seite wird behauptet, daß man damit alle AVR Typen programmieren 
und debuggn könnte.

Aber gilt das auch für AVR32?


Hat das Ding jemand und jemand dazu etwas sagen?

von Talad (Gast)


Lesenswert?

Funktioniert das USB AVR-Lab eigentlich auch unter einem 64 Bit Windows?

Z.b. Windows 7?
Und wie sieht es mit Linux 64 Bit aus?

von Talad (Gast)


Lesenswert?

Dann hab ich noch eine Frage zum USB AVR-Lab.


Den kann man ja für diverse Programmiersoftware mit einer jeweils 
passenden Firmware immer neu anpassen.

D.h. wenn man AVRISPmkII Kompatibiltiät will, dann nimmt man die 
Firmware dafür.
Und wenn man STK500v2 Kompatibiltiät will, dann nimmt man halt die 
andere Firmware.


Wäre es aber nicht sinnvoller, wenn es nur eine Firmware geben würde, 
die sich dann mit einem Schalter am USB-Lab so einstellen läßt, daß 
entweder AVRISPmkII oder STK500v2 usw. Kompatibiltiät erreicht wird?


Das wäre doch viel praktischer, denn es würde das neu Flashen ersparen.
Wenn man also ne andere Kompatibitlität braucht, dann steckt man einfach 
nen Schalter um und schon ist die andere Kompatibitität hergestellt.

Immerhin ist auf dem USB AVR-Lab ein Mikrocontroller drauf und der 
empfängt ja die Daten vom USB Bus.
Entsprechend könnte er sich ja auch Softwareseitig anders verhalten, je 
nach dem was er simulieren soll, AVRISPmkII oder STK500v2 oder Oszi usw.

von Talad (Gast)


Lesenswert?

Und noch eine Frage.

Das USB AVR-Lab kann man ja auch als Osszilosop benutzen.

Wenn man damit also ne Schaltung mißt, kann es dann passieren, daß man 
durch falsch verpolen oder durch eine zu hohe Spannung sein PC Mainboard 
schrottet?

Also die zu hohe Spannung über das USB AVR-Lab in den PC gelangt?

Ist das irgendwie abgesichert?
Wenn nein, könnte man hier nicht Optokoppler dazwischen schalten?

von Talad (Gast)


Lesenswert?

Weiß niemand eine Antwort?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Die Antworten auf die Fragen 1 und 2 kennst du doch schon, sonst würdest 
du nicht fragen :-) Klar kannst du zuerst das USB AVR-Lab und dann 
vielleicht auch den PC oder dessen USB-Port beschädigen.

Optokoppler zur galvanischen Trennung müssten grundsätzlich möglich 
sein. Es wird aber Auswirkungen auf deine Messungen haben. Die LED im 
Optokoppler braucht eine gewisse Durchflussspannung, d.h. Spannungen 
unterhalb wirst du nicht mehr messen können. Und deine Messung wird 
eventuell nicht linear sein. Die Lichtmenge aus der internen LED und der 
Fotostrom des internen Fotoelements können nicht-linear mit der 
angelegten Spannung zusammenhängen. Das will man bei einem Oszilloskop 
eigentlich nicht haben. Optokoppler sind eine gute Idee, wenn du 
digitale Signale galvanisch trennen willst, also z.B. beim Einsatz als 
Logikanalysator oder Digitalinterface. Bei analogen Signalen, hmm, 
Geschmackssache.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Talad schrieb:

> Wäre es aber nicht sinnvoller, wenn es nur eine Firmware geben würde,
> die sich dann mit einem Schalter am USB-Lab so einstellen läßt, daß
> entweder AVRISPmkII oder STK500v2 usw. Kompatibiltiät erreicht wird?

Die Idee setzt voraus, dass im AVR genügend Platz für beide Funktionen 
ist und dass ein Pin frei ist, den man zu Auswahl der Funktion benutzen 
kann. Und dass jemand das programmiert. IMHO zu viel Aufwand, denn so 
oft wird man sein ISP-Tool nicht umkonfigurieren, oder?

von Talad (Gast)


Lesenswert?

Stefan B. schrieb:
> Optokoppler zur galvanischen Trennung müssten grundsätzlich möglich
> sein. Es wird aber Auswirkungen auf deine Messungen haben.
> Optokoppler braucht eine gewisse Durchflussspannung, d.h. Spannungen
> unterhalb wirst du nicht mehr messen können. Und deine Messung wird
> eventuell nicht linear sein.

Messung, Spannung häh?

Es geht hier doch allein nur um die Datenübertragung vom PC zum 
Mikrocontroller!


Wie die Spannung bei der LED ist, ist doch völlig egal, solange das Bit 
auch ankommt.
Und bezügl. dem Oszilloskop macht das ja nicht der PC, sondern der ADC 
des µC.
Und letzterer schickt dann die fertigen Daten nur noch an den PC.


Warum sollte auf digitaler Ebene also keine galvanische Trennung möglich 
sein?


> Optokoppler sind eine gute Idee, wenn du
> digitale Signale galvanisch trennen willst,

Ja eben, darum geht es ja.
Zumal mir ja sowieo die Programmierung der µC viel wichtiger ist, als 
das Teil als Oszilloskop einzusetzen.

von Talad (Gast)


Lesenswert?

Stefan B. schrieb:
> IMHO zu viel Aufwand, denn so
> oft wird man sein ISP-Tool nicht umkonfigurieren, oder?

Das kommt ja ganz darauf an ob man regelmäßig mit 2 µC arbeitet.

Aber den Umständen entsprechend würde ich wohl eher 2  USB AVR-Lab 
bauen, anstatt eines ständig umzuprogrammieren.

Insofern wäre so eine Fits-All-Firmware durchaus sinnvoll.
Ob das drauf paßt weiß ich nicht, einige C Funktionen könnte man aber 
sicher mehrmals wiederverwenden.

von Talad (Gast)


Lesenswert?

Stefan B. schrieb:
> Die Antworten auf die Fragen 1 und 2 kennst du doch schon, sonst würdest
> du nicht fragen :-)

Ob man AVR32 damit programmieren kann (Frage 1) weiß ich noch nicht.

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.