S12Z

Target Family: MC9S12ZVFP64

Listing: Memory Segments
SEGMENTS  /* Here all RAM/ROM areas of the device are listed. Used in 
PLACEMENT below. */
/* Register space  */
/*    IO_SEG        = PAGED         0x000000 TO   0x000FFF; 
intentionally not defined */
/* RAM */
      RAM           = READ_WRITE  0x001000 TO 0x001FFF;
/* EEPROM */
      EEPROM        = READ_ONLY   0x100000 TO 0x1007FF;
/* non-paged FLASHs */
      ROM           = READ_ONLY   0xFF0000 TO 0xFFFDFF;
Listing: Input calc_crc.crc file
CRC
SEED = 0xfef
FILL = 0xff
FROM  0xFF0000 TO 0xFF0004;
DEST = 0xFFFDFF

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

Listing: Input Bytes from .elf file
NO   TYPE    OFFSET SIZE VIRTADDR PHYADDR MEMSIZE FLAGS ALIGNMNT
93 - PT_LOAD 34     5B   FF0000   0       5B      R X   0

30: 01 C6 01 C5 B6 FF 00 40 27 //memory range from 0xFF0000 TO 0xFF0004
Listing: Program Header before post linking
PROGRAM HEADER TABLE - 98 Items
Starts at:    28920, Size of an entry:     20, Ends at:    29560
NO   TYPE         OFFSET     SIZE VIRTADDR  PHYADDR  MEMSIZE  FLAGS ALIGNMNT
0 - PT_LOAD          34        0        0        0        4   RW          0
1 - PT_LOAD          34        0       10        0        2   RW          0
2 - PT_LOAD          34        0       17        0        9   RW          0
3 - PT_LOAD          34        0       70        0        1   RW          0
4 - PT_LOAD          34        0       80        0        4   RW          0
.
.
.
.
. 93 - PT_LOAD 34 5B FF0000 0 5B R X 0
94 - PT_LOAD          90       C9   FF005B        0       C9   R X         0
95 - PT_LOAD         15C       21   FF0124        0       21   R X         0
96 - PT_LOAD         180        3   FFFFFD        0        3   R X         0
97 - PT_NOTE       21934      2CF

To read the checksum value go to the file offset.

Listing: Output in '.elf.crc.elf' file
NO   TYPE         OFFSET     SIZE VIRTADDR PHYADDR MEMSIZE FLAGS ALIGNMNT
98 - PT_LOAD       29580        2   FFFDFF   FFFDFF     2   R        0

29580: C4 AC //calculated checksum value -2 bytes
Listing: Program Header after post linking

PROGRAM HEADER TABLE - 99 Items
Starts at:    28920, Size of an entry:     20, Ends at:    29580
NO   TYPE         OFFSET     SIZE VIRTADDR  PHYADDR  MEMSIZE  FLAGS ALIGNMNT
0 - PT_LOAD          34        0        0        0        4   RW          0
1 - PT_LOAD          34        0       10        0        2   RW          0
2 - PT_LOAD          34        0       17        0        9   RW          0
3 - PT_LOAD          34        0       70        0        1   RW          0
4 - PT_LOAD          34        0       80        0        4   RW          0
.
.
.
.
.
93 - PT_LOAD          34       5B   FF0000        0       5B   R X         0
94 - PT_LOAD          90       C9   FF005B        0       C9   R X         0
95 - PT_LOAD         15C       21   FF0124        0       21   R X         0
96 - PT_LOAD         180        3   FFFFFD        0        3   R X         0
97 - PT_NOTE       21934      2CF
98 - PT_LOAD       29580        2   FFFDFF   FFFDFF        2   R           0

New segment added by the post linker or crcgen.exe utility