Forum: Mikrocontroller und Digitale Elektronik STLink STM32F4 Discovery kein Flashen möglich


von Michael (Gast)



Lesenswert?

Hallo Zusammen,

ich habe folgendes Problem. Ich möchte ein STM32F4 Discovery Board 
flashen und debuggen, was jedoch nicht funktioniert. Als Betriebssystem 
verwende ich Ubuntu (Linux).

Auf dem Discovery Board ist ein STLink V2 verbaut. Hiefür habe ich die 
Texane STLink Software (https://github.com/texane/stlink) nach folgender 
Anleitung 
http://www.mikrocontroller.net/wikisoftware/index.php?title=STM32F4-Discovery&action=edit&section=9 
installiert.

Zum Debuggen verwende ich den arm-none-eabi-gdb, Version 4.8-2014q3 
(https://launchpad.net/gcc-arm-embedded/+download).

Wenn ich nun STLink mit dem Befehl st-util starte, so wird die 
Verbindung zum Discovery Board anscheinend richtig aufgebaut (Bild 
2014-11-25_stlink.png). Das Aufbauen der Verbindung zum GDB Server mit 
arm-none-eabi-gdb funktioniert auch. Möchte ich jedoch dann das Programm 
Flashen so erhalte ich die Fehlermeldung "Error erasing Flash with 
vFlashErase packet". (Bild 2014-11-25_arm-none-eabi-gdb.png).

Um zu überprüfen woran das liegen kann habe ich dann nochmal zusätzlich 
versucht ob ich die Standardfirmware des Discovery Boards per "st-flash 
read test.bin 0x8000000 4096" auslesen kann. Hier wird jedoch auch 
nichts ausgelesen. (Bild 2014-11-25_st-flash_read.png)



Kann mir jemand sagen was der Grund für diese Problem ist? Danke


Schöne Grüße

Michael

von hp-freund (Gast)


Lesenswert?

Flash 0 Byte ist nicht viel :-)

Verbinde noch mal neu und beobachte diese Angabe.

von Michael A. (michdc)


Lesenswert?

Der Wert ändert sich nicht. Auch wenn man dies einige male 
hintereinander macht.


Habe das Ganze mit OpenOCD jetzt noch versucht. Hierbei funktioniert das 
Debuggen und Flashen ohne Probleme.

von rs (Gast)


Lesenswert?

Da sollte nicht Flash: 0 bytes stehen. Evt. kennt das st-link den 
Prozessor nicht?

Falls es nicht tut: openocd versuchen, mit dem "flash" kommando lässt 
sich dann das vorhandene flash 
finden/untersuchen/löschen/programmieren...
1
openocd board/stm32f4discovery.cfg
in anderer shell:
1
telnet localhost 4444
2
flash info
3
...

von hp-freund (Gast)


Lesenswert?

Eigenartig.
Zufällig habe ich gestern das aktuelle texane git neu gebaut und damit 
läuft es problemlos.

von rs (Gast)


Lesenswert?

ACK, neuestes st-link zeigt bei mir mit dem F401 nucleo nun auch die 
richtige flash-size an.

von Michael A. (michdc)


Lesenswert?

Also ich habs nochmal versucht mit dem neuen Texane ST Link, 
funktioniert aber leider nicht.

Werde deshalb jetzt OpenOCD verwenden.

Trotzdem Danke für eure schnellen Antworten.

von Mario (Gast)


Lesenswert?

Hi,
ich habe auch Ubuntu und den Texane mit STM32F4 Discovery.
Ich MUSS es immer so machen:
ST-Link starten, dann habe ich die Meldung wie 
2014-11-25_st-flash_read.png

Und dann Resetknopf drücken.
Und dann erst weiter machen. Dann gehts. Ich versteh es nicht. Aber 
probier es mal.

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.