Как построить файловую систему SPIFFS и LFS? / местные / spiffs; / местный / lfs

Я собираю NodeMCU из набора инструментов, представленного в документации, и я могу сделать прошивку нормально, но я включил файл в / local / spiffs в качестве теста, но в конце сборки я получил сообщение, что spiffs был не хватило места, и построение было прервано ...

Мне просто интересно, для чего используются / local / spiffs и / local / lfs, если не для создания образа SPIFFS, который создается вместе с двоичными файлами прошивки ...

Если у кого-то также есть подробности о том, как использовать папку LFS, если она вообще используется таким образом, также было бы признательно.

Спасибо заранее за ваше время,


person poorandunlucky    schedule 05.04.2019    source источник


Ответы (1)


Первые SPIFFS

  • Как вы, наверное, догадались, чтобы создать файловую систему spiffs, вам нужно поместить файлы в local / fs. Когда вы это сделаете, основная программа make создаст изображение spiffs и поместит его вместе с двумя файлами * .bin в bin /.

  • Вы также можете создать изображение spiffs вручную, используя

    инструменты / spiffsimage / spiffsimage

  • Что касается размера изображения spiffs, вам нужно иметь место для изображения при сборке nodemcu. Например, при использовании make без параметров в главном каталоге nodemcu-firmware будет предпринята попытка создать образы размером 32 МБ (4 МБ), 8 МБ (1 МБ, например, часто с пометкой esp-01S или чёрным esp-01) и, наконец, 4 МБ ( 512 КБ). Когда один терпит неудачу, процесс прекращается.

  • Вы можете создать флеш-память нужного вам размера, например:

    • FLASHSIZE=32m make <--- will build only the 4MB flash image pieces
    • FLASHSIZE = 8m make ‹--- для черного esp-01 с флэш-памятью 1 МБ.

Теперь для образа LFS

  • При использовании общей make в основном каталоге nodemcu-firmware вам необходимо сначала отредактировать файл app / include / user_config.h и раскомментировать два Команды LFS. Вы должны установить размер в соответствии с вашими потребностями - для меня это обычно означает 64 КБ, поскольку в этом пространстве может храниться много кода lua.

  • Если вы хотите собрать lfs вручную, вам понадобится каталог для размещения ваших файлов. В этом каталоге выполните команду:

    luac.cross -o lfs.img -f * .lua

Это скомпилирует ваши файлы в файл lfs.img.

  • Если вы используете LFS, вам следует просмотреть docs / getting-started.md, который содержит чрезвычайно полезную информацию о начальном наборе файлов для ваших файлов lfs, а также информацию об использовании luac.cross, как показано выше. Вы, конечно, уже просматривали docs / lfs.md.

Рекомендация

Быстрая рекомендация - использовать следующий процесс:

  1. выберите целевой размер флэш-памяти, скажем, 32 МБ (4 МБ)
  2. раскомментируйте строки LFS в app / include / user_config.h и отрегулируйте размер
  3. создайте каталог, скажем local / lfs, и поместите в него начальные файлы lfs.
  4. в local / lfs выполните luac.cross -o lfs.img * .lua
  5. переместите или скопируйте lfs.img в локальный / fs (обратите внимание только на fs), чтобы создать изображение с улучшенными характеристиками.
  6. поместите рекомендованный init.lua в local / fs и внесите в него все необходимые изменения.
  7. наконец, поместите любые другие файлы * .lua или LC (скомпилированные) в локальный / fs
  8. в TOP_DIR (nodemcu-firmware) выполните: FLASHSIZE = 4m make
  9. проверьте файлы в bin /
person uDude    schedule 01.05.2019
comment
Обратите внимание, что все каталоги в этом обсуждении относятся к TOP_DIR. Это каталог nodemcu-firmware. - person uDude; 02.05.2019