Hi CrasyCat,
Thanks for the quick response and the material information given.
Well actually, if we chnage the order in which global variables declared in that file, "filling bytes" will be updated with new value.
Even if we have a closer look into those bytes, we can see that,
ROM-ADDRESS: 0xC054 ---- SIZE 4 ---
Filling bytes inserted
00172166
------- ROM-ADDRESS: 0xC058 ---- RAM-ADDRESS: 0x2166 ---- SIZE 23 ---
Name of initialized Object : Soft_Part
536F667477 6172652050 6172743A20
53572D3030 323030
0017 - i.e. 0x17 - 23(decimal) bytes are initialised
2166 - is the starting address of the variable to be initialised
But this understanding wont fit exactly for the previous section.
Filling bytes inserted
00032101
------- ROM-ADDRESS: 0xC051 ---- RAM-ADDRESS: 0x2101 ---- SIZE 1 ---
Name of initialized Object : temp:1
10
------- ROM-ADDRESS: 0xC052 ---- SIZE 1 ---
Filling bytes inserted
00
------- ROM-ADDRESS: 0xC053 ---- RAM-ADDRESS: 0x2103 ---- SIZE 1 ---
Name of initialized Object : arr:1
20
Again, i saw that, at the end of copydown section 2 bytes 0x0000 is inserted as filling bytes in all the cases.
------- ROM-ADDRESS: 0xC06F ---- SIZE 2 ---
Filling bytes inserted
0000
Again, i found that the filling byte pattern mainly depends upon memory model selected.
Can anyone please explain, how does linker determine where to put filling bytes and what all informatio will be embedded in those bytes?
Thanks in adv...
kini