From 6d0cf65657125a302310a9fe5702fc8dc515e6ac Mon Sep 17 00:00:00 2001 From: Jesse Braham Date: Tue, 9 Jan 2024 11:50:42 -0800 Subject: [PATCH] Update `Esp32p4` target implementation --- espflash/src/targets/esp32p4.rs | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) 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)?)), }