Forum: Mikrocontroller und Digitale Elektronik STM32 Discovery-Boards


von Björn M. (dunuin)


Lesenswert?

Moin,

Ich wollte mir das STM32F4Discovery oder STM32VLDiscovery kaufen um mal 
in ARMs reinzuschnuppern.

Bisher habe ich die Atmega und Attiny benutzt, aber die werden einfach 
zu teuer (für so einen Atmega bekomme ich ja zwei bis drei Cortex M3) 
und dann können die ARMs natürlich viel mehr und bei den Atmels stößt 
man schön öfters mal an die Grenzen.

Da hätte ich mal 3 Fragen:

1.) Wie sieht es da mit der Entwicklungsumgebung und dem Programmer aus? 
Reicht da das Discovery-Board oder muss man da dann noch extra etwas 
dazu kaufen?

2.) Ich habe mir jetzt etliche STM32er und LPC1xxx angeguckt und wundere 
mich, warum es da nirgends EEPROM gibt. Den EEPROM nutze ich eigentlich 
ständig zum Abspeichern von Konfigurationen, welche nach dem Brennen des 
Flashspeichers vorgenommen werden. Wie macht man denn das z.B. beim 
Cortex M3? Da muss es doch dann auch etwas in der Art geben, um mal ein 
Byte nichtflüchtig zu speichern, ohne da ein extra EEPROM per I²C 
anschließen zu müssen.

3.) Gibt es da noch andere empfehlenswerte kostengünstige Versuchboards?

von M. K. (avr-frickler) Benutzerseite


Lesenswert?

Björn M. schrieb:
> 1.) Wie sieht es da mit der Entwicklungsumgebung und dem Programmer aus?
> Reicht da das Discovery-Board oder muss man da dann noch extra etwas
> dazu kaufen?

Entwicklungsumgebungen gibt es eine ganze Menge, einfach mal die suche 
dieses Forums benutzen oder im Wiki(Artikelübersicht) schauen. 
Programmieren und debuggen kannst du direkt über die vorhandene 
USB-Schnittstelle.

Björn M. schrieb:
> 2.) Ich habe mir jetzt etliche STM32er und LPC1xxx angeguckt und wundere
> mich, warum es da nirgends EEPROM gibt. Den EEPROM nutze ich eigentlich
> ständig zum Abspeichern von Konfigurationen, welche nach dem Brennen des
> Flashspeichers vorgenommen werden. Wie macht man denn das z.B. beim
> Cortex M3? Da muss es doch dann auch etwas in der Art geben, um mal ein
> Byte nichtflüchtig zu speichern, ohne da ein extra EEPROM per I²C
> anschließen zu müssen.

Das Stichwort lautet hier IAP (In-Application-Programming) du kannst zur 
Laufzeit vom Programm aus den Flash beschreiben. Dazu muss aber noch 
Platz im Flash-Speicher sein, dein Programm darf also nicht zu groß 
sein. Ansonsten hilft nur ein exterenes EEPROM.

von Michael W. (Gast)


Lesenswert?

Ich finde auch das STM32L-Discovery nicht schlecht, da hat man schon ein 
paar praktische Bedienelemente drauf.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Das STM32F4Discovery hat im Vergleich mit dem STM32VLDiscovery den 
wesentlich leisungsfähigeren Prozessor und ist nicht wirklich teurer. 
Wenn du auf das LCD und die Audio Peripherie, die Michael beim 
STM32LDiscovery erwähnt hat, verzichten kannst/willst, ist das STM32F4 
das Board mit der meisten Rechenpower. Das VL ist das spartanischste.

M. K. schrieb:
> Dazu muss aber noch
> Platz im Flash-Speicher sein, dein Programm darf also nicht zu groß
> sein. Ansonsten hilft nur ein exterenes EEPROM.

ST hat eine kleine Library, wo EEPROM Support emuliert wird. Mir ist 
immer nicht ganz wohl bei dem Gedanken, das da zur Laufzeit ins Flash 
geschrieben wird (und der Flash hat im Vergleich zum 'echten' EEPROM 
weniger erlaubte Schreibzyklen), aber funktionieren tut es.

Björn M. schrieb:
> 1.) Wie sieht es da mit der Entwicklungsumgebung und dem Programmer aus?
> Reicht da das Discovery-Board oder muss man da dann noch extra etwas
> dazu kaufen?

Du brauchst ein USB-Mini USB Kabel und das kostenlose STM32 ST-Link 
Utility. Damit kannst du die HEX Files des Compilers in das Evalboard 
flashen (und lesen).

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Matthias Sch. schrieb:
> Das STM32F4Discovery hat im Vergleich mit dem STM32VLDiscovery den
> wesentlich leisungsfähigeren Prozessor und ist nicht wirklich teurer.
> Wenn du auf das LCD und die Audio Peripherie, die Michael beim
> STM32LDiscovery erwähnt hat, verzichten kannst/willst, ist das STM32F4
> das Board mit der meisten Rechenpower. Das VL ist das spartanischste.

Sehe ich auch so. Für das kleine Geld sollte man sich auch das 
Flagschiff holen :-)

Und wenn er Displays etc. ohne viel Löten anschließen will, empfehle ich 
so ein Baukastensystem:

http://www.wvshare.com/product/Open407V-D-Package-B.htm

Damit kann man schon sehr schön spielen :-)

> M. K. schrieb:
> ST hat eine kleine Library, wo EEPROM Support emuliert wird. Mir ist
> immer nicht ganz wohl bei dem Gedanken, das da zur Laufzeit ins Flash
> geschrieben wird (und der Flash hat im Vergleich zum 'echten' EEPROM
> weniger erlaubte Schreibzyklen), aber funktionieren tut es.

Wobei man da auch zyklisch schreibt. Je nach Größe des Puffers gibt es 
dann entsprechend weniger Schreibzyklen.
Auf jeden Fall funktioniert es und wenn man nicht stündlich die Werte 
ändert, sollte das ausreichend sein :-)

Aber ja: das fehlende EEPROM ist unschön - steht aber laut ST-Leuten 
oben auf der Liste. Schauen wir mal ...

> Björn M. schrieb:
>> 1.) Wie sieht es da mit der Entwicklungsumgebung und dem Programmer aus?
>> Reicht da das Discovery-Board oder muss man da dann noch extra etwas
>> dazu kaufen?
>
> Du brauchst ein USB-Mini USB Kabel und das kostenlose STM32 ST-Link
> Utility. Damit kannst du die HEX Files des Compilers in das Evalboard
> flashen (und lesen).

Und für Linux gibt es ebenfalls ein passendes Tool:
https://github.com/texane/stlink

Als IDE kannst Du Dir einrichten, was Du möchtest: hier läuft Eclipse 
(weil wir das auch für alles andere nehmen) mit der GCC/GDB-Erweiterung.
Ein Tutorium zu dessen Einrichtung findest Du hier in der 
Artikelsammlung.

Viel Spaß mit den STM32 :-)

Chris D.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Chris D. schrieb:
> Aber ja: das fehlende EEPROM ist unschön - steht aber laut ST-Leuten
> oben auf der Liste. Schauen wir mal ...

Das sehe ich gerne. Für die Hauptanwendung hier muss ich Kalibrierungen 
und PID Werte ins EEPROM speichern und ausser beim ATMega musste ich 
immer externe EEPROMs nehmen (u.a. wegen des Disasters beim XMega A1/A3 
EEPROM - was für ein Reinfall). Seitdem sehe ich bei allen Projekten 
einen externen 93C46 vor.

von Thomas W. (diddl)


Lesenswert?

Ja das WaveShare Bundle ist super. Da ist jede erdenkleiche Erweiterung, 
die man später für projekte braucht, schon mit dabei.

Das fehlende EEPROM ist lästig. Aber man kann mit dem kleinen statischen 
RAM gut leben, falls eine Batterie vorhanden ist. Wenn nicht, dann muss 
man halt einen kleinen I2C Speicher dazu verbauen.

von Björn M. (dunuin)


Lesenswert?

Das mit dem IAP klingt schon nicht schlecht, wenn das denn funktioniert.
Oft muss ich da nicht reinschreiben.

Das STM32L sieht auch wirklich nicht schlecht aus, mit den zusätzlichen 
Aus- und Eingabeoptionen. Ich glaube da werde ich mir dann einfach mal 
das STM32L-Discovery und das STM32F4-Discovery holen. Dann habe ich 
einen M4 und einen M3 zum probieren da und bei ca 15€ pro Board muss man 
sich dann auch nicht so die Sorgen machen.

Bei meinem Atmel STK600 für über 200€ war ich mal gegen das USB-Kabel 
gekommen, das Board war leicht verrutscht und hat dann wohl irgendwo 
einen Kurzen bekommen. Jedenfalls kann ich das Board noch mit dem 
AVR-Studio ansprechen, aber man bekommt keine Verbindung zu den uCs mehr 
hin.
Da ist so ein 15€-Board fürs Breadboard natürlich eine feine Sache.

Das "Open407V-D Package B" sieht auch sehr interessant aus. Bekommt man 
das auch aus deutschen Shops? Steht leider auch kein Gewicht bei. Über 
0,5g wären das 30€ Porto und dann darf man sich sicher noch mit Zoll und 
Steuern herumschlagen.

von Wilhelm F. (Gast)


Lesenswert?

Matthias Sch. schrieb:

> ST hat eine kleine Library, wo EEPROM Support emuliert wird. Mir ist
> immer nicht ganz wohl bei dem Gedanken, das da zur Laufzeit ins Flash
> geschrieben wird (und der Flash hat im Vergleich zum 'echten' EEPROM
> weniger erlaubte Schreibzyklen), aber funktionieren tut es.

Eines der Probleme ist sicherlich, daß man für ein einzelnes geändertes 
Byte einen ganzen Flash-Sektor löschen und neu schreiben muß. Das kenne 
ich jedenfalls noch so von den LPC2100/2200. Wenn ich mich recht 
entsinne, steht dann auch einen Moment lang das ganze Programm still.

Ein kleines externes EEPROM ist aber auch kein vollständiges K.O..

von mr. mo (Gast)


Lesenswert?

Björn M. schrieb:
> Das "Open407V-D Package B" sieht auch sehr interessant aus. Bekommt man
> das auch aus deutschen Shops? Steht leider auch kein Gewicht bei. Über
> 0,5g wären das 30€ Porto und dann darf man sich sicher noch mit Zoll und
> Steuern herumschlagen.

Die verkaufen das auch auf ebay. WaveShare ist da Händler.

Habe mir das Teil vorgestern auf ebay besorgt, aber in der Variante mit 
weniger Modulen und habe noch andere Module genommen. Versand ist 
7Dollar.

Ab 22 Euro muss man nur die 19% Mwst. beim Zoll hinlegen. Ab 150 Euro 
noch Zollgebühren habe ich im Netz gelesen. Bin auf das Set gespannt.

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


Lesenswert?

Wegen dem EEPROM und STM32F4xx:
Der STM32F4xx hat 4KB Batteriegestützten RAM, das sollte für das meiste 
reichen. Wenn man parallel zur Batterie noch einen Kondensator mit 100µF 
setzt, so kann man auch problemlos die Batterie tauschen und der hält 
die Spannung für einige Sekunden.

Ansonsten einfach die Kalibierdaten irgendwo in das Flash schreiben, von 
ST gibt es Demo-Code für EEPROM Emulation im Flash (1MB - Programmgröße, 
bündig zur Flash-Page).

Wenn das einmalige Einstellwerte sind, die nie wieder ändern kann man 
die auch in das OTPROM schreiben (512 Byte).

Erst wenn diese 3 Optionen nicht reichen, macht man ein externes EEPROM 
ran oder gleich ein DataFlash mit einigen MB und man könnte somit noch 
viel mehr speichern.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

mr. mo schrieb:
> Björn M. schrieb:
>> Das "Open407V-D Package B" sieht auch sehr interessant aus. Bekommt man
>> das auch aus deutschen Shops? Steht leider auch kein Gewicht bei. Über
>> 0,5g wären das 30€ Porto und dann darf man sich sicher noch mit Zoll und
>> Steuern herumschlagen.
>
> Die verkaufen das auch auf ebay. WaveShare ist da Händler.
>
> Habe mir das Teil vorgestern auf ebay besorgt, aber in der Variante mit
> weniger Modulen und habe noch andere Module genommen. Versand ist
> 7Dollar.
>
> Ab 22 Euro muss man nur die 19% Mwst. beim Zoll hinlegen. Ab 150 Euro
> noch Zollgebühren habe ich im Netz gelesen. Bin auf das Set gespannt.

Hier kam es auch portofrei per FedEx.

Allerdings wird noch USt. fällig, da Waveshare eine der ganz wenigen 
chin. Firmen ist, die (erfreulicherweise) eine korrekte Rechnung 
beilegen.

FedEx nimmt noch 10 Euro Vorlagen-Gebühr, sind das also insgesamt 
nochmal um die 35 Euro.

Zumindest war es hier Ende September so.

Chris D.

von Peter S. (psavr)


Lesenswert?

Als IDE ist es lohnenswert sich mal die CooCox CoIDE anzugucken
=> http://www.coocox.org/index.html

und auch as DM-STF4BB - Ein nützliches Expansions-Board zum 
ST32F4Discovery
=> http://www.armkits.com/product/DM-STF4BB.asp

von Roland H. (batchman)


Lesenswert?

> Das mit dem IAP klingt schon nicht schlecht, wenn das denn funktioniert.
> Oft muss ich da nicht reinschreiben.

Irgendwie kann ich mich mit der EEPROM Emulation bei den stm32 nicht 
anfreunden.

Auf dem stm32f100 mit flash page size = 1k und der Möglichkeit, dies ans 
Ende des Flashs zu legen, das ist m. E. noch ganz OK.

Wenn beim stm43f4 aus der "page" dann ein "sector" wird, welcher minimal 
16k hat, und welcher dann mitten im Flash angesiedelt ist ... und wenn 
dann die "standard library" wieder einmal nicht abstrahiert, und sowiese 
noch die appnote benötigt wird ...

Ich würde eher ein externes EEPROM nehmen oder gleich eine SD-Karte.

Das integrierte EEPROM ist ein nettes AVR-Feature.

> Dann habe ich
> einen M4 und einen M3 zum probieren da und bei ca 15€ pro Board muss man
> sich dann auch nicht so die Sorgen machen.

Die Kosten spielen hier keine Rolle, die stehen in keinem Verhältnis zur 
Einarbeitungszeit, die Du aufwenden wirst. Insofern würde ich mir einen 
aussuchen.

Tendenziell würde ich eher zum stm32vl discovery greifen: Dessen µC 
erschlägt einen nicht so mit Peripherie, und man muss sich nicht so mit 
den bereits belegten Pins auf dem Board beschäftigen. Das Ding kann man 
auch noch ein zwei Steckbretter stecken, beim stm32f4 geht das nicht 
mehr.

von Lothar (Gast)


Lesenswert?

Björn M. schrieb:
> 2.) Ich habe mir jetzt etliche STM32er und LPC1xxx angeguckt und wundere
> mich, warum es da nirgends EEPROM gibt.

Es gibt immer LPC ohne und mit EEPROM. Mit:

LPC11Exx, LPC1345, LPC1778, LPC18xx, LPC4xxx

Seltsam ist nur, dass auf den meisten Eval-Boards die ohne EEPROM 
verbaut sind:

LPC11xx, LPC1343, LPC1768

von Jim M. (turboj)


Lesenswert?

Mit ein wenig Linker Skript Magie kann man sich einige Flash Pages als 
EEPROM-Ersatz reservieren. Die Funktionen für den Schreibvorgang sind 
nicht sooo kompiziert:

 - Kopie der Page erstellen und neuen Wert in die Kopie schreiben
 - Flash Page löschen
 - Kopie in die Flash Page schreiben

Wenn die Werte bei plötzlichem Spannungsverlust nicht verloren gehen 
sollen, benutzt man zusätzlich noch eine weitere Page im Flash als 
Backup.

Die Größe der Page spielt dabei eine untergeordnete Rolle: Den nicht 
benutzten Teil braucht man ja auch nicht zu beschreiben.

von Wilhelm F. (Gast)


Lesenswert?

Sollte es nicht gehen, daß man abwechselnd 2 Pages benutzt? Dann hat man 
immer ein Backup.

von Chose (Gast)


Lesenswert?

Ich hab mich auch gewundert über das fehlende EE beim F4. Aber dann hab 
ich das mit dem Flash probiert und es funktiniert sehr gut. So  oft 
ändern sich Konfig-Daten normal nicht, sodass die wenigeren 
Schreibzyklen problematisch werden. Ich musste zB 100 DMX Programme 
abspeichern. Macht ca 55 KB. Das geht fast nur mit Flash (ohne ext. 
Speicher). Ich kenne keine Controller mit so viel EE.
ST denkt da einfach in anderen Dimensionen...


Gruß

von Wilhelm F. (Gast)


Lesenswert?

Chose schrieb:

> So  oft
> ändern sich Konfig-Daten normal nicht, sodass die wenigeren
> Schreibzyklen problematisch werden.

Eben. Darüber muß man sich bei der Konstruktion auch Gedanken machen, ob 
sie binnen eines Jahres 100 Schreibzyklen macht, oder 40000.

Die Jungs mit kaputtenem externen EEPROM in einer Industrieanwendung 
erlebte ich auch schon.

von Jo D. (Firma: Jo) (discovery)


Lesenswert?

Chris D. schrieb:
> mr. mo schrieb:
>> Björn M. schrieb:
>>> Das "Open407V-D Package B" sieht auch sehr interessant aus. Bekommt man
>>> das auch aus deutschen Shops? Steht leider auch kein Gewicht bei. Über
>>> 0,5g wären das 30€ Porto und dann darf man sich sicher noch mit Zoll und
>>> Steuern herumschlagen.
>>
>> Die verkaufen das auch auf ebay. WaveShare ist da Händler.
>>
>> Habe mir das Teil vorgestern auf ebay besorgt, aber in der Variante mit
>> weniger Modulen und habe noch andere Module genommen. Versand ist
>> 7Dollar.
>>
>> Ab 22 Euro muss man nur die 19% Mwst. beim Zoll hinlegen. Ab 150 Euro
>> noch Zollgebühren habe ich im Netz gelesen. Bin auf das Set gespannt.
>
> Hier kam es auch portofrei per FedEx.
>
> Allerdings wird noch USt. fällig, da Waveshare eine der ganz wenigen
> chin. Firmen ist, die (erfreulicherweise) eine korrekte Rechnung
> beilegen.
>
> FedEx nimmt noch 10 Euro Vorlagen-Gebühr, sind das also insgesamt
> nochmal um die 35 Euro.
>
> Zumindest war es hier Ende September so.
>
> Chris D.

Hi Chris,

Wie lange hat bei dir die Lieferung gedauert?

Gruß
Jo

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Hallo Jo,

ich hab am 18.9. bestellt und am 26.9. war es da - ging wirklich flott 
:-)

Mittlerweile haben wir damit auch schon etwas rumgespielt: macht 
wirklich Spaß, da irgendwie alles dabei ist :-)
Für den Preis: ganz klar geschenkt!

Grüße,
Chris

von mr. mo (Gast)


Lesenswert?

Jo discovery schrieb:
> Hi Chris,
>
> Wie lange hat bei dir die Lieferung gedauert?
>
> Gruß
> Jo

Auch wenn ich nicht Chris bin, kann ich dir sagen, dass ich mein Set 
morgen bei der Post abholen kann. Hatte am 18.10 direkt bei WaveShare 
auf ebay bestellt. Bin auf jeden Fall auf morgen gespannt was ich noch 
an Gold bei der Post lassen kann.
So wie es aussieht haben die Jungs eine ordentliche Rechnung beigelegt, 
freut mich das ich nicht noch zum extra zum Zoll muss.

von Jo D. (Firma: Jo) (discovery)


Lesenswert?

Euch beiden danke für die Rückmeldung :-)

Das klingt ja vielversprechend. Ich habe mir am 22.10 auch so ein Board 
bestellt und wollte nur mal nachfragen wie lange es ungefähr dauert. Ich 
warte schon gespannt auf die Lieferung :-)

lg
Jo

von Stefan W. (ahabakuk)


Lesenswert?

@jo discovery

Klingt noch interessant das Open407V-D Board, werde es mir evtl. auch 
kaufen.

Würde mich noch wunder nehmen, was für Democode dem Board beiliegt?

Ist der auch für so manche Entwicklungsumgebung wie der zum STM32F4- 
Discovery Board

http://www.st.com/jp/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f4discovery_fw.zip

hier?

von Thomas W. (diddl)


Lesenswert?

Es liegt eine komplette DvD bei die voll gepackt ist. neben Samplecode 
und Tools gibt es für jedes Stück Hardware PDF files, sehr sympathisch 
und erspart Suche im Netz.

Der Samplecode bezieht sich zwar teilweise auf STM321xx, aber ist 
trotzdem meist mit sehr geringen Änderungen lauffähig.

von Jo D. (Firma: Jo) (discovery)


Lesenswert?

Hat eigentlich schonmal jemand mit der beigefügten Digicam rumgespielt? 
Wie sehen die Daten aus die per DCMI reinkommen? Sind die Frames noch 
komprimiert oder unkomprimiert?

Damit sollten doch nette Spielerein möglich sein. Ich dachte jetzt 
beispielsweise an eine Bilderkennung.

von vampire (Gast)


Lesenswert?


von Jo D. (Firma: Jo) (discovery)


Lesenswert?

Hallo nochmal, :-)

Ich warte nun schon seit einiger Zeit auf das Paket. Die 
Sendungsverfolgung sagt:

"Die Sendung ist am 30.10.2012 im internationalen Logistikzentrum IPZ 
Frankfurt eingegangen."

Weiß jemand warum das nun so lange dauert? Wird das Paket noch 
Zolltechnisch überprüft?

Gruß
Jo

von Jo D. (Firma: Jo) (discovery)


Lesenswert?

Mein Board ist mittlerweile angekommen! :-)

Hallo Thomas!

> Der Samplecode bezieht sich zwar teilweise auf STM321xx, aber ist
> trotzdem meist mit sehr geringen Änderungen lauffähig.

Hast du das SD-Card Beispiel schon auf den stm32F4 umgestrickt? Ich 
werde mich wohl demnächst mal damit beschäftigen. Wenn das funktioniert 
wollte ich die Sachen auf Coocox portieren.

Insgesamt wäre es natürlich toll, wenn jeder seinen abgeänderten Code 
hier posten könnte. Die Änderungen sind zwar nicht so groß, aber im 
Detail doch hin und wieder aufwändig.

Grüße!
Jo

von vaid (Gast)


Lesenswert?

Guten Morgen!

Habe mir Freitag ebenfalls das Board über ebay bestellt und auch direkt 
eine Tracking Nummer erhalten. Wenn ich die Sendungsverfolgung aus ebay 
heraus mache werde ich auf die Seite der deutschen Post geleitet, dort 
wird das Paket aber nicht gefunden.
Hat das Tracking bei euch problemlos funktioniert?
Tracking Code folgt dem Schema: RFXXXXXXXXXDE

Gibt es die CD zufällig auch irgendwo zum Download? Habe zumindest auf 
der Seite nichts gefunden, würde mir aber gerne schon mal die 
SourceCodes zu den Beispielprojekten angucken.

Gruß

vaid

von vampire (Gast)


Lesenswert?

zumindest ein Auszug:
Beitrag "Open407V-D mit PN und CS"

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.