Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
The variable present in the stack are auto variables which are used within the piece of code and these are primitive.
Where as the one in Data segment are used for global initializations which are better performance because the cycle time for access is lower.
there are some drawbacks with respect to the data segment like for the usage w.r.t size, coherency etc..
There is a book on "Exploring memory organization for embedded systems" which will guide for good understanding.