接前一篇文章:ESP-IDF OTA机制详解(11)
上一回继续解析esp_ota_begin函数,并讲解了其中的两个函数:esp_ota_get_running_partition和esp_ota_get_state_partition。本文继续对于该函数其余内容进行解析。为了便于理解和回顾,再次贴出esp_ota_begin函数源码,在C:\Espressif\frameworks\esp-idf-v5.2.1\components\app_update\esp_ota_ops.c中,如下:
esp_err_t esp_ota_begin(const esp_partition_t *partition, size_t image_size, esp_ota_handle_t *out_handle)
{
ota_ops_entry_t *new_entry;
esp_err_t ret = ESP_OK;
if ((partition == NULL) || (out_handle == NULL)) {
return ESP_ERR_INVALID_ARG;
}
partition = esp_parti