arch/esp32s3_partition: Read data from SPI Flash
at designated address (with decryption)
This commit is contained in:
parent
b3120e535b
commit
cb980cc977
1 changed files with 48 additions and 0 deletions
|
@ -934,6 +934,54 @@ int esp32s3_partition_read(const char *label, size_t offset, void *buf,
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: esp32s3_partition_read_decrypt
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Read data from SPI Flash at designated address (with decryption)
|
||||||
|
*
|
||||||
|
* Input Parameters:
|
||||||
|
* label - Partition label
|
||||||
|
* offset - Offset in SPI Flash
|
||||||
|
* buf - Data buffer pointer
|
||||||
|
* size - Data number
|
||||||
|
*
|
||||||
|
* Returned Value:
|
||||||
|
* 0 if success or a negative value if fail.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
int esp32s3_partition_read_decrypt(const char *label, size_t offset,
|
||||||
|
void *buf, size_t size)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
int partion_offset;
|
||||||
|
DEBUGASSERT(label != NULL && buf != NULL);
|
||||||
|
struct mtd_dev_s *mtd = esp32s3_spiflash_encrypt_mtd();
|
||||||
|
if (!mtd)
|
||||||
|
{
|
||||||
|
ferr("ERROR: Failed to get SPI flash MTD\n");
|
||||||
|
return -ENOSYS;
|
||||||
|
}
|
||||||
|
|
||||||
|
partion_offset = partition_get_offset(label, strlen(label));
|
||||||
|
if (partion_offset < 0)
|
||||||
|
{
|
||||||
|
ferr("ERROR: Failed to get partition: %s offset\n", label);
|
||||||
|
return partion_offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = MTD_READ(mtd, partion_offset + offset,
|
||||||
|
size, (uint8_t *)buf);
|
||||||
|
if (ret != size)
|
||||||
|
{
|
||||||
|
ferr("ERROR: Failed to get read data from MTD\n");
|
||||||
|
return -EIO;
|
||||||
|
}
|
||||||
|
|
||||||
|
return OK;
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: esp32s3_partition_write
|
* Name: esp32s3_partition_write
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue