En el último año, WCH ha presentado una serie de microcontroladores RISC-V interesantes, ya sabes que los MCUs basados en esta ISA abierta son una gran noticia frente a los ARM, entre otras. Entre ellos se incluyen el microcontrolador RISC-V CH32V003 de “10 centavos” con 2KB de SRAM y 16KB de flash, y el CH32V307 que cuenta con más recursos (hasta 64KB de SRAM y 256KB de flash) y periféricos adicionales.
Hasta ahora, estos microcontroladores se podían programar en lenguaje C utilizando el IDE MounRiver o algunas otras herramientas de código abierto. Sin embargo, WCH ha anunciado recientemente el soporte de Arduino IDE para muchos de estos microcontroladores RISC-V, lo que permitirá a más personas participar y usar el mismo IDE que para Arduino y otras placas de desarrollo.
La biblioteca central para CH32duino funciona con OpenOCD a través del hardware WCH-LINKE para descargar el firmware y depurar los chips WCH. Además, cuenta con una serie de herramientas riscv-none-embed-gcc que admite instrucciones RISC-V personalizadas (extensiones de instrucción de compresión de media palabra y byte, funciones de push/pop de pila de hardware) presentes en el microcontrolador RISC-V de WCH.
Actualmente se admiten los siguientes kits de desarrollo compatibles con Arduino IDE:
- Placa EVT CH32V003F4P
- Placa EVT CH32V203G8U
- Placa EVT CH32X035G8U
- Placa EVT CH32V103R8T6_BLACK
- Placa EVT CH32V307VCT6_BLACK
Todos ellos con E/S para periféricos ADC, DAC, USART, GPIO, EXTI, SysTick, I2C y SPI.
Para poder utilizarlos, necesitarás seguir los siguientes pasos:
- Añadir el siguiente enlace al campo “URLs adicionales de gestores de placas” en el IDE Arduino 2.0: https://github.com/openwch/board_manager_files/raw/main/package_ch32v_index.json
- A continuación, conecta las placas EVT de la MCU CH32 de WCH
- Selecciona una placa RISC-V como la CH32V00x en el menú de Arduino IDE como lo harías con placas Arduino o compatibles
- Y así podrás cargar el código del sketch programado para verlo funcionar.
Y recuerda, Arduino IDE es compatible con Windows, Linux y macOS, aunque puede requerir algunos ajustes específicos para cada sistema operativo.
Más información – Sitio de GitHub del proyecto