1.) how are .bss and .data written to RAM since I use FLASH Loader to write my program to flash?
Code, persistent data, and initialized data are written to FLASH. During startup, initialized data is copied to bss during startup. Permanent data is usually accessed directly (you declare it with the "const" keyword).
2.) Is there any index type of thing in the final binary that distinguishes between .text and .bss segments?
, "" . . , , , . GCC .elf.
"link script" . , .
3.) - /, ?
"objcopy" , Intel-hex. . "Objdump".
4.) .text .bss ?
. GCC " " , bss. script.
Intel-hex: http://en.wikipedia.org/wiki/Intel_HEX
GCC: http://gcc.gnu.org/onlinedocs/