Utilizando PCB STM32F4XX (STM32F407ZGT6) como hospedeiro do firmware https://github.com/hydrabus/hydrafw/releases/tag/v0.9-beta (última versão disponível neste momento).
Atençâo: Conteúdo meramente educacional. Siga este este tutorial por conta e risco. Não há qualquer suporte.
PCB STM32F4XX (STM32F407ZGT6): https://pt.aliexpress.com/item/4000088929750.html
Analisador lógico: https://pt.aliexpress.com/item/4000364877295.html
- Faça download de última release: https://github.com/hydrabus/hydrafw/releases/latest
- Extraia o arquivo .zip
- Faça os dois jumpers "pino BOOT0 conectado ao pino 3V3" e o "pino BOOT1 conectado ao GND" com mostrado na figura abaixo. Isto irá habilitar o USB DFU para upload do firmware do Hydrabus.
- Conecte o conector MiniUSB na placa e USB ao PC.
- Execute o arquivo "update_fw_usb_dfu_hydrafw.bat" do arquivo descompactado.
- Aguarde a subida do firmware.
- Pronto sua placa já está com o novo firmware.
Acesse o link abaixo e veja os comandos disponíveis:
https://github.com/hydrabus/hydrafw/wiki/HydraFW-console-commands
Os comandos são similares ao do Pirate Bus http://dangerousprototypes.com/docs/Bus_Pirate.
Abaixo segue pinout da placa STM32F4XX (STM32F407ZGT6):
Para os testes você irá precisar de um analisador lógico como este abaixo:
https://pt.aliexpress.com/item/4000364877295.html
Faça o download da última release do programa PulseView de acordo com o seu Sistema Operacional:
https://sigrok.org/wiki/Downloads
- Abaixe o programa putty https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- Execute o programa putty com
- Conecte o conector MiniUSB na placa e USB ao PC.
- Execute no terminal
$ sudo screen /dev/ttyACM0
- Caso deseje você pode conectar de outras formas:
Acesse o link https://www.cyberciti.biz/hardware/5-linux-unix-commands-for-connecting-to-the-serial-console/ para encontra a maneira que mais lhe agrada.
> help
Available commands
help Available commands
history Command history
clear Clear screen
show Show information
logging Turn logging on or off
sd SD card management
adc Read analog values
dac Write analog values
pwm Write PWM
frequency Read frequency
gpio Get or set GPIO pins
spi SPI mode
i2c I2C mode
1-wire 1-wire mode
2-wire 2-wire mode
3-wire 3-wire mode
uart UART mode
nfc NFC mode
can CAN mode
sump SUMP mode
jtag JTAG mode
random Random number
flash NAND flash mode
wiegand Wiegand mode
lin LIN mode
debug Debug mode
> uart
Device: UART1
Speed: 9600 bps
Parity: none
Stop bits: 1
Plugue o analisador lógico na MiniUSB e os canais CH1 e CH2 nos terminais PA9 e PA10 respectivamente.
Antes de digitar o próximo comando vá até o PulseView e mude o sample para "500 M samples" e 25 kHz. Com isto você terá tempo capturar os dados vindos da placa.
Do lado do sample mude o protocolo para UART. Uma nova linha será apresentada no programa.
Clique na tag UART no canto esquerdo da tela
No programa PulseView aperte a barra de espaço para começar a monitorar os canais.
Rapidamente mude para o terminal e execute o comando dentro do terminal do HydraFW:
uart1> Hello
Volte para a tela do PulseView e veja a captura da palavra "Hello".
Para os demais protocolos siga a configuração realizada no print screen abaixo. Do lado esquerdo está a configuração utilizada pelo PulseView e do lado direito a do HydraFW. Para qualquer dúvida sobre os possíveis comandos https://github.com/hydrabus/hydrafw/wiki/HydraFW-console-commands
A fazer
- Testar subida do firmware para STM32F4XX
- Criar imagem com a pinagem da placa
- Navegar pela lista do comandos
- Testar pinagem para os modos UART1 e UART2
- Testar pinagem para modo SPI e SPI2
- Testar pinagem para modo I2C
- Translate to English. Brazil First! : )