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
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.
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.
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.