Forum: Mikrocontroller und Digitale Elektronik STM32F103VET6


von Herbert K. (herb10)



Lesenswert?

Hallo. Ich besitze einen Antennenanalyzer (NanoVNA-F) der nicht mehr 
bootet.
Auf der Platine ist ein STM32F103VET6 verbaut. Ich wollte eine neue FW 
einspielen, dabei ist die Stromversorgung ausgefallen. (meine Schuld) 
Auf der Platine befinden sich 3 Lötpunkte die mit GND, CLK, DATA, 
beschriftet sind.
Das Gerät zeigt folgende Fehler: Beim Einschalten sollte er die Software 
laden, bleibt aber dabei hängen. Zum Einspielen der Firmware drückt man 
eine Taste und schaltet gleichzeitig ein. Das funktioniert. Dann sollte 
der Computer ein Laufwerk erkennen, in dem man die neue FW reinkompiert. 
Dann ausschalten und wieder einschalten. Jetzt ist es so, dass der 
Computer zwar ein Laufwerk erkennt, es aber ausblendet und man darauf 
nicht zugreifen kann.
Meine Frage wäre, ob man über die 3 Anschlüsse auf der Platine den STM 
neu programmieren könnte, bzw wie man da vorgeht. Danke im Voraus

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

GND, CLK, DATA duerfte wohl SWD sein. Der (Custom im Gegensatz zum 
System) Bootloader scheint wohl kaputt zu sein. Wenn Du dazu die 
elf/hex/binary Files hast, kannst du den Flashinhalt vergleichen und ggf 
neu programmieren. Ween Du die Quellen hast, wir das Kompilat fast immer 
etwas anders sein, so dass Du immer neu programmieren musst. Pss auf , 
dass die IO Spannung von SWDIO/SWDCLK mit der IO Spannung des 
Programmers uebereinstimmt. Bei 3.3 Volt ist da fast immer der Fall

von Die Elektor ist da! (Gast)


Lesenswert?

Zu befuerchten ist, dass das zugaengliche "Update" mit Crypto
verdengelt ist, und nicht fuer den nativen Bootlader taugt.
Bei Netzwerkgeraeten ist das z.B. regelmaessig so.
Und das die Kopierer des Designs womoeglich noch einige
"kosmetische" Veraenderungen vorgenommen haben, dass die
originaere Firmware auf dem Teil auch nicht laeuft.

> dabei ist die Stromversorgung ausgefallen

Tja, wenn meine Vermutungen zutreffen ist das Teil reif fuer
den Rundordner.

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Zumindestens sollte man schauen, ob der F103 noch auf SWD reagiert.

von Alex D. (daum)


Lesenswert?

Es macht auch Sinn, einmal den Hersteller anzuschreiben, ob die ein 
komplettes Hex File zur Verfügung stellen können, das man auf den 
Controller mit SWD flashen kann.
Wenn ich das richtig sehe, ist das eine verbesserte Version des NanoVNA, 
und von dem ist die Firmware open-source.

von Stefan F. (Gast)


Lesenswert?

Uwe B. schrieb:
> Zumindestens sollte man schauen, ob der F103 noch auf SWD reagiert.

SWD funktioniert im Reset Zustand immer, es sei denn der µC ist tot. Das 
er das nicht ist, sehen wir an den Meldungen des Bootloaders.

von Harry L. (mysth)


Lesenswert?

Es gibt irgendwo auf dem Board einen (Löt-)Jumper für BOOT0.
Wenn man Boot0 auf High zieht, kann man den via DFU flashen. (Hatte bei 
Meinem auch mal so ein Problem.)
DFU ging problemlos.

Die akt. Firmware gibts hier:
https://github.com/flyoob/NanoVNA-F

von Herbert K. (herb10)


Lesenswert?

Danke für die Nachricht. Einen solchen Lötpunkt finde ich auf der 
Platine nicht. Nur die 3, CLK,GND, Data. Mit einem USB UART Adapter und 
dem ST-Link Utility, zB, bringe ich keine Verbindung zusammen. Ich kann 
natürlich nicht sagen, ob das taugliche Mittel sind. Da fehlt mir der 
Plan. Hab zwar schon etwas mit Arduino erfolgreich " herumgewerkelt ", 
aber da hatte ich schöne Anleitungen und Schaltungsunterlagern zur 
Verfügung. Vielleicht finde ich im Internet noch irgendwo so eine 
bildliche Anleitung für mein Problem und bringe mit meinem 70 Lenzen das 
Ding noch hin.

von Stefan F. (Gast)


Lesenswert?

Herbert K. schrieb:
> CLK,GND, Dat

Klingt für mich nach I²C Bus oder einer SWD Schnittstelle. Du könntest 
herausfinden, mit welchen Pins am IC das verbunden ist und dann im 
Datenblatt schauen, welche Schnittstelle das ist.

von Herbert K. (herb10)


Angehängte Dateien:

Lesenswert?

Danke für die Mitteilung. Habe diese Pins ermittelt. (Siehe Bild)

von Stefan F. (Gast)


Lesenswert?

Herbert K. schrieb:
> Danke für die Mitteilung. Habe diese Pins ermittelt. (Siehe Bild)

Schön. Und jetzt kannst du in der tabellarischen Auflistung gucken, ob 
das ein I²C Bus oder die SWD Schnittstelle ist. PA13 und PA14 müsste SWD 
sein, wenn ich mich nicht irre. Daran kann man einen ST-Link Adapter 
anschließen.

http://stefanfrings.de/stm32/stm32f1.html#proginterfaces

Die Firmware kannst du dann mit dem ST-Link Utility in den Chip laden, 
wenn sie im Binär- oder Hex-Format vorliegt.

von Herbert K. (herb10)


Lesenswert?

Danke für die Hilfe! Konnte heute mit dem ST-Link Adapter meinen 
NanoVNA-F wieder neu Programmieren. LG Herbert

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.