14.1.1.4. Instalação do firmware#

Depois de ter um firmware.bin (e o respetivo romfs<n>.img) proveniente de Compilar o firmware, programe-o na câmara. O OpenMV IDE é o método recomendado; o procedimento por linha de comandos difere consoante a família de câmaras e está documentado por família nas páginas indicadas no final. O próprio bootloader é restaurado separadamente – consulte Restaurar o bootloader.

14.1.1.4.2. Windows: instalar os controladores USB#

O Windows não possui controladores nativos para as interfaces USB DFU, SDP e ISP da câmara, pelo que as ferramentas de linha de comandos (dfu-util, as ferramentas NXP SPSDK, as Alif SE Tools) não conseguem detetar o dispositivo enquanto um controlador WinUSB não estiver associado. O instalador do OpenMV IDE para Windows instala todos estes controladores, por isso a abordagem mais simples é instalar o OpenMV IDE uma vez – após o qual tanto o IDE como as ferramentas de linha de comandos funcionam. É por isso que a instalação via GUI funciona numa máquina Windows nova, ao contrário de um dfu-util isolado.

Se a instalação do IDE não for uma opção, execute o instalador de controladores correspondente a partir do diretório share/qtcreator/drivers/ do OpenMV IDE como Administrador:

Instalador de controlador

Dispositivos USB que associa

openmv\openmv.cmd

Dispositivos OpenMV DFU e as interfaces SPSDK do RT1062 (0x1FC9:0x0135 SDP ROM e 0x15A2:0x0073 flashloader)

arduino\arduino.cmd

Dispositivos Arduino DFU (2341:03xx)

ftdi\ftdi.cmd

O adaptador FTDI 0403:6015 utilizado para recuperação do bootloader do AE3

DFU_Driver\STM32Bootloader.bat

O dispositivo DFU de sistema ST 0483:df11 utilizado para recuperação do bootloader do STM32

Em alternativa, associe WinUSB ao VID:PID específico com o Zadig ou pnputil. Nenhuma instalação de firmware por linha de comandos no Windows funciona sem isto. Linux e macOS não necessitam de instalação de controladores (o Linux requer apenas as regras udev).

14.1.1.4.3. Instalação via SWD (make deploy)#

Se uma sonda de depuração já estiver ligada à câmara – como acontece durante a depuração – o ciclo de edição-build-instalação mais rápido ignora o USB DFU e programa o chip diretamente via SWD. Nas câmaras STM32:

make -j$(nproc) TARGET=<TARGET> deploy

Este procedimento instala o firmware recém-compilado via STM32_Programmer_CLI (do SDK) através da sonda ligada. Não há entrada no bootloader, não há reenumeração USB nem troca de cabos: compile, execute deploy e a câmara reinicia com o novo código. Este é o fluxo de trabalho recomendado durante o desenvolvimento ativo de firmware. Utilize DFU ou o OpenMV IDE quando instalar sem sonda ou quando distribuir firmware para outros.

14.1.1.4.4. Entrar no modo bootloader / DFU#

A instalação do firmware requer que a câmara esteja no modo bootloader / DFU. Há três formas de entrar:

  • Na ligação (qualquer câmara). Todas as câmaras executam o bootloader durante uma breve janela ao ligar, antes do firmware iniciar – ligue a câmara por USB e o bootloader fica brevemente à escuta.

  • A partir do IDE (qualquer câmara). Com a câmara ligada, Tools -> Force enter OpenMV Cam bootloader reinicia-a em modo bootloader.

  • Botão de reset Arduino. Nas placas Arduino, clique duas vezes no botão de reset para entrar em modo bootloader.

14.1.1.4.5. Instalação por linha de comandos por família de câmaras#

As páginas abaixo mostram o que o OpenMV IDE faz internamente para cada família de câmaras, para quando pretende executar a instalação do firmware por conta própria – em scripts, em CI ou numa linha de produção. Para instalações do dia-a-dia, recomendamos o OpenMV IDE.