Forum: Mikrocontroller und Digitale Elektronik STM32 Eclipse IDE zusammenstellung für stm32 discovery


von Luk S. (luk1234)


Lesenswert?

Hi,

Es braucht viel Zeit und noch mehr Ausdauer um sich eine frei verfügbare 
Toolchain für eigene Nutzung des stm32 zusammenzustellen (zb. zum 
Einlernen). Leider versteht man gerade am Anfang die Zusammenhänge noch 
nicht und verrennt sich laufend.

Im Internet gefunden, eine fertig zusammengestellte Toolchain (April 
2011) mit Eclipse helios sr2 + codesourcey lite + st-link.

Mit Eclipse Workbench Projekt für das günstige Board stm32 Discovery. 
Damit wird ein schneller Start ermöglicht und die Details lassen sich 
nach und nach erlernen.

Auf Megaupload gefunden (1 ZIP File)

http://www.megaupload.com/?d=ZH9JUHT7

Auf Rapidshare gefunden (4 ZIP Files)

https://rapidshare.com/files/459124800/eclipse_sr2_arm_toolchain_eclipse.zip

https://rapidshare.com/files/459118435/eclipse_sr2_arm_toolchain_codesourcery.zip

https://rapidshare.com/files/459116055/eclipse_sr2_arm_toolchain_workbench_test.zip

https://rapidshare.com/files/459115575/eclipse_sr2_arm_toolchain_stlink-gdbserver.zip

Toolchain: STM32 ARM Cortex-M3 toolchain
BS:  Windows 32 (XP, Vista, Win7)
IDE: Eclipse CDT 7.0 SR2
GCC: Codesourcery g++ lite 2010.09
GDB: Codesourcery g++ lite 2010q1-188
Programmer: Für ST-LINK
Projekt: Für STM32 Discovery Board mit onboard ST-LINK

Alle Files in dasselbe Verzeichnis entpacken
Eclipse mit dem script starten
Workbench Ordner "workbench_eclipse_sr2_test" auwählen
GDB-Server mit den script starten (SWD oder JTAG)
Compiler Einstellungen sind im projekt eingerichtet
Debugger Einstellungen sind im projekt eingerichtet

Greetings,
Sky

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

HI,

Mit nem ST-LINK ist das hinfällig, da sollte man lieber Attolic Studio 
Linte nehmen, das ist mit St-Link unbegrenzt nutzbar, und auhc eine 
Eclipse IDE
Zudem wird das vernünftig gepflegt.

MfG

Tec

von Simon H. (simi)


Lesenswert?

Tec Nologic schrieb:
> das ist mit St-Link unbegrenzt nutzbar

Sorry für das Raufholen dieses alten Threads, aber ich denke, mit dem 
M4F-Discovery-Board wird das Thema eh wieder aktuell.

Unbegrenzt nutzbar stimmt aber nicht ganz, oder? C++ z.B. unterstützt es 
nicht.

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Ich meinte die Code Größe, C++ und weitere Einschränkungen sind 
vorhanden, da gibts aber auch Informationen bei Atollic zu.

von Matthias K. (matthiask)


Lesenswert?

Tec Nologic schrieb:
> Ich meinte die Code Größe, C++ und weitere Einschränkungen sind
> vorhanden, da gibts aber auch Informationen bei Atollic zu.

Details zur Voll- und Lite Version hier:
http://www.atollic.com/download/2.2/Atollic_TrueSTUDIO_Feature_comparison_v2.2.pdf

von friedrich (Gast)


Lesenswert?

Habe seit gestern die TrueStudo Lite am laufen.
Mal schnell das erste STM32 Projekt eingebunden, compliert, 
runtergeladen. Funzt.
Dann: Die SFR Register sind nicht sichtbar - Lite halt. Das ist 
SAUBLOED!

Kann man das umgehen?

friedrich

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


Lesenswert?

Der STM32 hat keine SFR's, nur Pheriperieregister.
Die einfach in eine lokale volatile Variable laden und danach einen 
Breakpoint setzen.

von friedrich (Gast)


Lesenswert?

Hallo mmvisual,

schade - Dein Vorschlag hieße ja dass ich vor jeder Abfrage in den Code 
die Variable reinpokeln muss, neu kompilieren und laden, dann wieder in 
den Zustand bringen und Breakpoint - erst dann weiß ich wie die Register 
stehen.

Und die Register über die Strukturzuweisungen über das Variablenfenster 
auszulesen geht's auch nicht - da lässt sich auch Nichts eintragen.

Geht das mit einer normalen EclipseLösung (nicht Atollic) besser?

Grüße

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


Lesenswert?

In der Regel hat der GDB Server die Möglichkeit einen Read-Befehl auf 
eine Adresse ab zu setzen. Aber wie man das während dem Debuggen macht 
weiß ich jetzt nicht.

von cell85 (Gast)


Lesenswert?

jungs.

also was nun :)

ich suche eine kostenlose alternative für Keil. Ich hab einen ST-Link, 
einen Keil ULink2, ein STM32 Discovery und das STM32F4-Discovery.

Ich hab arbeite unter Keil mit beiden Chips F103 (m3) und F407 (m4).
Die Keil Lizenz hab ich nur noch bis Ende des Jahres dann muss ich auf 
was umsteigen das nicht soviel kostet wie ein Kleinwagen, daher die 
Frage wie und was ?!

das wäre super nett von euch jungs!

In Gegenleistung werd ich mal mein STM32F407 Basisboard Layout und PCB 
auf meiner Seite veröffentlichen, welches ich mit Eagle gemacht habe. 
(+eine lqfp144 Variante mit Sockel zum austauschen der MCU 
stm32f103<->stm32f407)

von friedrich (Gast)


Lesenswert?

Hallo Cell85,

ich habe jetzt mit CodeComposerStudio4.x von TI, EWARM von IAR und seit 
ein paar Tagen mit TrueStudioLite gearbeitet. Alles in Hinblick auf 
einen Einsatz eines STM32F4xx.

Der STM32 wird von den letzten beiden unterstützt.

Von TrueStudio bin ich auf den ersten Blick - siehe obige Posts - nicht 
allzu begeistert auch wenn die Variante auf Anhieb für die Entwicklung 
geklappt hat und Codesize-Unlimited bietet sowie kommerziellen Einsatz 
erlaubt. Schön und gut - nur was hilft's wenn die Entwicklungsarbeit 
dann schon Klimmzüge und Brechstangen benötigt weil die Version so 
eingeschränkt in der Funktionalität ist dass wichtige Funktionen nicht 
zur Verfügung stehen. Die Pro Version kostet etwa 1500-2000 EUR und 
sollte dann alle Funktionalitäten haben.

Von EWARM kann ich nur sagen: ALT aber es geht. Gibt's in einer 
Codesize-limitierten Ausführung (32k) zur Evaluation. Ist mit der 
Eclipse-Lösung nicht mehr zu vergelichen. Ist aber in der beschränkten 
Ausführung zumindest nicht Funktionsverkrüppelt. Ist aber die für mich 
least favourite Lösung.

Für am weitesten entwicklet halte ich das CCS5 von TI. Ist eine 
Eclipse-Lösung von unglaublich guter Implementierung und Funktionen und 
Einblicksmöglichkeiten in den Prozessor. Gibt's zum runterladen und 
evaluieren bei TI. Untersützt per se nur die TI Prozessoren. Ich denke 
aber dass es möglich sein sollte (??) aufgrund der Eclipse-Umgebung auch 
mit anderen Prozessoren zu arbeiten. Kostet aber in der Node-Lock 
Version auch um die 1500 EUR.

Meine Meinung:
Wenn's also schnell gehen soll: TrueStudioLite
Wenn dann alle Funktionen benötigt werden: TrueStudio Pro
Ist aber noch nicht das perfekte Tool.

von fdssd (Gast)


Lesenswert?

friedrich schrieb:
> Von EWARM kann ich nur sagen: ALT aber es geht.

das werden die auch nicht mehr los ...
zumal ich auf kriegsfuß mit dem compiler stehe
der hat mir mal ne woche total meine nerven geraubt in dem er volatile 
variablen gekickt hat ...
und ALLE strings auf den kürzesten vergleich(strncmp) runtergebrochen 
hatte obwohl es längere strings gab !!



aber ich hoffe das CooCox bald die STM32F4 und LPC18 / LPC43xx kann
finde das ne "nette" umgebung

ST-Link wird bereits unterstützt .. mit F4 auch der STlinkV2 ..
alternativ gibts nen FTDI2232  oder ne bastellösung mit nem 
vorprogramierten LPC1xxx

von mmm (Gast)


Lesenswert?

Kann mir jemand sagen, wie ich mit obiger Zusammenstellung Funktionen 
aus der stdlib.h aufrufen kann? z.b. malloc, calloc...

Was brauche ich da noch, was muss ich einbinden?

ein include genügt nicht, es gibt immer Compilerfehler ala:

sbrkr.c:(.text+0x12): undefined reference to `_sbrk'

Ich hab im Forum schon mehrfach solche Fehler gefunden, aber nirgends 
eine passende Lösung dazu.

von Michael D. (Gast)


Lesenswert?

mmm schrieb:
> sbrkr.c:(.text+0x12): undefined reference to `_sbrk'

Ein bisserl spät, aber doch (wenns mal wieder wer braucht)

https://sites.google.com/site/stm32discovery/open-source-development-with-the-stm32-discovery/getting-newlib-to-work-with-stm32-and-code-sourcery-lite-eabi

von frame (Gast)


Lesenswert?

Zur Info, was im Atollic TrueStudio Lite nicht funktioniert:
 - läuft nur unter Windows (betrifft nicht nur Lite)
 - nur ein simpler Breakpoint (kein conditional BP)  :-(
 - Debugansicht der Peripherieregister (heißt nur "SFR";
   geht zwar über Speicheransicht, ist aber umständlich)
 - andere JTAG-Adapter als ST-Link oder Segger
 - selbsterstellte Libraries in Projekte einbinden
 - nerviges "Update now" Fenster mindestens 1 Mal pro Stunde
 - C++ Projekte
 - Compileroptimierungsstufe ändern

Soweit die wichtigsten Einschränkungen, die mir gerade einfallen.
Wenn man damit klar kommt  ;-)

von AVerr (Gast)


Lesenswert?

frame schrieb:
> - läuft nur unter Windows (betrifft nicht nur Lite)

In der VirtualBox läuft es bei mir auch unter Debian ( mit einem 
VM-Windows natürlich ). Debuggen mittels ST-Link V2 ( STM32F4 Discovery 
) funktioniert problemlos.
Aber muss natürlich jeder für sich entscheiden, ob ihm das nicht zu viel 
Aufwand ist ( ich brauche die Windows-VM eh, daher war das kein Problem 
).

von Kai (Gast)


Lesenswert?

> In der VirtualBox läuft es bei mir auch unter Debian

Moin,

ging das bei dir problemlos? Ich bekomm's gerade nicht hin. Irgendwie 
erkennt VirtualBox das USB Device nicht. Also schon in den Einstellungen 
der VM nicht. Daher kann ich das auch gar nicht erst an die VM 
durchreichen. Hast du da nen Tipp?

Danke, Gruß
Kai

von Kai (Gast)


Lesenswert?

Hmm, beim zweiten Lesen deines Posts fällt mir auf, dass du den STM32F4 
benutzt. Ich habe nur den Value Line. Macht das einen Unterschied?

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.