Après avoir commandé un kit de développement CH32V003 sur Tindie, voici qu’il m’arrive par courrier (avec taxes douanière) ce matin dans ma boite aux lettres.
D’après ce que j’ai compris, il est nécessaire d’avoir la sonde de debug en plus pour pouvoir la programmer. Il va donc falloir que j’attende le deuxième colis pour pouvoir réellement jouer avec.
Ça ne nous empêche pas de la brancher.
Le kit semble fonctionner, les LED s’allument. Cependant nous n’avons rien sur la console Linux, ce qui n’est pas étonnant vu que les deux résistance de shunt de l’USB ne sont pas soudées 😉
Prise en main
WCH propose un logiciel chinois nommée MounRiver pour développer sur son composant. Le logiciel semble accessible en téléchargement au format d’archive xz. On le décompresse avec tar -Jxvf puis on installe les dépendances (Mint) suivante:
$ sudo apt install libgtk-3-0 libgtk-3-dev
$ rulo apt-get install ia32-libs-gtk
$ sudo apt install libatk-wrapper-java libatk-wrapper-java-jni
Langage du code : JavaScript (javascript)
Pour le lancer il suffit d’executer le «script d’installation» une première fois puis de lancer le binaire :
$ tar -Jxvf /home/fabien/projets/ch32v003/downloads/MounRiver_Studio_Community_Linux_x86_V130.tar.xz
$ cd MounRiver_Studio_Community_Linux_x86_V130/beforeinstall
$ ./start.sh
Copy Libs
[sudo] Mot de passe de user :
Register new Libs
copy rules
Reload rules
DONE
$ cd ../MRS_Community/
$ ./MounRiver\ Studio_Community
Langage du code : JavaScript (javascript)
Téléchargement du firmware
Pour le moment j’en suis à tenter de télécharger le firmware d’exemple (GPIO_Toggle) dans le micro.
Toolchain «standalone»
La toolchain quand à elle est proposée en téléchargement sur le site du même éditeur.
Pour l’utiliser il suffit de télécharger l’archive MRS_Toolchain_Linux_x64_V1.60.tar.xz et de la décompresser :
$ tar -Jxvf MRS_Toolchain_Linux_x64_V1.60.tar.xz
Un README explique la marche à suivre pour l’installer.
Les tentatives d’accès au micro avec openocd ne sont pas beaucoup plus fructueuses :
$ cd MRS_Toolchain_Linux_x64_V1.60/OpenOCD/bin
$ ./openocd -f wch-riscv.cfg
Open On-Chip Debugger 0.11.0+dev-02215-gcc0ecfb6d-dirty (2022-10-10-10:35)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
Ready for Remote Connections
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : WCH-LinkE-CH32V307 mod:RV version 2.7
Error: WCH-Link failed to connect with riscvchip
Error: 1.Make sure the two-line debug interface has been opened. If not, set board to boot mode then use ISP tool to open it
Error: 2.Please check your physical link connection
Langage du code : JavaScript (javascript)
Ressources
- les datasheets et code source du micro
- La version «pas donnée» sur tindie
- Pour l’avoir à moins cher sur aliexpress
- Une note de blog complète sur le composant
- Le schéma du kit de développement
- Un tutoriel en chinois pour bien commencer avec le kit
- Le firmware de la sonde LinkE
- Le forum (bbs) du constructeur.
- Le guide utilisateur de la sonde WCH-LinkE-R0-1V2 (en chinois par contre)
- Une discussion sur le forum officiel WCH pour essayer de faire fonctionner le bouzin.
- WCHISPTool en rust !
- Template de projet CH32V003 sur github
Hola, he leído tu hilo en el foro de wch. Todavía no tengo mi kit de AliExpress, pero he visto en el manual del eval kit (CH32V003EVT.ZIP), que hay una sección al final del documento, que dice que para poder borrar la flash, el programador WCH-LinkE debe de controlar Vcc o bien la línea de Reset. De todas formas, si la línea de Reset está deshabilitada en la flash (porque se usa como GPIO), entonces sólo queda probar a que WCH-LinkE apague y encienda el MCU. Por ello el microcontrolador ha de alimentarse a través del programador, y en uno de los menús del software « WCH-LinkUtility » debería seleccionar « Clear All-User Flash by Power Off ».
Ojalá puedas avanzar con este microcontrolador. Un saludo desde España.
Thanks Sacodepatatas, I will re-try this when I have an access to W$ computer.
Glad to see other user of this kit 🙂
Hi Sacodepatatas,
I just tryied to clear All-User Flash without success :
Blue led is blinking on LinkE adapt and red led is blinking fast on devkit, but seems to fail according to message :
12:29:50:756>> Failed,the chip type is not matched or status of chip is wrong!
12:29:58:127>> Begin to clear all code flash…
12:30:01:657>> Failed!
🙁
I made a flash tool https://github.com/ch32-rs/wlink
Written in Rust, great !
Hello, I just found the solution:
1. Remove one of the power pin (VCC or GND).
2. Use the method of « Clear All-User Flash by Power Off » metioned by Sacodepatatas.
3. When the blue LED started to blink, plug the power pin back immediately.
Hope this helps
Thanks for the tips. I will test it when I find some time.