Atualizar firmware
Tutorial em vídeo 5 - Atualizar firmware: https://singtown.com/learn/49997/
Tutorial em vídeo 41 - Nova gravação de firmware DFU: https://singtown.com/learn/50903/
O projeto OpenMV está em constante atualização, e os utilizadores podem atualizar o firmware para se manterem atualizados.\ Cada atualização corrige bugs e adiciona novas funcionalidades.
Há duas formas de atualizar o firmware. Uma é a função incorporada na IDE, que usa o bootloader para atualizar o firmware — chamamos-lhe atualização normal. A outra é a atualização via dfu, que usa a função de atualização de firmware do chip STM.
Use primeiro a atualização normal. Se não funcionar, ou se for um chip novo, pode usar o programa de gravação DFU.
Atualização normal
A IDE do OpenMV tem uma função de atualização de firmware, muito fácil de usar. Use esta primeiro (Windows, MacOS, Ubuntu — universal).

Se o seu firmware não for a versão mais recente, aparecerá [out of date - click here to upgrade] abaixo na IDE, como mostrado acima. Clique aqui, e uma caixa de diálogo aparecerá: Deseja atualizar para o firmware mais recente?

Selecione OK

Se quiser apagar o sistema de ficheiros, selecione Sim; se quiser manter o ficheiro, selecione Não.


Este processo demora cerca de 1 minuto, e a luz do OpenMV vai piscar.\ Por fim, será apresentada a mensagem: Atualização bem-sucedida.

Depois disso, o OpenMV estará atualizado para a versão mais recente.
Atualização DFUSE (descontinuada)
Use primeiro a atualização normal. O software DFUSE tem pouca compatibilidade.
O modo DFU é um bootloader exclusivo do chip STM. Este método de atualização é adequado para OpenMV que ainda não teve firmware gravado, ou OpenMV cujo firmware foi gravado incorretamente.
A atualização DFU não precisa de um depurador, apenas um cabo DuPont e um cabo USB.
Passo 1, instalar o software
Software de gravação: o DFUSE está integrado na IDE do OpenMV

Faça duplo clique para abrir.
Passo 2, descarregar o firmware mais recente
Da mesma forma, o firmware mais recente está integrado na IDE.

Passo 3, entrar no modo DFU
Ligue o pino Boot e o pino RST com um cabo DuPont.

Entra em modo DFU, e um dispositivo DFU vai aparecer no gestor de dispositivos.

Se o driver não for instalado automaticamente, pode encontrar o ficheiro do driver no caminho de instalação do software DfuSe e instalá-lo.

Passo 4, gravar o firmware
Abra o software, clique em Choose para selecionar openmv.dfu (não selecione o Choose à esquerda).

Preste atenção à diferença entre o firmware do OpenMV2 e do OpenMV3. Se estiver a usar a placa OpenMV3 M7, selecione o firmware do OpenMV3; se estiver a usar a placa OpenMV2 M4, selecione o firmware do OpenMV2.




Assim, o upload foi bem-sucedido. Desligue o cabo Dupont, depois volte a ligar o cabo USB, e tente executar a IDE!
Atualização DFU no MacOS
O MacOS também pode ser atualizado da forma normal; dê prioridade à atualização normal.
O modo DFU é um bootloader exclusivo do chip STM. Este método de atualização é adequado para OpenMV que ainda não teve firmware gravado, ou OpenMV cujo firmware foi gravado incorretamente.
Não foi encontrado nenhum programa com interface gráfica no Linux e MacOS, apenas os de linha de comandos.
Instalar o software:
brew install dfu-util
Descarregar o firmware
Download oficial do firmware: https://github.com/openmv/openmv/releases
Download do servidor na China:http://openmv.cc/downloads/
E descompacte o firmware no diretório atual:
ls\ openmv.dfu
Entrar no modo DFU
Primeiro verifique:
>> sudo dfu-util -l
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Deducing device DFU version from functional descriptor length
Found Runtime: [05ac:828f] ver=0131, devnum=4, cfg=1, intf=3, path="20-3", alt=0, name="UNKNOWN", serial="UNKNOWN"
Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-2", alt=3, name="@Device Feature/0xFFFF0000/01*004 e", serial="348633623235"
Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-2", alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e", serial="348633623235"
Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-2", alt=1, name="@Option Bytes /0x1FFFC000/01*016 e/0x1FFEC000/01*016 e", serial="348633623235"
Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-2", alt=0, name="@Internal Flash /0x08000000/04*016Kg,01*064Kg,07*128Kg,04*016Kg,01*064Kg,07*128Kg", serial="348633623235"
Isto significa que entrou em modo DFU.
Gravar o firmware
sudo dfu-util --alt 0 -D openmv.dfu
Se estiver normal, vai mostrar:
image for alternate setting 0, (2 elements, total size = 1008036)
parsing element 1, address = 0x08000000, size = 65536
Download [=========================] 100% 65536 bytes
Download done.
parsing element 2, address = 0x08010000, size = 942484
Download [=========================] 100% 942484 bytes
Download done.
done parsing DfuSe file
Isto conclui com sucesso a atualização do firmware\ Referência: https://github.com/openmv/openmv/wiki/Using-DFU-to-update-your-firmware