13.1.14. Editar o sistema de ficheiros ROM#
As placas com suporte ROMFS têm um sistema de ficheiros de leitura na flash, montado na câmara em /rom. É fornecido com os modelos de machine learning predefinidos da placa, e é o local indicado para os modelos e recursos de um produto: os ficheiros em ROMFS são mapeados em memória diretamente a partir da flash, pelo que um modelo de grandes dimensões carrega sem consumir RAM para uma cópia. O submenu Tools → ROM File System do IDE é o editor para tal.
13.1.14.1. O editor#
Edit ROMFS on OpenMV Cam lê o ROMFS da câmara ligada e abre-o no editor: uma árvore de ficheiros com botões para adicionar ficheiros, criar pastas, eliminar e extrair entradas, e importar um modelo diretamente do model zoo. Um indicador de utilização acompanha quanto da partição ROMFS da placa está ocupado pelo conteúdo. Nada toca na câmara até premir Commit, que pergunta se deve escrever o resultado de volta na câmara ou guardá-lo num ficheiro .img no disco.
Duas conversões ocorrem automaticamente ao adicionar ficheiros. Um script .py é pré-compilado para bytecode .mpy para a placa de destino, e um ficheiro de modelo é convertido para o acelerador NPU da placa quando esta o tem e o modelo necessitar disso. O que fica em ROMFS é sempre a forma que a câmara executa diretamente. Os ficheiros arrastados a partir do seu gestor de ficheiros passam pelas mesmas conversões, para a pasta onde os larga – ou para a raiz quando os larga num espaço vazio.

O diálogo Edit ROMFS a mostrar o conteúdo predefinido de uma placa – os seus modelos de machine learning – com o indicador de utilização no canto inferior direito.#
Open ROMFS File executa o mesmo editor sobre um ficheiro de imagem .img no disco em vez de uma câmara ligada, e New ROMFS File inicia-o vazio – de qualquer forma, o caminho para preparar uma imagem ROMFS offline, para instalação em produção ou distribuição juntamente com uma compilação de firmware personalizada. Reset ROMFS on OpenMV Cam restaura o ROMFS da câmara ligada para as predefinições da placa, desfazendo todas as edições.
A leitura e a escrita do ROMFS da câmara passam pelo seu bootloader, com um diálogo de progresso que pode cancelar. Cancelar uma leitura simplesmente abandona-a; cancelar uma escrita deixa o ROMFS parcialmente escrito, por isso execute Reset ROMFS ou faça commit de novo antes de confiar nele. Em qualquer dos casos, o IDE pede ao bootloader que reinicie a câmara e espera que ela volte – e se, em vez disso, a câmara permanecer em modo bootloader, informa-o, e o diálogo do bootloader na ligação seguinte oferece as mesmas ações de reposição e edição.
Veja também
Criar uma imagem ROMFS para o papel do ROMFS na distribuição de uma aplicação – o que colocar lá, e como a câmara o lê em tempo de execução.