STM32F411 & Em::block - Schaffe es nicht, Nucleo board direkt aus der IDE heraus zu programmieren

OP #3982841
Lesenswert?

Moin, moin,

ich bin dabei, mich in die STM32-Welt einzuarbeiten und treffe gleich 
bei den ersten Schritten auf Probleme: ich schaffe es nicht den µC zu 
programmieren (zumindest nicht aus der IDE heraus):
- Nucleo-Board mit STM32F411RE - Programmierung über ST-Link/V2-1
- IDE: Em::blocks 2.30

Em::blocks habe ich nach der Anleitung in 
http://www.mikrocontroller.net/articles/STM32_-_Einstieg_mit_Em::Blocks 
konfiguriert - soweit läuft auch alles; ich kann Programme erstellen, 
compilieren und linken ... aber nicht auf das Board übertragen :(

Der Debugger meldet zwar "Loading section .text, size 0x694 lma 
0x8000000" aber im µC kommt nichts an.

Erst wenn ich das mit erstellte hex-File mittels ST-LINK_CLI.exe 
übertrage, funktioniert es.

Kann mir jemand helfen, und sagen, wo der Fehler liegt: bei mir, bei 
Em::blocks oder beim nucleo-board?

Schomal vielen Dank und viele Grüße,
Thomas
Gast #3983316
Lesenswert?

Thomas St. schrieb:
> Hi,
>
> ist Windows 7 Professional, 64bit.
>
> Ich werde mich dennoch mal im em::block Forum umsehen.
>
> Vielen Dank,
> Thomas

Binde den ST-Link_CLI im Menue Tools einfach ein.
Tools -> Configure Tools
dort 'Add'

Name:
Load Hex

Executable:
C:\Program Files\..\ST-LINK_CLI.exe (vollständigen Pfad)

Parameters:
-P "${PROJECT_DIR}${TARGET_OUTPUT_DIR}${TARGET_OUTPUT_BASENAME}.hex"

Und unter Launching options den zweiten Punkt wählen (Launch tool 
hidden..)

Mit OK den Dialog schließen und ab sofort hast du unter dem Menue Tools 
den Punkt 'Load Hex' zum Flashen zur Verfügung.
OP #3984298
Lesenswert?

npn schrieb:
> Binde den ST-Link_CLI im Menue Tools einfach ein.

Das ist auf jeden Fall schon mal ein (teilweise - siehe unten zu SRAM) 
funktionierender work around. Dafür schon mal vielen Dank. Allerdings 
würde ich dennoch gerne ergründen, wo denn der Fehler steckt ... um 
nicht später an anderer Stelle wieder über ihn zu stolpern.

Was mit dem work around anscheint nicht funktioniert, ist das debuggen 
von Programmen aus dem SRAM heraus...

Viele Grüße,
Thomas
#3984382
Lesenswert?

Hast Du es zufällig an einem blauen USB-Port hängen? Wenn ja dann 
stöpsel mal um und probiers dann nochmal. Manche USB-3.0 host controler 
vertragen sich anscheinend nicht mit irgendwas was die libusb-Treiber 
des debugservers machen wollen.

Bei mir z.B. verhielt es sich dann so als hätte ich das Nucleo überhaupt 
nicht angestöpselt, es wurde nicht gefunden, weder vom em:blocks-eigenen 
debug server, noch von texane/stlink, noch von openOCD, obwohl es mit 
der proprietären ST-Link-Software am selben Port einwandfrei 
funktionierte.

Hat mich fast nen kompletten Arbeitstag gekostet, auf so was kommt man 
ja im Leben nicht.
OP #4018796
Lesenswert?

Thomas St. schrieb:
> ich bin dabei, mich in die STM32-Welt einzuarbeiten und treffe gleich
> bei den ersten Schritten auf Probleme: ich schaffe es nicht den µC zu
> programmieren (zumindest nicht aus der IDE heraus):
> - Nucleo-Board mit STM32F411RE - Programmierung über ST-Link/V2-1
> - IDE: Em::blocks 2.30

Für alle, die eventuell auch vor diesem Problem stehen, ich habe die 
Ursache gefunden: die mit Em::blocks 2.30 mitgelieferte STLinkGDB.exe 
kennt den STM32F411RE noch nicht (http://www.emblocks.org/tickets/201). 
Wenn man den Links zum Patch folgt, landet man irgendwann bei 
Ticket#210. Die dort verlinkte STLinkGDB.exe funktioniert dann auch mit 
dem STM32F411RE.

Vielen Dank an alle die geholfen haben und viele Grüße,
Thomas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren