13.1.12. Edycja systemu plików ROM

Płytki z obsługą ROMFS przechowują w pamięci flash system plików tylko do odczytu, zamontowany na kamerze pod /rom. Jest on dostarczany z domyślnymi modelami uczenia maszynowego płytki i to właśnie tam powinny trafiać modele oraz zasoby produktu: pliki w ROMFS są mapowane w pamięci bezpośrednio z pamięci flash, dzięki czemu duży model ładuje się bez zużywania RAM na kopię. Edytorem do tego celu jest podmenu Tools → ROM File System w IDE.

13.1.12.1. Edytor

Edit ROMFS on OpenMV Cam odczytuje ROMFS podłączonej kamery i otwiera go w edytorze: drzewo plików wraz z przyciskami do dodawania plików, tworzenia folderów, usuwania i wyodrębniania wpisów oraz pobrania modelu wprost z zoo modeli. Odczyt zużycia śledzi, jaką część partycji ROMFS płytki zajmuje zawartość. Nic nie zmienia się na kamerze, dopóki nie naciśniesz Commit, które pyta, czy zapisać wynik z powrotem na kamerze, czy zapisać go do pliku .img na dysku.

Podczas dodawania plików automatycznie zachodzą dwie konwersje. Skrypt .py jest kompilowany krzyżowo do bajtkodu .mpy dla docelowej płytki, a plik modelu jest konwertowany pod akcelerator NPU płytki, gdy płytka go ma, a model tego wymaga. To, co trafia do ROMFS, to zawsze postać, którą kamera wykonuje bezpośrednio.

Okno dialogowe Edit ROMFS: drzewo plików modeli i etykiet, odczyt zużycia oraz przyciski Commit, Model Zoo, Add File, New Folder, Delete i Extract File

Okno dialogowe Edit ROMFS pokazujące domyślną zawartość płytki – jej modele uczenia maszynowego – z odczytem zużycia w prawym dolnym rogu.

Open ROMFS File uruchamia ten sam edytor na pliku obrazu .img na dysku zamiast na podłączonej kamerze, a New ROMFS File rozpoczyna z pustym – tak czy inaczej, to droga do przygotowania obrazu ROMFS offline, do wgrania w produkcji lub dostarczenia wraz z niestandardową kompilacją oprogramowania układowego. Reset ROMFS on OpenMV Cam przywraca ROMFS podłączonej kamery do domyślnych wartości płytki, cofając wszystkie zmiany.

Zobacz także

Budowanie obrazu ROMFS opisuje rolę ROMFS w dostarczaniu aplikacji – co tam umieścić i jak kamera odczytuje to w czasie wykonywania.