STM32-407 DIY-MORE Doku?

#6488243
Lesenswert?

Walter T. schrieb:
> Es ist mehr ein MCU-Breakout-Board als ein Eval-Board. Im Anhang
> meine
> Notizen zu dem Teil. Die bunten Markierungen sind zusammengehörige
> Peripherie-Pins.

Walter, noch eine Frage zu Deiner Doku: Du schreibst, die bunten 
Markierungen seien zusammengehörige Peripherie-Pins. Ich vermisse da die 
gleiche Markierung an den Pins PA10/PA9. Das sind doch USART1_Tx resp. 
USART1_Rx.

Oder welche Kriterien liegen Deiner Farbmarkierung zu Grunde?
#6488300
Lesenswert?

Christoph K. schrieb:
> Oder welche Kriterien liegen Deiner Farbmarkierung zu Grunde?

Ich hatte das Board bestellt, um etwas auszuprobieren, und brauchte I2C, 
SPI und viele Timer. USART nicht. Entsprechend habe ich das Bildchen 
gemalt. Es gibt also keinen tieferen Sinn. Man sieht ja an der 
Seitenzahl, dass das Bild ein Nebenprodukt eines ganz anderen Projekts 
ist.
Angehängte Dateien:
#6488322
Lesenswert?

Versuche gerade, dieses Board (seriell) zu flashen. Geht irgendwie 
nicht.
Habe meine Mimik gerade noch mal am STM32F407-DISC1 verifiziert:
PA09 (USART1_TX) an FTDI-24, PA10 an FTDI-25. GND-GND.

Versorgung über USB-C Kabel. Zum Flashen muß Jumper BOOT0-GND gesteckt. 
sein (?) RESET gedrückt (ist doch die Taste neben dem USB-Sockel?) 
PWR-LED ist an. User LED blinkt.
Angehängte Dateien:
#6488336
Lesenswert?

Walter T. schrieb:
> Christoph K. schrieb:
>> Oder welche Kriterien liegen Deiner Farbmarkierung zu Grunde?
>
> Ich hatte das Board bestellt, um etwas auszuprobieren, und brauchte I2C,
> SPI und viele Timer. USART nicht. Entsprechend habe ich das Bildchen
> gemalt. Es gibt also keinen tieferen Sinn. Man sieht ja an der
> Seitenzahl, dass das Bild ein Nebenprodukt eines ganz anderen Projekts
> ist.

OK, verstehe. Flashen klappt jetzt. BOOT1 auf GND zum Flashen :)
Gast #6489163
Lesenswert?

CubeMX heißt das Zaubertool aus der Würfelreihe.
Hat eine lange Doku, ist aber doch recht intuitiv zu bedienen. MCU oder 
Board auswählen, dann in der Config unter RCC HSE extern aktivieren und 
dann in die Clock Ansicht. Da kann man auf PLL stellen und die Parameter 
werden berechnet (bzw. brute force durchprobiert). Man kann Code 
generieren lassen und übernimmt ihn oder nicht.
Und ja, aus 8 MHz bekommt die PLL 168 MHz hin.
#6490970
Lesenswert?

Beim Suchen im Internet stieß ich auf folgende Seite:

https://jeelabs.org/2018/getting-started-f407/

und ich wurde auf PlatformIO aufmerksam. Habe das mal installiert 
(VSCode unter macOS). Der Autor bezieht sich da auf das Black Magic 
Probe Modul.

Jetzt habe ich schon mehrere Programmiermodule und will nicht noch ein 
drittes und viertes kaufen.

Was ich immer umständlich finde, ist, den BOOT1-Jumper zu setzen und 
dann wieder zu ziehen und den Resetknopf drücken zu müssen. Ich nehme 
doch an, das kann man vereinfachen, indem ich das RST Signal z.B. vom 
ST-LINKV2 (XTW, USB Modul) benutze, oder wie wäre dann die Verdrahtung 
z.B. beim STM32-407-DIY-MORE? Bisher hatte ich meinen aufgeprokelten 
FTDI-serial-Adapter benutzt.

Grüße,

Christoph
Angehängte Dateien:
Gast #6490985
Lesenswert?

Christoph K. schrieb:
> Was ich immer umständlich finde, ist, den BOOT1-Jumper zu setzen und
> dann wieder zu ziehen und den Resetknopf drücken zu müssen.

Man kann auch bei diesem Modul einfach 4 Leitungen setzen und
mittels SWD Schnittstelle einen ST-Link V2 benutzen.

Aber erst mal umständlich mit Bootloader herumstopseln ....
#6491078
Lesenswert?

Wenn man eh einen ST-Link benutzt, kann man den doch auch direkt 
anschließen. PA13/PA14. Habe ich oben im PDF ja schon aufgeschrieben.
Reset ist leider nicht herausgeführt. Braucht man aber eigentlich auch 
fast nie.

Dafür ist PB2 auf zwei Pins.

Ich gehe davon aus, dass der Designer dieses Boards am Nachmittag schon 
etwas Anderes vor hatte.
#6491878
Lesenswert?

Walter T. schrieb:
> Wenn man eh einen ST-Link benutzt, kann man den doch auch direkt
> anschließen. PA13/PA14. Habe ich oben im PDF ja schon aufgeschrieben.
> Reset ist leider nicht herausgeführt. Braucht man aber eigentlich auch
> fast nie.
>
> Dafür ist PB2 auf zwei Pins.
>
> Ich gehe davon aus, dass der Designer dieses Boards am Nachmittag schon
> etwas Anderes vor hatte.

Also PA13 an SWDIO
     PA14 an SWCLK

Was schließe ich denn an BOOT0/BOOT1 an?
Was mache ich mit RST ?
Was schließe ich an PB2 an?
Angehängte Dateien:
Gast #6491902
Lesenswert?

Christoph K. schrieb:
> Was schließe ich denn an BOOT0/BOOT1 an?
> Was mache ich mit RST ?
> Was schließe ich an PB2 an?

OMG!

Bist du irgendwann schon mal auf die Idee gekommen ein Datenblatt
zu lesen? Nein, nicht das Datenblatt deines China-Boards sondern
das des Controllers der da draufgepappt ist.

Die Bedeutung der Boot Jumper hast du doch schon längst bei deinem
Discovery-Board herausgefunden. Warum fragst du dann hier nochmal
dermassen blöd?

OMG!
#6491908
Lesenswert?

Mit der Setzung von PA13/PA14 (SWDIO/SWCLK) wird das STLINK-V2 z.B. vom 
STM32 ST-LINK Utility nicht erkannt.
STM32CubeProgrammer sagt mir "OLD ST-LINK firmware version. Upgrade 
ST-LINK firmware."

Wenn ich im ST-LINK Programm auf ST-LINK->Firmware Upgrade gehe, sagt 
das Programm, ST-LINK sei nicht im DFU-Mode, "please restart it".
Gast #6491918
Lesenswert?

Christoph K. schrieb:
> Mit der Setzung von PA13/PA14 (SWDIO/SWCLK) wird das STLINK-V2 z.B. vom
> STM32 ST-LINK Utility nicht erkannt.

Was ist eine "Setzung" in Zusammenhang mit einem Mikrocontroller?

Kannst du mal klar dokumentieren was du überhaut machst bevor du
dumme Fragen stellst?

Dein ST-Link Vxyz braucht genau vier Leitungen zum Arbeiten:

SWCLK, SWDIO, 3.3V und GND.

Wenn du meinst dass das nicht stimmt hast du schon verloren.
Gast #6491941
Lesenswert?

Christoph K. schrieb:
> STM32CubeProgrammer sagt mir "OLD ST-LINK firmware version. Upgrade
> ST-LINK firmware."

Das Ding sieht auch nicht wie ein originaler STLink aus. Auf diese 
Clones lässt sich aber BMP flashen.

Dem Reset braucht man wenn SWD keine Verbindung bekommt. Das passiert 
z.B. wenn man die CPU im deep sleep schlummern lässt. Das kann man im 
debug build anders machen um nicht immer reset drücken zu müssen oder 
die reset Leitung anschliessen und von BMP/STLink bedienen lassen.
#6491946
Lesenswert?

Noch mal - ich hatte ein Foto hochgeladen, auf dem der XTW ST-LINK V2 
USB adapter abgebildet ist. Den habe ich mit

ST-LINKV2  STM32407VGT6 (auf China Board gepappt)
-----------------------
SWCLK     - PA14
SWDIO     - PA13
GND       - GND
+5V       - +5V


angeschlossen. ("Setzung" war vielleicht falsch verwendet, Belegung war 
gemeint). Die 3.3V werden auf dem Board gemacht. Den BOOT0  pin habe ich 
auf GND gejumpert.

Das ist die Ausgangssituation.
Gast #6491962
Lesenswert?

Boot0 hat sicher auch einen Pull Down und braucht keinen Jumper, Boot1 
dann auch nicht.

SWD kommuniziert mit dem Coresight core von ARM, das ist in Hardware 
gegossen und braucht die Klimmzüge mit dem Bootloader nicht. SWD kommt 
unabhängig vom laufenden Programm an die CPU, mit Ausnamahe wenn die im 
Tiefschlaf ist.
Gast #6491964
Lesenswert?

Christoph K. schrieb:
> STM32CubeProgrammer sagt mir "OLD ST-LINK firmware version. Upgrade
> ST-LINK firmware."

Wenn der STM32CubeProgrammer sich störrisch zeigt weil man evtl
keinen Original ST-Link hat empfiehlt es sich das ältere
Progammier-Programm st-link utility zu verwenden.

google: st-link utility download

Aber auch dort muss man evtl upgraden.
#6492009
Lesenswert?

OMG schrieb:
> Christoph K. schrieb:
>> STM32CubeProgrammer sagt mir "OLD ST-LINK firmware version. Upgrade
>> ST-LINK firmware."
>
> Wenn der STM32CubeProgrammer sich störrisch zeigt weil man evtl
> keinen Original ST-Link hat empfiehlt es sich das ältere
> Progammier-Programm st-link utility zu verwenden.
>
> google: st-link utility download
>
> Aber auch dort muss man evtl upgraden.

Ich habe st-link auch unter macOS laufen. Da liefert es Folgendes:

$ st-flash read file.bin 0x08000000 65536
st-flash 1.6.1
2020-11-28T11:14:50 WARN: Invalid flash type, please check device 
declaration
Failed to connect to target

(ich hatte eigentlich noch nie eine device declaration eingestellt für 
das st-link utility)

$ port list | grep stlink
stlink                         @1.6.1          cross/stlink


Habe gerade mal das blackmagic (git clone) kompiliert und installiert 
unter macOS. Ist das jetzt eine Firmware? Wenn ich kein funktionierendes 
Flashprogramm habe, kann ich auch nichts neues flashen 
(Henne-Ei-Problem) :)
Gast #6492018
Lesenswert?

es ist das Gleiche wie beim F407. Entweder per Bootloader oder SWD 
flashen. Es gibt STLink Clones die haben Testpunkte auf der Platine für 
SWD oder die serielle. Da muss man einmal was anlöten zum erstmaligen 
Programmieren von BMP-DFU und BMP. Danach kann man per DFU updates über 
USB machen, wenn es denn mal nötig ist.
#6492067
Lesenswert?

Johannes S. schrieb:
> es ist das Gleiche wie beim F407. Entweder per Bootloader oder SWD
> flashen. Es gibt STLink Clones die haben Testpunkte auf der Platine für
> SWD oder die serielle. Da muss man einmal was anlöten zum erstmaligen
> Programmieren von BMP-DFU und BMP. Danach kann man per DFU updates über
> USB machen, wenn es denn mal nötig ist.

Dann müßte ich diesen ST-LINK V2 Klone aber wahrscheinlich aufsägen :-(
Dann werd' ich mir vielleicht doch noch einen in Reserve bestellen oder 
gleich was Vernünftiges kaufen?

Kommando zurück, das Ding läßt sich ganz einfach aufziehen.


Ziemlich "schwarze" Schaltung.
Ob das evtl. ein STM32F411 ist?
Angehängte Dateien:
Gast #6492317
Lesenswert?

Christoph K. schrieb:
> ST-LINK V2 Klon
> Ziemlich "schwarze" Schaltung.
> Ob das evtl. ein STM32F411 ist?

In meinen (vermutlich ST-Link V1 Klonen) Steckt ein STM32F101, der 
eigentlich gar kein USB hat. Die Firmware ist für den STM32F103 
vorgesehen - läuft trotzdem.

Die zusätzliche Leitung, die ich da dran gemogelt habe ist SWO, für den 
Serial Wire Viewer.

Christoph K. schrieb:
> Könnte man den ST-LINK des
> Nucleo-Boards (NUCLEO-F411RE) nehmen zum Programmieren?


Soweit ich weiß kann man mit jedem ST-Link jeden STM32 Controller 
programmieren. Man muss nur an die nötigen Pins heran kommen.
Angehängte Dateien:
#6495543
Lesenswert?

Stefan ⛄ F. schrieb:
> Christoph K. schrieb:
>> ST-LINK V2 Klon
>> Ziemlich "schwarze" Schaltung.
>> Ob das evtl. ein STM32F411 ist?
...
> Soweit ich weiß kann man mit jedem ST-Link jeden STM32 Controller
> programmieren. Man muss nur an die nötigen Pins heran kommen.

Thema ist jetzt, das abgebildete XTW St-Link V2 mit dem BMP zu flashen.

Wie gesagt, ich weiß nicht genau, was für ein Chip da drauf ist. Es ist 
ein LQFP64 Gehäuse. Mal angenommen, es wäre ein STM32F411 und ich 
versuchte es mal mit dem ST-LINK auf dem Nucleo Board, dann würde ich 
T_JTCK (2) und T_SWO (6) von CN4 (SWD) anzapfen und an die 
Programmierpins der "schwarzen Schaltung" legen. GND verbinden und 3,3V 
noch vom JP1 nehmen.

Oder sollte ich das XTW extern (USB) mit 5V versorgen? Die 3,3V in den 
Ausgang hineinzufüttern ist vielleicht nicht so gut, denn die hängen ja 
auf dem XTW am Ausgang eines Reglers, den ich dann rückwärts 
beaufschlagen würde. (Eingang wäre ja blind).

Und was sind die Programmierpins am STM32F411 (angenommen es ist einer)?
#6495560
Lesenswert?

Walter T. schrieb:
> Machst Du nie Testaufbauten, die wie der nackte Wahnsinn aussehen,
> bedeutet dass, das Deine Projekte zu einfach sind.

Also mein Testaufbau ist in der Regel eine gefertigte PCB und in der 
Regel funktioniert da auch immer alles auf Anhieb. Manchmal muss eine 
zweite Version her, das sind dann aber oftmals Dinge die man nicht 
durch so einen Testaufbau testen kann - z.B. abhängige Position von 
empfindlichen Bauteilen etc.
#6495639
Lesenswert?

Christoph K. schrieb:
>> Christoph K. schrieb:
>>> ST-LINK V2 Klon
>>> Ziemlich "schwarze" Schaltung.
>>> Ob das evtl. ein STM32F411 ist?

> Und was sind die Programmierpins am STM32F411 (angenommen es ist einer)?

Man korrigiere mich ggfs.:

Selbstbeantwortung: PA14 SWCLK, PA13 SWO

GND und Vcc fehlen noch...
Angehängte Dateien:
Gast #6495852
Lesenswert?

Christoph K. schrieb:
> Oder sollte ich das XTW extern (USB) mit 5V versorgen? Die 3,3V in den
> Ausgang hineinzufüttern ist vielleicht nicht so gut, denn die hängen ja
> auf dem XTW am Ausgang eines Reglers, den ich dann rückwärts
> beaufschlagen würde. (Eingang wäre ja blind).

Den meisten Spannungsreglern (bis 5V Ausgangsspannung) macht das nichts 
aus.

Aber da die Datenblätter dazu nichts aussagen, und ich auch nicht weiß, 
um welchen Spannungsregler es konkret geht, würde meine Hand nicht dafür 
ins Feuer legen. Ich würde es einfach mutig ausprobieren, da gibt es ja 
nicht viel zu verlieren.
#6495879
Lesenswert?

Habe jetzt doch das XTW ST-LINKV2 Modul von USB gespiesen.
SCLK und SWO an 49 (PA14) resp. 46 (PA13) mit kleinen Drähtchen 
angeschlossen und mit der ST-LINK V2 Sektion auf dem Nucleo-Board 
verbunden. Und zwar an CN4-2 und CN4-6 (die Jumper CN-2 gezogen).

Ist da was falsch? Das Target wird vom Windows ST-LINK Utility 
jedenfalls nicht erkannt.
Angehängte Dateien:
Gast #6495951
Lesenswert?

jo mei schrieb:
> Dein Target musst aber schon versorgen! (?)

Merke: Der Pin 3.3V vom ST-Link ist keine Versorgungsspannung
sondern ein Monitor-Punkt der nachschaut ob eine Spannung am
Target vorhanden sind. Das ist die Original-Intention des
Herstellers STM. ST-Link Clones und andere Nachbauten nehmen
sich die Freiheit und definieren diesen Anschlusspunkt um als
Versorgungsanschluss (nicht einheitlich geregelt). STMs
Software aber sucht diese Spannung als "vorhanden" und wird
im Fehlerfall dein Target schon aus diesem Grund nicht finden.
#6495980
Lesenswert?

jo mei schrieb:
> jo mei schrieb:
>> Dein Target musst aber schon versorgen! (?)
>
> Merke: Der Pin 3.3V vom ST-Link ist _keine Versorgungsspannung_
> sondern ein Monitor-Punkt der nachschaut ob eine Spannung am
> Target vorhanden sind. Das ist die Original-Intention des
> Herstellers STM. ST-Link Clones und andere Nachbauten nehmen
> sich die Freiheit und definieren diesen Anschlusspunkt um als
> Versorgungsanschluss (nicht einheitlich geregelt). STMs
> Software aber sucht diese Spannung als "vorhanden" und wird
> im Fehlerfall dein Target schon aus diesem Grund nicht finden.

Um es noch mal klarzustellen:

Zwischen der ST-Link-Sektion vom Nucleo Board und dem Target befinden 
sich
eine GND-Verbindung und die zwei Signale SCLK und SWO.
Das Target selbst (XTW ST-Link V2 USB Stick) wird über USB (+5V) 
versorgt und macht sich seine +3,3V selber.

Wenn ich es mit Windows verbinde, werfe ich es aber aus.

@stefanus: Du meinst nicht das Target (Reset), sondern das Nucleo 
ST-LINK-V2, richtig? Ich kann SB11 kurzschließen bei laufendem ST-Link 
Utility. Da passieren dann undefinierte Dinge.

Ich weiß im Moment nicht, wo ich definiert dann zu welchem Zeitunkt ein 
Reset auslösen soll (NRST am STM32F103CBT6?).
Gast #6495990
Lesenswert?

Christoph K. schrieb:
> @stefanus: Du meinst nicht das Target (Reset), sondern das Nucleo
> ST-LINK-V2, richtig? Ich kann SB11 kurzschließen bei laufendem ST-Link
> Utility. Da passieren dann undefinierte Dinge.

Nein, du sollst das Target resetten, damit sich der Debugger während des 
Reset connecten kann. SO verhinderst du, dass die Firmware auf dem 
Target startet und die SWD Schnittstelle deaktiviert.
#6495998
Lesenswert?

jo mei schrieb:
> jo mei schrieb:
>> Dein Target musst aber schon versorgen! (?)
>
> Merke: Der Pin 3.3V vom ST-Link ist _keine Versorgungsspannung_

Welchen ST-Link meinst Du jetzt?

Das Target nenne ich hier mal XTW. Das hat +5V und +3,3V - ich nenne es 
mal "Pins" - im Anschlußstecker.

Die ST-LINK V2 Sektion auf dem Nucleo hat - wenn ich nichts übersehe - 
nur einen Signalnamen +3V3_ST_LINK, der an alle Vdd pins geht.

> sondern ein Monitor-Punkt der nachschaut ob eine Spannung am
> Target vorhanden sind. Das ist die Original-Intention des

Welches sollte dieser "Monitorpunkt" in der Schaltung des ST-LINK V2 des 
Nucleo denn Deiner Meinung nach sein? Zeig mir den bitte mal in der 
Schaltung, um mal statt Prosa Klartext zu reden. Ich bin ja lernwillig.


> Herstellers STM. ST-Link Clones und andere Nachbauten nehmen
> sich die Freiheit und definieren diesen Anschlusspunkt um als
> Versorgungsanschluss (nicht einheitlich geregelt). STMs
> Software aber sucht diese Spannung als "vorhanden" und wird
> im Fehlerfall dein Target schon aus diesem Grund nicht finden.
#6496035
Lesenswert?

Stefan ⛄ F. schrieb:
> Die Reset Leitung fehlt.

Guter Punkt. NRST am SWD pin 5 an den Target Chip pin 7 ? Mache ich 
nachher gleich.

>
> Bei dem Programmieradapter von Nucleo Board muss man die 3,3V Leitung
> nicht anschließen.

Habe ich auch nicht (3,3V Leitung) und da ist ja auch keine, die man 
anschließen könnte.

So, NRST auch verbunden von SWD Connector pin. Leider kein 
Programmiererfolg. Target wird nicht gefunden.
Angehängte Dateien:
#6496133
Lesenswert?

Nachtrag, s. Bild.
Wie man auch sieht, ist die Oberfläche des Chips weggelasert. Richtig 
versunken. Sollte meine Annahme falsch sein, daß es sich um einen STMF32 
handelt? Könnte die Funktion der Schaltung, da sie sich nach im Betrieb 
befindet, den Programmiervorgang behindern oder beeinflussen?

Würde es etwas ändern, wenn ich den BOOT pins verändere?
Angehängte Dateien:
Gast #6496150
Lesenswert?

Es könnte ein Fake sein. Hier poppen immer wieder Leute mit Blue-Pill 
Boards auf, die sich nur seriell per Bootloader flashen lassen.

> Könnte die Funktion der Schaltung, da sie sich nach im Betrieb
> befindet, den Programmiervorgang behindern oder beeinflussen?

Ohne Schaltplan schwer zu raten.

> Würde es etwas ändern, wenn ich den BOOT pins verändere?

Wenn du BOOT0=High setzt, startet der Bootloader statt der Firmware. Der 
Bootloader deaktiviert die SWD Schnittstelle nicht. Es könnte Fummelei 
mit dem Reset ersetzen.
#6496925
Lesenswert?

BOOT0=1 (auf Vdd gesetzt, Pin 60 via Schalter mit 64 verbunden). SWD und 
Versuch, seriell zu programmieren klappt auch nicht. Schließe das 
Kapitel hier.

Nochmal zusammengefaßt:

o  Mit diesem Klötzchen konnte ich das China Board STM32-DIYMORE via SWD
   programmieren (ST-LINK Utility Windows V 4.5.0.0)

o  STM32 Cube Programmer erkennt es nicht. Sagt: Error Old ST-LINK
   Firmware version.

o  Der Versuch, die BMP Firmware hineinzuflashen schlug fehl.


Danke für die Unterstützung.
Angehängte Dateien:
Gast #6496986
Lesenswert?

Christoph K. schrieb:
> Der Versuch, die BMP Firmware hineinzuflashen schlug fehl.

vermutlich weil du SWO und SWDIO durcheinander wirtst. Erst noch korrekt 
SWDIO, dann redest du von SWO und wenn es wie in 
https://www.mikrocontroller.net/attachment/482586/IMG_6976_2.jpg am 
Disco angeschlossen ist, dann ist es falsch.
Das UM 
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwjwrsjIoa_tAhWF_KQKHeW-ALcQFjAAegQIBBAC&url=https%3A%2F%2Fwww.st.com%2Fresource%2Fen%2Fuser_manual%2Fdm00039084-discovery-kit-with-stm32f407vg-mcu-stmicroelectronics.pdf&usg=AOvVaw02VAbwreRYjTEyDgPwXYck 
müsstest du doch schon auswendig kenn, Kapitel 6.1.5 beschreibt doch 
alles. SWCLK an Pin 2, SWDIO an Pin 4.
Und das wird kein F411 sein, die STLinks haben F103RB und die Clone 
hatten anfangs noch orginole F103C8 und dann später undokumentiert 
kompatible. Mit etwas Glück ist in diesem XTW sogar ein F103RB mit 128 
kB Flash nominell drin, aber das wird das der Progammer melden wenn die 
Verbindung funktioniert.
Sowohl orginol STLink als auch BMP sind für F103 gebaut, das würde auch 
gar nicht auf einen F411 passen.
#6497184
Lesenswert?

@jojos: danke für die Klarstellung. Werde also noch mal einen Versuch 
starten. Allerdings benutze ich kein DISCO, sondern ein Nucleo F411RE.
Aber da steht es in Kap. 6.2.4. Entsprechend habe ich jetzt das XTW mal 
an den SWD port des Nucleo angeschlossen. Wird leider noch nicht 
gefunden vom ST-Link Utility. Die blaue LED auf dem Klötzchen blinkt 
übrigens im Sek. Takt, was sie im Normalbetrieb nicht tut.

Erster Erfolg! (siehe Bild)

Disable RDP. Wie jetzt? Oder ist hier Schicht im Schacht?

Vermute mal, daß der einzige Weg wäre, mutig zu sein und das Flash zu 
löschen. Und dann (daumendrück), das BMP.bin zu flashen.
#6497981
Lesenswert?

Thema erledigt. Klappe zu, Affe tot.

Konnte über Option Bytes die RDP disablen. Danach das blackmagic.bin 
geflasht. Stick ist tot. Ich Blödmann habe in der Aufregung vergessen, 
das ausgelesene Programm zu retten. Jetzt wäre es nur noch eine 
akademische Aufgabe und eine schöne Übung, den Stick noch mal zu ordern 
und auszulesen, um das Teil zu repaieren.

Warum blackmagic.bin darin nicht läuft, wäre dann eine andere Sache.
#6498008
Lesenswert?

Johannes S. schrieb:
> Auch blackmagic_dfu.bin geflasht?


Nö, aber jetzt :) Und siehe da, BMP ist eingerichtet.

Zumindest wurde das Device erkannt und von Windows 10 eingerichtet. Es 
ist auch im Gerätemanager zu sehen, aber leider ist ein gelbes 
Ausrufezeichen dran und STM32CubeProgrammer findet das Device auch 
nicht.


>
> Und wie wolltest du die alte SW ‚retten‘ wenn der Ausleseschutz
> aktiviert wurde?

Ich dachte, wenn der RDP deaktiviert ist, geht das?
Angehängte Dateien:
Gast #6498036
Lesenswert?

Christoph K. schrieb:
> Ich dachte, wenn der RDP deaktiviert ist, geht das?

ja, aber damit wird der Flash gelöscht. Sonst macht ein Ausleseschutz ja 
keinen Sinn wenn man den einfach abschalten kann...

BMP ist nicht STLink kompatibel, die ST Software brauchst du nicht mehr. 
In BMP ist der GDB Server drin, das ist ja der Clou.
Erstmal https://github.com/blacksphere/blackmagic 'Sample Session' 
lesen. Und das https://github.com/blacksphere/blackmagic/wiki mit 
Getting Started.
Durch den eingebauten GDB Server ist das OS unabhängig und kann gut mit 
beliebigen Entwicklungsumgebungen kombiniert werden.
#6498055
Lesenswert?

Johannes S. schrieb:
> Christoph K. schrieb:
...

> BMP ist nicht STLink kompatibel, die ST Software brauchst du nicht mehr.
> In BMP ist der GDB Server drin, das ist ja der Clou.
> Erstmal https://github.com/blacksphere/blackmagic 'Sample Session'
> lesen. Und das https://github.com/blacksphere/blackmagic/wiki mit
> Getting Started.
> Durch den eingebauten GDB Server ist das OS unabhängig und kann gut mit
> beliebigen Entwicklungsumgebungen kombiniert werden.

Ja, das ist mir schon klar, daß da mehr drin steckt, aber ich hatte aus 
Deiner Bemerkung weiter oben, als ich sagte, daß STM32CubeProgrammer das 
Ding als zu altes ST-Link erkannte/ablehnte, man könne es mit BMP 
flashen, abgeleitet, daß man es dann verwenden könne.

Also, der fehlende Treiber unter Windows ist "normal"? Und BMP hat dann 
auch keine virtuelle COM Port? Den Text auf github hatte ich mir eben 
schon mal flüchtig reingezogen.


EDIT: ich muß wohl noch den libusbK-Treiber unter Windows installieren. 
Mach ich gerade.... Bringt nichts. (s. Bild)
Angehängte Dateien:
Gast #6498073
Lesenswert?

das ist jetzt nur der dfu teil, flashe jetzt nochmal das blackmagic.bin.
Es müssen zwei virtuelle serielle angezeigt werden im BMP Gerät.

Der libUSB Treiber muss nur eingestellt werden wenn man das dfu Update 
machen will.
#6498089
Lesenswert?

Johannes S. schrieb:
> das ist jetzt nur der dfu teil, flashe jetzt nochmal das blackmagic.bin.
> Es müssen zwei virtuelle serielle angezeigt werden im BMP Gerät.
>
> Der libUSB Treiber muss nur eingestellt werden wenn man das dfu Update
> machen will.

Habe jetzt den blackmagic.bin drübergeflasht und das Device ist tot. 
Habe das ganze noch mal wiederholt:

Full Chip Erase
blackmagic.bin geflasht
blackmagic_dfu.bin (mit Skip Flash erase X)

Dann gibt's dieses:
1
11:26:38 : ST-LINK SN : 0679FF525056805087052236
2
11:26:38 : V2J34M25
3
11:26:38 : Connected via SWD.
4
11:26:38 : SWD Frequency = 4,0 MHz.
5
11:26:38 : Connection mode : Normal.
6
11:26:38 : Device ID:0x410 
7
11:26:38 : Device flash Size : 64KBytes
8
11:26:38 : Device family :STM32F10xx Medium-density
9
11:26:50 : Flash memory erased.
10
11:27:08 : [blackmagic.bin] opened successfully.
11
11:27:08 : [blackmagic.bin] checksum : 0x00872258 
12
11:27:36 : Memory programmed in 20s and 860ms.
13
11:27:36 : Verification...OK
14
11:27:36 : Programmed memory Checksum: 0x00872258
15
11:27:54 : [blackmagic_dfu.bin] opened successfully.
16
11:27:54 : [blackmagic_dfu.bin] checksum : 0x0009D879 
17
11:28:02 : The elf loader Program function fails.
18
11:28:03 : The elf loader Program function fails.
19
11:28:03 : Memory-Loader error
20
11:28:03 : Error occured during program operation!
21
11:28:03 : Programming error @ 0x08000004!
22
11:28:08 : Programmed memory Checksum: 0x000AB501
#6498111
Lesenswert?

Johannes S. schrieb:
> beim blackmagic.bin flashen auch die richtige Adresse angegeben?

0x08000000 ?

In welcher Reihenfolge muß man die Binaries flashen? Wo steht die Doku 
dazu?

OK, 0x08002000. Woher weiß man das?

Das sieht jetzt schon besser aus. Trotzdem immer noch diese gelben 
Ausrufezeichen bei den Devices.
Angehängte Dateien:
Gast #6498157
Lesenswert?

Die fehlenden Treiber für dieses Devices stören erstmal nicht. Aber das 
die VCOM fehlen ist schlecht.
BMP versucht die HW zu erkennen, das scheint bei der (neuen?) XTW 
Hardware fehlzuschlagen. Man muss wissen auf welchen Ports die SWD liegt 
und kann dann die Quellen anpassen. Wenn du die SW sowieso schon selber 
kompiliert hast, dann ist das nicht schwierig.
hier sind einige Clones aufgeführt, aber alle noch mit 48 Pin Chips.
https://wiki.cuvoodoo.info/doku.php?id=jtag
#6498314
Lesenswert?

Johannes S. schrieb:
> 'mon scan swd' wenn etwas per swd angeschlossen ist, aber BMP Firmware
> ist schon ok.
1
(gdb) mon version
2
Black Magic Probe (Firmware v1.7.1-69-gbf548e9) (Hardware Version 4)
3
Copyright (C) 2015  Black Sphere Technologies Ltd.
4
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
5

6
(gdb) mon help
7
General commands:
8
  version -- Display firmware version info
9
  help -- Display help for monitor commands
10
  jtag_scan -- Scan JTAG chain for devices
11
  swdp_scan -- Scan SW-DP for devices
12
  targets -- Display list of available targets
13
  morse -- Display morse error message
14
  halt_timeout -- Timeout (ms) to wait until Cortex-M is halted: (Default 2000)
15
  connect_srst -- Configure connect under SRST: (enable|disable)
16
  hard_srst -- Force a pulse on the hard SRST line - disconnects target
17
  tpwr -- Supplies power to the target: (enable|disable)
18
  traceswo -- Start trace capture, Manchester mode: (decode channel ...)
19
  heapinfo -- Set semihosting heapinfo
20
(gdb) mon swdp_scan
21
Target voltage: 2.6V
22
SW-DP scan failed!
23
(gdb)

Und das STM32F407-DIMORE ist über SWD-Interface angeschlossen.
XTW     DIYMORE
---------------
SWCLK - PA14
SWDIO - PA13
GND   - GND
5V    - +5V

Was ist mit den Leitungen RST und SWIM am ST-LINK (XTW)?
#6498379
Lesenswert?

Johannes S. schrieb:
> da ist dann die Frage ob beim XTW die SWDIO auch auf PB14 und SWCLK auf
> PA5 liegen.
> 
https://github.com/blacksphere/blackmagic/blob/master/src/platforms/stlink/platform.h

Puh. Durchpiepsen zum Pin geht leider nicht, da die Signale gepuffert 
sind und Leiterbahn verfolgen unterm Quarz durch ist auch nicht so toll.

Gibt's von dem XTW irgendwo eine Schaltung? Könnte ich in der Source 
durch Trial and Error die Pins durchprobieren?
Gast #6498450
Lesenswert?

hatte ich auch schon vergeblich gesucht. Vielleicht mal im blackmagic 
Discord  channel fragen.
Aber auch die Treiber könnten 
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwiwhcPzjrLtAhULJhoKHZ2dAWQQFjADegQIBBAC&url=https%3A%2F%2Fwww.ti.com%2Flit%2Fgpn%2Fsn74lvc1t45&usg=AOvVaw1ou20xFk8G9ep42WnBZJQn 
sein, das lässt sich auch verfolgen. Wobei der SWDIO noch die 
Richtungsumschaltung hat, da passt die STLINK platform von BMP nicht 
ganz.
Da hast du schon eine Luxusvariante erwischt...
Gast #6499217
Lesenswert?

Wenn die Treiber aus meinem Link verbaut wären, dann müssten da mehrere 
sein, 3 Stück. Auf deinem Bild war jetzt nur einer zu sehen, wie sieht 
es unter dem Schaumstoff aus? SMD Markierung könnte aber auch ein 
Diodenarray als Schutz sein, der Treiber hat eine andere Markierung als 
V05.
Wenn der SWCLK aber doch direkt raus geht, dann wird es einfacher und 
PA5 wäre ja schon richtig. Ist dann nicht auch PB14 SWDIO?
#6499284
Lesenswert?

Erfolgsmeldung!
1
$ arm-none-eabi-gdb
2
GNU gdb (GNU Tools for Arm Embedded Processors 8-2018-q4-major) 8.2.50.20181213-git
3
Copyright (C) 2018 Free Software Foundation, Inc.
4
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
5
This is free software: you are free to change and redistribute it.
6
There is NO WARRANTY, to the extent permitted by law.
7
Type "show copying" and "show warranty" for details.
8
This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi".
9
Type "show configuration" for configuration details.
10
For bug reporting instructions, please see:
11
<http://www.gnu.org/software/gdb/bugs/>.
12
Find the GDB manual and other documentation resources online at:
13
    <http://www.gnu.org/software/gdb/documentation/>.
14

15
For help, type "help".
16
Type "apropos word" to search for commands related to "word".
17
(gdb) target extended-remote /dev/cu.usbmodem7AAF76931
18
Remote debugging using /dev/cu.usbmodem7AAF76931
19
(gdb) mon jtag_scan
20
Target voltage: 3.27V
21
JTAG device scan failed!
22
(gdb) target extended-remote /dev/cu.usbmodem7AAF76931
23
Already connected to a remote target.  Disconnect? (y or n) y
24
Remote debugging using /dev/cu.usbmodem7AAF76931
25
(gdb) mon jtag_scan
26
Target voltage: 3.27V
27
JTAG device scan failed!
28
(gdb) mon swdp_scan
29
Target voltage: 3.28V
30
Available Targets:
31
No. Att Driver
32
 1      STM32F40x M4
33
(gdb) 
34
(gdb)

Was hatte ich falsch gemacht? Nun, auf dieser Seite 
https://www.mjoldfield.com/atelier/2018/08/nucleo-bmp.html
fand ich:
1
$ git clone git@github.com:blacksphere/blackmagic.git
2
$ cd blackmagic
3
$ git submodule init
4
$ git submodule update
5
$ make
6
$ cd src
7
$ make clean
8
$ make PROBE_HOST=stlink

Ich hatte das

cd src

und

make PROBE_HOST=stlink

vergessen bzw. wußte davon nichts.

Im Moment hängt das STM32F407-DIYMORE Board dran.
#6499298
Lesenswert?

Johannes S. schrieb:
> Wenn die Treiber aus meinem Link verbaut wären, dann müssten da mehrere
> sein, 3 Stück. Auf deinem Bild war jetzt nur einer zu sehen, wie sieht
> es unter dem Schaumstoff aus? SMD Markierung könnte aber auch ein
> Diodenarray als Schutz sein, der Treiber hat eine andere Markierung als
> V05.
> Wenn der SWCLK aber doch direkt raus geht, dann wird es einfacher und
> PA5 wäre ja schon richtig. Ist dann nicht auch PB14 SWDIO?

Auf der Unterseite sind auch noch ein solcher V05 und ein S2SL (5-pol).
Angehängte Dateien:
Gast #6499334
Lesenswert?

Glückwunsch :) Dann sind die V05 doch eher Schutzdioden. Ich sag ja, 
Luxusteil, das ist schon einer der besseren. Der Controller ist 
vermutlich zwar eher ein GD oder CK, aber egal wenn BMP läuft.
Das Bluepill hast du ja jetzt auch noch als mögliche BMP HW, das hat den 
Vorteil das man noch eine VCOM für einen UART und damit für 
Debugausgaben oder Bedienung frei hat.
#6499506
Lesenswert?

Johannes S. schrieb:
> Glückwunsch :) Dann sind die V05 doch eher Schutzdioden. Ich sag ja,
> Luxusteil, das ist schon einer der besseren. Der Controller ist
> vermutlich zwar eher ein GD oder CK, aber egal wenn BMP läuft.
> Das Bluepill hast du ja jetzt auch noch als mögliche BMP HW, das hat den
> Vorteil das man noch eine VCOM für einen UART und damit für
> Debugausgaben oder Bedienung frei hat.

Blue Pill ist ja erst mal wieder zurückgegeben. Wieder gelernt. Selbst 
wo STM32F103CGBT drauf steht (auf der Verpackung) ist nicht zwangläufig 
auch STM32 drin. Suche jetzt gerade noch einen mit einem günstigen 
Preis-Lieferzeit-Produkt.

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