esp_partition: disable encrypted reads/writes if flash encryption is disabled

Saves 400 bytes of IRAM.
This commit is contained in:
Ivan Grokhotkov 2019-01-10 21:51:09 +08:00
parent 65d01336d3
commit bf35ef1ce7

View file

@ -241,6 +241,7 @@ esp_err_t esp_partition_read(const esp_partition_t* partition,
if (!partition->encrypted) {
return spi_flash_read(partition->address + src_offset, dst, size);
} else {
#if CONFIG_FLASH_ENCRYPTION_ENABLED
/* Encrypted partitions need to be read via a cache mapping */
const void *buf;
spi_flash_mmap_handle_t handle;
@ -254,6 +255,9 @@ esp_err_t esp_partition_read(const esp_partition_t* partition,
memcpy(dst, buf, size);
spi_flash_munmap(handle);
return ESP_OK;
#else
return ESP_ERR_NOT_SUPPORTED;
#endif // CONFIG_FLASH_ENCRYPTION_ENABLED
}
}
@ -268,10 +272,14 @@ esp_err_t esp_partition_write(const esp_partition_t* partition,
return ESP_ERR_INVALID_SIZE;
}
dst_offset = partition->address + dst_offset;
if (partition->encrypted) {
return spi_flash_write_encrypted(dst_offset, src, size);
} else {
if (!partition->encrypted) {
return spi_flash_write(dst_offset, src, size);
} else {
#if CONFIG_FLASH_ENCRYPTION_ENABLED
return spi_flash_write_encrypted(dst_offset, src, size);
#else
return ESP_ERR_NOT_SUPPORTED;
#endif // CONFIG_FLASH_ENCRYPTION_ENABLED
}
}