quinta-feira, junho 15, 2023

O Microcontrolador RISC-V de US$0,10 - Parte 2

Na parte 1 eu falei um pouco sobre os microcontroladores CH32V, uma opção de baixo custo baseada na arquitetura RISC-V. Neste segunda parte vamos ver um pouco como escrever software para eles.


A ferramenta oficial é o MounRiver Studio (sic) . É uma IDE baseada no Eclipse e pode ser baixada gratuitamente de http://www.mounriver.com/. Não me aventurei com ela ainda.

Eu preferi usar a solução que está em https://github.com/cnlohr/ch32v003fun. Enquanto o MounRiver Studio suporta vários modelos da linha CH32V e fornece uma camada de abstração do hardware (HAL), este projeto se concentra no modelo mais simples, o CH32V003, e acessa diretamente os registradores. O projeto inclui headers, exemplos, scripts e ferramentas

Para usar o ch32v003fun é necessário ter instalada a versão do gcc para RISC-V. As instruções para uso do projeto no Windows recomendam baixar o toolchain binário de https://gnutoolchains.com/risc-v/. O  antivirus na minha máquina está bloqueando o download, em função de uma heurística que diz que ele é um trojan (minha experiência é que normalmente as heurísticas geram falsos positivos).

Por preguiça de investigar, resolvi trabalhar no Linux. Neste caso basta um "apt-get" e um "git-clone" para preparar o ambiente:

Reparem que neste ponto já tinha instalado

Para testar, gerei o exemplo blink:


Um detalhe é que o dispositivo USB de programação inicialmente está acessível somente ao root. Para contornar isso, rodei o make com o sudo. Na documentação do ch32v003fun tem as instruções para configurar o sistema para não precisar do sudo.

Falando no dispositivo de programação, a conexão à plaquinha com o microcontrolador requer apenas três fios:


Com tudo funcionando, adaptei um exemplo de conexão via I2C a um display OLED para apresentar a figura que está no começo do post.

O próximo passo é definir algum projeto e escrever um pouco mais de código. Quando concluir eu faço mais post nesta série.

Nenhum comentário: