Stlink: STM32F103 blinkt nicht

Erstellt am 25. Jan. 2017  ·  11Kommentare  ·  Quelle: stlink-org/stlink

Hallo,

Ich versuche ein STM32F103 Board über SWD mit einem STM32F407 Discovery Board zu flashen. Leider funktioniert es nicht nur mit STM32F103 Board.

  • [x] Programmierer/Board-Typ: Stlink/v2
  • [x] Betriebssystem: Mac OS X
  • [x] Stlink-Tools-Version stlink: stable 1.2.0 (in Flaschen), HEAD, Aus der Flasche gegossen am 04.10.2015
  • [x] Name des Stlink-Befehlszeilentools: st-flash
  • [x] Zielchip (und optionales Board): zB STM32F103C

Ausgabe:

st-flash write prog.bin 0x8000000
2017-01-24T18:44:14 INFO src/stlink-common.c: Loading device parameters....
2017-01-24T18:44:14 INFO src/stlink-common.c: Device connected is: F1 High-density device, id 0x10036414
2017-01-24T18:44:14 INFO src/stlink-common.c: SRAM size: 0x10000 bytes (64 KiB), Flash: 0 bytes (0 KiB) in pages of 2048 bytes

Wie Sie sehen können, gibt es etwas Unerwartetes wie
Flash: 0 bytes (0 KiB) in pages of 2048 bytes

st-info --probe
Found 1 stlink programmers
 serial: 303030303030303030303031
openocd: "\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x31"
  flash: 0 (pagesize: 2048)
   sram: 65536
 chipid: 0x0414
  descr: F1 High-density device

Weiß jemand wie man es löst.
Vielen Dank im Voraus.

generadocumention omacOS programmestlinkv2 staturesolved targestm32f1

Hilfreichster Kommentar

Hallo, ich hatte Erfolg beim Entsperren von stm32 bluepills mit den folgenden Befehlen in der Openocd-Terminalsitzung:

halt zurücksetzen
Flash-Banken
stm32f1x mass_erase 0
stm32f1x entsperren 0

Danach war das Gerät wieder programmierbereit.

Alle 11 Kommentare

Gelöst mit ST Link Utility.

das Board war _schreibgeschützt_

Vielen Dank für Ihren Bericht, ich denke, ich werde dies den Dokumenten hinzufügen, damit andere Leute damit nicht scheitern.

Hallo, kannst du mir da helfen? Wie kann ich den Schreibschutz deaktivieren? Ich verwende Mac OSX. Das offizielle Dienstprogramm von St-Link ist nur für Windows gedacht, oder?

Sie könnten wahrscheinlich zuerst massenhaft löschen und ich dachte, der Schreibschutz ist dann aufgehoben. Oder mit einigen openocd-Befehlen (es hat mehr Funktionen als texane/stlink).

Vielen Dank für Ihre schnelle Antwort. Ich habe versucht, den Blitz zu löschen, es hat funktioniert. Das Problem bleibt jedoch bestehen. Ich werde versuchen, einen Windows-Computer zu verwenden, um zu sehen, was passiert. :\

Hast du das in der README gesehen?
https://github.com/texane/stlink/commit/0f9e4990ba0cdc295875b219b354fdf42f30a9aa

Wenn Sie OpenOCD verwenden, können Sie wahrscheinlich monitor stm32f1x unlock 0 Befehle aufrufen (ungetestet). Siehe http://openocd.org/doc/html/Flash-Commands.html.

Ich habe das ST-LINK-Dienstprogramm (unter Windows) ausgeführt und bin zu Ziel> Option Bytes ...> Ausleseschutz deaktivieren (Kombinationsfeld) gegangen. Fertig, Problem gelöst.

Ich konnte Hinweise zum Deaktivieren des Ausleseschutzes mit openOCD unter folgendem Link finden: http://www.openstm32.org/forumthread562. Ich verwende die Blue Pill Stm32F103c8t6 ein chinesisches Board. Es ist lediglich erforderlich, dem Init-Skript von openOCD die Zeile "monitor flash protect 0 0 11 off" hinzuzufügen. [Ungetestet]

Hallo, ich hatte Erfolg beim Entsperren von stm32 bluepills mit den folgenden Befehlen in der Openocd-Terminalsitzung:

halt zurücksetzen
Flash-Banken
stm32f1x mass_erase 0
stm32f1x entsperren 0

Danach war das Gerät wieder programmierbereit.

@jeroavf Danke! Das hat bei mir funktioniert und --probe jetzt 65536 (wie es aussieht, habe ich eines der wenigen 64kb-Modelle) sowie das Flashen korrekt.

Lustigerweise, wenn man den mass_erase Schritt durchführt, denkt es sogar, dass es 128kb ist, aber egal.

STM32 flash size failed, probe inaccurate - assuming 128k flash
flash size = 128kbytes

Danke, ich konnte einige STM32F437 mit einer vollständigen Chiplöschung mit dem Windows ST-Link-Dienstprogramm entsteinen, jetzt funktioniert dies wieder unter Linux st-link :-)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen