Forum: Mikrocontroller und Digitale Elektronik JTAG debugger für Anfänger (Cortx M3) erforderlich?


von Timo (Gast)


Lesenswert?

Hallo,
nach etwas Pause mit den ATMegas (knapp 3 Jahre) will ich über Winter 
mal wieder etwas "reinkommen" und irgendwas sinnvolles basteln. Nun habe 
ich gelesen, daß der Cortex M3 ja "der aufgehende Stern" sein soll. Da 
mehrere Hersteller (zuletzt wohl NXP) diese anbieten, aber die wirklich 
durch den Core gleich sind (sein sollen), ist der Preis wirklich 
interessant und wird wohl noch interessanter. Und man kann den 
Hersteller ienfach wechseln. Ich habe auch schon etwas hier gesucht und 
den Hitex Guide für STM32 gefunden, der etwas Licht ins Dunkel brachte. 
Ist wohl deutlich komplexer als ATMegas und auch nicht im DIL-Gehäuse, 
aber über Adapter oder PCB-Fertiger auch relativ billig beherrschbar. 
Und nun endlich meine beiden Fragen:
1.) Gibt es ein empfehlenswertes LPC17XX-Board für Anfänger (muß 
wirklich nicht mit Grafikdisplay etc. sein; ist auch zu teuer) und
2.) Überall wird was von JTAG-debugger geschrieben. Was das vom Pronzip 
ist habe ich schon rausgefunden, nur brauche ich Euren Rat: Ist der für 
einen Anfänger wirklich erforderlich oder nur nice to have? Oder ärgert 
man sich nach dem klassischen LED-geblinke, wenn man etwas laufen kann, 
daß man das Geld nicht gleich ausgegeben hat und die erste Anschaffung 
unnötig war?

von heinz (Gast)


Lesenswert?

Hallo Timo,

irgendwie muss dein Programm ja in den uC kommen. Es gibt zwar Lösungen 
mit hilfe eines Bootloaders dein Prog. in den Controller zu laden. Aber 
mit hilfe eines Jtag-Debuggers lässt sich das besser bewerkstelligen. 
Besonders am Anfang möchte man sich auch mal Ansehen was so in den 
Registern "abgeht".

Gerade für den Arm gibt es eine Menge kostengünstige Jtag-debugger die 
z.b. mit dem gdb zusammenarbeiten. (z.B. im Shop von embeddedProjects).

Persönlich finde ich das "gefrickel" mit dem gdb und Eclipse nicht so 
toll. Wenn ich mit nem uC arbeiten will, möchte ich mich auf den 
Controller konzentrieren und nicht erst Stunden mit der richtigen 
Konfiguration der IDE verbringen. Persönlich finde da die IAR Workbench 
(Kostenlos bei 32k Codelimit) ganz gelungen. Hier ist allerdings das 
Jtag-Interface nicht so ganz Preiswert.

Vor kurzem bin ich auf dieses Angebot gestoßen:
http://elmicro.com/de/cortex-m3-ulink-me.html

Ein Cortex-M3 von Toshiba mit der Keil-IDE ink. Jtag-Interface. für 
75€+MwSt
Der Controller ist zwar recht neu und es gibt noch keine community wie 
bei den ST32 aber für den Preis. Die IDE von Keil ist der IAR 
ebenbürtig.

von Timo (Gast)


Lesenswert?

Und der ULINK-ME ist wirklich "frei" verwendbar für alle anderen Boards 
und Chips (natürlich innerhalb der von Keil angegebenen Grenzen)? Bei 
IAR steht nämlich, daß der ULINK-ME in dem Bundle nur mit Toshiba-Chips 
arbeitet (ist ja irgendwo auch verständlich, sonst kauft man das Kit ja 
nur wegen des ULINK-ME bei dem Preis).

von Günti (Gast)


Lesenswert?

> JTAG debugger für Anfänger (Cortx M3) erforderlich?

ne, eigentlich nicht.   ;-)
hier beim ,STM32 PRIMER 2, ist alles beieinander.

 - http://www.sander-electronic.de/es0030.html

von Gebhard R. (Firma: Raich Gerätebau & Entwicklung) (geb)


Lesenswert?

Hallo Timo!

Ich hab mir von Raisonance ein JTAG gekauft(ca. 70.-). 
Entwicklungssystem (RIDE 7) kannst du kostenlos von deren HP runterladen 
und läuft eigentlich sofort und ist unlimitiert mit GCC Compiler. 
Supportet NXP und ST Cortexe.
Ich hab weiters noch ein Demoboard von Olimex mit einem STM32F103 
Prozessor (auch ca. 70.-). Da kann man dann schon ein paar Sachen 
anstellen.

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Timo schrieb:
> Und der ULINK-ME ist wirklich "frei" verwendbar für alle anderen Boards
> und Chips (natürlich innerhalb der von Keil angegebenen Grenzen)? Bei
> IAR steht nämlich, daß der ULINK-ME in dem Bundle nur mit Toshiba-Chips
> arbeitet (ist ja irgendwo auch verständlich, sonst kauft man das Kit ja
> nur wegen des ULINK-ME bei dem Preis).

Wenn das bei IAR steht ist das dummfug, die haben rein gar nix mit dem 
Keil ULINK-ME zu tun.

Die können (weil der J-Link es so vorsieht) ihre Kits auf einen Chip 
verdongeln, so dass der IAR-Link (gelber J-Link) nur mit dem einen Chip 
läuft, es sei denn, man kauft ne andere License.

Das Keil ULINK-ME läuft mit allen ARMs. Einschrünkung ist nur, dass der 
keine Ausgangsbuffer hat, also nicht 10000000 Resets ziehen kann oder 
über 2km leitung an den JTAG ran kann :-)


VG,
/th.

von Timo (Gast)


Lesenswert?

>>Bei IAR steht nämlich, daß der ULINK-ME in dem Bundle nur mit
>>Toshiba-Chips arbeitet

>Die können (weil der J-Link es so vorsieht) ihre Kits auf einen
>Chip verdongeln, so dass der IAR-Link (gelber J-Link) nur mit dem einen
>Chip läuft, es sei denn, man kauft ne andere License.

Sorry, war blöd von mir formuliert bzw. tatsächlich auch falsch 
geschrieben. Ich meinte im übertragenen Sinne, daß der IAR-JTAG beim 
Toshibakit auf Toshibachips beschränkt ist, während der Keil-JTAG beim 
Toshibakit nicht auf Toshibachips beschränkt ist.
"This J-Link is limited to work with the Toshiba Cortex-M3 devices."

von Random .. (thorstendb) Benutzerseite


Lesenswert?

> Sorry, war blöd von mir formuliert bzw. tatsächlich auch falsch
> geschrieben. Ich meinte im übertragenen Sinne, daß der IAR-JTAG beim
> Toshibakit auf Toshibachips beschränkt ist, während der Keil-JTAG beim
> Toshibakit nicht auf Toshibachips beschränkt ist.
> "This J-Link is limited to work with the Toshiba Cortex-M3 devices."

Macht nix.

Tatsächlich ist das ganze etwas verwirrend.

Mal etwas Licht ins dunkel:

Die J-Links kommen aus dem Hause Segger. Segger macht hauptsächlich 
Debugger, RTOS und andere Middleware.

Sie selbst vertreiben die "echten" schwarzen J-Links und J-Trace / 
J-Trace CM3.

--- J-Link:
< V6: JTAG
>= V6: JTAG / SW, SWO sampling 500kHz
>= V8: JTAG / SW, SWO sampling 6MHz
uVision: wird komplett unterstützt, mit ethernet (TCP/IP Server auf PC) 
auto detection, , SWO Trace
IAR: USB ja, eth, SWO Trace: weiss net

--- J-Link Pro:
V1.1: JTAG / SW, SWO sampling 6MHz
Ethernet-Schnittstelle
uVision: wird komplett unterstützt, mit ethernet auto detection, SWO 
Trace
IAR: USB: ja, eth: weiss net :-)

--- J-Trace:
ETM Trace für ARM7, 9 (11?)
uVision: Trace-Anzeige im Trace Fenster
IAR: Trace Anzeige im Trace Fenster

--- J-Trace Cortex-M3:
Trace für Cortex-M3, durch TPIU auf dem CM3 werden ETM und ITM 
zusammengeführt)
uVision: (derzeit in Arbeit) Trace-Anzeige im Trace Fenster
IAR: Trace Anzeige im Trace Fenster


----------
IAR-Link:
Dies ist ein J-Link im gelben Gewand (spezielles Abkommen zw. 
Segger/IAR). Die IAR-Links sind an die IAR GUI gekoppelt, tauschen vor 
FlashDL/Debug vermutlich Keys aus.
Weiterhin hat IAR warscheinlich die Möglichkeit (s.o.), die IAR-Links an 
einen (eine Gruppe von) uCs zu dongeln (der J-Link sieht dies vor).

Dieser J-Link läuft nicht in uVision und auch an sonst keiner anderen 
Debug Software.
Lediglich der JTAG/SW detect funktioniert (z.B. in uVision)


----------
SAM-ICE:
Dies ist ein J-Link im blauen Gewand, ein Abkommen zwischen 
Segger/Atmel. Dieser J-Link läuft prinzipiell an allen IDEs, spricht 
aber nur mit Atmel's Chips.


-----------------
uVision:
Die eigenen Debugger sind:

ULINK 1: JTAG
ULINK 2: JTAG/SW, SWO sampling
ULINK ME: der "kleine Bruder" vom ULINK2, gleiche HW, nur keine 
Ausgangsbuffer, daher in der Treiberleistung begrenzt. Nur für ARM, ist 
nicht auf irgendeinen uC gedongelt.
ULINK Pro: JTAG/SW und Trace

Keil uVision unterstützt auch mehrere Debugger, die nicht aus dem Hause 
Keil kommen.
Den J-Link/Trace Treiber für ARM7/9 gibt es schon länger,
für Cortex-M3 existiert seit einiger Zeit ein neuer Treiber, der auch 
die komplette Funktionalität des J-Link abbildet.

Im Grunde werden keine Lizenzen für den J-Link benötigt, der FlashDL 
geschieht über eigene Algorithmen. Lediglich für Flash Breakpoints wird 
eine Lizenz gebraucht.


----------
IAR:
Alle J-Links funktionieren, nur werden zusätzliche Lizenzen vom Segger 
benötigt (z.B. FlashDL), die bei den IAR-Links dabei sind (in welchem 
Umfang kann ich nicht sagen). Zusätzliche Lizenzen wie z.B. Flash BPs 
müssen ev. nachträglich erworben werden.


Vllt möge einer die offenen Punkte nachtragen :-)


---
Hoffe, hiermit einen objektiven Überblick gegeben zu haben :-)


VG,
/th

von P.F. (Gast)


Lesenswert?

Super Übersicht, nur ein kleiner Nachtrag, Segger hat jetzt den 
FlashDownload frei gegeben, sprich man braucht keine extra Lizenz mehr 
dafür kaufen.

Ist ein tolles Geschenk von Segger. Die haben das wohl gemacht, weil sie 
keine Lust mehr auf die kaputten Flash Downloader von anderen hatten und 
wissen das der Flash Download im J-Link einfach immer funktioniert ;-).

von Timo (Gast)


Lesenswert?

@Random
Vielen Dank für den Vergleich, da hat man doch mal eine vernünftige 
Übersicht.

@P.F.
Bei der Non Commercial Variante war der Flash download eh dabei.

Somit tendiere ich jetzt ganz doll zum J-Link NCU. Eine Frage noch: Kann 
man immer die aktuellste Firmware runterladen, gibt es da so etwas wie 
eine zeitliche Beschränkung wie z.B. 1 Jahr oder gar nix?

von Michael (Gast)


Lesenswert?

Hallo,
der Thread paßt gerade in mein Thema: Kann ich den JTAG-Debugger bei 
Arm-Prozessoren eigentlich quasi als Logikanalyzer nehmen, der mir die 
echten Sollzustände oder vielleicht sogar die echten 
Istzustände/Pinpegel anzeigt (letzteres wäre ja ein sehr interessanter 
Ansatz auch Hardwareprobleme zu finden)? Beim AVR-Studio wird ja nur 
eine Simulation gemacht, während bei JTAG der echte Zustand vom 
Prozessor abgefragt wird. Oder habe ich das falsch verstanden?

von Michael (Gast)


Lesenswert?

>Kann man immer die aktuellste Firmware runterladen, gibt es da so etwas
>wie eine zeitliche Beschränkung wie z.B. 1 Jahr oder gar nix?

Da der J-Link ein Bestandteil des Bundles ist, denke ich mal, daß die 
beim J-Link angegeben Support- und Updateangaben (=>6 Monate) auch für 
das Bundle gelten.

von (prx) A. K. (prx)


Lesenswert?

Michael schrieb:

> der Thread paßt gerade in mein Thema: Kann ich den JTAG-Debugger bei
> Arm-Prozessoren eigentlich quasi als Logikanalyzer nehmen, der mir die
> echten Sollzustände oder vielleicht sogar die echten
> Istzustände/Pinpegel anzeigt

Diese Information ist über JTAG erfassbar, soweit sie per 
Prozessorbefehl auslesbar ist. Es hängt aber vom konkret verwendeten 
Debugger ab, was er daraus macht und wie er das darstellt.

Es gibt allerdings Zustände, die per Befehl nicht erfassbar sind, 
beispielsweise den tatsächlichen Zustand von Open Drain Ausgängen bei 
Controllern, die die ARM GPIO Primecell verwenden, z.B. STR9 und LM3. Da 
ist der echte Pinzustand möglicherweise auch nicht per JTAG erfassbar.

> Ansatz auch Hardwareprobleme zu finden)? Beim AVR-Studio wird ja nur
> eine Simulation gemacht, während bei JTAG der echte Zustand vom
> Prozessor abgefragt wird.

Ist beim Studio nicht anders. Wenn man dort JTAG/DW verwendet, dann wird 
auch die echte Maschine angezeigt.

von Timo (Gast)


Lesenswert?

Auch wenn ich wohl lieber die 25 € mehr für die Segger NCU-Variante 
ausgeben werde und damit nicht an Keil oder IAR gebunden bin (das 
Seggerteil wird ja von beiden unterstützt): Wie schneidet eigentlich das 
Olimexteil hier aus dem Shop im Vergleich ab? Das ist ja wieder an IAR 
gebunden. 
http://shop.embedded-projects.net/product_info.php/info/p185_JTAG-Debugger-fuer-Embedded-Workbench-IAR.html

von P.F. (Gast)


Lesenswert?

Das mit 6 monatigen Support für den J-Link mag ja richtig sein, aber 
neueste Firmware gibt es ohne Zeitbeschränkung von Segger. Die J-Link 
Software kann man sich ja kostenlos von deren Website runter laden. 
Damit wird dann automatisch auch die Firmware im J-Link upgedatet, 
bekommt man selber gar nix von mit.

>Wie schneidet eigentlich das
>Olimexteil hier aus dem Shop im Vergleich ab? Das ist ja wieder an IAR
>gebunden.

Naja, ist halt ein halbherziger Low Cost Nachbau vom J-Link. Und da der 
auch 99 Euro kostet wüßte ich jetzt nicht, wieso ich dann nicht lieber 
den richtigen J-Link (solange es non commercial ist) nehmen sollte.

von Timo (Gast)


Lesenswert?

Ist denn hardwaretechnisch demnächst mit einer V9 zu rechnen? Wenn ja, 
welche relevanten Vorteile/Änderungen hätte die dann (für einen 
Amateur)?
Außerdem sieht es kurz vor und vor allem nach Weihnachten mit der Kohle 
ja immer etwas schlechter aus; schon allein deshalb könnte etwas Warten 
nicht schaden...

von Lutz (Gast)


Lesenswert?

>Ist denn hardwaretechnisch demnächst mit einer V9 J-Link zu rechnen?

Spar das Geld:
http://www.st.com/stonline/stappl/cms/press/news/year2009/p2449.htm
http://www.google.de/url?sa=t&source=web&ct=res&cd=1&ved=0CAoQFjAA&url=http%3A%2F%2Fwww.st.com%2Fstonline%2Fproducts%2Fliterature%2Fum%2F15285.pdf&rct=j&q=st-link+debugger&ei=tCApS9_nNZHA-QbNuLCwDQ&usg=AFQjCNEaSFFNGB567EA_xdcH5qWif5tGcA
Wird auch von Keil und IAR unterstützt. Ist zwar nur für STM32-Cortex 
(und STR8), aber bei dem Preis wirklich völlig egal (zumal stm32 ja auch 
kein Schrott ist). Hab zwar noch keinen Shop gefunden, wird wohl aber 
recht bald auch wirklich zu haben sein.

von Lutz (Gast)


Lesenswert?

Vergessen: 21 $ ...

von Gastritis (Gast)


Lesenswert?

Wo kann man den bestellen ?

von Lutz (Gast)


Lesenswert?

Scheint wie gesagt noch nirgends lieferbar zu sein, aber bei Farnell 
z.B. schon bestellbar (und damit natürlich auch bei HBE (hbe-shop.de).

von strong arms (Gast)


Lesenswert?

aus aktuellem Anlass...
habe mich für den JLink-EDU von Segger entschieden. Ist Professionelle 
Version ohne relevante Einschränkung, außer dass Kommerzielle 
Entwicklungen nicht erlaubt sind. Kostet nur 49,-EUR (z.B. bei 
www.ak-modul-bus.de).
Vor allem unterstützt der explizit die GDB und damit die open source 
toolchain.
Was für ein ARM Board man dann dazu nimmt ist dann auch egal

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.