STM32 schneller SWDIO Programmer gesucht mit CMD

OP Persönliche Seite #6637804
Lesenswert?

Hi Leute,
kann jemand einen Programmer empfehlen, der schnell ist, wen STLink-V2 
angeblich 4Mhz kann, dauert es bei einer 32K FW ~ eine halbe Minute. Da 
ist mein eigener Bootlooader mit 10 Sekunden schneller, obwohl ich über 
I2C mit 100Kbps update. Wichtig ist mir aber auch, dass sich die FW via 
CMD flashen läßt und HardRST Pin funktioniert, was man in der Produktion 
verwenden kann...

Wäre für eine Empfehlung dankbar.
#6637856
Lesenswert?

Hört sich für mich so an, als würde dein ST-Link nicht auf der richtigen 
Taktrate laufen. Habe grade mal einen F103 mit dem China-ST-LinkV2 
ausgelesen: Das dauert 0.4 Sekunden den kompletten Speicher von 64kB 
auszulesen.

Schreiben ist ähnlich schnell: Fürs Flashen brauche ich normalerweise 
wenige Sekunden inklusive der Zeit, die er zum Starten und Verbinden 
braucht.

Du machst definitiv was falsch: Check mal deine Config/Software. Vl. mal 
die ST-Link-Firmware updaten wenn sie nicht aktuell ist.

Wie sieht überhaupt dein Setup aus? MCU? Betriebssystem? Toolchain? 
SWD-Kabellänge?
(Firma: Torrox.de) #6637858
Lesenswert?

A. F. schrieb:
> Hi Leute,
> kann jemand einen Programmer empfehlen, der schnell ist, wen STLink-V2
> angeblich 4Mhz kann, dauert es bei einer 32K FW ~ eine halbe Minute.

30 Sekunden für 32kByte klingt extrem langsam. Das hat dann 
wahrscheinlich auch nichts mit der SWD Clock zu tun. Mit meinem BJPA 
komme ich im Moment beim flashen eines nRF52 auf ~20kByte / sec. Die SWD 
Clock ist dabei 1MHz.

Meine Empfehlung: BJPA: https://www.torrox.de/#wirelessdebugger ;-)
Gast #6637864
Lesenswert?

A. F. schrieb:
> angeblich 4Mhz kann, dauert es bei einer 32K FW ~ eine halbe Minute. Da

STLink-V2-1 auf einem Nucleo-G0B1RE mit 32 kByte Datei in nicht einmal 
2s:

date;openocd -f ./nucleo-g071rb.cfg -c init -c "program test.srec verify 
reset" -c exit; date
2021-03-29 16:14:49+02:00
Open On-Chip Debugger 0.11.0+dev-01612-gf87337cc7-dirty 
(2021-03-13-18:34)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The 
results might differ compared to plain JTAG/SWD
Info : clock speed 2000 kHz
Info : STLINK V2J37M27 (API v2) VID:PID 0483:374B
Info : Target voltage: 3.241967
Info : stm32g0x.cpu: hardware has 4 breakpoints, 2 watchpoints
Info : starting gdb server for stm32g0x.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0xf1000000 pc: 0xfffffffe msp: 0xfffffffc
** Programming Started **
Info : device idcode = 0x10006467 (STM32G0B/G0Cxx - Rev A : 0x1000)
Info : flash size = 512kbytes
Info : flash mode : single-bank
** Programming Finished **
** Verify Started **
** Verified OK **
** Resetting Target **
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
2021-03-29 16:14:50+02:00

Nix von einer halben Minute ...
Gast #6637975
Lesenswert?

A. F. schrieb:
> Hi Leute,
> kann jemand einen Programmer empfehlen, der schnell ist, wen STLink-V2
> angeblich 4Mhz kann, dauert es bei einer 32K FW ~ eine halbe Minute. Da
> ist mein eigener Bootlooader mit 10 Sekunden schneller, obwohl ich über
> I2C mit 100Kbps update. Wichtig ist mir aber auch, dass sich die FW via
> CMD flashen läßt und HardRST Pin funktioniert, was man in der Produktion
> verwenden kann...
>
> Wäre für eine Empfehlung dankbar.

Der übliche China V2-Clone mit st-link braucht für 64kB keine zwei 
Sekunden auf einem STM32F411.
1
st-flash --freq=4m write <filename> 0x8000000
OP Persönliche Seite #6638546
Lesenswert?

> Du machst definitiv was falsch: Check mal deine Config/Software. Vl. mal
> die ST-Link-Firmware updaten wenn sie nicht aktuell ist.

Was soll man da falsch machen können? Kabellänge = Original ST Kabel, 
die STLink FW ist aktuell.

Torsten R. schrieb:
> 30 Sekunden für 32kByte klingt extrem langsam. Das hat dann
> wahrscheinlich auch nichts mit der SWD Clock zu tun.

Natürlich nicht, das sollte bei 4Mhz super flott gehen, was aber nicht 
der Fall ist.
Habe die Sekunden mitgezählt. Die FW ist nicht mal 32KB groß, dauert 
aber 20 sek zu flaschen....

ST Link V2 ist original.

Ingo Less schrieb:
> ST-Link V3 kann 24MHz
Konte davon CMD nicht nutzen...
Angehängte Dateien:
Gast #6638559
Lesenswert?

A. F. schrieb:
> Natürlich nicht, das sollte bei 4Mhz super flott gehen, was aber nicht
> der Fall ist.
> Habe die Sekunden mitgezählt. Die FW ist nicht mal 32KB groß, dauert
> aber 20 sek zu flaschen....
                     ^
Freudscher Verschreiber ;-)

Aber im Ernst: 20s sind schon mal nicht eine halbe Minute. Das "Connect 
under Reset" kann vielleicht 1 oder 2 Sekunden Verzögerung bewirken. 
Außerdem wäre noch die Frage, ob vielleicht alle Sektoren vorher einzeln 
gelöscht werden, oder nur die benutzten oder gar keine. Das kann weitere 
1 bis 2 Sekunden ausmachen. Ansonsten ist's wohl das GUI, das sich da 
vieeeeeel Zeit lässt. Ging es nicht gerade um Kommandozeilen-Tool???

> ST Link V2 ist original.
>
> Ingo Less schrieb:
>> ST-Link V3 kann 24MHz
> Konte davon CMD nicht nutzen...
OP Persönliche Seite #6638623
Lesenswert?

dummschwaetzer schrieb:
> Mal mit STM32CubeProgrammer probiert?

Danke, installiert, mit GUI ausprobiert und tatsache, hat nur 2 Sekunden 
gedauert!

Wie connecte ich mihc richtig via CMD, wenn ich in meiner .bat -c 
port=SWD benutze, kommt eine Fehlermeldung, dass die erbindung nicht 
besteht....


STM32_Programmer_CLI.exe -HardRst>NUL
STM32_Programmer_CLI.exe c- port=SWD -d %destination_file%
Gast #6638709
Lesenswert?

>Es geht hauptsächlich um CMD, der Test mit der GUI ergibt die gleichen
>Flashzeiten....
die GUI hat doch für jede Aktion (Connect, Erase, ....) Zeitstempel
Welcher Teilschritt braucht so lange?
OP Persönliche Seite #6638790
Lesenswert?

Ich muss die comman line version benutzen. GUI nur zum ausprobieren!

STM32_Programmer_CLI.exe -c port=SWD mode=UR reset=hwRst  -d 
%destination_file%

ST-LINK SN  : 49FF6B066767564949410767
ST-LINK FW  : V2J37S7
Board       : --
Voltage     : 3.17V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Error: Unable to list supported devices
Error: Cannot identify the device
Press any key to continue . . .


Weiß jemand welche Files die EXE braucht, um den uC zu identifizieren?
OP Persönliche Seite #6638925
Lesenswert?

Johannes S. schrieb:
> Da ist doch ein Setup für das Programm? Nur ein exe rausfischen
> funktioniert nie.
> War das überhaupt so gemeint oder hat die CLI Version generell ein
> Verbindungsproblem?


Ich hab es! Wenn man die STM32_Programmer_CLI.exe als Kopie irgendwo 
anders Ordner benutzen möchte, muss der Ordner Data_Base (eine ebene 
höher) mitkopiert werden. Und in dem gleichen Verzeichnis wie die EXE 
Ordner Flashloader Ordner liegen.

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