1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
# Here we use yaml from ihex-elf-sections.yaml, but add single load
# segment containing all exported sections. In such case we should
# use physical address of a section intead of virtual address. Physical
# addresses start from 0x100000, so we create two additional 'ExtenededAddr'
# (03) record in the beginning of IHex file with that physical address
!ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
Entry: 0x100000
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x0
AddressAlign: 0x8
Content: "000102030405060708090A0B0C0D0E0F1011121314"
- Name: .data1
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
Content: "3031323334353637383940"
Address: 0xFFF8
AddressAlign: 0x8
- Name: .data2
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
Content: "40414243"
Address: 0x10100
AddressAlign: 0x8
- Name: .data3
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
Content: "5051525354555657585960"
Address: 0x10FFF8
AddressAlign: 0x8
- Name: .bss
Type: SHT_NOBITS
Flags: [ SHF_ALLOC ]
Address: 0x10100
Size: 0x1000
AddressAlign: 0x8
- Name: .dummy
Type: SHT_PROGBITS
Flags: [ ]
Address: 0x20FFF8
Size: 65536
AddressAlign: 0x8
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_X, PF_R ]
VAddr: 0xF00000000
PAddr: 0x100000
Sections:
- Section: .text
- Section: .data1
- Section: .data2
- Section: .data3
- Section: .bss
|