@@ -103,6 +103,7 @@ struct SegmentHeader {
103
103
104
104
/// Image format for ESP32 family chips using the second-stage bootloader from
105
105
/// ESP-IDF
106
+ #[ derive( Debug ) ]
106
107
pub struct IdfBootloaderFormat < ' a > {
107
108
params : Esp32Params ,
108
109
bootloader : Cow < ' a , [ u8 ] > ,
@@ -368,7 +369,7 @@ impl<'a> IdfBootloaderFormat<'a> {
368
369
///
369
370
/// (this is because the segment's vaddr may not be IROM_ALIGNed, more likely is
370
371
/// aligned IROM_ALIGN+0x18 to account for the binary file header)
371
- fn get_segment_padding ( offset : usize , segment : & CodeSegment ) -> u32 {
372
+ fn get_segment_padding ( offset : usize , segment : & CodeSegment < ' _ > ) -> u32 {
372
373
let align_past = ( segment. addr - SEG_HEADER_LEN ) % IROM_ALIGN ;
373
374
let pad_len = ( ( IROM_ALIGN - ( ( offset as u32 ) % IROM_ALIGN ) ) + align_past) % IROM_ALIGN ;
374
375
@@ -382,10 +383,10 @@ fn get_segment_padding(offset: usize, segment: &CodeSegment) -> u32 {
382
383
}
383
384
384
385
/// Merge adjacent segments into one.
385
- fn merge_adjacent_segments ( mut segments : Vec < CodeSegment > ) -> Vec < CodeSegment > {
386
+ fn merge_adjacent_segments ( mut segments : Vec < CodeSegment < ' _ > > ) -> Vec < CodeSegment < ' _ > > {
386
387
segments. sort ( ) ;
387
388
388
- let mut merged: Vec < CodeSegment > = Vec :: with_capacity ( segments. len ( ) ) ;
389
+ let mut merged: Vec < CodeSegment < ' _ > > = Vec :: with_capacity ( segments. len ( ) ) ;
389
390
for segment in segments {
390
391
match merged. last_mut ( ) {
391
392
Some ( last) if last. addr + last. size ( ) == segment. addr => {
@@ -403,7 +404,7 @@ fn merge_adjacent_segments(mut segments: Vec<CodeSegment>) -> Vec<CodeSegment> {
403
404
/// Save a segment to the data buffer.
404
405
fn save_flash_segment (
405
406
data : & mut Vec < u8 > ,
406
- mut segment : CodeSegment ,
407
+ mut segment : CodeSegment < ' _ > ,
407
408
checksum : u8 ,
408
409
) -> Result < u8 , Error > {
409
410
let end_pos = ( data. len ( ) + segment. data ( ) . len ( ) ) as u32 + SEG_HEADER_LEN ;
@@ -424,7 +425,7 @@ fn save_flash_segment(
424
425
}
425
426
426
427
/// Stores a segment header and the segment data in the data buffer.
427
- fn save_segment ( data : & mut Vec < u8 > , segment : & CodeSegment , checksum : u8 ) -> Result < u8 , Error > {
428
+ fn save_segment ( data : & mut Vec < u8 > , segment : & CodeSegment < ' _ > , checksum : u8 ) -> Result < u8 , Error > {
428
429
let padding = ( 4 - segment. size ( ) % 4 ) % 4 ;
429
430
let header = SegmentHeader {
430
431
addr : segment. addr ,
0 commit comments