Skip to content

Commit

Permalink
Update Esp32p4 target implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
jessebraham committed Jan 9, 2024
1 parent b427b2b commit 6d0cf65
Showing 1 changed file with 11 additions and 20 deletions.
31 changes: 11 additions & 20 deletions espflash/src/targets/esp32p4.rs
Original file line number Diff line number Diff line change
@@ -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},
};

Expand Down Expand Up @@ -58,7 +56,6 @@ impl Target for Esp32p4 {

fn minor_chip_version(&self, _connection: &mut Connection) -> Result<u32, Error> {
// TODO: https://github.com/espressif/esptool/blob/master/esptool/targets/esp32p4.py#L92

Ok(0)
}

Expand All @@ -70,30 +67,24 @@ impl Target for Esp32p4 {
fn get_flash_image<'a>(
&self,
image: &'a dyn FirmwareImage<'a>,
bootloader: Option<Vec<u8>>,
partition_table: Option<PartitionTable>,
target_app_partition: Option<String>,
image_format: Option<ImageFormatKind>,
flash_data: FlashData,
_chip_revision: Option<(u32, u32)>,
flash_mode: Option<FlashMode>,
flash_size: Option<FlashSize>,
flash_freq: Option<FlashFrequency>,
partition_table_offset: Option<u32>,
) -> Result<Box<dyn ImageFormat<'a> + '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)?)),
}
Expand Down

0 comments on commit 6d0cf65

Please sign in to comment.