Forum: Mikrocontroller und Digitale Elektronik STM32 Einstieg


von Arm(er) noob (Gast)


Lesenswert?

Hallo,

ich will mich demnächst mit den STM32 auseinandersetzen und ich wollte 
mich nur nochmal vergewissern ob ich mir nicht totalen Schrott 
zusammengesucht habe.

Ich habe vor, den STM32F101 oder STM32F103 zu Beginn einzusetzen, da die 
von der Pheripherie ausreichend sind und viel Speicher bieten.

Ich stehe aber nun noch vor dem Problem mich für eine 
Entwicklungsumgebung zu entscheiden. Also IDEs gibt es ja mehrere aber 
wenn ich das Ding programmieren möchte...welches Programmiergerät nehme 
ich da am besten?

Es gibt da ein RLINK von Raisonance was in meinen Augen ganz gut 
aussieht, günstig ist und für meine Zwecke ausreichend sein sollte.

Dieses Board (http://futurlec.com/STM32_Development_Board.shtml) sollte 
ich damit ja auch programmieren (wobei das ja auch ohne Programmer zu 
gehen scheint) aber vor allem debuggen können, oder?

Und kann man mit der Ride7 IDE vernünftig arbeiten? Mit dem RLink gut 
funktionieren sollte sie ja, da gleicher Hersteller. Oder gibt es eine 
andere IDE die empfehlenswerter ist(für Einsteiger)?

Vielen Dank schonmal

von (prx) A. K. (prx)


Lesenswert?

Das Board ist ok, lässt sich mit normalen JTAG-Adaptern 
programmieren/debuggen und mit dem Bootloader über die serielle 
Schnittstelle programmieren.

Als IDE verwende ich die (unbeschränkte) nichtkommerzielle Version von 
Rowley Crossworks in Verbindung mit einem nicht mehr ganz so neuen 
Olimex ARM-USB-OCD. Aber das ist nur eine Variante von vielen, 
Crossworks kann mit wohl jedem Adapter auf FT2232-Basis 
zusammenarbeiten, weil diesbezüglich konfigurierbar.

von Arm(er) noob (Gast)


Lesenswert?

ah,

ja auf die Olimex Seiet war ich auch schonmal gestoßen. Aber auf mich 
wirkte das im ersten moment so frickelig ;)

Aber wenn man damit arbeiten kann ziehe ich das vielleicht nochmal in 
Betracht. Muss mir das nochmal durchlesen

von Arne (Gast)


Lesenswert?

Wir nehmen in der Firma STM32F103 (F101/105/107 sind auch für andere 
Projekte angedacht). Ist soweit okay, manche Peripheriemodule sind 
(meine Meinung!) nicht so knuffig (d.h. komplex und kompliziert) zu 
programmieren, aber für spezielle Anwendungsfälle haben sie aufgrund 
dessen, dass viel in HW möglich ist, sicher ihre Daseinsberechtigung.
Wir nehmen die IAR J-Links und die Cortex Variante der IAR EWARM.

Privat werde ich mal im Sommer dem hier 
(http://www.steitec.net/ARM/ARM-LPC1768-Cortex-M3-LCD-Board.html) mit 
einer non-commercial Variante der J-Link (kostet summa sumarum ~60,-EUR) 
zu Leibe rücken.

Ist halt alles Geschmackssache.

von (prx) A. K. (prx)


Lesenswert?

Arm(er) noob schrieb:

> ja auf die Olimex Seiet war ich auch schonmal gestoßen. Aber auf mich
> wirkte das im ersten moment so frickelig ;)

Ich hatte das früher bei LPC2000 mit Winarm/Eclipse/OpenOCD verwendet 
und da war es wirklich etwas Bastelei. Mit Crossworks war es 
plug-and-play.

von thorstendb (Gast)


Lesenswert?

Hi,

für den Privatgebrauch empfehle ich den JLink Edu für ca. 50,-
Der läuft mit vielen IDEs, z.B. Keil uVision. Dort hast du für den 
STM32F10x auch tonnenweise out-of-the-box examples mit dabei.

Problem bei den anderen Debuggern ist, dass du dich auf eine IDE 
festlegst, d.h. diese dann bei grösserem Code kaufen musst.

> Mit Crossworks war es plug-and-play.
uVision ebenfalls. Frei bis 32kB, was wür den Einstieg erstmal reicht.


VG,
/th.

von (prx) A. K. (prx)


Lesenswert?

thorstendb schrieb:

> Problem bei den anderen Debuggern ist, dass du dich auf eine IDE
> festlegst, d.h. diese dann bei grösserem Code kaufen musst.

Deshalb hatte ich mich für Crossworks entschieden, denn da ist die 
unbeschränkte nichtkommerzielle Version mit 150$ überschaubar. 32KB ist 
mir eindeutig zu wenig - manchmal will man auch bei abgeschalteter 
Optimierung debuggen.

von Dennis (Gast)


Lesenswert?

> ja auf die Olimex Seiet war ich auch schonmal gestoßen. Aber auf mich
> wirkte das im ersten moment so frickelig ;)

Ja, die Olimex Dinger sind billig, und entsprechend kann man damit auch 
arbeiten.... oder eben auch nicht:

Beispiel STM32-H103:

Die BOOT-Pins werden über Lötbrücken eingestellt. Will man über den 
eingebauten Bootloader programmieren, darf man man sich auf jede Menge 
(eigentlich unnötige) Lötvorgänge freuen, denn entsprechende Schalter 
sind für Olimex wohl zu teuer gewesen. Blöd ist nur, dass man bei 
jedem(!) Programmiervorgang einmal umlöten muss, ansonsten kann man 
nicht testen. Andere können das wesentlich besser.

Die Qualität des Moduls wirkt recht billig, sowohl von der Bestückung 
her als auch von der Qualität der Platine. Bauteile stehen Kreuz und 
Quer, man sieht deutlich, dass dort eine gewinnoptimierte 
Massenproduktion läuft.

Einige Bauteile aus dem Schaltplan werden bei Olimex noch nicht mal 
bestückt. (Natürlich steht das nicht auf der Webseite, man bekommt sowas 
erst bei gelieferten Modulen mit...), beim STM32-H103 ist z.B. der 
ESD-Schutz am USB nicht bestückt sondern einfach nur gebrückt. 
Eigentlich eine Schweinerei.

usw.....

Fazit: Lieber ein gescheites Modul kaufen, da hat man definitiv mehr 
davon. Meiner stammt von einem deutschen Hersteller, bietet alles was 
das Olimex-Board auch kann (also auch JTAG), aber es kann 
vollautomatisch über die serielle programmiert werden (über FT232), hat 
einen on-board CAN-Übertrager und noch einen externen Flash. Läuft seit 
2 Monaten ohne Probleme. Die Bauteile und Bestückung machen einen 
hochwertigen Eindruck -> damit kann man auch mal zum Kunden gehen ohne 
dass man sich schämen muss.

Gruss:
Dennis

von Dennis (Gast)


Lesenswert?

> Problem bei den anderen Debuggern ist, dass du dich auf eine IDE
> festlegst, d.h. diese dann bei grösserem Code kaufen musst.

Nimm doch einfach den ST-LINK, damit können die meisten Compiler 
umgehen. IAR, Keil und Atollic auf jeden Fall, der Rest theoretisch 
auch.

Kostet um die 30 - 40 EUR, da kann man kaum was falsch machen. Bei mir 
funktioniert es tadellos.

http://www.st.com/mcu/contentid-126-110-ST_LINK.html

Gruss:
Dennis

von (prx) A. K. (prx)


Lesenswert?

Dennis schrieb:

> Beispiel STM32-H103:
> Die BOOT-Pins werden über Lötbrücken eingestellt.

Ein alte Olimex-Krankheit, das kriegen die in diesem Leben wohl nicht 
mehr gebacken. Bei den LPC2000ern, deren Bootloader-Programmer die 
Signale mit RS232-Pins steuern kann, hatten sie zwar eins davon 
entsprechend bedient, aber für das andere nur einen Jumper (immerhin).

Beim o.A. futurlec-Board wird der eine Pin über einen Schalter der 
andere (nur nötig bei RAM-Boot) über einen Jumper geschaltet.

von Dennis (Gast)


Lesenswert?

> Ein alte Olimex-Krankheit, das kriegen die in diesem Leben
> wohl nicht mehr gebacken.

Wenn die das Ding ohne JTAG programmieren müssten (JTAG-Adapter kam 5 
Tage später an, der Chef wollte aber schon mal einen Funktionstest 
sehen) dann würden sie wohl anders denken. Seit dieser Erfahrung nutze 
in nichts von Olimex. Die paar Euro, die ich für ein hiesiges Produkt 
auf den Tisch lege rentieren sich schon innerhalb der ersten 30 Minuten, 
die ich mit dem Modul arbeite..... Und am Ende des Tages bin ich von der 
bescheuerten Hardware nicht genervt, sondern kann mich aufs Entwickeln 
konzentrieren :-)

Gruss

von Arm(er) noob (Gast)


Lesenswert?

Vielen Dank erstmal für die Hinweise.

Also ich werde von den Olimex Sachen doch Abstand nehmen denke ich.
Es soll später in der Firma eingesetzt werden und ich will mich damit 
erstmal privat befassen.
Von daher sollte es nicht nur hui-pfui sein.

Aber ich werde mir wohl doch die Lizenzmodelle der IDEs nochmal ansehen 
müssen.
Ich hatte es bisher so verstanden, das die Codegrößen unlimitiert sind, 
und nur beim debuggen die 32kB Grenze besteht. Dem ist ja nun aber 
anscheinend doch nicht so.

Kosten darf es natürlich was, aber dem Chef erstmal >1000€ ausm Kreuz zu 
leihern kommt eher nicht so gut :)

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.