PowerPC

Target Family : MPC5675K

Listing: Memory Segments
MEMORY
{
   /* FLASH: 0x00000000 - 0x001FFFFF */
resetvector:     org = 0x00000000,  len = 0x00000010
init:            org = 0x00000010,  len = 0x00000FF0 /* ~4K */ 
exception_handlers_p0: org = 0x00010000, len = 0x00010000 /* 64K core_0 */
exception_handlers_p1: org = 0x00020000, len = 0x00020000 /* 128K core_1 */
internal_flash:         org = 0x00040000, len = 0x001C0000 /* 1792 KB */
Listing: Input calc_crc.crc File
CRC
SEED = 0xFFFF
FILL = 0xFF
FROM 0x00040000 TO 0x00040008;     //range from internal_flash segment
DEST = 0x1FFFEA

To read bytes present at specified memory location go to file offset.

Listing: Input Bytes from .elf file:
Program Header [7]
 p_type:   00000001, p_offset: 00000e00
p_vaddr:  00040000, p_paddr:  00000000
 p_filesz: 0000027c, p_memsz:  0000027c, p_flags: 10000005, p_align: 00000010

E00: 70 08 E0 00 70 00 C0 00 70     //memory range from 0x00040000 To 0x00040008
Listing: Program Header Before Post Linking
Program Header [0]
  p_type:   00000001, p_offset: 00000360
  p_vaddr:  00000000, p_paddr:  00000000
  p_filesz: 00000008, p_memsz:  00000008, p_flags: 00000004, p_align: 00000004
.
.
.
Program Header [7]
  p_type:   00000001, p_offset: 00000e00
  p_vaddr:  00040000, p_paddr:  00000000
  p_filesz: 0000027c, p_memsz:  0000027c, p_flags: 10000005, p_align: 00000010
.
.
.
Program Header [13]
  p_type:   00000001, p_offset: 00002028
  p_vaddr:  40001528, p_paddr:  00000000
  p_filesz: 00000000, p_memsz:  0000000c, p_flags: 00000006, p_align: 00000008

Program Header [14]
  p_type:   00000001, p_offset: 00003000
  p_vaddr:  50000000, p_paddr:  00000000
  p_filesz: 00000000, p_memsz:  00001500, p_flags: 00000006, p_align: 00001000

To read the checksum value go to the file offset.

Listing: Output in '.elf.crc.elf' File
Program Header [15]
 p_type:   00000001, p_offset: 00009cb8
 p_vaddr:  001fffea, p_paddr:  001fffea
 p_filesz: 00000002, p_memsz:  00000002, p_flags: 00000004, p_align: 00000000

9CB0: 00 00 00 10 00 00 00 00 F0 76   //calculated checksum value -2 bytes
Listing: Program Header After Post Linking
Program Header [0]
 p_type:   00000001, p_offset: 00000360
 p_vaddr:  00000000, p_paddr:  00000000
 p_filesz: 00000008, p_memsz:  00000008, p_flags: 00000004, p_align: 00000004
.
.
.
Program Header [7]
 p_type:   00000001, p_offset: 00000e00
 p_vaddr:  00040000, p_paddr:  00000000
 p_filesz: 0000027c, p_memsz:  0000027c, p_flags: 10000005, p_align: 00000010
.
.
.
Program Header [13]
 p_type:   00000001, p_offset: 00002028
 p_vaddr:  40001528, p_paddr:  00000000
 p_filesz: 00000000, p_memsz:  0000000c, p_flags: 00000006, p_align: 00000008

Program Header [14]
 p_type:   00000001, p_offset: 00003000
 p_vaddr:  50000000, p_paddr:  00000000
 p_filesz: 00000000, p_memsz:  00001500, p_flags: 00000006, p_align: 00001000

Program Header [15]
 p_type:   00000001, p_offset: 00009cb8
 p_vaddr:  001fffea, p_paddr:  001fffea
 p_filesz: 00000002, p_memsz:  00000002, p_flags: 00000004, p_align: 00000000

New segment added by the post linker or crcgen utility.