ihex-elf-sections.yaml 2.12 KB
!ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_EXEC
  Machine:         EM_X86_64
Sections:
  - Name:            .text
# This section contents exceeds default IHex line length of 16 bytes
# so we expect two lines created for it.
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    Address:         0x0
    AddressAlign:    0x8
    Content:         "000102030405060708090A0B0C0D0E0F1011121314"
  - Name:            .data
# This section overlap 16-bit segment boundary, so we expect
# additional 'SegmentAddr' record of type '02'
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC ]
    Content:         "3031323334353637383940"
    Address:         0xFFF8
    AddressAlign:    0x8
  - Name:            .data2
# Previous section '.data' should have forced creation of
# 'SegmentAddr'(02) record with segment address of 0x10000,
# so this section should have address of 0x100.
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC ]
    Content:         "40414243"
    Address:         0x10100
    AddressAlign:    0x8
  - Name:            .data3
# The last section not only overlaps segment boundary, but
# also has linear address which doesn't fit 20 bits. The 
# following records should be craeted:
# 'SegmentAddr'(02) record with address 0x0
# 'ExtendedAddr'(04) record with address 0x100000
# 'Data'(00) record with 8 bytes of section data
# 'SegmentAddr'(02) record with address 0x10000
# 'Data'(00) record with remaining 3 bytes of data.
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC ]
    Content:         "5051525354555657585960"
    Address:         0x10FFF8
    AddressAlign:    0x8
  - Name:            .bss
# NOBITS sections are not written to IHex
    Type:            SHT_NOBITS
    Flags:           [ SHF_ALLOC ]
    Address:         0x10100
    Size:            0x1000
    AddressAlign:    0x8
  - Name:            .dummy
# Non-allocatable sections are not written to IHex
    Type:            SHT_PROGBITS
    Flags:           [ ]
    Address:         0x20FFF8
    Size:            65536
    AddressAlign:    0x8