如何利用esp_partition_write写flash时采用分段写入数据?

Moderator: ZT

patrick133
Posts: 1
Joined: Wed Apr 23, 2025 1:26 pm

如何利用esp_partition_write写flash时采用分段写入数据?

Postby patrick133 » Wed Apr 23, 2025 1:32 pm

在存储数据到flash时通常使用ESP_ERROR_CHECK(esp_partition_write(partition, 0, buf, len));
可是这样导致存储时间比较长。
请问可以采用分段for循环每次写入16个字节么?
如采用如下写法:
for (int offset = 0; offset < len; offset += 16) {
int chuck_size = (len - offset) > 16 ? 16 : (len - offset);
ESP_ERROR_CHECK(esp_partition_write(partition, offset, buf + offset, chuck_size));
vTaskDelay(pdMS_TO_TICKS(10));
}
当len大于16时,结果只能写入16个字节有效,之后数据都无效,该怎么解决?谢谢

Who is online

Users browsing this forum: No registered users and 1 guest