[ Megoldva(?) ] Heltec Wifi Kit 32 Spiffs méret állítása Arduino IDE alatt

Készítek itthon egy ESP32-es alkalmazást Heltec Wifi Kit 32-re Arduino IDE környezetben. Nem a legszerencsésebb választás, de a kódok már mennek, egyelőre nem szívesen állnék neki portolni valami más környezetbe.

A problémám, hogy nem tudom állítani a SPIFFS méretét. Ha minden igaz, a Heltec Wifi Kit 32 V2-es változata van meg - pinek alapján -, amit elvileg már 8MB FLASH memória van szereltek. Ennek ellenére az Arduino környezet a "Sketch Data Upload" menüponttal csak egy 1MB-os SPIFFS fájlrendszert hoz létre. Sajnos sem a FLASH méretét, sem a partíciót nem tudom menün keresztül kiválasztani.

Ha más ESP alaplapot választok, akkor megjelennek a FLASH méretét és partíciókiosztás kiválasztását lehetővé tévő menüpontok, de azokkal feltöltve a SPIFFS-t, továbbra is csak 1MB fájlrendszer lesz. Egyébként más ESP32 lapot választva a kódom már nem fordul le, mivel használ Heltec specifikus részeket (például Heltec display).

Amire szükségem lenne:

- Hogyan tudom eldönteni, hogy fizikailag tényleg 8MB FLASH van-e a board-ban, vagy csak 4MB?

- Hogyan tudok nagyobb (3MB illetve 7MB) SPIFFS fájlrendszert létrehozni ebben a környezetben, Heltec Wifi Kit 32 lapot kiválasztva?

Hozzászólások

Amire jutottam:

1 - Az ESP valós adatai a következő parancssorral kérhetőek le (értelemszerűen módosított paraméterekkel, ha kell):

esptool -p /dev/ttyUSB0 -b 115200 flash_id

Ebből kiderült, hogy a Heltec Wifi Kit 32 V2 valóban 8MB flash-sel rendelkezik.

2 - Az ESP-re feltöltött partícióstábla Arduino környezetben (linuxon) a .arduino15/packages/esp32/hardware/esp32/1.0.5/tools/partitions/default.csv fájlban található.

Ezt direktben átírva a feltöltött partíciók mérete is változik. Én például 3MB SPIFFS-hez a következőre állítottam:

# Name,   Type, SubType, Offset,  Size, Flags
nvs,      data, nvs,     0x9000,  0x5000,
otadata,  data, ota,     0xe000,  0x2000,
app0,     app,  ota_0,   0x10000, 0x140000,
app1,     app,  ota_1,   0x150000,0x140000,
spiffs,   data, spiffs,  0x290000,0x400000,

Vannak még furcsaságok, amiket nem értek ugyan, de úgy tűnik, hogy ez így legalább működik.