I am new to Embedded field. One doubt came up in my mind about hex file downloading:
As output of the linker and locator is a binary file having various sections as .text,.bss,.data etc. and .text resides in Flash, .bss goes to RAM, .data goes to RAM ...
so my question is that 

1. how .bss and .data are written to RAM as i am using FLASH Loader for burning my program onto flash.
2. Is there any index kind of thing in the final binary which discriminates between .text and .bss segments.
3. Is there any utility in the linker/locator which converts our simple binary into hex format.
4. How can I discriminate between .text and .bss from the contents of hex file?

Thanks in advance. Please help.