Forum: Mikrocontroller und Digitale Elektronik STM3210E Funktionierender Beispielcode


von Ergo (Gast)


Lesenswert?

STM3210E Eval Board
GCC (Code Sourcery), Eclipse, Yagarto

Hallo Zusammen,


so langsam bin ich verzweifelt. Ich versuche seit einer Woche mein 
STM3210E Eval Board zum laufen zu bekommen. Zunächst sah ja alles super 
toll aus, STElectronics stellt ja die "STM32F10x Standard Peripherals 
Library" zur Verfügung. Zu dieser gibt es ja hier auf dem Forum auch 
jede Menge Diskussionen und Artikel. Klingt alles super!
Ich habe mich gefreut als ich gesehen habe, das die aktuellste Version 
dieser Library zahlreiche Beispiele enthält. Dann gab es den ersten 
Rückschlag... in den Help / ReadMe Files zu den Beispielen steht was man 
sich wie zusammen kopieren soll damit das Beispiel kompiliert werden 
kann. Das funktioniert so aber definitiv nicht(!) weil die Dateien die 
man sich "nur" zusammen kopieren muss includieren Zahlreiche header die 
nicht benannt sind. Gut dacht ich mir: frickelst das halt selber 
zusammen und hangelst dich durch die ganzen includes. Gesagt getan. Doch 
was nun? Es wird auf die Templates für diverse Entwicklungsumgebungen 
hingewiesen die man verwenden kann. Echt super dacht ich mir da ist 
100%ig auch was für den GCC dabei, aber ich musste feststellen, dass 
dies nicht der Fall war.

Ich verwende CodeSourcery mit Eclipse, das ist in meinen Augen 
State-of-the-art. Sehr frech das mich der ST Support darauf hingewiesen 
hat, dass ich doch eine kommerzielle IDE verwenden solle, die supportet 
wird. Das finde ich schwach, denn mit Boards von Altera und Actel mit 
denen ich bisher gearbeitet habe, gab es immer "ready-to-run" examples 
für den GCC.

Also gut... ich brauch also quasi erstmal ein makefile... Selber 
schreiben oder googeln? In jedem Fall entsteht hier schon ein 
erheblicher Aufwand der in meinen Augen sehr besch... ist. Ich möchte 
doch einfach nur mal ein Lauflicht mit dieser Library hinbekommen!
Jetzt geht es weiter... Linkerscript?! Wo sind die Linkerscripte?! ACHSO 
diese IDEs, für die Templates vorhanden sind, erzeugen diese sich intern 
irgendwie zur compilezeit... Juhu! :|

Entschuldigen geht es nur mir so, dass das alles großer Mist ist? Wieso 
gibt es noch Hersteller die den GCC nicht supporten?

Gut, genug gejammert! Hat sich jemand hier erfolgreich diesen Problem 
gestellt, und vielleicht ein example "Projekt" dass ich mit einem GCC 
bzw. Codesourcery compilieren kann? Mit funktionierendem Linkerscript?


Ein schönes Wochende schon mal, und danke für Antworten.

- Ergo

von Thomas B. (escamoteur)


Lesenswert?

Ich würde Dir empfehlen, mal CrossWorks auszuprobieren, damit gelingt 
der Start absolut problemlos. Und $150 sind ja auch nicht die Welt.

Gruß
Tom

von Gebhard R. (Firma: Raich Gerätebau & Entwicklung) (geb)


Lesenswert?

Es gibt von Raisonance das Ride7 IDE kostenlos und ist mit GCC 
Compiler.Das hat bei mir sehr gut mit den ST Lib's funktioniert.

Grüße

von Hannes S. (Gast)


Lesenswert?

IAR Kickstart (mein Liebling, allerdings auf 32k beschränkt) wäre auch 
noch zu nennen. Aber egal wie: Wenn Du nicht wirklich VIEL Zeit und 
Geduld hast, würde ich auch empfehlen, was anderes als Eclipse/GCC zu 
verwenden. Ich hab auch erstmal ewig damit gekämpft und selbst dann ging 
das Debuggen per JTAG immer noch nicht zuverlässig.

von Ergo (Gast)


Lesenswert?

Danke für die Tipps, ich habe es jetzt so gemacht:

True Studio installiert.
Demo Projekt geöffnet.
Daten extrahiert. (Verzeichnissstruktur, *.c, *.h, *.s(S), *.ld, make)
Linkerscript gerade gezogen.
Makefile gerade gezogen.

--> Läuft jetzt mit meiner nicht proprietären Umgebung.

von Lutz (Gast)


Lesenswert?

Kannst Du vielleicht mal "Blankodateien" von
- Startup
- Makefile
- Linkerscript
für den GCC mit STM32 hier hochladen? Wirklich "unbelastet" von alten 
Projekten, damit man wirklich mal sieht, an welchen Stellen (CPU-Typ, 
target etc.) man individuell drehen muß; die reinen "Deltas" also. Ich 
würge hier auch schon seit etlichen Tagen mit Eclipse Helios, GNU ARM 
Plugin, CDT 7.0, ZylindCDT, GDB Hardware Debugging, J-Link EDU und einem 
thailändischen STM32F103RB-Board hin und her, aber von rund laufen ist 
das ganze doch noch meilenweit entfernt. Gelegentlich kann ich mal ein 
simples return 0 compilieren, nur hat das dann wieder gar nix mit STM32 
oder anderer Hardware zu tun (quasi GCC stand-alone Code). Das ganze 
läuft bei mir mittlerweile im völlig sinnlosen "try and 
error"-Verfahren, weshalb ich es auch erstmal lasse. Irgendwelche 
Beispiele ließen sich zwar weitestgehend übersetzen, aber helfen tut mir 
das auch nicht, da ich da irgendwie noch nicht den kleinsten gemeinsamen 
Nenner erkennen konnte. GCC scheint da jedem Individualisten jeden Weg 
offen zu lassen. Ist natürlich super, aber zum "abgucken" ein Albtraum. 
Wenigstens der JLink funktioniert fast überall; damit habe ich wohl 
bisher nix verkehrt gemacht.

Die Keil-Eval bis 32 kB Debuggen (compilieren wohl unbegrenzt) hilft da 
auch nicht viel weiter. Sobald man da auf den GCC wechselt, fängt man 
quasi auch bei Null an, da wird nichts vom Assistenten gemacht (na gut, 
warum auch, ist ja nicht deren Interesse). Und selbst mit dem 
Keil-Compiler quält man sich auch furchtbar, da der immer noch die alte 
STM-Firmware Version 2 als Lib vorkompiliert hat und immer dem Compiler 
mit übergibt (zumindest bei meiner 4.11).

Mit diesen ganzen Toolchainproblemen verstehe ich nicht so ganz, wie 
sich die Cortex-Programmiererei hier im Forum so großer Beliebtheit 
erfreut. Das Problem scheinen ja bis auf einige, die sich wirklich mit 
Makefile, Linkerscript und Startup auskennen, alle zu haben. Einige 
haben sich dann noch Crossworks zugelegt; die sind dann auch außen vor. 
Die 30 Tage Trial läuft bei mir auch gerade. Läuft schön und gut, aber 
ich würde wahrscheinlich Eclipse als Editor wählen. Bleiben also noch 
die 3 o.g. Files und das problemlose Debuggen als Vorteil. Ich schwanke 
noch etwas, zumal ich für das Geld mein steinaltes und eigentlich nur 
noch wegen AVR-Studio laufendes XP gegen 7 tauschen könnte. Und das wäre 
viel universeller einsetzbar. Aber das ist was anderes.

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.