I’m trying to use the AWS FreeRTOS OTA demo code for the Espressif ESP32 WROVER module, but I’m using the 8 MB version of the module and a different “partition table” than the 4 MB version the demo code is configured for.
I first edited the sdkconfig.defaults file in the …/aws_demos/ directory mentioned above to the name of my partition table, but cmake rejected it as “conflicting” with the “partition-table.csv” settings. So I then edited the “partition-table.csv” file in the same directory to use my “partitions”, but now cmake is telling me my 8MB of partitions won’t fit in a 4 MB flash ( as shown in the cmake output below ).
[416/960] Generating …/…/…/partition_table/partition-table.bin
FAILED: partition_table/partition-table.bin
cmd.exe /C “cd /D C:\Work\FreeRTOS\Git_Ver\build\amazon-freertos\esp-idf\partition_table && python C:/Work/FreeRTOS/Git_Ver/amazon-freertos/vendors/espressif/esp-idf/components/partition_table/gen_esp32part.py -q --offset 0x8000 --disable-md5sum --flash-size 4MB C:/Work/FreeRTOS/Git_Ver/amazon-freertos/vendors/espressif/boards/esp32/aws_demos/partition-table.csv C:/Work/FreeRTOS/Git_Ver/build/partition_table/partition-table.bin”
Partitions defined in ‘C:/Work/FreeRTOS/Git_Ver/amazon-freertos/vendors/espressif/boards/esp32/aws_demos/partition-table.csv’ occupy 8.0MB of flash (8388608 bytes) which does not fit in configured flash size 4MB. Change the flash size in menuconfig under the ‘Serial Flasher Config’ menu.
[421/960] Building C object amazon-freertos/esp-idf/spi_flash/CMakeFiles/idf_component_spi_flash.dir/cache_utils.c.obj
ninja: build stopped: subcommand failed.
I don’t understand how to “Change the flash size in menuconfig under the ‘Serial Flasher Config’ menu” so I have two questions.
1 ) What is the “best/correct” way to change the partition table?
2 ) How do I change the partition to support 8 MB instead of 4MB?
I did change the sdkconfig.defaults file mentioned above from
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
to
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
But that didn’t help.
From some of the dozens of sdkconfig files in the FreeRTOS code, including the following “clip” from a “sdkconfig.json” file I know it should be able to be set to 8MB, but I’m not sure which sdkconfig file and which of the sdkconfig files will get “over-written” by cmake.
"ESPTOOLPY_FLASHSIZE": "4MB",
"ESPTOOLPY_FLASHSIZE_16MB": false,
"ESPTOOLPY_FLASHSIZE_1MB": false,
"ESPTOOLPY_FLASHSIZE_2MB": false,
"ESPTOOLPY_FLASHSIZE_4MB": true,
"ESPTOOLPY_FLASHSIZE_8MB": false,