menu "Partition Table" choice PARTITION_TABLE_TYPE prompt "Partition Table" default PARTITION_TABLE_SINGLE_APP help The partition table to flash to the ESP32. The partition table determines where apps, data and other resources are expected to be found. The predefined partition table CSV descriptions can be found in the components/partition_table directory. These are mostly intended for example and development use, it's expect that for production use you will copy one of these CSV files and create a custom partition CSV for your application. config PARTITION_TABLE_SINGLE_APP bool "Single factory app, no OTA" help This is the default partition table, designed to fit into a 2MB or larger flash with a single 1MB app partition. The corresponding CSV file in the IDF directory is components/partition_table/partitions_singleapp.csv This partition table is not suitable for an app that needs OTA (over the air update) capability. config PARTITION_TABLE_SINGLE_APP_LARGE bool "Single factory app (large), no OTA" help This is a variation of the default partition table, that expands the 1MB app partition size to 1.5MB to fit more code. The corresponding CSV file in the IDF directory is components/partition_table/partitions_singleapp_large.csv This partition table is not suitable for an app that needs OTA (over the air update) capability. config PARTITION_TABLE_TWO_OTA bool "Factory app, two OTA definitions" help This is a basic OTA-enabled partition table with a factory app partition plus two OTA app partitions. All are 1MB, so this partition table requires 4MB or larger flash size. The corresponding CSV file in the IDF directory is components/partition_table/partitions_two_ota.csv config PARTITION_TABLE_CUSTOM bool "Custom partition table CSV" help Specify the path to the partition table CSV to use for your project. Consult the Partition Table section in the ESP-IDF Programmers Guide for more information. config PARTITION_TABLE_SINGLE_APP_ENCRYPTED_NVS bool "Single factory app, no OTA, encrypted NVS" depends on !ESP32_COREDUMP_ENABLE_TO_FLASH && NVS_SEC_KEY_PROTECT_USING_FLASH_ENC help This is a variation of the default "Single factory app, no OTA" partition table that supports encrypted NVS when using flash encryption. See the Flash Encryption section in the ESP-IDF Programmers Guide for more information. The corresponding CSV file in the IDF directory is components/partition_table/partitions_singleapp_encr_nvs.csv config PARTITION_TABLE_SINGLE_APP_LARGE_ENC_NVS bool "Single factory app (large), no OTA, encrypted NVS" depends on !ESP32_COREDUMP_ENABLE_TO_FLASH && NVS_SEC_KEY_PROTECT_USING_FLASH_ENC help This is a variation of the "Single factory app (large), no OTA" partition table that supports encrypted NVS when using flash encryption. See the Flash Encryption section in the ESP-IDF Programmers Guide for more information. The corresponding CSV file in the IDF directory is components/partition_table/partitions_singleapp_large_encr_nvs.csv config PARTITION_TABLE_TWO_OTA_ENCRYPTED_NVS bool "Factory app, two OTA definitions, encrypted NVS" depends on !ESP_COREDUMP_ENABLE_TO_FLASH && NVS_SEC_KEY_PROTECT_USING_FLASH_ENC help This is a variation of the "Factory app, two OTA definitions" partition table that supports encrypted NVS when using flash encryption. See the Flash Encryption section in the ESP-IDF Programmers Guide for more information. The corresponding CSV file in the IDF directory is components/partition_table/partitions_two_ota_encr_nvs.csv endchoice config PARTITION_TABLE_CUSTOM_FILENAME string "Custom partition CSV file" if PARTITION_TABLE_CUSTOM default "partitions.csv" help Name of the custom partition CSV filename. This path is evaluated relative to the project root directory by default. However, if the absolute path for the CSV file is provided, then the absolute path is configured. config PARTITION_TABLE_FILENAME string default "partitions_singleapp.csv" if PARTITION_TABLE_SINGLE_APP && !ESP_COREDUMP_ENABLE_TO_FLASH default "partitions_singleapp_coredump.csv" if PARTITION_TABLE_SINGLE_APP && ESP_COREDUMP_ENABLE_TO_FLASH default "partitions_singleapp_encr_nvs.csv" if PARTITION_TABLE_SINGLE_APP_ENCRYPTED_NVS default "partitions_singleapp_large.csv" if PARTITION_TABLE_SINGLE_APP_LARGE && !ESP_COREDUMP_ENABLE_TO_FLASH default "partitions_singleapp_large_coredump.csv" if PARTITION_TABLE_SINGLE_APP_LARGE && ESP_COREDUMP_ENABLE_TO_FLASH # NOERROR default "partitions_singleapp_large_encr_nvs.csv" if PARTITION_TABLE_SINGLE_APP_LARGE_ENC_NVS default "partitions_two_ota.csv" if PARTITION_TABLE_TWO_OTA && !ESP_COREDUMP_ENABLE_TO_FLASH default "partitions_two_ota_coredump.csv" if PARTITION_TABLE_TWO_OTA && ESP_COREDUMP_ENABLE_TO_FLASH default "partitions_two_ota_encr_nvs.csv" if PARTITION_TABLE_TWO_OTA_ENCRYPTED_NVS default PARTITION_TABLE_CUSTOM_FILENAME if PARTITION_TABLE_CUSTOM config PARTITION_TABLE_OFFSET hex "Offset of partition table" default 0x8000 help The address of partition table (by default 0x8000). Allows you to move the partition table, it gives more space for the bootloader. Note that the bootloader and app will both need to be compiled with the same PARTITION_TABLE_OFFSET value. This number should be a multiple of 0x1000. Note that partition offsets in the partition table CSV file may need to be changed if this value is set to a higher value. To have each partition offset adapt to the configured partition table offset, leave all partition offsets blank in the CSV file. config PARTITION_TABLE_MD5 bool "Generate an MD5 checksum for the partition table" default y depends on !APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS && !IDF_TARGET_LINUX help Generate an MD5 checksum for the partition table for protecting the integrity of the table. The generation should be turned off for legacy bootloaders which cannot recognize the MD5 checksum in the partition table. endmenu