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?
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.
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).
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.
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.
>>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."
> 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
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 ;-).
@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?
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?
>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.
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.
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.
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...
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