Forum: Mikrocontroller und Digitale Elektronik STM32 Erfahrungen? Libraries?


von heinzhorst (Gast)


Lesenswert?

Hallo!

Ich habe bisher hauptsächlich auf diversen PIC-Controllern programmiert. 
Privat PIC18 und PIC24, früher auch PIC16, beruflich PIC32. Allerdings 
schiele ich schon länger interessiert in Richtung ARM. Vor Allem, wenn 
ich mir anschaue, welche Ausstattung der Boards und Controller ich da 
für's Geld bekomme. Nun habe ich ein ARM-Board gefunden, was schon 
ziemlich genau meinen Vorstellungen entspricht:

http://olimex.com/dev/stm32-p107.html

Da würde ich mir auf das Lochrasterfeld noch einen CAN-Tranceiver 
draufbraten, dann wär's perfekt. Meine Bastelprojekte gehen im Moment 
hauptsächlich in Richtung Hausautomation und Messen und Steuern über 
Netzwerk.

Von Microchip bin ich es gewohnt, dass es für die Controller jede Menge 
fertige Libraries und Beispielprojekte für lau gibt, inklusive 
Dokumentation.

Nun interessiert mich, was ihr so für Erfahrungen mit dem STM32 gemacht 
habt. Vor Allem interessiert mich, was es da von ST an fertigen 
Libraries gibt, möglichst natürlich umsonst:

File-System-Lib für SD-Karte?
-für USB-Stick?

TCP/IP-Stack?
-mit HTTP-Server?
-mit NTP?

USB-CDC?

Und nein, ich habe nicht vor, irgendwas mit Embedded-Linux anzufangen.

von Mehmet K. (mkmk)


Lesenswert?

Fertige Libraries ... naja, es gibt die STM32F10x Standard Peripherals 
Library von ST. Hat mir maechtig geholfen.

Falls Du aber viel mit TCP/IP arbeiten willst: STM32 Controller haben 
kein PHY. Soweit ich weiss, haben nur die Controller von Texas diese 
miteingebaut.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Das wichtigste für den STM Einstieg ist in diesem Artikel beschrieben: 
STM32

von Anguel S. (anguel)


Lesenswert?

heinzhorst schrieb:
> Ich habe bisher hauptsächlich auf diversen PIC-Controllern programmiert.
> Privat PIC18 und PIC24, früher auch PIC16, beruflich PIC32. Allerdings
> schiele ich schon länger interessiert in Richtung ARM.

Nun gut, ich mache seit einiger Zeit eine kleine Recherche, welcher 
Hersteller die besten Libraries inkl. GUI anbietet sowie eine RTOS 
Unterstützung. Angefangen habe ich mit den ARM Cortex-M3 Anbietern. Die 
ST Seite ist eine einzige Katastrophe - für mich unbedienbar und so 
richtig viele gute Beispiele und Application Notes zu den Libs hab ich 
da auch nicht gefunden.
Dann habe ich mir mal Luminary/TI angeschaut - schon viel besser auch 
was Beispiele und Doku angeht. Sogar SafeRTOS im ROM deren High-End 
Produkts. Leider kann das auch nach hinten los gehen, weil man eben 
keinen Source hat und nicht weiß, wie lange sowas in Zukunft angeboten 
wird. Nur ein Modell hat SafeRTOS und das ist mir zu unsicher. Ansonsten 
kostet SafeRTOS zu viel Geld. FreeRTOS soll da auch laufen sowie auch 
lwIP, aber so richtig konsistent scheint mir das ganze nicht zu sein. 
GUI über Libs scheint bei TI auch ganz gut zu sein laut Postings, aber 
ich habe bisher kaum ein Demo-Video zum GUI gefunden.
Und dann habe ich vor ein paar Tagen mal kurz von ARM weggeschaut und 
mir mal den PIC32 angeschaut. Da bietet Microchip anscheinend alle 
möglichen Libs aus einer Hand an (auch TCP/IP mit allen möglichen 
Protokollen) und das Ding scheint richtig von FreeRTOS unterstützt zu 
werden - es gibt sogar einen speziellen Guide zum PIC32. Das scheint mir 
momentan die interessanteste All-In-One Lösung zu sein. Aber da kann mir 
heinzhorst sicher mehr dazu sagen, was die Qualität der Microchip Libs 
angeht - würde mich echt freuen mal etwas von jemandem mit Erfahrung mit 
PIC32 zu hören!
Das Demo hier ist zumindest sehr überzeugend:
http://www.youtube.com/watch?v=X0BRUjjMuEw

Grüße,
Anguel

von stm-user (Gast)


Lesenswert?

Beim STM32F10x gibt es jede Menge Libaries.
Die user manual für die Cortex libaries ist die UM0427

http://www.google.de/#hl=de&q=UM0427+ARM%C2%AE-based+32-bit+MCU+STM32F101xx+and+STM32F103xx&aq=f&aqi=&aql=&oq=&fp=47cdb7b9cadaa4c7

schau Dir einfach mal das PDF an!

Aufgrund des Funktionumfangs wird das ganze aber auch deutlich 
komplizierter wie bei einem Pic-16

Im übrigen nehme ich die Libaries nur für Zeitunkritische Dinge wie eine 
Initialisierung, im Betrieb ist der direkte Registerzugriff deutlich 
schneller!

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

@Anguel S. (anguel)

>Angefangen habe ich mit den ARM Cortex-M3 Anbietern. Die
>ST Seite ist eine einzige Katastrophe - für mich unbedienbar und so
>richtig viele gute Beispiele und Application Notes zu den Libs hab ich
>da auch nicht gefunden.

Da solltest du entweder jemand fragen der sich auskennt oder etwas 
gründlicher suchen.

ST biete die FW-Lib als ZIP inclusive Dokumentation und 91 Beispielen. 
Allerine für den UART 12 Beispiele und dem Timer 19 !!!

Also für nahezu jedes Problem ein Beispiel.

Ausserdem nutzen alle Beispiele ein un die selbe Library, somit kann man 
alles mit wenig Aufwand in das eigene Projekt kopieren und es klappt 
sehr schnell, vor allem kann man die Beispiele problemlos kombinieren.

von Anguel S. (anguel)


Lesenswert?

Markus Müller schrieb:
> Da solltest du entweder jemand fragen der sich auskennt oder etwas
> gründlicher suchen.

Gibt es kostenlose Libs für GUI, TCP/IP etc? Hast Du einen Link wo alles 
zu finden ist? Danke!

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

FreeRTOS mit TCP/IP und STM32 hab ich schon gesehen, hab grad keinen 
Link zur hand.
FAT-Dateisystem für SD-CARD ist hier verlinkt STM32.
Grafik-GUI, dafür hab ich mich bisher nicht interessiert.

von Matthias K. (matthiask)


Lesenswert?

Anguel S. schrieb:
> Die
> ST Seite ist eine einzige Katastrophe - für mich unbedienbar

Das stimmt, seit dort alles seit paar Monaten total verflasht ist. 
Vorallen wenn man noch die alte Seite kennt, die übersichtlich und 
schnell war.

Dennoch sind die FW-LIBs aus meiner Sicht gut brauchbar. Zu fast jedem 
Problem gibt es Beispiele darin. Ein Nachteil ist, dass alles für die 
STM Evaboards ausgelegt ist.

von Mehmet K. (mkmk)


Lesenswert?

Matthias K. schrieb:
> Ein Nachteil ist, dass alles für die STM Evaboards ausgelegt ist.

Also diese auf die eigene Hardware umzustricken ist jetzt keine 
Schwerstarbeit. :)

von heinzhorst (Gast)


Lesenswert?

Mehmet Kendi schrieb:
> Falls Du aber viel mit TCP/IP arbeiten willst: STM32 Controller haben
> kein PHY.

Ist beim PIC32 auch so. Mache ich mir aber keine Gedanken drum weil die 
Ethernet-Schnittstelle auf dem Board von Olimex schon fix und fertig mit 
PHY und Magjack drauf ist. Die Stellaris von TI, die du meinst, hab ich 
mir auch schon angesehen. Kosten aber mehr als ein PIC32 oder ARM + 
externe PHY.

Anguel S. schrieb:
> Aber da kann mir
> heinzhorst sicher mehr dazu sagen, was die Qualität der Microchip Libs
> angeht - würde mich echt freuen mal etwas von jemandem mit Erfahrung mit
> PIC32 zu hören!


Ist recht gut. Auch die Beispielprojekte kann man wunderbar als 
Grundlage für eigene Projekte verwenden. Ist echt erstaunlich, was es da 
alles für lau gibt in den Microchip Application Libraries. Hatte 
eigentlich angenommen, dass das bei anderen Controllerherstellern auch 
so ist.  Vielleicht bin ich dadurch auch etwas zu verwöhnt was den 
Umstieg auf andere Controller angeht. Das Beste ist allerdings, dass du 
die selben Libraries für PIC18, PIC24 und PIC32 verwenden kannst. Musst 
nur in einer übergeordneten Headerdatei den Controllertyp definieren und 
der Präprozesser baut das beim Make entsprechend zusammen. Dadurch kann 
man seine Projekte und Codeschnipsel innerhalb der einzelnen 
PIC-Familien mit minimalem Aufwand hin- und her portieren. Hat 
allerdings den Nachteil, dass gerade der Quellcode der hardwarenahen 
Komponenten manchmal etwas unübersichtlich ist. In einigen .c und 
.h-Dateien hat man das Gefühl, dass da mehr Makros und 
Präprozessordirektiven drin sind als ausführbarer Quellcode. In solche 
Dateien muss man aber eher selten rein um irgendwas zu ändern.


Matthias K. schrieb:
> Ein Nachteil ist, dass alles für die
> STM Evaboards ausgelegt ist.

Ist bei den Libs von Microchip auch so. Sind aber auch Templates dabei, 
um das an die eigene Hardware anzupassen.

von Matthias K. (matthiask)


Lesenswert?

heinzhorst schrieb:
> Sind aber auch Templates dabei,
> um das an die eigene Hardware anzupassen.

Sind dabei, für verschiedene Entwicklungsumgebungen.
Schau doch mal rein:
http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zip

Gibt noch weitere, z.B. für USB.

von Matthias K. (matthiask)


Lesenswert?

Mehmet Kendi schrieb:
> Also diese auf die eigene Hardware umzustricken ist jetzt keine
> Schwerstarbeit. :)

nein, aber lässtig;-)

von Anguel S. (anguel)


Lesenswert?

heinzhorst schrieb:
> Ist echt erstaunlich, was es da
> alles für lau gibt in den Microchip Application Libraries. Hatte
> eigentlich angenommen, dass das bei anderen Controllerherstellern auch
> so ist.  Vielleicht bin ich dadurch auch etwas zu verwöhnt was den
> Umstieg auf andere Controller angeht.

Hört sich gut an, danke für die Infos :) Achso, bei ARM ist es auch so, 
dass da die guten Compiler verdammt teuer sind: Keil oder IAR ca. 4000 
Euro. Natürlich gibt es auch Open Source, aber die optimieren den Code 
nicht so gut und außerdem muss man sich da echt auskennen und braucht 
ordentlich Zeit, um sich eine Entwicklungsumgebung zusammenzubauen. Was 
kostet eigentlich der Compiler für den PIC32?

von heinzhorst (Gast)


Lesenswert?

Anguel S. schrieb:
> Was
> kostet eigentlich der Compiler für den PIC32?

Der C32 von Microchip nichts. Allerdings sind dann nur zwei von fünf 
Optimierungsstufen verfügbar. Wenn du mehr brauchst sind ca. 900 USD 
fällig. Oder ca. 1500 USD für den (angeblich) noch besseren HI-TIDE 
Compiler.

von Anguel S. (anguel)


Lesenswert?

heinzhorst schrieb:
> Der C32 von Microchip nichts.

:-) Hab grade einen sehr interessanten Vergleich gefunden, da vergleicht 
ein Chinese MC und Libs (Excel):
http://www.microchip.com/forums/tm.aspx?m=530502

von IchNix (Gast)


Lesenswert?

Anguel S. schrieb:
> Nun gut, ich mache seit einiger Zeit eine kleine Recherche, welcher
> Hersteller die besten Libraries inkl. GUI anbietet sowie eine RTOS
> Unterstützung.

BWL Diplomarbeit?

von Anguel S. (anguel)


Lesenswert?

IchNix schrieb:

> BWL Diplomarbeit?

Wie kommst du auf sowas?

von heinzhorst (Gast)


Lesenswert?

Anguel S. schrieb:
> Hab grade einen sehr interessanten Vergleich gefunden, da vergleicht
> ein Chinese MC und Libs (Excel):

Da hat der Chinese aber sehr schlecht recherchiert. Zumindest was den 
PIC32 angeht. Abgesehen davon sind die hier verglichenen Parameter wenig 
aussagekräftig.

von (prx) A. K. (prx)


Lesenswert?

heinzhorst schrieb:

> Der C32 von Microchip nichts. Allerdings sind dann nur zwei von fünf
> Optimierungsstufen verfügbar.

Wobei der C32 den GCC verwendet und der MIPS Prozessor seit Äonen fester 
Bestandteil des GCC ist.

von heinzhorst (Gast)


Lesenswert?

A. K. schrieb:
> Wobei der C32 den GCC verwendet und der MIPS Prozessor seit Äonen fester
> Bestandteil des GCC ist.

Stimmt. Microchip hat sich nur seinen Controller-spezifischen Krams um 
dem gcc drum rum gebaut.

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.