Poodle Toy: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
| (2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 3: | Linha 3: | ||
== Programando == | == Programando == | ||
A programação do Poodle Toy é realizada por meio do bootloader | A programação do Poodle Toy é realizada por meio do bootloader [https://github.com/caninos-loucos/mcuboot-puppy mcuboot] , que deve ser previamente gravado na memória da placa com um ESP32 ou um gravador de BIOS CH340A. | ||
=== Método Manual=== | === Método Manual=== | ||
Para programar manualmente a Poodle Toy usando a plataforma Arduino, é necessário compilar o core manualmente a partir do código-fonte localizado no repositório [github.com/caninos-loucos/ArduinoCore-zephyr ArduinoCore-zephyr]. A compilação pode ser feita tanto no Linux quanto em MacOS, mas não foi testada em Windows. Faremos os seguintes comandos, a partir de uma pasta de sua escolha que denominaremos de <code>DIR</code> | Para programar manualmente a Poodle Toy usando a plataforma Arduino, é necessário compilar o core manualmente a partir do código-fonte localizado no repositório [https://github.com/caninos-loucos/ArduinoCore-zephyr ArduinoCore-zephyr] . A compilação pode ser feita tanto no Linux quanto em MacOS, mas não foi testada em Windows. Faremos os seguintes comandos, a partir de uma pasta de sua escolha que denominaremos de <code>DIR</code> | ||
<pre> | <pre> | ||
mkdir arduino-puppy | mkdir arduino-puppy | ||
cd arduino-puppy | cd arduino-puppy | ||
git clone https://github.com/caninos-loucos/ArduinoCore-zephyr | git clone https://github.com/caninos-loucos/ArduinoCore-zephyr | ||
cd ArduinoCore-zephyr | cd ArduinoCore-zephyr | ||
extra/boostrap.sh | extra/boostrap.sh | ||
extra/build.sh poodle-toy-v1 | extra/build.sh poodle-toy-v1 | ||
</pre> | </pre> | ||
| Linha 23: | Linha 23: | ||
<pre> | <pre> | ||
cd ~/Arduino | cd ~/Arduino | ||
mkdir -p hardware/arduino-git | mkdir -p hardware/arduino-git | ||
ln -s DIR/arduino-puppy/ArduinoCore-zephyr hardware/arduino-git/zephyr | ln -s DIR/arduino-puppy/ArduinoCore-zephyr hardware/arduino-git/zephyr | ||
</pre> | </pre> | ||
Depois disso, podemos fechar e abrir a IDE e buscar nas placas disponiveis no menu superior e selecionar a Arduino Zephyr Boards (in sketchbook) e selecionar | Depois disso, podemos fechar e abrir a IDE e buscar nas placas disponiveis no menu superior e selecionar a Arduino Zephyr Boards (in sketchbook) e selecionar no menu "Ferramentas->Placa->Arduino Zephyr Boards (BETA)(in sketchbook)->Poodle Toy V1" e compilar o sketch desejado. É necessário exportar os resultados da compilação usando a opção "Sketch->Exportar Binário Compilado". | ||
Depois de exportar o binário, rodaremos um script para transformar o binario em um formato que a Poodle Toy aceita. | Depois de exportar o binário, rodaremos um script para transformar o binario em um formato que a Poodle Toy aceita. | ||
<pre> | <pre> | ||
source [DIR]/arduino-puppy/ArduinoCore-zephyr/venv/bin/activate | source [DIR]/arduino-puppy/ArduinoCore-zephyr/venv/bin/activate | ||
python [DIR]/arduino-puppy/ArduinoCore-zephyr/extra/binary-concatenate.py -a 0x2e000 -s 0x40000 -v0.0.0 -o ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.bin --file1 [DIR]/arduino-puppy/ArduinoCore-zephyr/firmwares/zephyr-poodle --file2 ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto].ino.elf-zsk.bin | python [DIR]/arduino-puppy/ArduinoCore-zephyr/extra/binary-concatenate.py -a 0x2e000 -s 0x40000 -v0.0.0 -o ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.bin --file1 [DIR]/arduino-puppy/ArduinoCore-zephyr/firmwares/zephyr-poodle --file2 ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto].ino.elf-zsk.bin | ||
imgtool -H 0x200 -L 0x1c010000 -S 0x40000 ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.bin -o ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.signed.bin | imgtool -H 0x200 -L 0x1c010000 -S 0x40000 ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.bin -o ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.signed.bin | ||
</pre> | </pre> | ||
| Linha 41: | Linha 41: | ||
<pre> | <pre> | ||
mcumgr upload --conntype=serial --connstring="/dev/ttyUSB0,baud=115200" ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.signed.bin | mcumgr upload --conntype=serial --connstring="/dev/ttyUSB0,baud=115200" ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.signed.bin | ||
</pre> | </pre> | ||
Após o upload ser concluído, aperte o botão de reset novamente e o programa vai se iniciar. Se não der certo, confira se os diretórios e arquivos estão corretos e tente novamente. | Após o upload ser concluído, aperte o botão de reset novamente e o programa vai se iniciar. Se não der certo, confira se os diretórios e arquivos estão corretos e tente novamente. | ||
Edição atual tal como às 19h57min de 5 de março de 2026
A Poodle Toy é uma placa compativel em hardware e software com o Arduino Uno, criada para aplicações de educação e prototipagem.
Programando
A programação do Poodle Toy é realizada por meio do bootloader mcuboot , que deve ser previamente gravado na memória da placa com um ESP32 ou um gravador de BIOS CH340A.
Método Manual
Para programar manualmente a Poodle Toy usando a plataforma Arduino, é necessário compilar o core manualmente a partir do código-fonte localizado no repositório ArduinoCore-zephyr . A compilação pode ser feita tanto no Linux quanto em MacOS, mas não foi testada em Windows. Faremos os seguintes comandos, a partir de uma pasta de sua escolha que denominaremos de DIR
mkdir arduino-puppy cd arduino-puppy git clone https://github.com/caninos-loucos/ArduinoCore-zephyr cd ArduinoCore-zephyr extra/boostrap.sh extra/build.sh poodle-toy-v1
Isto vai gerar tudo que a IDE do Arduino precisa para identificar e compilar um programa para a placa. Depois disso, é necessário instalar a Arduino IDE a partir do site ou do repositório. Para distrubuições baseadas em Debian, o pacote já está disponível pelo APT e pode ser instalado com sudo apt install arduino.
Com a IDE instalada, criaremos um link para ela poder utilizar o nosso core
cd ~/Arduino mkdir -p hardware/arduino-git ln -s DIR/arduino-puppy/ArduinoCore-zephyr hardware/arduino-git/zephyr
Depois disso, podemos fechar e abrir a IDE e buscar nas placas disponiveis no menu superior e selecionar a Arduino Zephyr Boards (in sketchbook) e selecionar no menu "Ferramentas->Placa->Arduino Zephyr Boards (BETA)(in sketchbook)->Poodle Toy V1" e compilar o sketch desejado. É necessário exportar os resultados da compilação usando a opção "Sketch->Exportar Binário Compilado".
Depois de exportar o binário, rodaremos um script para transformar o binario em um formato que a Poodle Toy aceita.
source [DIR]/arduino-puppy/ArduinoCore-zephyr/venv/bin/activate python [DIR]/arduino-puppy/ArduinoCore-zephyr/extra/binary-concatenate.py -a 0x2e000 -s 0x40000 -v0.0.0 -o ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.bin --file1 [DIR]/arduino-puppy/ArduinoCore-zephyr/firmwares/zephyr-poodle --file2 ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto].ino.elf-zsk.bin imgtool -H 0x200 -L 0x1c010000 -S 0x40000 ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.bin -o ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.signed.bin
Por último, aperte o botão de reset na Poodle Toy. O LED vermelho se acenderá por 2 segundos. Enquanto o LED vermelho estiver aceso, entre o comando seguinte para gravá-la.
mcumgr upload --conntype=serial --connstring="/dev/ttyUSB0,baud=115200" ~/Arduino/[Nome do Projeto]/build/arduino-git.zephyr.poodle/[Nome do Projeto]-concatenate.signed.bin
Após o upload ser concluído, aperte o botão de reset novamente e o programa vai se iniciar. Se não der certo, confira se os diretórios e arquivos estão corretos e tente novamente.