Forum: Mikrocontroller und Digitale Elektronik STM32 - Debugger - Software ?


von Stefan Z. (derdespot)


Lesenswert?

Hallo ARM Freunde,
1. Ich möchte im Rahmen meines Praktikums gerne den STM32 Controller 
kennen lernen und suche nun einen passenden Debugger. Ich bin auf den 
"ARM USB Debugger (ARM-USB-Tiny)" aufmerksam geworden, welcher sich ja 
preislich um die 45€ bewegt. Ein Kumpel hat mir zum J-Link ARM von 
Segger geraten, welcher deutlich teurer ist. (ca. 248€ commercial) Weiß 
einer von euch was für Vorteile mir die teurere Variante bietet?
2. Ich bin außerdem auf der Suche nach einer passenden Programmier- und 
Debugsoftware. Ich bin auf folgende Möglichkeiten gestoßen:
- OpenOCD 0€
- Crossworks 300€ education
- Keil unbezahlbar aber eval/trail version
- IAR unbezahlbar aber eval/trial version
Am liebsten würde ich OpenOCD verwenden, wobei ich nicht weiß ob die 
Einrichtung und Zuverlässigkeit beim Dubuggen gewährleistet ist.
Habt ihr da Erfahrung mit?

Zu meinem Projekt (eventuell wichtig für Codegrößenbegrenzung bei 
Eval/Trial Versionen):
- auslesen von einem Fehlerspeicher (CAN)
- Darstellung auf TFT (I2C oder RS232)
- Zeitstempel über Funkuhr hinzufügen (ISP)
- Daten auf externem Speicher ablegen
- Controller als USB-Stick am PC nutzbar machen

Danke schonmal für eure Hilfe...

Grüße Stefan

von (prx) A. K. (prx)


Lesenswert?

Stefan Z. schrieb:

> - Crossworks 300€ education

Oder 150$ für die personal version (noncommercial). Funktioniert gut, 
mit dem grösseren der OCD-Adapter aus dem hiesigen Shop.

von zwieblum (Gast)


Lesenswert?

stm32circle primer 1 (~40.-) + openOCD.
nimm nicht den primer2, der hat ein paar deftige hardwareproblem.

von zwieblum (Gast)


Lesenswert?

oh, vergaß: primer1 hat usb->jtag eingebaut

von 900ss (900ss)


Lesenswert?

Stefan Z. schrieb:

> preislich um die 45€ bewegt. Ein Kumpel hat mir zum J-Link ARM von
> Segger geraten, welcher deutlich teurer ist. (ca. 248€ commercial) Weiß
> einer von euch was für Vorteile mir die teurere Variante bietet?

Ich habe den STM32 mit dem Olimex Tiny programmiert und habe auch 
debuggen können. Bis ich soweit war hat es sehr viele Stunden gekostet. 
Es ist das Grauen, die Konfig-files und dann die Kommandos für den GDB 
so hinzubekommen, dass es stabil funktioniert. Gut, dann geht es auch. 
Aber auch etwas langsam. Steppen geht nicht sehr reaktionsschnell.

Danach habe ich von Segger der J-Link (no commercial use) gekauft. Der 
kostet dann nur 98,00 Euro + Mwst. Da ist alle SW bei, die du brauchst. 
Zum Flashen, zum setzen von Flashbreakpoints soweit die HW-Breakpoints 
des STM32 nicht reichen und ein GDB-Server. Hatte ich schneller am 
laufen und funktioniert stabiler. Und schnell ist es geworden. 
Singlestep ist "sofort" erledigt. Macht Spaß damit.
Gut, Studenten haben evtl. etwas Geldmangel und neigen zur 
Selbstquälerei ("Hackermentalität" ;-). Da muß man halt schauen was man 
will. Mir ist mein Hobby etwas Wert und ich arbeite gerne mit guten 
Tools. Vor allem beschäftige ich mich dann lieber mit der Lösung meines 
Problems und nicht damit "wie bekomme ich das Werkzeug zum laufen". Wenn 
die Kohle knapp ist, OK, OpenOCD mit dem Tiny von Olimex funktionieren 
auch. Möchte ich aber nicht mehr benutzen.
Allerdings ziehe ich doch vor dem Entwickler von OpenOCD den Hut. Er hat 
da schon etwas auf die Beine gestellt. Da ist 'ne Menge Arbeit drin.

Just my 2 cents...
900ss

von Bingo (Gast)


Lesenswert?

@900ss

Fukntionere die flashbreakpoints im J-Link mit Seggers GDB server ??

Ich glaubte das die var nur beim RDI unterstütz (zb Keil debugger) , und 
einer flashbreakpoint licenz (vielleicht auch im die non commercial 
paket).


mfg
Bingo Dänemark

von 900ss (900ss)


Lesenswert?

Bingo schrieb:
> @900ss
>
> Fukntionere die flashbreakpoints im J-Link mit Seggers GDB server ??
>

Habe sie noch nie benutzt, da mir die HW-Breakpoints immer reichten.
Musst du mal bei Segger nachfragen. Bei der ncu Version ist auf 
jedenfall das Flash-Breakpointmodul dabei (siehe Webseite).

von Robert T. (robertteufel)


Lesenswert?

@Bingo,
soweit ich weiss funktionieren die FLash Breakpoints in der 
non-commercial version nicht, ist aber bei einem STM32 nicht sooo uebel 
weil der viel mehr HW Breakpoints hat als der ARM7. Trotzdem ist das 
natuerlich ein recht nuetzliches Feature!

@Zwieblum,
bin auch etwas in der Primer2 Welt eingetaucht und mit Hilfe von 
Raisonance konnte ich um die HW-Probleme herumarbeiten. Die HW-Probleme 
sind inzwischen allerdings schon eine Weile behoben und der Primer2 ist 
so viel schoener um bietet viel mehr Moeglichkeiten als der Primer1.

@Stefan Z.
In Deiner Aufzaehlung fehlt definitiv Raisonance. Mit dem Primer2 
professional gibt es eine unbeschraenkte Version des Compiler/Debugger 
Paketes. Der Compiler ist GNU basierend und kann sowieso heruntergeladen 
werden. Lediglich der Debugger RIDE7 ist 32k beschraenkt.
Schau mal rein bei
http://www.stm32circle.com fuer jede Menge Programmbeispiele
http://www.mcu-raisonance.com zum download
Fuer beide ist separate Registrierung erforderlich.

Den Primer2 ohne das "professional" gibts z.B. von verschiedenen 
Anbietern, wurde auch ein paar mal hier im Forum beworben.

Gruss, Robert
http://mcu-related.com/architectures/35-cortex-m3

von Arne (Gast)


Lesenswert?

Ich benutze in der Firma ein IAR DemoBoard (Olimex STM32-SK). Board 
inkl. IAR J-Link - hat im November 2008 ~150,-EUR netto gekostet.
Ist ein STM32F103RB (128kB Flash/ 20kB RAM) drauf.
Wenn Du gleichzeitig (!!!) USB UND CAN nutzen willst, geht das mit den 
STM32F103 eh nicht. Wir werden daher wohl den STM32F105/107 nehmen. Aber 
sonst sollte das Board Deine Anforderungen abdecken.

> - auslesen von einem Fehlerspeicher (CAN)
CAN auf 9pol SUB-D rausgeführt
> - Darstellung auf TFT (I2C oder RS232)
3x RS232 onboard (2x RS-232 Pegel, 1x TTL Pegel)
I2C auf Stifleiste
> - Zeitstempel über Funkuhr hinzufügen (ISP)
ISP??? Oder eher SPI?
SPI ist auch auf Stiftleiste rausgeführt, ich betreibe daran ein EEPROM 
und ein Flash
> - Daten auf externem Speicher ablegen
SD-CARD Sockel ist angeschlossen
> - Controller als USB-Stick am PC nutzbar machen
Ehh, wie? Es gibt eine Demo von IAR, die eine SD-Card vom PC als 
Massenspeicher nutzt. Meinst Du sowas? Oder einfach nur Datenübetragung 
vom PC per USB (CDC).

von Stefan Z. (derdespot)


Lesenswert?

hi, danke erstmal für die zahlreichen antworten!

@ 900ss D.
Danach habe ich von Segger der J-Link (no commercial use) gekauft. Der
kostet dann nur 98,00 Euro + Mwst. Da ist alle SW bei, die du brauchst.

Was für Software ist denn dabei? Eine Eigenentwicklung von Segger?

von 900ss (900ss)


Lesenswert?

Stefan Z. schrieb:
> hi, danke erstmal für die zahlreichen antworten!
>
> @ 900ss D.
> Danach habe ich von Segger der J-Link (no commercial use) gekauft. Der
> kostet dann nur 98,00 Euro + Mwst. Da ist alle SW bei, die du brauchst.
>
> Was für Software ist denn dabei? Eine Eigenentwicklung von Segger?

Keine IDE, Compiler oder so.
Siehe segger. com

von Matthias (Gast)


Lesenswert?

Wie wäre es mit Raisonance(.com)?

GUI, GNU Toolchain, JTAG Adapter <100 Euro. Mit dem Adapter kann man 
alles
Programmieren. Nur Debuggen ist auf 32k beschränkt. Die Vollversion (Nur 
für Debugging >32k) kostet dann halt ca. 700 Euro.

Wenn nur ST32 eingesetzt werden sollen, dann reicht das völlig. Bei 
Verwendung von Controllern von allen gängigen Herstellern würde ich Keil
empfehlen. (ca. 2000 Euro + 300 Euro ULINK oder 100 Euro ULINK-ME [nur 
in Verbindung mit ST Evalboards >= 200 Euro]).

Der Primer2 läuft bei mir soweit. Allerdings weiß ich jetzt nicht, 
worauf der
Poster weiter oben mit "Hardwareproblemen" anspielt. Es gab mal eine zu 
dünne Masseleitung am Spannungsregler, die durchbrennen konnte und somit 
das
ganze Board durch Überspannung zerstört wurde. Das wurde allerdings 
behoben.

Sonst sind mir keine Bugs aufgefallen. Hab allerdings auch noch nicht 
sooo viel damit gemacht.

von zwieblum (Gast)


Lesenswert?

"hardwareprobleme" bezieht sich in der tat in erster linie auf die 
masseleitung. es gibt dann noch ein paar ungereimtheiten mit dem 
eingebauten swd-dongle. auch die programmierung des gerätes über das 
eingebaute dongle war alles andere als stabil.

ich hab' das gerät dann so umgebaut, dann ich es über rs232 
programmieren konnt. das war aber kein besonderer spaß. raisonace das 
ding anscheinend bewußt so gebaut hat, dass es nicht einfach 
umzustricken ist. außerdem passten die gerberfiles und der schaltplan 
nicht mit dem gerät überein. kann sein, dass das mittlerweile behoben 
ist.

was ich an den tool von raisonance im zusammenhang mit priner 2 absolut 
nicht mag ist einerseits die "verschlossenheit". es ist extrem schwierig 
ohne raisonance tools das ding zum laufen zu kriegen. primer2 ist 
hackerfeindlich.

primer 1 hat zwar nicht so tolle hardware drauf, aber ich brauche kein 
audiocodec on board. dafür funktionierts unter linux, ich kann meine 
entwicklungsumgebung nutzen, ich habe kein debuglimit. ich kann das ding 
ohne lupe umbauen.

von Tobias P. (hubertus)


Lesenswert?

Ich hoffe ich darf hier auch mal schnell eine Frage stellen.
Und zwar benutze ich den J-Link von Segger, ich hab mir da auch eine 
NCU-Lizenz für ebenfalls 98 geholt. Der J-Link funktioniert super, alles 
geht einwandfrei.
Als IDE benutze ich Crossworks, und was soll ich sagen.... damit bin ich 
nicht zufrieden. Die IDE hängt teilweise, der Debugger ist sehr 
gewöhnungsbedürftig, das Downloaden in den Flash schlägt oft fehl... 
ausserdem wird der J-Link von der IDE irgendwie nicht vollständig 
unterstützt. Flash downloads (wofür ich eine Lizenz habe) gehen nicht, 
nur mittels dieses blöden Loaders ("LIBMEM RPC Loader") der in der IDE 
integriert ist; auch die Flash Breakpoints funzen nicht (wofür ich aber 
ebenfalls eine Lizenz habe).
Ich benutze zwar eher ARM7, trotzdem: kennt einer eine IDE, die wirklich 
gut funktioniert? Crossworks ist nicht eine befriedigende Lösung.

von (prx) A. K. (prx)


Lesenswert?

In Crossworks 2.0 mit ARM-USB-OCD hatte ich bislang keinen Hänger.

Vielleicht bist du mit einer billigen FT2232-Lösung und Crossworks 
besser dran als mit dem J-Link.

Rufus zufolge kommt Crossworks sogar mit dem Wiggler klar.

von Stefan Z. (derdespot)


Lesenswert?

Hallo Leute,
nochmal vielen Dank für die vielen Beiträge, ich weiß das zu schätzen! 
Ich habe mich nun für folgendes entschieden:

- Segger J-Link ARM (leider die commercial version, hab da mal angerufen 
und gefragt wie das ist, wenn die firma zahlt)
- TASKING VX-toolset for ARM® v3.0 (weil wir hier auch den TriCore mit 
Tasking programmieren)
- IC STM3210B-EVAL
- EA EDIP-TFT43A :: TFT-Grafikdisplay 4,3", 480x272 mit Intelligenz

Wird bestimmt ein leckeres Projekt.

Also nochmal Danke und viel Spaß beim Programmieren!

Grüße Stefan

von Robert T. (robertteufel)


Lesenswert?

@ Stefan
Also den Tasking Compiler, den hatte nun mal wirklich keiner auf der 
Liste, wie kommt das bloss? Das kommt, weil Tasking sehr spaet 
eingestiegen ist in die ARM Geschichte und alle eine Lernphase 
durchmachen. Ich hoffe fuer Dich, dass Tasking schon weit genug ist. Ich 
hoffe mal, dass nur die Webseite veraltet ist, denn die STM32 sind da wo 
ich gesucht habe nicht aufgetaucht.
http://www.tasking.com/products/32_bit/arm/en/derivatives.cfm/#STM
Dagegen unterstuetzen IAR und Keil in Sachen ARM so ziemlich alles was 
auf dem Markt ist und Raisonance definitiv alles was STM32 heisst. 
Crossworks unterstuetzt auch viel mehr als Tasking in der o.g. Liste. 
Segger mit Tasking weiss ich auch nicht!? Das ist schon eine "wilde 
Mischung" und ich hoffe es endet nicht damit, dass jeder auf den anderen 
zeigt mit den Worten, das ist nich mein Problem, mein Tool laeuft.
Alles aus einer Hand finde ich irgendwie immer gut, also Keil, 
Raisonance und IAR bieten alle einen one-stop shop mit Compiler, JTAG 
debugger und Eval Board und auch alle Support zwischen ordentlich und 
sehr gut, kommt halt darauf an, wen man gerade erwischt.

Allerdings bezweifle ich nicht, dass Tasking der beste Compiler fuer 
TriCore ist.

Gruss, Robert

von Robertine Engel (Gast)


Lesenswert?

>Ich hoffe fuer Dich, dass Tasking schon weit genug ist. Ich
>hoffe mal, dass nur die Webseite veraltet ist, denn die STM32
>sind da wo ich gesucht habe nicht aufgetaucht.


Einen zuviel getrunken?
Auf der Webseite stehen:
- STM32F101
- STM32F103

von Stefan Z. (derdespot)


Lesenswert?

hab ich auch so gelesen

von Random .. (thorstendb) Benutzerseite


Lesenswert?

> @ 900ss D.
> Danach habe ich von Segger der J-Link (no commercial use) gekauft. Der
> kostet dann nur 98,00 Euro + Mwst. Da ist alle SW bei, die du brauchst.

Hi,

schon mal in der Demo die Keil µVision IDE 4.0 getestet? Die hat nen 
J-Link driver für Cortex drin, der Download benötigt keine FlashDL 
Lizenz des J-Link. 32k Code/Daten sollte für den Einstieg erst mal 
reichen :-)

SWO ITM wird ebenfalls unterstützt, d.h. es können printf Ausgaben im 
Debug printf Viewer angesehen werden. Ab UV V4 werden einige VT100 
Terminalsequenzen (z.B. \t, div. Cursor Commands, cls, ...) unterstützt, 
sowie verschiedene Ansichten, z.B. zur Protokollanalyse.

Eingabe geht auch (der SWO ist nur ein Ausgabekanal, die Eingabe wird 
anders gehandhabt), wird gerade über die CMSIS standardisiert.

---
Als ich selbst Mitte 2006 mit dem Cortex-M3 anfing, kannte ich mich 
eigentlich nur mit dem AVR MegaXX so richtig gut aus :-)
Von daher war ich sehr froh, dass einem die uVision einiges an Arbeit 
abnimmt, was das AUfsetzen des CM3 betrifft, sonst hätte mein Einstieg 
vermutlich noch länger gedauert <:-) Das ganze Clocking Zeug mit seinen 
Eigenarten besonders beim LMI war schon seeehr verwirrend **g**


VG,
/th.

von Robert T. (robertteufel)


Lesenswert?

Robertine Engel schrieb:
>>Ich hoffe fuer Dich, dass Tasking schon weit genug ist. Ich
>>hoffe mal, dass nur die Webseite veraltet ist, denn die STM32
>>sind da wo ich gesucht habe nicht aufgetaucht.
>
>
> Einen zuviel getrunken?
Ne nicht wirklich muss aber recht muede gewesen sein, my bad.
> Auf der Webseite stehen:
> - STM32F101
> - STM32F103
Und die sogar ganz vorne, die 105 und 107 sind zwar nicht drauf aber das 
werden sie dann ja wohl auch hinbekommen.

von wisementor (Gast)


Lesenswert?


von Harald (Gast)


Lesenswert?

War der schon auf der Liste, ebenfalls ein sehr brauchbarer Debugger 
(non-commercial)

http://www.amazon.de/iSYSTEM-iTAG-FIFTY-JTAG-Debugger-Cortex-M/dp/tech-data/B009XAQ9BW/ref=de_a_smtd

Ist so eine Aktion von denen, um die professionelle Schiene zu bewerben 
(welche im übrigen sehr gut ist)

von public (Gast)


Lesenswert?

Servus zusammen,


kurzes Frage-Antwort-Spiel in die Runde.

Frage: Da will doch jemand nen ARM genauer nen STM32 kennen lernen, 
oder?
Antwort: Ja

Frage: Reicht da nicht dieses völlig super billige (Preis < 10€) fast 
schon geklaute STM32F0DISCOVERY Board die es bei den verschiedenen 
Elektronikversandhäusern gibt?

http://de.farnell.com/stmicroelectronics/stm32f0discovery/eval-bord-cortex-m0-stm32f0/dp/2096251

http://www.watterott.com/de/STM32F0DISCOVERY

Antwort: Hat sich für den Einsteiger hoffentlich erledigt.

Mit dem Ding kann man auch Debuggen (SWD)...



Um es nocheinmal klar zu sagen 10€ sind für den Einsteiger vollkommen 
ausreichend, klar auf dem Board ist nur ein Taster und 2 LEDs, aber 
vielleicht hat der Einsteiger ja ne funktionierende Elektronik die er 
ansteuern möchte.

Besten Dank für eure Aufmerksamkeit.

Viele Grüße
public

von Guest (Gast)


Lesenswert?

public schrieb:
> Um es nocheinmal klar zu sagen 10€ sind für den Einsteiger vollkommen
> ausreichend, klar auf dem Board ist nur ein Taster und 2 LEDs, aber
> vielleicht hat der Einsteiger ja ne funktionierende Elektronik die er
> ansteuern möchte.

Full ACK!


Ansonsten gibt's ja mittlerweile den J-Link EDU für um die 50 Euro.

von public (Gast)


Lesenswert?

Guest schrieb:
> public schrieb:
>> Um es nocheinmal klar zu sagen 10€ sind für den Einsteiger vollkommen
>> ausreichend, klar auf dem Board ist nur ein Taster und 2 LEDs, aber
>> vielleicht hat der Einsteiger ja ne funktionierende Elektronik die er
>> ansteuern möchte.
>
> Full ACK!

:-)

Jetzt habe ich dochnoch was vergessen.

Seid neuestem hat der Keil Compiler auch Code Completion und Dynamic 
Syntax Checking wie z.B. Eclipse...

Der Compiler steht übrigens bis 32kB Programme frei zur Verfügung, für 
den Download muss man sich blos registrieren!

http://www.keil.com/

Dann würde ich es jetzt gerne nocheinmal wiederholen, schreibt ein 
Einsteiger Programme die größer sind als 32kB? (32kB ohne Optimierungen 
und sehr viel Code!)

Tschö und Viel Spaß beim Download

Viele Grüße
public
>
>
> Ansonsten gibt's ja mittlerweile den J-Link EDU für um die 50 Euro.

von Dirk (Gast)


Lesenswert?

Eine freie Entwicklungsumgebung mit Toolchain und Unterstützung des 
Segger J-Link: http://emide.org/

von Dirk (Gast)


Lesenswert?

Harald schrieb:
> War der schon auf der Liste, ebenfalls ein sehr brauchbarer
> Debugger
> (non-commercial)
>
> http://www.amazon.de/iSYSTEM-iTAG-FIFTY-JTAG-Debug...
>
> Ist so eine Aktion von denen, um die professionelle Schiene zu bewerben
> (welche im übrigen sehr gut ist)

Für was, außer deren hauseigenes winIDEA, gibt es denn noch 
Unterstützung? Ich habe diesen JTAG-Adapter, aber eben außer mit winIDEA 
bekomme ich den mit nichts ans Laufen ... kein Keil µVision, kein IAR, 
keine emIDE, kein openocd, ...

von Phantomix X. (phantomix)


Lesenswert?

Dirk schrieb:
> Eine freie Entwicklungsumgebung mit Toolchain und Unterstützung des
> Segger J-Link: http://emide.org/

Unterstützung für J-Link und ST-Link/V2 (habe beides im Einsatz) gibts 
bei
http://www.emblocks.org/

von St. M32 (Gast)


Lesenswert?

Von st gibts zich boards von m0 bis m4 und nur der nötigsten ausstattung 
bis hin zu 8 megbyte sdram und nem Touchscreen. Kosten etwa 10-30 euro.
Die Stm32fxxxxx discovery boards haben nen St-link drauf, den man zum 
Debuggen und programmieren benutzen kann und wenn unbedingt nötig auch 
über eine Sollbruchstelle vom rest des Boards trennen kanm um ih. 
Isoliert zu benutzen.

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.