7.5. ROMFS¶
ROMFS adalah filesystem hanya-baca yang dibangun ke dalam kamera pada waktu kompilasi dan dipasang di /rom/. Blok file berada di flash dan dipetakan ke dalam ruang alamat, sehingga membuka file di sana mengekspos byte-nya langsung dari flash tanpa salinan RAM. Model, file label, dan Haar cascade adalah konten yang umum.
7.5.1. Mengapa model berada di sini¶
Ada dua alasan. Pertama adalah pertimbangan RAM yang telah disebutkan: model pada /rom/ dibaca langsung dari flash dan tidak memerlukan RAM di luar tensor arena-nya, sedangkan model pada /sdcard/ disalin ke dalam RAM saat dimuat dan memerlukan biaya ukuran file di atas arena. Pada kamera yang lebih kecil, perbedaan tersebut seringkali menentukan apakah model muat atau tidak.
Alasan kedua adalah NPU. NPU pada N6 dan Ethos-U pada AE3 mengharapkan bobot mereka di wilayah yang dapat dialamatkan memori dengan penyelarasan yang tepat, dan perangkat build yang mengkompilasi model untuk akselerator tersebut (STEdgeAI untuk NPU N6, Vela untuk Ethos-U AE3) menempatkan hasilnya di ROMFS dengan tata letak tersebut. Model yang dimuat dari /sdcard/ mendarat di heap RAM, yang baik untuk jalur CPU yang digunakan H7 dan RT1062, tetapi melepaskan jalur NPU langsung-dari-flash yang dirancang untuk kamera yang lebih cepat.
7.5.2. Filesystem MicroPython yang normal¶
Saat runtime, ROMFS berperilaku seperti filesystem MicroPython yang terpasang lainnya: os.listdir() menghitung /rom/, builtins.open() membuka file di dalamnya, dan path di bawahnya diteruskan ke API mana pun yang menerima path. Satu-satunya batasan adalah skrip tidak dapat menulis ke dalamnya -- partisi ini hanya-baca saat runtime.
IDE dapat mengedit ROMFS. IDE mengekspos konten partisi di browser filenya dan mendukung penambahan, penghapusan, dan penggantian file di sana dengan cara yang sama seperti untuk kartu SD. Penggunaan yang dimaksudkan adalah untuk menambahkan model kustom, file label, skrip pembantu, atau sumber daya lain yang perlu dikirimkan bersama kamera. Apa pun yang dijatuhkan ke /rom/ melalui IDE mendapatkan penyimpanan langsung-dari-flash yang dapat diakses NPU sama seperti yang dimiliki model yang sudah dimuat sebelumnya.