Kconfig.projbuild 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. menu "Partition Table"
  2. choice PARTITION_TABLE_TYPE
  3. prompt "Partition Table"
  4. default PARTITION_TABLE_SINGLE_APP
  5. help
  6. The partition table to flash to the ESP32. The partition table
  7. determines where apps, data and other resources are expected to
  8. be found.
  9. The predefined partition table CSV descriptions can be found
  10. in the components/partition_table directory. These are mostly intended
  11. for example and development use, it's expect that for production use you
  12. will copy one of these CSV files and create a custom partition CSV for
  13. your application.
  14. config PARTITION_TABLE_SINGLE_APP
  15. bool "Single factory app, no OTA"
  16. help
  17. This is the default partition table, designed to fit into a 2MB or
  18. larger flash with a single 1MB app partition.
  19. The corresponding CSV file in the IDF directory is
  20. components/partition_table/partitions_singleapp.csv
  21. This partition table is not suitable for an app that needs OTA
  22. (over the air update) capability.
  23. config PARTITION_TABLE_SINGLE_APP_LARGE
  24. bool "Single factory app (large), no OTA"
  25. help
  26. This is a variation of the default partition table, that expands
  27. the 1MB app partition size to 1.5MB to fit more code.
  28. The corresponding CSV file in the IDF directory is
  29. components/partition_table/partitions_singleapp_large.csv
  30. This partition table is not suitable for an app that needs OTA
  31. (over the air update) capability.
  32. config PARTITION_TABLE_TWO_OTA
  33. bool "Factory app, two OTA definitions"
  34. help
  35. This is a basic OTA-enabled partition table with a factory app
  36. partition plus two OTA app partitions. All are 1MB, so this
  37. partition table requires 4MB or larger flash size.
  38. The corresponding CSV file in the IDF directory is
  39. components/partition_table/partitions_two_ota.csv
  40. config PARTITION_TABLE_CUSTOM
  41. bool "Custom partition table CSV"
  42. help
  43. Specify the path to the partition table CSV to use for your project.
  44. Consult the Partition Table section in the ESP-IDF Programmers Guide
  45. for more information.
  46. config PARTITION_TABLE_SINGLE_APP_ENCRYPTED_NVS
  47. bool "Single factory app, no OTA, encrypted NVS"
  48. depends on !ESP32_COREDUMP_ENABLE_TO_FLASH && NVS_ENCRYPTION
  49. help
  50. This is a variation of the default "Single factory app, no OTA" partition table
  51. that supports encrypted NVS when using flash encryption. See the Flash Encryption section
  52. in the ESP-IDF Programmers Guide for more information.
  53. The corresponding CSV file in the IDF directory is
  54. components/partition_table/partitions_singleapp_encr_nvs.csv
  55. config PARTITION_TABLE_SINGLE_APP_LARGE_ENC_NVS
  56. bool "Single factory app (large), no OTA, encrypted NVS"
  57. depends on !ESP32_COREDUMP_ENABLE_TO_FLASH && NVS_ENCRYPTION
  58. help
  59. This is a variation of the "Single factory app (large), no OTA" partition table
  60. that supports encrypted NVS when using flash encryption. See the Flash Encryption section
  61. in the ESP-IDF Programmers Guide for more information.
  62. The corresponding CSV file in the IDF directory is
  63. components/partition_table/partitions_singleapp_large_encr_nvs.csv
  64. config PARTITION_TABLE_TWO_OTA_ENCRYPTED_NVS
  65. bool "Factory app, two OTA definitions, encrypted NVS"
  66. depends on !ESP_COREDUMP_ENABLE_TO_FLASH && NVS_ENCRYPTION
  67. help
  68. This is a variation of the "Factory app, two OTA definitions" partition table
  69. that supports encrypted NVS when using flash encryption. See the Flash Encryption section
  70. in the ESP-IDF Programmers Guide for more information.
  71. The corresponding CSV file in the IDF directory is
  72. components/partition_table/partitions_two_ota_encr_nvs.csv
  73. endchoice
  74. config PARTITION_TABLE_CUSTOM_FILENAME
  75. string "Custom partition CSV file" if PARTITION_TABLE_CUSTOM
  76. default "partitions.csv"
  77. help
  78. Name of the custom partition CSV filename. This path is evaluated
  79. relative to the project root directory.
  80. config PARTITION_TABLE_FILENAME
  81. string
  82. default "partitions_singleapp.csv" if PARTITION_TABLE_SINGLE_APP && !ESP_COREDUMP_ENABLE_TO_FLASH
  83. default "partitions_singleapp_coredump.csv" if PARTITION_TABLE_SINGLE_APP && ESP_COREDUMP_ENABLE_TO_FLASH
  84. default "partitions_singleapp_encr_nvs.csv" if PARTITION_TABLE_SINGLE_APP_ENCRYPTED_NVS
  85. default "partitions_singleapp_large.csv" if PARTITION_TABLE_SINGLE_APP_LARGE && !ESP_COREDUMP_ENABLE_TO_FLASH
  86. default "partitions_singleapp_large_coredump.csv" if PARTITION_TABLE_SINGLE_APP_LARGE && ESP_COREDUMP_ENABLE_TO_FLASH # NOERROR
  87. default "partitions_singleapp_large_encr_nvs.csv" if PARTITION_TABLE_SINGLE_APP_LARGE_ENC_NVS
  88. default "partitions_two_ota.csv" if PARTITION_TABLE_TWO_OTA && !ESP_COREDUMP_ENABLE_TO_FLASH
  89. default "partitions_two_ota_coredump.csv" if PARTITION_TABLE_TWO_OTA && ESP_COREDUMP_ENABLE_TO_FLASH
  90. default "partitions_two_ota_encr_nvs.csv" if PARTITION_TABLE_TWO_OTA_ENCRYPTED_NVS
  91. default PARTITION_TABLE_CUSTOM_FILENAME if PARTITION_TABLE_CUSTOM
  92. config PARTITION_TABLE_OFFSET
  93. hex "Offset of partition table"
  94. default 0x8000
  95. help
  96. The address of partition table (by default 0x8000).
  97. Allows you to move the partition table, it gives more space for the bootloader.
  98. Note that the bootloader and app will both need to be compiled with the same PARTITION_TABLE_OFFSET value.
  99. This number should be a multiple of 0x1000.
  100. Note that partition offsets in the partition table CSV file may need to be changed if this value is set to
  101. a higher value. To have each partition offset adapt to the configured partition table offset, leave all
  102. partition offsets blank in the CSV file.
  103. config PARTITION_TABLE_MD5
  104. bool "Generate an MD5 checksum for the partition table"
  105. default y
  106. depends on !APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS && !IDF_TARGET_LINUX
  107. help
  108. Generate an MD5 checksum for the partition table for protecting the
  109. integrity of the table. The generation should be turned off for legacy
  110. bootloaders which cannot recognize the MD5 checksum in the partition
  111. table.
  112. endmenu