partition table: Document 'flags' properly

This commit is contained in:
Angus Gratton 2018-08-01 17:54:05 +10:00 committed by Angus Gratton
parent 6dea5c9546
commit f2a3429812
2 changed files with 26 additions and 19 deletions

View file

@ -23,10 +23,10 @@ Built-in Partition Tables
Here is the summary printed for the "Single factory app, no OTA" configuration:: Here is the summary printed for the "Single factory app, no OTA" configuration::
# Espressif ESP32 Partition Table # Espressif ESP32 Partition Table
# Name, Type, SubType, Offset, Size # Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x6000 nvs, data, nvs, 0x9000, 0x6000,
phy_init, data, phy, 0xf000, 0x1000 phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 1M factory, app, factory, 0x10000, 1M,
* At a 0x10000 (64KB) offset in the flash is the app labelled "factory". The bootloader will run this app by default. * At a 0x10000 (64KB) offset in the flash is the app labelled "factory". The bootloader will run this app by default.
* There are also two data regions defined in the partition table for storing NVS library partition and PHY init data. * There are also two data regions defined in the partition table for storing NVS library partition and PHY init data.
@ -34,13 +34,13 @@ Here is the summary printed for the "Single factory app, no OTA" configuration::
Here is the summary printed for the "Factory app, two OTA definitions" configuration:: Here is the summary printed for the "Factory app, two OTA definitions" configuration::
# Espressif ESP32 Partition Table # Espressif ESP32 Partition Table
# Name, Type, SubType, Offset, Size # Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x4000 nvs, data, nvs, 0x9000, 0x4000,
otadata, data, ota, 0xd000, 0x2000 otadata, data, ota, 0xd000, 0x2000,
phy_init, data, phy, 0xf000, 0x1000 phy_init, data, phy, 0xf000, 0x1000,
factory, 0, 0, 0x10000, 1M factory, 0, 0, 0x10000, 1M,
ota_0, 0, ota_0, , 1M ota_0, 0, ota_0, 0x110000, 1M,
ota_1, 0, ota_1, , 1M ota_1, 0, ota_1, 0x210000, 1M,
* There are now three app partition definitions. * There are now three app partition definitions.
* The type of all three are set as "app", but the subtype varies between the factory app at 0x10000 and the next two "OTA" apps. * The type of all three are set as "app", but the subtype varies between the factory app at 0x10000 and the next two "OTA" apps.
@ -53,13 +53,13 @@ If you choose "Custom partition table CSV" in menuconfig then you can also enter
The CSV format is the same format as printed in the summaries shown above. However, not all fields are required in the CSV. For example, here is the "input" CSV for the OTA partition table:: The CSV format is the same format as printed in the summaries shown above. However, not all fields are required in the CSV. For example, here is the "input" CSV for the OTA partition table::
# Name, Type, SubType, Offset, Size # Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x4000 nvs, data, nvs, , 0x4000,
otadata, data, ota, 0xd000, 0x2000 otadata, data, ota, , 0x2000,
phy_init, data, phy, 0xf000, 0x1000 phy_init, data, phy, , 0x1000,
factory, app, factory, 0x10000, 1M factory, app, factory, , 1M,
ota_0, app, ota_0, , 1M ota_0, app, ota_0, , 1M,
ota_1, app, ota_1, , 1M ota_1, app, ota_1, , 1M,
* Whitespace between fields is ignored, and so is any line starting with # (comments). * Whitespace between fields is ignored, and so is any line starting with # (comments).
* Each non-comment line in the CSV file is a partition definition. * Each non-comment line in the CSV file is a partition definition.
@ -129,6 +129,13 @@ Sizes and offsets can be specified as decimal numbers, hex numbers with the pref
If you want the partitions in the partition table to work with any starting offset (:envvar:`CONFIG_PARTITION_TABLE_OFFSET`) of the table itself, leave the offset field (in CSV file) for all partitions blank. Similarly, if changing the partition table offset then be aware that all blank partition offsets may change to match, and that any fixed offsets may now collide with the partition table (causing an error). If you want the partitions in the partition table to work with any starting offset (:envvar:`CONFIG_PARTITION_TABLE_OFFSET`) of the table itself, leave the offset field (in CSV file) for all partitions blank. Similarly, if changing the partition table offset then be aware that all blank partition offsets may change to match, and that any fixed offsets may now collide with the partition table (causing an error).
Flags
~~~~~
Only one flag is currently supported, ``encrypted``. If this field is set to ``encrypted``, this partition will be encrypted if :doc:`/security/flash-encryption` is enabled.
(Note that ``app`` type partitions will always be encrypted, regardless of whether this flag is set or not.)
Generating Binary Partition Table Generating Binary Partition Table
--------------------------------- ---------------------------------

View file

@ -23,7 +23,7 @@ Background
- Secure boot bootloader digest (if secure boot is enabled) - Secure boot bootloader digest (if secure boot is enabled)
- Partition Table - Partition Table
- All "app" type partitions - All "app" type partitions
- Any partition marked with the "encrypt" flag in the partition table - Any partition marked with the "encrypted" flag in the partition table
It may be desirable for some data partitions to remain unencrypted for ease of access, or to use flash-friendly update algorithms that are ineffective if the data is encrypted. "NVS" partitions for non-volatile storage cannot be encrypted. It may be desirable for some data partitions to remain unencrypted for ease of access, or to use flash-friendly update algorithms that are ineffective if the data is encrypted. "NVS" partitions for non-volatile storage cannot be encrypted.