13.1.13. Atualizações de firmware e recuperação#

O IDE é também o gestor de firmware da câmara. Cada versão do IDE inclui a versão de firmware correspondente para todas as placas, a verificação de versão é executada automaticamente ao ligar, e os carregadores para o bootloader de cada família de placas estão integrados – o IDE deteta a placa e usa o protocolo correto sem necessidade de configuração. Manter uma câmara atualizada não requer mais do que ligá-la e aceitar o aviso.

13.1.13.1. Atualização#

Quando ao ligar é encontrada uma câmara com firmware mais antigo do que a versão incluída, a ligação é concluída e depois é oferecida a atualização (pode ignorar o aviso permanentemente). Aceite-a e o IDE reinicia a câmara para o seu bootloader, programa o novo firmware e volta a ligar. As duas caixas de verificação do diálogo de atualização – apagar o sistema de ficheiros flash interno e redefinir o sistema de ficheiros ROM – começam desmarcadas e memorizam a sua última escolha; com ambas desativadas, uma atualização preserva tudo o que está armazenado na câmara. A exceção é a atualização a partir de firmware muito antigo, onde o diálogo força a ativação do apagamento e avisa com um alerta. A mesma verificação é executada a pedido a partir da entrada de versão de firmware na barra de estado.

Entre versões, Ferramentas → Install the Latest Development Release obtém e instala a build de desenvolvimento atual para a placa ligada – a forma de obter uma correção ou uma nova funcionalidade que foi integrada mas ainda não foi lançada. As builds de desenvolvimento são exatamente isso; as câmaras em produção devem seguir as versões oficiais. Uma placa proveniente de um repositório de terceiros obtém tanto as suas versões como as suas builds de desenvolvimento dos canais do próprio fornecedor.

Independentemente do firmware, o IDE verifica no arranque se há recursos atualizados – exemplos, firmware incluído, documentação – disponíveis para o próprio IDE e oferece-se para os instalar. Também informa quando está disponível uma versão mais recente do IDE, com uma ligação para a página de transferência.

13.1.13.2. A carregar firmware personalizado#

Tools → Load Custom Firmware (Ctrl+Shift+L) grava um binário de firmware a partir do disco em vez do lançamento incluído – o caminho de implementação para firmware compilado a partir do código-fonte, com scripts congelados ou uma configuração personalizada incorporada. O diálogo aceita um binário de firmware ou um pacote .zip de saída da compilação de uma placa (o IDE descompacta-o e grava o firmware e o sistema de ficheiros ROM que este contém – ou apenas as imagens do sistema de ficheiros ROM, para um pacote que transporte só essas), além das mesmas caixas de verificação de apagar sistema de ficheiros e repor ROMFS do pedido de atualização. Funciona da mesma forma para uma câmara que já esteja em modo bootloader.

Veja também

Compilar o firmware para compilar esse binário em primeiro lugar.

13.1.13.3. Apagar o sistema de ficheiros#

Ferramentas → Erase Internal FAT File System (Ctrl+Shift+E) reformata o sistema de ficheiros flash interno da câmara, removendo todos os ficheiros armazenados – main.py, bibliotecas, recursos, registos – e recriando o conteúdo predefinido. É a reposição de fábrica do armazenamento da câmara: a correção para um sistema de ficheiros corrompido, e o ponto de partida limpo antes de entregar uma câmara a outra pessoa. O próprio firmware e o sistema de ficheiros ROM não são afetados.

13.1.13.4. Recuperação de uma câmara bloqueada#

Uma câmara cujo firmware está suficientemente danificado para já não aparecer como porta série ainda pode ser recuperada, porque o bootloader está abaixo do firmware e sobrevive a tudo exceto danos de hardware. Quando ao ligar não é encontrada nenhuma câmara, o IDE pergunta se está ligada uma câmara bloqueada e guia-o pela recuperação: seleciona o tipo de placa, o IDE controla a interface do bootloader da placa e o firmware da versão incluída é instalado. Ferramentas → Force enter OpenMV Cam bootloader executa o passo de reinicialização para o bootloader explicitamente para uma câmara que ainda liga. As placas também têm uma forma por hardware de forçar o bootloader no arranque para os casos mais graves; a página de referência rápida de cada placa descreve o procedimento específico.