Forum: Mikrocontroller und Digitale Elektronik STM32F4-Discovery - welche toolchain?


von Thomas R. (Gast)


Lesenswert?

Hallo,
gestern kam das STM32F4-Discovery-Board an und heute habe ich die ersten 
eigenen Applikationen zum Laufen gebracht.
ST empfielt 4 toolchains:
Altium TASKING
Atollic TrueSTUDIO
IAR EWARM
Keil MDK-ARM
Zuerst habe ich mal die Freeware-Version von Atollic installiert.
Die ist ja sehr beschränkt, bzw. in der Vollversion unbezahlbar.
Wie handhabt ihr das? Gibt es auch freie Toolchains ohne Beschränkung?

von STM32 (Gast)


Lesenswert?

Suchfunktion bedienen lernen, die Frage kommt mindestens
jeden 2. Tag.

>Gibt es auch freie Toolchains ohne Beschränkung
 Codesourcery/Mentor. Ist aber Kommandozeile.

Eclipse + geeignete Plugins.

Manche schwören auf CooCox (oder CoCoox?)

von murks (Gast)


Lesenswert?

Die gleiche Frage wurde zuletzt in
Beitrag "ARM LPC Dev Kit von Steinert"
behandelt, mit gleichem Ergebnis ;-)
Allerdings mit dem Verweis auf ein Tutorial. Ich arbeite immernoch mit 
Atollic. Dort ist jetzt zwar der Code begrenzt, dafür stehen aber mehr 
Funktionen zur Verfügung die ich früher vermisst habe, etwa die Einsicht 
in Register und Timer.
Wenn du neu anfängst dann lieber doch etwas freies, sonst arbeitest du 
dich doppelt rein. Die Beispiele waren damals bei CooCox und Atollic 
nahezu identisch.

von benwilliam (Gast)


Lesenswert?

hi@all

ich hätte ein vmware image anzubieten

ubuntu + arm gcc toolchain + stlink + eclipse 3.7
zusätzlich als beispiel Projekt das aktuelle chibiOS die in 2 Threads 2 
LEDs auf einem STM32F4 DiscoveryBoard blinken lässt.

mit einem mausklick wird das projekt gebaut, geflasht und der debugger 
gestartet. Allerdings klappt bei mir das debuggen noch nicht so ganz. Er 
bleibt am anfang des Programms zwar stehen und ich kann in ruhe 
durchsteppen aber er bleibt nicht an meinen selbst gesetzten Breakpoints 
stehen :(
vielleicht hat jemand eine idee?

falls interesse am image besteht einfach eine email an
benwilliam (at) freenet.de und ich schicke euch dann den download link

wenn das debuggen auch funkioniert wie es soll und gößeres interesse 
besteht stell ich das image auf einen public space.

von holger (Gast)


Lesenswert?

>durchsteppen aber er bleibt nicht an meinen selbst gesetzten Breakpoints
>stehen :(
>vielleicht hat jemand eine idee?

Optimierung abschalten?

von benwilliam (Gast)


Lesenswert?

holger schrieb:

> Optimierung abschalten?

hab ich
und -ggdb flag ist auch gesetzt

von Thomas (Gast)


Lesenswert?

Dein Angebot mit dem vmware-Image würde ich gerne annehmen.
Funktioniert das auch unter Windows? Benötigt man dazu eine 
vmware-Lizenz, oder sowas?

P.S. Mail ist raus.

von Thomas (Gast)


Lesenswert?

Danke, funktioniert prima.

Im Gegensatz zu VirtualBox ist vmware ja wahnsinnig flott.

von benwilliam (Gast)


Lesenswert?

lohnt es sich das ganze ins wiki einzutragen?

von Lueger (Gast)


Lesenswert?

Nimm CooCox. Ist ausgezeichnet und wird super gepflegt. Vergiss 
Kauftools.Zu teuer. Die Free Versionen von den Kauftools kannst 
vergessen.
Die 32 KB Beschränkung ist mit einem fprint erreicht.
Und dann weinst du ;-)

Netbean oder Eclips sind gute, aber etwas schwieriger zu installiernede 
Pakete.Coocox passiert auch auf Eclips, macht aber alles von alleine. 
Hat eine unglaublich guten Codewizard, mit dem du deine gewünschten 
Funktionen
einbinden kannst. Dazu viele eigene Beispiele (keine von ST außer die 
Standard Libs)

Habe alle getestet über Wochen. Keil ist gut hat aber auch viele 
Schwächen.
Braucht ewig und der Debugger: naja... Schade ums Geld falls Vollverson 
notwendig.

Ich debugge lieber über die Uart/USB. Das Osci sagt das auch. Signale 
schauen
im SWD debugger Modus ganz anders aus als im real modus.

Und die tool Hersteller leben ja von der debug Funktion. Alle verwenden 
den gleichen GNU/GCC Compiler. Und die debugg funktion funktioniert eben 
nicht besonders gut.



Gruß

von Gabler Maximillian (Gast)


Lesenswert?

Hi Lueger,

du sagtest was über das debuggen über Uart, hast du da was eigenes 
geschrieben. Mich würde das sehr interessieren. Oder hast du die besagte 
Funktion mit der Coocox erstellt? Ich wäre dir sehr dankbar für eine 
Antwort.

von benwilliam (Gast)


Lesenswert?

ich weis der thread ist schon alt ..

meint er mit UART/USB evtl. den klassischen weg mit "printf" an den 
richtigen stellen? :)
so gänzlich ohne breakpoints und damit auch geringeres risiko von 
fehlerhaften timings aufgrund der stops der CPU.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

benwilliam schrieb:
> ich weis der thread ist schon alt ..

Allerdings. Deshalb melde ich meinen eigenen Beitrag nun selbst, damit 
ein Mod den Thread sperren kann.  ;-)

> meint er mit UART/USB evtl. den klassischen weg mit "printf" an den
> richtigen stellen? :)

Ich nehme an, dass der User "Lueger" gar nicht den Unterschied zwischen 
UART und USB-Kabel kannte. Man debuggt halt beim STM32F4-Disco-Board 
über USB. Manche (jüngere) Kandidaten können das nicht mehr von einer 
klassischen COM-Schnittstelle unterscheiden, denn heutige 
UARTS/COM-Schnittstellen sind ja auch nur noch "USB-Kabel" - okay, mit 
ein wenig Elektronik im Stecker... kaum bemerkbar.

von Stefan (Gast)


Lesenswert?

> so gänzlich ohne breakpoints und damit auch geringeres risiko von
> fehlerhaften timings aufgrund der stops der CPU.

Die internen Breakpoints machen kein fehlerhaftes Timing. Entweder der 
ProgramCounter läuft auf einen Breakpoint, dann wird die Kiste 
angehalten. Oder der STM läuft mit der vollen Geschwindigkeit. Etwas 
anderes sind komplexe Watches. Wenn Du einen Watchpoint auf eine 
Variable setzt und mit einer bedingung versiehst "(i > 3)", dann muss 
die IDE bei jedem Erreichen des Watchpoints (bzw. Adressieren dieser 
Variable) deren Wert laden und auf die Bedingung überprüfen.

Gruß, Stefan

von greg (Gast)


Lesenswert?

STM32 schrieb im Beitrag #2707627:
> Codesourcery/Mentor. Ist aber Kommandozeile.

Naja. gcc-arm-embedded kommt direkt von ARM und ist state of the art. Da 
braucht man außerdem auch keine unsinnige Registrierung für den 
Download.

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.