13.1.14. 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.14.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. Pliki przeciągnięte z menedżera plików przechodzą te same konwersje, do folderu, na który je upuścisz – lub do katalogu głównego, gdy upuścisz je na puste miejsce.

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.
Odczyt i zapis ROMFS kamery odbywa się przez jej bootloader, z oknem postępu, które można anulować. Anulowanie odczytu po prostu go porzuca; anulowanie zapisu pozostawia ROMFS częściowo zapisany, więc uruchom Reset ROMFS lub zatwierdź ponownie, zanim na nim polegniesz. W obu przypadkach IDE prosi bootloader o ponowne uruchomienie kamery i czeka, aż wróci – a jeśli kamera zamiast tego pozostanie w trybie bootloadera, informuje o tym, a okno bootloadera przy następnym połączeniu oferuje te same akcje resetowania i edycji.
Zobacz także
Budowanie obrazu ROMFS opisuje rolę ROMFS w dostarczaniu aplikacji – co tam umieścić i jak kamera odczytuje to w czasie wykonywania.