romfs — ROMFS yardımcı araçları

romfs modülü, OpenMV aygıt yazılımının /rom konumuna bağladığı salt okunur dosya sistemini (ROMFS) incelemek için yardımcı araçlar sağlar. ROMFS dosya sisteminin kendisinin uçtan uca açıklaması, görüntülerin nasıl oluşturulup dağıtıldığı ve altta yatan vfs.VfsRom / vfs.rom_ioctl() API’leri için ROMFS ile Çalışma bölümüne bakın.

Bu modül, halihazırda bağlanmış bir ROMFS’in dosya sistemi semantiğinden ziyade fiziksel düzenine odaklanır. Bir ROMFS’teki .mpy bayt kodu dosyaları doğrudan flash bellekten çalıştırıldığından (bellek eşlemeli, sıfır kopyalı), MicroPython her dosyanın yükünün yeterli bir sınıra hizalanmasına ihtiyaç duyar – genellikle sade .mpy dosyaları için 4 bayt ve bir dosya yerel kod blobları veya hizalanmış veri referansları içerdiğinde 16 bayta kadar. ls_romfs(), her dosyanın adresini, boyutunu ve en büyük ikinin kuvveti hizalamasını raporlar; böylece dağıtılan bir görüntü, sıfır kopyalı içe aktarmalara güvenmeden önce REPL’den nokta kontrolüyle doğrulanabilir.

Fonksiyonlar

romfs.ls_romfs() None

/rom konumuna bağlanmış ROMFS’te bulunan her dosyayı listeler ve her girdi hakkında tanılama bilgilerini stdout çıktısına yazdırır.

Her dosya için aşağıdaki bilgiler yazdırılır:

  • addr: 28 bite maskelenmiş ve 8 basamaklı onaltılık değer olarak biçimlendirilmiş, dosya verisinin bellek adresi.

  • size: Açık dosyanın bir memoryview uzunluğundan elde edilen, bayt cinsinden dosya boyutu.

  • alignment: Dosyanın adresinin karşıladığı en büyük ikinin kuvveti hizalaması (128, 64, 32, 16, 8, 4 değerlerine karşı kontrol edilir). Adres bu sınırların hiçbirine hizalanmamışsa, bunun yerine NOT aligned yazdırılır.

  • name: /rom içindeki dosya adı.

Bu fonksiyon herhangi bir argüman almaz ve None döndürür.