romfs — допоміжні утиліти ROMFS

Модуль romfs надає допоміжні утиліти для перевірки файлової системи лише для читання (ROMFS), яку мікропрограма OpenMV монтує в /rom. Дивіться Робота з ROMFS для повного опису самої файлової системи ROMFS, процесу збирання та розгортання образів, а також базових API vfs.VfsRom / vfs.rom_ioctl().

Цей модуль зосереджений на фізичному розміщенні вже змонтованої ROMFS, а не на семантиці її файлової системи. Оскільки файли байткоду .mpy у ROMFS виконуються безпосередньо з флеш-пам’яті (memory-mapped, без копіювання), MicroPython вимагає вирівнювання корисного навантаження кожного файлу за відповідною межею — зазвичай 4 байти для звичайних файлів .mpy і до 16 байтів, якщо файл містить блоби нативного коду або вирівняні посилання на дані. ls_romfs() повідомляє адресу, розмір і найбільше вирівнювання за степенем двійки для кожного файлу, щоб розгорнутий образ можна було перевірити через REPL перед покладанням на імпорт без копіювання.

Функції

romfs.ls_romfs() None

Перелічує всі файли, наявні в ROMFS, змонтованій у /rom, і виводить діагностичну інформацію про кожен запис у stdout.

Для кожного файлу виводиться наступна інформація:

  • addr: адреса даних файлу в пам’яті, маскована до 28 біт і відформатована як 8-значне шістнадцяткове число.

  • size: розмір файлу в байтах, отриманий з довжини memoryview відкритого файлу.

  • alignment: найбільше вирівнювання за степенем двійки (перевіряється для 128, 64, 32, 16, 8, 4), якому відповідає адреса файлу. Якщо адреса не вирівняна за жодною з цих меж, виводиться NOT aligned.

  • name: ім’я файлу в межах /rom.

Ця функція не приймає аргументів і повертає None.