Forum: Mikrocontroller und Digitale Elektronik STLINK-V2 dongle mit BMP flashen - Anschluß an SWD DISCO


von Christoph K. (chriskuku)


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.

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Ja, eine schöne Geschichte die du uns da erzählst.

von Andreas B. (abm)


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.

von Stefan F. (Gast)


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.

von Christoph K. (chriskuku)


Lesenswert?

Wastl schrieb:
> Ja, eine schöne Geschichte die du uns da erzählst.

Heutzutage gehört es zum Schulalltag, daß Kinder in Mathe Textaufgaben 
bekommen, aus denen sie die Frage selbst herzuleiten haben.

von Wastl (hartundweichware)


Lesenswert?

Christoph K. schrieb:
> Heutzutage gehört es zum Schulalltag, daß Kinder in Mathe Textaufgaben
> bekommen, aus denen sie die Frage selbst herzuleiten haben.

Herr Leera, ich weiss nicht welche Frage ich mir stellen soll,
die Aufgabe ist zu schwer.

von Christoph K. (chriskuku)


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.

: Bearbeitet durch User
Beitrag #7387073 wurde vom Autor gelöscht.
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.