Forum: Compiler & IDEs STM32F1-Discoveryboard


von Techniker (Gast)


Lesenswert?

Hallo,

ich habe von ST zwei Evaluationboards STM32F1-Discovery. Nun möchte ich 
eine kleine Applikation zum Laufen bringen. Zunächst hätte ich da ein 
paar Fragen:

1) Welche kostenlose Entwicklungsumgebung (Toolchain) gibt es ?
2) Die USB Schnittstelle, dient diese zum debuggen ?
3) Welche kostenlose Debuggersoftware kann ich nutzen ?
4) Gibt es bereits Beispielprojekte für dieses Board ?

Besten Dank im Voraus!

Bye

von M. K. (kichi)


Lesenswert?

Vermutlich meinst du 
http://www.st.com/internet/evalboard/product/250863.jsp.

1.&3. http://www.mikrocontroller.net/articles/STM32#Programmierung, aber
      auch der Rest des Artikel ist lesenswert.
2.&4. siehe 1. Link im Reiter "Design support" das "user manual" bzw.
      "firmware packages".

von Techniker (Gast)


Lesenswert?

Vielen Dank für die Informationen. Es ist genau dieses Board wie auf der 
Internetseite beschrieben 
(http://www.st.com/internet/evalboard/product/250863.jsp.)

Es gibt anscheinend so viele Varianten an Toolchains usw. Welche 
Toolchain ist für Eclipse am besten geeignet ? Muss ich noch zusätzlich 
einen Debugger der an die USb Schnittstelle des Boards angeschlossen 
wird kaufen ? Oder kann ich direkt den PC und das Board mit dem USB 
Kabel verbinden ?

von Simon H. (simi)


Lesenswert?

Techniker schrieb:
> Oder kann ich direkt den PC und das Board mit dem USB
> Kabel verbinden ?

Jup, kannst Du. Du kannst sogar über die Steckerleiste später ein 
eigenes Board dranhängen, Du hast auf dem Discovery ein vollumfängliches 
ST-LinkV2 verbaut. Wenn die Jumper geschlossen sind, hängt es am STM32 
des Boards.

Techniker schrieb:
> Welche
> Toolchain ist für Eclipse am besten geeignet ?

Fang doch mal mit der Atollic Toolchain an. Da hast Du nämlich einen 
GDB-Server dabei, der mit dem ST-LinkV2 (der auf dem Board integriert 
ist) schwätzen kann.

Wenn Du die Limitierungen (die sehr grosszügig sind) leid bist, kannst 
Du den GDB-Server rauspicken und eine unlimitierte Toolchain dranhängen.

Gruäss
Simon

von Techniker (Gast)


Lesenswert?

Ich habe nun ein Projekt mit der Coudesourcery ARM Toolchain in Eclipse 
erstellt. Jetzt habe ich das Problem mit dem Debugger via USB.

Folgende Befehle für ich in der Kommandobox aus:

>arm-none-eabi-gdb.exe main.elf
>target remote localhost:2331

Leider gelingt mir der Zugriff auf das Board nicht.

von M. K. (kichi)


Lesenswert?


von Techniker (Gast)


Lesenswert?

Danke für die Hilfe.

Gibt es keine andere Möglichkeit außer mit der Atollic Toolchain zu 
debuggen. Ich möchte die Software nicht herunterladen und installieren. 
Ich habe bereits für ARM die CodeSourcery heruntergeladen. Welche 
Einstellungen sind in Eclipse notwendig ? Kann man eigentlich mit 
CodeSourcery für ARM den ST-Link ansprechen ?

von Simon H. (simi)


Lesenswert?

Techniker schrieb:
> Gibt es keine andere Möglichkeit außer mit der Atollic Toolchain zu
> debuggen.

Doch.
Erstens reicht es, wie gesagt, den GDB-Server der Atollic Toolchain zu 
verwenden. Den kannst Du aus dem Installer-File rausholen.

Zweitens unterstützt OpenOCD in der neusten Version den STLinkV2 SWD 
ebenfalls.

Ein Tipp: Gehe Schritt für Schritt an die Sache ran. Installiere 
entweder den Atollic GDB-Server (nicht zwingend die ganze Toolchain), 
oder OpenOCD. Dann versuche direkt über Kommandozeile mithilfe dieser 
Tools mit dem STM32 zu schwätzen. Wenn Du das hast, starte GDB mit der 
Kommandozeile und versuche, ob Du damit mit dem Prozi reden kannst. Und 
zum Schluss dann hängst Du Eclipse dran.

Am Schluss sieht es dann so aus:
Eclipse --> GDB --> GDB-Server (Atollic oder OpenOCD) --> STLinkV2 --> 
STM32.


Techniker schrieb:
> Kann man eigentlich mit
> CodeSourcery für ARM den ST-Link ansprechen ?

Problemlos. CodeSourcery liefert Dir den GDB, und der spricht ohne 
Probleme mit einem GDB-Server. Erst da fängt es an, sich zwischen den 
Debug-Hardwaren zu unterscheiden. Der GDB-Server muss die unterstützen, 
das reicht.

Gruäss
Simon

von Techniker (Gast)


Lesenswert?

Danke!

Wo kann ich OpenOCD herunterladen ?

von M. K. (kichi)


Lesenswert?

Techniker schrieb:
> Wo kann ich OpenOCD herunterladen ?
Ich wollte es vermeiden, aber jetzt muss ich doch mal fragen: du kennst 
Google und hast es schonmal benutzt?

von Techniker (Gast)


Lesenswert?

Sorry, kann im Internet nichts finden. Nur irgendwelche speziellen Links 
zu OpenOCD. Das bringt mir aber nichts.

von Techniker (Gast)


Lesenswert?

Leider gelingt es mir immer noch nicht, auf den ST-Link mit dem GDB 
Server zuzugreifen.

>arm-none-eabi-gdb.exe main.elf
>target remote localhost:2331

Keine Verbindung kann aufgebaut werden.

von M. K. (kichi)


Lesenswert?

Techniker schrieb:
> Sorry, kann im Internet nichts finden. Nur irgendwelche speziellen Links
> zu OpenOCD. Das bringt mir aber nichts.
Ist das dein ernst?

Der erste Google-Treffer führt dich auf die Projekt-Homepage, von dort 
gibt es den Menüpunkt Getting OpenOCD. Wenn du auf dieser Seite ein 
bisschen liest, führt dich das über den dortigen Link auf die Homepage 
eines gewissen Freddie Choplin. Dann folgst du noch seinen Links zu den 
Downloads und OpenOCD und lädst dir dort die ZIP-Datei runter.

Das Tippen des vorigen Textes hat wesentlich länger gedauert als das 
Finden und Runterladen der Datei. Und das obwohl ich zuvor weder nach 
OpenOCD gesucht noch damit gearbeitet habe...

von M. K. (kichi)


Lesenswert?

Techniker schrieb:
> Leider gelingt es mir immer noch nicht, auf den ST-Link mit dem GDB
> Server zuzugreifen.
>
>>arm-none-eabi-gdb.exe main.elf
>>target remote localhost:2331
>
> Keine Verbindung kann aufgebaut werden.
Hast du dir die Tutorials angesehen, die ich oben verlinkt habe?

von Techniker (Gast)


Lesenswert?

Hallo Michael K.,

habe heute Morgen versucht ein Projekt laut Link: 
https://sites.google.com/site/stm32discovery/open-source-development-with-the-stm32-discovery/setting-up-eclipse-for-stm32-discovery-development 
mit Eclipse zu erzeugen. Mir ist dies nicht gelungen. Einige Punkte sind 
mir dort unklar. Was wäre der einfachste Weg ein kleines Projekt zu 
starten (mit debugger) ?

von M. K. (kichi)


Lesenswert?

Was konkret ist dir nicht klar?

von Techniker (Gast)


Lesenswert?

Hi, ich habe mich an folgendes Beispiel gehalten: 
Beitrag "STM32 FreeRTOS Projekt (Makefile - GCC)"

So wie es aussieht funktioniert das Kompilieren und Linken. Es scheitert 
bei mir lediglich an den ST-Link USB Debugger.

von M. K. (kichi)


Lesenswert?

Das ist auch für einen anderen Controller. So auf die Schnelle: falsche 
Linker-Command- (*.ld) und falsche startup-Datei (*.S). Zusätzlich ist 
das für eine andere IDE (RIDE7), wobei ich nicht weiß inwiefern sich das 
mit Atollic (gdbserver) verträgt oder nicht.
Such dir mal aus der Peripheral Lib passende Dateien für deinen 
Controller und Atollic und ersetzt die aus dem Projekt.

von Simon H. (simi)


Lesenswert?

Techniker schrieb:
> Es scheitert
> bei mir lediglich an den ST-Link USB Debugger.

Hast Du den GDB-Server gestartet?

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.