diff --git a/espflash/src/targets/esp32p4.rs b/espflash/src/targets/esp32p4.rs index 4af14f84..09c40017 100644 --- a/espflash/src/targets/esp32p4.rs +++ b/espflash/src/targets/esp32p4.rs @@ -1,13 +1,11 @@ use std::ops::Range; -use esp_idf_part::PartitionTable; - use super::{Chip, Esp32Params, ReadEFuse, SpiRegisters, Target}; use crate::{ connection::Connection, elf::FirmwareImage, error::Error, - flasher::{FlashFrequency, FlashMode, FlashSize}, + flasher::{FlashData, FlashFrequency}, image_format::{DirectBootFormat, IdfBootloaderFormat, ImageFormat, ImageFormatKind}, }; @@ -58,7 +56,6 @@ impl Target for Esp32p4 { fn minor_chip_version(&self, _connection: &mut Connection) -> Result { // TODO: https://github.com/espressif/esptool/blob/master/esptool/targets/esp32p4.py#L92 - Ok(0) } @@ -70,30 +67,24 @@ impl Target for Esp32p4 { fn get_flash_image<'a>( &self, image: &'a dyn FirmwareImage<'a>, - bootloader: Option>, - partition_table: Option, - target_app_partition: Option, - image_format: Option, + flash_data: FlashData, _chip_revision: Option<(u32, u32)>, - flash_mode: Option, - flash_size: Option, - flash_freq: Option, - partition_table_offset: Option, ) -> Result + 'a>, Error> { - let image_format = image_format.unwrap_or(ImageFormatKind::EspBootloader); + let image_format = flash_data + .image_format + .unwrap_or(ImageFormatKind::EspBootloader); match image_format { ImageFormatKind::EspBootloader => Ok(Box::new(IdfBootloaderFormat::new( image, Chip::Esp32p4, + flash_data.min_chip_rev, PARAMS, - partition_table, - target_app_partition, - bootloader, - flash_mode, - flash_size, - flash_freq, - partition_table_offset, + flash_data.partition_table, + flash_data.partition_table_offset, + flash_data.target_app_partition, + flash_data.bootloader, + flash_data.flash_settings, )?)), ImageFormatKind::DirectBoot => Ok(Box::new(DirectBootFormat::new(image, 0x0)?)), }