Pronto para compilar. Clique em "Compilar" ou pressione Ctrl+R para compilar seu código em nuvem.
Compile seu programa para inspecionar as instruções de máquina RISC-V geradas para o processador Puppy.
Pronto para compilar. Clique em "Compilar" ou pressione Ctrl+R para compilar seu código em nuvem.
Compile seu programa para inspecionar as instruções de máquina RISC-V geradas para o processador Puppy.
O Puppy é o microcontrolador aberto de arquitetura RISC-V totalmente desenvolvido e projetado no Brasil por pesquisadores e engenheiros da USP e do LSI-TEC, fabricado em silício e disponível para uso na placa de desenvolvimento PoodleToy.
Placa de padrão e formato similar ao Arduino, equipada com o processador Puppy (núcleo RISC-V CV32E40P a 100 MHz, 320 KB de SRAM, uDMA e acelerador criptográfico por hardware).
Chip fabricado em tecnologia UMC 65 nm, área de 3,6 mm × 1,85 mm e encapsulamento QFN de 56 pinos. Desempenho CoreMark de até 3,4 CoreMark/MHz, superior a microcontroladores comerciais concorrentes.
Escreva seus programas em C nativo ou na API amigável Arduino, compile online em segundos através de nossos servidores em nuvem e baixe o binário para gravar sua PoodleToy ou utilize a comunicação USB Serial integrada!
| Pino Arduino | Pino Puppy | Função | Recurso do Hardware |
|---|---|---|---|
| D0 | GPIO 8 | UART0 TX | Transmissão Serial UART0 com DMA |
| D1 | GPIO 7 | UART0 RX | Recepção Serial UART0 com DMA |
| D2 | GPIO 4 | Digital I/O | Chip Select SPI / Dados Fita RGB |
| D3 | GPIO 9 | PWM / Botão | Canal PWM / Botão de Usuário integrado |
| D4 | GPIO 24 | Digital I/O | GPIO digital de uso geral (3.3V) |
| D5 | GPIO 10 | PWM | Canal PWM de alta precisão |
| D6 | GPIO 11 | PWM | Canal PWM de alta precisão |
| D7 | GPIO 12 | PWM | Canal PWM de alta precisão |
| D8 | GPIO 13 | PWM | Canal PWM de alta precisão |
| D9 | GPIO 14 | PWM | Canal PWM de alta precisão |
| D10 | GPIO 5 | SPI SS | Slave Select para barramento SPI0 |
| D11 | GPIO 0 | SPI MOSI | Master Out Slave In (SPI0 com DMA) |
| D12 | GPIO 1 | SPI MISO | Master In Slave Out (SPI0 com DMA) |
| D13 | GPIO 6 | SPI SCK | Clock do barramento SPI0 |
| D14 | GPIO 26 | I2C SDA | Dados do barramento I2C0 |
| D15 | GPIO 27 | I2C SCL | Clock do barramento I2C0 |
| LED | GPIO 23 | LED_BUILTIN | LED integrado na placa (Ativo em HIGH) |
| Tecnologia de Fabricação | UMC 65 nm (8 Metal Layers) |
|---|---|
| Data de Fabricação do Silício | Setembro / 2024 (Validado em Silício) |
| Dimensões do Die | 3.597,6 µm × 1.857,6 µm (Área compacta) |
| Encapsulamento | QFN com 56 pinos |
| Núcleo de Processamento | RISC-V CV32E40P (OpenHW Group / PULP) |
| Conjunto de Instruções (ISA) | RV32IMCFXpulpv2 (32-bit com extensões matemáticas) |
| Frequência de Operação | Núcleo: 1 a 100 MHz | Periféricos: 1 a 50 MHz |
| Memória SRAM L2 | 320 KB integrada (64 KB privada + 256 KB compartilhada) |
| Memória SPI-Flash Externa | Até 64 MB para código e dados |
| Acelerador Criptográfico HW | Blocos dedicados para AES (128/192/256 bits), SHA-256 e SHA-3 |
| Comunicação & Periféricos | uDMA integrado: 2x UART, 2x SPI, 2x I2C, I2S |
| Desempenho (Benchmark CoreMark) | 3.1 a 3.4 CoreMark/MHz (Superior ao Cortex-M4F e SiFive E21) |
| Projeto e Desenvolvimento | LSI-TEC / USP (Escola Politécnica) - Caninos Loucos |
Você pode gravar a PoodleToy diretamente sem instalar nada! Basta conectar o cabo USB e clicar no botão Gravar Placa na barra superior da IDE.
Clique em Gravar Placa, selecione a porta USB conectada e pressione o botão RESET da placa PoodleToy para iniciar o upload do firmware instantaneamente.
Após clicar em Compilar com sucesso, clique no botão Baixar .BIN para salvar o arquivo em seu computador.
Conecte a porta USB da placa ao seu computador. O sistema reconhecerá uma porta serial (exemplo: /dev/ttyUSB0 no Linux ou COM3 no Windows).
# Gravação direta com Zephyr West:
west flash --domain hello --port /dev/ttyUSB0
# Ou via mcumgr serial flasher:
python3 -m mcumgr --conntype serial --connstring "dev=/dev/ttyUSB0,baud=115200" image upload firmware.bin
Pressione o botão RESET da placa PoodleToy para iniciar o carregamento da imagem de firmware. Após o término da gravação, pressione RESET mais uma vez para inicializar o seu código!
Utilize a aba Monitor Serial Web desta própria IDE para acompanhar os prints enviados via Serial.println() ou printk() a 115200 bps em tempo real no navegador!
Esta ferramenta transfere o firmware compilado diretamente para a memória flash da PoodleToy pela porta USB do navegador, utilizando o protocolo MCUboot SMP nativo do Zephyr RTOS.