Forum: Mikrocontroller und Digitale Elektronik CH32V003 J4M6


von Ralph S. (jjflash)


Lesenswert?

Jetzt ist es mir zum zweiten mal passiert (weil ich die Pinanschlüsse 
nicht richtig gelesen habe).

Ich habe an einem CH32V003 J4M6 (das ist der 8 pol. Chip) den Pin als 
Ausgang geflasht.

Das Programm funktioniert dann darin auch. Allerdings ist am 8 pol. Chip 
an diesem GPIO auch der SWIO aufgelegt.

Nach diesem Flashen, kann ich den Chip kein weiteres mal flashen.

Unter Linux verwende ich das Programm minichlink und auch ein Aufruf:

minichlink -u

welches die Option für "unbrick" ist, funktioniert nicht.

Ein:

minichlink -p

für das Entfernen einer Readprotection funktioniert natürlich auch 
nicht.

Das ganze erinnert mich an viel frühere Tage, an denen man (ich) einen 
AVR "verfusen" konnte.

Gibt es einen Trick, wie man den Chip wieder verwendbar machen kann oder 
ist der für die Tonne?

Als einzigen verfügbaren Programmer habe ich einen WchLinkE.

von Harald K. (kirnbichler)


Lesenswert?

Versorgst Du auch den µC über den WchLinkE mit Spannung, oder hast Du 
den nur als "ISP"-Adapter an Deine bestehende Schaltung angeschlossen, 
so daß der die Versorgungsspannung nicht abschalten kann?

von Thomas Z. (usbman)


Lesenswert?

Hast du es schon mal mit dem WCHIspTool probiert? WCH schreibt dass man 
einige Zeit nach dem Resett warten sollte bevor man am SWIO Pin 
rumfummelt.

ansonsten:
https://www.wch._cn/bbs/forum-106-2.html

und Webseiten Übersetzer einschalten. Du kannst da auch auf Englisch 
fragen. Die FAEs antworten in der Regel innerhalb eines Tages (im Moment 
sind allerdings Feiertage in CN)

von Harald K. (kirnbichler)


Lesenswert?

Nachtrag zu minichlink:

Wie alt ist Deine Version?

Es gibt eine Commit-Message vom 8. August:

"Fix unbrick. Enhance prints for b003boot init."

von Ralph S. (jjflash)


Lesenswert?

Harald K. schrieb:
> Versorgst Du auch den µC über den WchLinkE mit Spannung, oder hast Du
> den nur als "ISP"-Adapter an Deine bestehende Schaltung angeschlossen,
> so daß der die Versorgungsspannung nicht abschalten kann?

Habe ich beides versucht...
Am Chip selbst ist nichts angeschlossen.

Harald K. schrieb:
> Nachtrag zu minichlink:
>
> Wie alt ist Deine Version?
>
> Es gibt eine Commit-Message vom 8. August:
>
> "Fix unbrick. Enhance prints for b003boot init."

Habe ich mir gerade heruntergeladen...

Versuche des "unbrickens" über externe 5V, externe 3,3V, Spannung über 
WchLinkE mit 5V und 3,3V mit der neuen Version von minichlink

Die Fehlermeldungen kommen jetzt schneller, aber der Chip ist immer noch 
gebrickt.

Grundsätzlich rentiert sich der Aufwand ja schier nicht, bei dem Preis 
was der kostet. Das ist jetzt irgendwie auch "wissenschaftlicher Natur" 
zu erfahren was da machbar und was nicht ist. Für mich jetzt halt blöd, 
weil ich keine 8 pol. Chips mehr da habe.

Thomas Z. schrieb:
> Hast du es schon mal mit dem WCHIspTool probiert? WCH schreibt dass man
> einige Zeit nach dem Resett warten sollte bevor man am SWIO Pin
> rumfummelt.

Der 8 pol. Chip hat keinen Reset Anschluss !

von Thomas Z. (usbman)


Lesenswert?

Ralph S. schrieb:
> Der 8 pol. Chip hat keinen Reset Anschluss

Ich hatte bewusst nach dem Reset geschrieben, das ist in deinem Fall 
halt der PowerOn.

von Ralph S. (jjflash)


Lesenswert?

Thomas Z. schrieb:
> Ralph S. schrieb:
>> Der 8 pol. Chip hat keinen Reset Anschluss
>
> Ich hatte bewusst nach dem Reset geschrieben, das ist in deinem Fall
> halt der PowerOn.

... auch eine Wartezeit nach Power on habe ich eingehalten

von Thomas Z. (usbman)


Lesenswert?

schau mal hier:

https://www.wch._cn/bbs/thread-144229-1.html mit Übersetzer

von Harald K. (kirnbichler)


Lesenswert?

Ralph S. schrieb:
> Am Chip selbst ist nichts angeschlossen.

Na, drei Leitungen müssen schon angeschlossen sein: +5V, GND und eben 
SWIO, alle mit dem WCHlinkE verbunden. Und mit nichts anderem.

von Reinhard R. (reirawb)


Lesenswert?

Hallo Ralph,

klingt fast wie mein Problem von Ende 2023, war damals aber ein 
20-Pinner:
Beitrag "Problem: CH32V003 läst sich nicht (mehr) flashen"
Die Lösung:
Beitrag "Re: Problem: CH32V003 läst sich nicht (mehr) flashen"

Ich weiß, du bist Linux-Nutzer, aber vielleicht hast du noch einen 
Windows-PC auf dem du mal das WCH-LinkUtility laufen lassen kannst. Die 
sind nicht sehr groß und du brauchst da auch nichts zu installieren, die 
WCH-LinkUtility.exe läuft out-of-the-box.

Reinhard

von Ralph S. (jjflash)


Lesenswert?

Harald K. schrieb:
> Na, drei Leitungen müssen schon angeschlossen sein: +5V, GND und eben
> SWIO, alle mit dem WCHlinkE verbunden. Und mit nichts anderem.

:-) okay, außer der Betriebsspannung und dem SWIO ist nichts 
angeschlossen

von Harald K. (kirnbichler)


Lesenswert?

Ralph S. schrieb:
> außer der Betriebsspannung und dem SWIO ist nichts
> angeschlossen

Und nochmal: Die Betriebsspannung kommt aus dem WCHlinkE?

von Ralph S. (jjflash)


Lesenswert?

Reinhard R. schrieb:
> Ich weiß, du bist Linux-Nutzer, aber vielleicht hast du noch einen
> Windows-PC auf dem du mal das WCH-LinkUtility laufen lassen kannst. Die
> sind nicht sehr groß und du brauchst da auch nichts zu installieren, die
> WCH-LinkUtility.exe läuft out-of-the-box.

Ich habe jetzt mein altes Win10 Notebook "reaktiviert" (ich glaube das 
war dieses Jahr noch nicht angeschaltet): Mit dem WCH-LinkUtility 
funktioniert es auch nicht.

Harald K. schrieb:
> Ralph S. schrieb:
>> außer der Betriebsspannung und dem SWIO ist nichts
>> angeschlossen
>
> Und nochmal: Die Betriebsspannung kommt aus dem WCHlinkE?

Grüß dich Harald (mitten in der Nacht). Ich hab es eigentlich (aber eben 
nur eigentlich) aufgegeben gehabt und mein "Programmprojekt" eben auf 
einem 20 Pinner zu Ende gebracht (in der Hoffnung dass das dann in einem 
8 Pinner - wenn ich dann wieder welche habe - auch sofort läuft).

Aber vielleicht hast du ja eine Idee (auch wenn es vom Preis eines Chips 
den Aufwand nicht lohnt, pfupfert es einen, dass das hinüber sein 
sollte).

Was ich gemacht habe ist:

- Programmer ist WchLinkE
- der CH32V003 J4M6 war schon immer auf einer Adapterplatine für das 
Steckbrett aufgelötet
- auf der Unterseite des PCBs ist direkt ein 100 nF Kondensator 
aufgelötet (weil das dort vom Chiplayout sehr gut passt - für diejenigen 
die als Standardlösung immer den Blockkondensator nennen - )

##########

nachfolgende Versuche wurden mit Betriebsspannung einmal vom Programmer 
selbst, einmal von einem linear geregelten Selbstbaunetzgerät 
unternommen, jeweils Versuche mit 3,3V und einmal mit 5V

#########

- Bei Versorgung mit externem Netzteil somit nur der GND und der SWIO 
des Programmers mit dem Chip verbunden
- neues Programm minichlink aus GitHub von Christian Lohr
- minichlink in jeglicher Kombination mit den Parametern -u (unbrick) -E 
(erase chip) -p (disable read protection) -5 (enable 5V) -3 (enable 3V) 
-t (disable 3V) -f (disable 5V) ausprobiert
- angeschlossen war außer der Betriebsspannug und dem SWIO nichts 
weiter. Betriebsspannung wurde nicht über die Schiene des Steckbretts 
angelegt, sondern direkt an den Pins
- zusätzlich zu dem Kondensator 3 unterschiedliche Elkos 10uF, 47uf, 
100uf über die Betriebsspannung gelegt
- Lochrasterkarte aufgelötet mit Schiebeschalter um die Spannung des 
V003 (als irgendwie gearteten Ersatz für einen Reset) ein- und 
auszuschalten. Hier dann Versuche mit zuerst abgeschalteter 
Betriebsspannung, Programmstart, einschalten der Betriebsspannung direkt 
nach dem Programmstart
- alle Versuche noch einmal mit auf GND gelegten fünf Pins, die nicht am 
Flashen beteiligt sind.

Ich sags ungern, aber:
1
###############################################
2
                 aufgegeben
3
###############################################

von Harald K. (kirnbichler)


Lesenswert?

Ich würd' noch einen ganz perversen Versuch machen: Lass' mal entgegen 
aller Erfahrung und Praxis den Abblockkondensator weg.
Vielleicht ist das Ab- und Wiederanschalten der Versorgungsspannung 
durch den WCHLinkE timingkritisch, und der Kondensator funkt ausreichend 
lange dazwischen.

Ich hab für ein 2-Minuten-Winz-Projekt mal wirklich nur drei Drähte an 
einen CH32v003 gelötet und die direkt mit dem WCHlinkE verbunden - der 
ließ sich damit sauber programmieren, obwohl es jeder erlernten Praxis 
widerspricht und auch einiges an innerer Überwindung gekostet hat (die 
Faulheit siegte, und es sollte schnellgehen).

Und wenn auch das nicht klappt: Tja, dann kommst Du leider zu spät. Zu 
spät, um den µC Richie zukommenzulassen, um Bilder der Innereien 
anzufertigen.
Denn das hat er schon: https://www.richis-lab.de/uC06.htm

Dann sind 20 Cent ein Fall für die Tonne.

von Ralph S. (jjflash)


Lesenswert?

... ich kann das leider nicht mehr versuchen, ich habe den Chip weg 
geworfen!

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.