Function esp_idf_svc::sys::bootloader_load_image

source ·
pub unsafe extern "C" fn bootloader_load_image(
    part: *const esp_partition_pos_t,
    data: *mut esp_image_metadata_t,
) -> i32
Expand description

@brief Verify and load an app image (available only in space of bootloader).

If encryption is enabled, data will be transparently decrypted.

@param part Partition to load the app from. @param[inout] data Pointer to the image metadata structure which is be filled in by this function. ‘start_addr’ member should be set (to the start address of the image.) Other fields will all be initialised by this function.

Image validation checks:

  • Magic byte.
  • Partition smaller than 16MB.
  • All segments & image fit in partition.
  • 8 bit image checksum is valid.
  • SHA-256 of image is valid (if image has this appended).
  • (Signature) if signature verification is enabled.

@return

  • ESP_OK if verify or load was successful
  • ESP_ERR_IMAGE_FLASH_FAIL if a SPI flash error occurs
  • ESP_ERR_IMAGE_INVALID if the image appears invalid.
  • ESP_ERR_INVALID_ARG if the partition or data pointers are invalid.