When changing the partition table memory values, are there certain rules to be careful about - like size limits, how sizes add up, using certain multiples, and so forth? Must the board.txt values match the default.csv values?
I've just started working on a Wemos (knockoff) ESP32 with OLED, using Arduino 1.8.5 with default settings, selecting the Wemos Lolin32 board. It worked fine with just BLE. But when I added Wifi, it ran out of memory.
Then I edited ../espressif/ESP32/board.txt like this:
Code: Select all
lolin32.name=WEMOS LOLIN32
lolin32.upload.tool=esptool
lolin32.upload.maximum_size=1810720
lolin32.upload.maximum_data_size=494912
lolin32.upload.wait_for_upload_port=true
lolin32.serial.disableDTR=true
lolin32.serial.disableRTS=true
lolin32.build.mcu=esp32
lolin32.build.core=esp32
lolin32.build.variant=lolin32
lolin32.build.board=LOLIN32
lolin32.build.f_cpu=240000000L
lolin32.build.flash_mode=dio
lolin32.build.flash_size=4MB
lolin32.build.boot=dio
lolin32.build.partitions=default
lolin32.menu.FlashFreq.80=80MHz
lolin32.menu.FlashFreq.80.build.flash_freq=80m
lolin32.menu.FlashFreq.40=40MHz
lolin32.menu.FlashFreq.40.build.flash_freq=40m
lolin32.menu.PartitionScheme.default=Default
lolin32.menu.PartitionScheme.default.build.partitions=default
lolin32.menu.PartitionScheme.no_ota=No OTA (Large APP)
lolin32.menu.PartitionScheme.no_ota.build.partitions=no_ota
lolin32.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
lolin32.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (Large APPS with OTA)
lolin32.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
lolin32.menu.PartitionScheme.min_spiffs.upload.maximum_size=2966080
I also changed the default partition to:
Code: Select all
# Espressif ESP32 Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,20K,
otadata,data,ota,0xe000,8K,
app0,app,ota_0,0x10000,1280K,
app1,app,ota_1,0x150000,1280K,
eeprom,data,153,0x290000,4K,
spiffs,data,spiffs,0x291000,1468K,
Now the compile works, and the program executes, but it also stops right away with the Serial.print message "user code done".
Any idea what I'm messing up?