CH32V003 RISC-V MCU obtient une carte de développement de 1,5 $, une chaîne d’outils GCC open source et un utilitaire de flash

CH32V003 RISC-V MCU obtient une carte de développement de 1,5 $, une chaîne d'outils GCC open source et un utilitaire de flash

Lorsque nous avons écrit pour la première fois sur le MCU CH32V003 RISC-V à 10 cents, il était proposé dans une carte de développement à 7 $ et l’IDE MounRiver Studio à source fermée devait être utilisé pour la programmation. Mais les choses se sont améliorées depuis octobre 2022, et maintenant, vous pouvez acheter une carte CH32V003 pour aussi peu que 1,5 $ plus les frais d’expédition, et une chaîne d’outils GCC open source et un flasher/téléchargeur sont désormais disponibles.

Voyons d’abord le matériel avec la carte de développement nanoCH32V003 à faible coût comprenant un microcontrôleur CH32V003 RISC-V à 48 MHz avec 2 Ko de SRAM et 16 Ko de mémoire flash, un port USB Type-C pour l’alimentation, un bouton de réinitialisation et deux rangées d’en-têtes pour les GPIO.

Carte de développement CH32V003 RISC-V bon marchéSpécifications MuseLab nanoCH32V003 :

  • MCU – WCH CH32V003F4U6 Microcontrôleur RISC-V2A 32 bits jusqu’à 48 MHz avec 2 Ko de SRAM, 16 Ko de mémoire flash (package QFN20)
  • Extension – 2x en-têtes à 11 broches avec jusqu’à 18x GPIO, 1x USART, 1x I2C, 1x SPI, CAN 10 bits à 8 canaux, 5V, 3,3V, GND
  • Débogage – Interface de débogage série à 1 fil à 3 broches pour connecter le débogueur WCHLink-E
  • Divers – Oscillateur à cristal 24 MHz, bouton de réinitialisation et LED
  • Alimentation – 5V via le port USB-C
  • Dimensions – à déterminer

Carte de développement nanoCH32V003 Débogueur WCHLink ELa carte nécessite le débogueur WCHLink-E illustré à droite ci-dessus pour la programmation et le débogage. MuseLab fournit des schémas PDF, des binaires de démonstration, des outils et de la documentation sur GitHub. Deux méthodes de développement sont disponibles : l’IDE MounRiver Studio habituel et WCH-LinkUtility pour le téléchargeur/débogueur WCH-LinkE, et une chaîne d’outils open source basée sur GCC nommée xPack RISC-V Embedded GCC ainsi que des exemples qui peuvent être compilés avec make :

git clone https://github.com/wuxx/CH32V003-makefile-example

cd CH32V003-makefile-exemple

faire

Mais vous devrez toujours utiliser les programmes WCH-LinkUtility pour flasher le binaire résultant sur la carte via le débogueur WCHLink-E.

À moins que vous ne comptiez sur le travail de CNLohr, car il a joué avec le MCU CH32V003 pour créer les échantillons Makefile compilés avec la chaîne d’outils gcc-riscv64 et l’utilitaire open source minichlink pour flasher le programme sur la carte. Il peut être essayé avec l’échantillon de clignotement comme suit :

sudo apt-get install build-essential libnewlib-dev gcc-riscv64-unknown-elf libusb-1.0-0-dev

cd clignote

faire

Cela échoue pour moi car la commande make va non seulement compiler l’échantillon, mais aussi flasher le fichier hexadécimal sur la carte, et je n’ai pas la carte ni le débogueur WCHLink-E attachés à mon ordinateur :

jaufranc@cnx-laptop-4:~/edev/sandbox/ch32v003fun/blink$ make

riscv64-unknown-elf-gcc -o blink.elf blink.c ../ch32v003evt/startup_ch32v00x.S ../ch32v003evt/embedlibc.c -g -Os -flto -ffunction-sections -static-libgcc -lgcc -march= rv32ec -mabi=ilp32e -I/usr/include/newlib -I../ch32v003evt -nostdlib -I. -T ../ch32v003evt/ch32v003.ld -Wl,–gc-sections

riscv64-taille-elfe-inconnue blink.elf

données texte bss dec nom de fichier hexadécimal

596 0 256 852 354 clignote.elf

riscv64-unknown-elf-objdump -S blink.elf > blink.lst

riscv64-unknown-elf-objdump -t blink.elf > blink.map

riscv64-unknown-elf-objcopy -O binaire blink.elf blink.bin

riscv64-unknown-elf-objcopy -O ihex cligne.elf cligne.hex

faire -C ../minichlink tout

faire[1]: Entrer dans le répertoire ‘/home/jaufranc/edev/sandbox/ch32v003fun/minichlink’

faire[1]: Rien à faire pour ‘tous’.

faire[1]: Sortie du répertoire ‘/home/jaufranc/edev/sandbox/ch32v003fun/minichlink’

../minichlink/minichlink -w blink.bin -r

Erreur : impossible de trouver quel périphérique de liaison

faire: *** [Makefile:37: flash] Erreur 247

La chaîne d’outils et l’utilitaire peuvent être utilisés sous Windows, Linux et/ou WSL, mais le programme minichlink nécessite encore du travail car il ignore actuellement tous les codes de réponse, sauf lors de l’interrogation de la puce.

Vous pouvez acheter le nanoCH32V003 pour 1,5 $ sur Aliexpress. Mais ce prix n’inclut pas l’expédition (3,78 $ ici), et vous pouvez acheter un pack de dix pour 15 $ à la place puisque les frais d’expédition sont les mêmes. Vous pouvez également obtenir un WCHLinkE fourni dans un lot de 6,5 $ avec le nanoCH32V003 car il est nécessaire pour programmer la carte.

Via LinuxGizmos et merci à Zoobab et Jon pour les conseils.

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

YouTube video

  • Fpreeza WCH LinkE CH32V003 EVT MCU Débogueur de téléchargement RISC-V Architecture MCU/SWD Interface ARM Chip 1 port série vers canal USB
  • Carte de développement CH32V003, carte système minimale, carte de base RISC-V, module microcontrôleur CH32V003F4P6