STLINK-V2 dongle mit BMP flashen - Anschluß an SWD DISCO

OP #7387044
Lesenswert?

Versuche gerade, einen STLINK-V2 Dongle, auf dem schon ein älteres BMP drauf ist, via SWD Schnittstelle (eines STM32F407G-DISCO) und mittels gdb/OpenOCD zu flashen.

Am Chip habe ich Pin 49 (SWCLK) mit pin 2 der SWD Schnittstelle verbunden. Pin 46 mit pin 4 und GND mit pin 3. +5V habe ich im Pfostenstecker mit +5V des Discovery verbunden.

Starte ich OpenOCD, steigt es mit Fehlercode aus (s.u.). Jumpere ich auf on board MCU um, startet OpenOCD.

1
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.10.0+dev-00378-ge5be992df (2020-06-26-12:31)
2
Licensed under GNU GPL v2
3
For bug reports, read
4
  http://openocd.org/doc/doxygen/bugs.html
5
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
6
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
7

8
Info : Listening on port 6666 for tcl connections
9
Info : Listening on port 4444 for telnet connections
10
Info : clock speed 2000 kHz
11
Info : STLINK V2J39M27 (API v2) VID:PID 0483:374B
12
Info : Target voltage: 2.900177
13
Warn : UNEXPECTED idcode: 0x1ba01477
14
Error: expected 1 of 1: 0x2ba01477

Ich glaube, es ist ein STM32F101 drin, zumindest kann ich auf einem baugleichen Gerät dies erkennen.

#7387051
Lesenswert?

Christoph K. schrieb:

Warn : UNEXPECTED idcode: 0x1ba01477 Error: expected 1 of 1: 0x2ba01477

Beim F1 über SWD sollte es definitiv 0x1BA01477 sein.

Ich glaube, es ist ein STM32F101 drin, zumindest kann ich auf einem baugleichen Gerät dies erkennen.

Diesem Glauben widerspricht aber die Realität, s. o. Wahrscheinlich ist da eben kein (echter) F1 drin. In "stm32f1x.cfg" kann man ja probeweise das 0x1BA01477 in 0x2BA01477 ändern, dann sollte die Verbindung klappen und man kann in den üblichen Registern nachsehen, ob da was plausibles drin steht bzw. ob die Default-Werte mit denen im RM übereinstimmen.

Gast #7387052
Lesenswert?

Der originale STM32F101 hat kein USB. Die Firmware ist für einen STM32F103 gedacht.

Ich habe ST-Link v2 kompatible Sticks, wo der Chip als STM32F101 beschriftet ist. Trotzdem läuft darauf die originale Firmware von ST. Allerdings wurde hier schon einmal gemeldet, dass man sie nur über USB updaten kann.

OP #7387068
Lesenswert?

Ach so. Erst mal habe ich sowieso das falsche Target angegeben. (stm32f404discovery war noch in dem Aufrufskript von OpenOCD). Was muß man denn für diese Konstellation als target angeben? Oder wie läuft der Konfigurationsmechanismus bei OpenOCD? Wird das Board angegeben und das Target wird ermittelt?

Stelle übrigens gerade fest: mit STM32CubeProgammer kann ich zum Target verbinden.

Beitrag #7387073 wurde von einem Moderator gelöscht.

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