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.
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?
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)
Nachtrag zu minichlink: Wie alt ist Deine Version? Es gibt eine Commit-Message vom 8. August: "Fix unbrick. Enhance prints for b003boot init."
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 !
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.
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
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.
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
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
Ralph S. schrieb: > außer der Betriebsspannung und dem SWIO ist nichts > angeschlossen Und nochmal: Die Betriebsspannung kommt aus dem WCHlinkE?
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 | ############################################### |
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.
Ralph hat mir netterweise einen CH32V003 J4M6 zum Testen zukommen lassen, damit habe ich ausprobiert ob man wieder auf den Chip per ISP zugreifen kann wenn man den SWIO Pin als IO Pin verwendet. Folgender Ablauf: - Die Firmware "blink.hex" (siehe Anhang) in den Chip programmiert (PD5/SWIO wird als Ausgang zum Blinken konfiguriert) - An PD5 kann man messen dass es "blinkt" (alle ca. 200 ms) - Dann mit dem WCH-LinkUtility V2.70 unter Windows den Menüpunkt "Clear All Code Flash-By Power off" ausgeführt (siehe Bild) - Dann "Disable Chip Code-Protect" ausgeführt (WCH-LinkUtility fordert dazu auf, beim Programmieren der Firmware war "Enable MCU Code Read-Protect" gesetzt) - Fertig, auf den Chip kann wieder ganz normal zugegriffen werden Die Firmware des WCH-LinkE Interface wurde vom WCH-LinkUtility auf "v39" aktualisiert (Version laut "firmware_version.txt" im "Firmware_Link" Verzeichnis vom WCH-LinkUtility). Die Verbindungen zwischen dem WCH-LinkE Interface und dem CH32V003 J4M6 auf einer SMD Adapter-Platine war GND, Vcc (3.3 Volt) und SWIO, es wurden keine weiteren Bauteile (z.B. Abblockkondensator) verwendet.
Harald K. schrieb: > 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). Das ist doch im Vergleich zu meinem "Toter Käfer piekser" noch voll im Rahmen. Beitrag "Re: Fumot Tornado 25000 mit LCD -Teardown" Dieter S. schrieb: > Fertig, auf den Chip kann wieder ganz normal zugegriffen werden Gute Neuigkeiten, erinnert an meine Experimente mit dem Puya. Da dachte ich anfangs auch er sei hinüber bis ich ihn mit dem ISP tool angesprochen habe. Ich glaub ich Leg mir auch mal ein paar von den WCH zu.
Es gibt übrigens ein paar nette Spielereien mit dem CH32V003 J4M6, z.B. das hier: https://github.com/wagiminator/CH32V003-GameConsole
Dieter S. schrieb: > Es gibt übrigens ein paar nette Spielereien mit dem CH32V003 J4M6, z.B. > das hier: Und wirklich brutal günstig die Käfer, Link-e mit zwei Boards und 5x003 und 5x203 als blanke IC, Amazon, Prime, 20€! Gut, verglichen mit der Bestellung in China noch teuer, dafür schneller.
Kilo S. schrieb: > dafür schneller Aliexpress hat in letzter Zeit oft die unter-zwei-Wochen-Latte deutlich gerissen. WCH selbst betreibt dort einen Shop, der ist nur am Wochenende aus irgendwelchen Gründen immer wieder ziemlich geplündert. Jetzt (Sonntag, kurz nach elf) haben sie gerade mal 12 Produkte im Angebot ... https://wchofficialstore.de.aliexpress.com/store/1100367542 Dort aber bekommt man auch interessante Alternativen zum CH32V003, wie z.B. den CH32V002, der trotz der kleineren Nummer eher ein Upgrade darstellt (mehr RAM, mehr Flash, 12-Bit-ADCs, nur schneller ist er wohl nicht, siehe Beitrag "CH32V003 Instruction Execution Timing"), oder den CH32V006 ... Und am kommenden Dienstag soll es dort wohl auch einige Angebote geben.
Ich bestell aktuell nix auf Ali. Hat sich so ergeben, nutzen es kaum. Der PY32F030 mit dem ich immer noch spiele nervt mich. Was auch immer für ein kastriertes DIE drin steckt. (DBGMCU->IDCODE:0x60001000) VRRF (intern) scheint zu wackeln wie ein kuhschwanz, der interne Temperatursensor springt um 1,4-2,6°C hin und her, RTC nicht nutzbar. Arduino Core kann Pin 5&32 (PF3/PB8) nicht initialisieren usw. Aktuell auf der Liste steht erst mal noch ein neuer, hoffentlich unkastrierter, PY32F030K28, gibt's auch auf Amazon. Ich Brauch ne Referenz um die Unterschiede aus zu machen. Wenn das geschafft ist sind die WCH dran. Von denen verspreche ich mir etwas mehr "Spaß", einfach weil es weniger workarounds brauchen sollte.
Dieter S. schrieb: > - Die Firmware "blink.hex" (siehe Anhang) in den Chip programmiert > (PD5/SWIO wird als Ausgang zum Blinken konfiguriert) > > - An PD5 kann man messen dass es "blinkt" (alle ca. 200 ms) > > - Dann mit dem WCH-LinkUtility V2.70 unter Windows den Menüpunkt "Clear > All Code Flash-By Power off" ausgeführt (siehe Bild) > > - Dann "Disable Chip Code-Protect" ausgeführt (WCH-LinkUtility fordert > dazu auf, beim Programmieren der Firmware war "Enable MCU Code > Read-Protect" gesetzt) > > - Fertig, auf den Chip kann wieder ganz normal zugegriffen werden Vielen Dank für deine Mühe, ich werde doch glatt mein Windows 10 Notebook hervorkramen und das mal genauso versuchen wie du das gemacht hast... Dieter S. schrieb: > Es gibt übrigens ein paar nette Spielereien mit dem CH32V003 J4M6, z.B. > das hier: > > https://github.com/wagiminator/CH32V003-GameConsole "wagiminator" hat noch andere schöne Sachen, die Spiele hatte ich zuvor schon einmal ausprobiert, allerdings ist das OLED-Display dann wirklich etwas arg arg klein, aber dennoch nett. Kilo S. schrieb: > Und wirklich brutal günstig die Käfer, Link-e mit zwei Boards und 5x003 > und 5x203 als blanke IC, Amazon, Prime, 20€! Schmunzeln muß, das ist doch exorbitant teuer (ist ein Scherz und bitte nicht so arg ernst nehmen). Ich bin immer noch am Zusammenschreiben von Dokumentationen, hier auch zum Thema CH32V003. Hier möchte ich meine Basteleien alle zusammenfassen und dann in einem Nachbarthread: Beitrag "CH32V003: Selbstbauprogrammer und "Getting started"" gesammelt hinzufügen. Warum ich das als "exorbitant teuer" bezeichne? Ganz einfach, der Programmer im angehängten Foto kostet, so man unter Linux ist, an Bauteilen inkl. einer bei JLCPCB bestellten Platine (wenn man eine 10x10cm große Platine mit diesem kleinen Programmer füllt), dann doch glatte 73 Cent ( :-) ich habe es ausgerechnet). Bei LCSC.COM kosten dann die Controller selbst zwischen 18 und 24 Cent. https://www.lcsc.com/product-detail/C5346354.html?s_z=n_ch32v https://www.lcsc.com/product-detail/C5346357.html?s_z=n_ch32v https://www.lcsc.com/product-detail/C5187096.html?s_z=n_ch32v Von daher haben die CH32V003 die AVR-Serie abgelöst, so die 16 KByte Flash reichen. Wie Kirnbichler angemerkt hat, gibt es auch den CH32V002 mit mehr Speicher, den habe ich noch nicht evaluiert, aber von dem, was ich im Datenblatt gesehen habe, unterscheidet der sich vom 003 nur marginal. Wenn ich alles zusammen geschrieben habe (ich hoffe doch bis Weihnachten), dann werde ich das alles im Paket veröffentlichen, dann gibt es ein - Board mit USB Bootloader (welches auch als Programmer fungieren kann) - Board mit seriellem Bootloader (CH340N Chip), welches bspw. mit Arduino wie ein Arduino Nano eingesetzt werden kann (okay, anders Pinout und Libraries sind nicht wirklich vorhanden, deshalb bastel ich zum ersten mal wirklich auch an Arduino-Libraries) - den im Foto zu sehenden Programmer für CH32V003, der selbst durch einen CH32V003J4M6 realisiert ist (in bester/schlechtester V-USB Manier). Prinzipiell benötigt man nur ein einziges mal einen Arduino UNO oder Nano mit ATmega168 / ATmega328 um den Programmer zu flashen und fortan können V003-Chips dann mit diesem geflasht werden.
Ralph S. schrieb: > gibt es auch den CH32V002 > mit mehr Speicher, den habe ich noch nicht evaluiert, aber von dem, was > ich im Datenblatt gesehen habe, unterscheidet der sich vom 003 nur > marginal. Er ist wohl bei mehr als 24 MHz Taktfrequenz langsamer als der 003, da das ROM dann immer mit Waitstates angesteuert wird. Interessanter ist der Unterschied bei der Peripherie - 12- statt 10-Bit-ADC, höhere Samplerae, Touch-Controller und LIN-Schnittstelle. Oh, und etwas nach unten erweiterter Versorgungsspannungsbereich, bereits ab 2.0 V kann das Ding genutzt werden. Könnte für batterieversorgte Anwendungen lohnend sein. Und es gibt noch den CH32V006, den aber nicht mehr im SO-8. Wenn man sich übrigens mit USB beschäftigen will, ist der CH32X035 ein interessanter Kandidat, der enthält ein USB-Device-Interface und "spricht" USB PD. Stefan Wagner (wagiminator) hat damit zwei Projekte veröffentlicht.
Harald K. schrieb: > Er ist wohl bei mehr als 24 MHz Taktfrequenz langsamer als der 003, da > das ROM dann immer mit Waitstates angesteuert wird. > > Interessanter ist der Unterschied bei der Peripherie - 12- statt > 10-Bit-ADC, höhere Samplerae Den Thread hier im Forum habe ich gelesen und ich bin gespannt, wenn ich den in der Mache haben werde. Momentan bin ich wirklich noch mit dem 003 und parallel hierzu mit einem STM32F4 beschäftigt (Spiele). Viele Projekte verderben den Brei und ich glaube ich verballere schon jetzt "zu" viel Zeit mit den schwarzen Käferlein
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

