@@ -13,12 +13,12 @@ use esp_idf_part::PartitionTable;
1313use log:: { debug, info, warn} ;
1414#[ cfg( feature = "serialport" ) ]
1515use md5:: { Digest , Md5 } ;
16+ #[ cfg( feature = "serialport" ) ]
17+ use object:: { read:: elf:: ElfFile32 as ElfFile , Endianness } ;
1618use serde:: { Deserialize , Serialize } ;
1719#[ cfg( feature = "serialport" ) ]
1820use serialport:: UsbPortInfo ;
1921use strum:: { Display , EnumIter , IntoEnumIterator , VariantNames } ;
20- #[ cfg( feature = "serialport" ) ]
21- use xmas_elf:: ElfFile ;
2222
2323#[ cfg( feature = "serialport" ) ]
2424pub ( crate ) use self :: stubs:: { FLASH_SECTOR_SIZE , FLASH_WRITE_SIZE } ;
@@ -32,7 +32,7 @@ use crate::{
3232 Connection ,
3333 Port ,
3434 } ,
35- error:: { ConnectionError , ElfError , ResultExt as _} ,
35+ error:: { ConnectionError , ResultExt as _} ,
3636 flasher:: stubs:: {
3737 FlashStub ,
3838 CHIP_DETECT_MAGIC_REG_ADDR ,
@@ -1011,13 +1011,13 @@ impl Flasher {
10111011 elf_data : & [ u8 ] ,
10121012 mut progress : Option < & mut dyn ProgressCallbacks > ,
10131013 ) -> Result < ( ) , Error > {
1014- let elf = ElfFile :: new ( elf_data) . map_err ( ElfError :: from ) ?;
1014+ let elf = ElfFile :: parse ( elf_data) ?;
10151015 if rom_segments ( self . chip , & elf) . next ( ) . is_some ( ) {
10161016 return Err ( Error :: ElfNotRamLoadable ) ;
10171017 }
10181018
10191019 let mut target = self . chip . ram_target (
1020- Some ( elf. header . pt2 . entry_point ( ) as u32 ) ,
1020+ Some ( elf. elf_header ( ) . e_entry . get ( Endianness :: Little ) ) ,
10211021 self . chip
10221022 . into_target ( )
10231023 . max_ram_block_size ( & mut self . connection ) ?,
@@ -1041,7 +1041,7 @@ impl Flasher {
10411041 mut progress : Option < & mut dyn ProgressCallbacks > ,
10421042 xtal_freq : XtalFrequency ,
10431043 ) -> Result < ( ) , Error > {
1044- let elf = ElfFile :: new ( elf_data) . map_err ( ElfError :: from ) ?;
1044+ let elf = ElfFile :: parse ( elf_data) ?;
10451045
10461046 let mut target =
10471047 self . chip
0 commit comments