romfs — Вспомогательные утилиты ROMFS

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

Этот модуль сосредоточен на физической компоновке уже смонтированной ROMFS, а не на семантике её файловой системы. Поскольку файлы байт-кода .mpy в ROMFS выполняются непосредственно из флеш-памяти (с отображением в память, без копирования), 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.