Dear Eric, Thank you very much for your reply. I googled to see how I can use -fdata-sections to achieve this. But couldnt find much information. Can you please briefly explain how I can use -fdata-sections to enforce data ordering in SRAM ?
----- Original Message ---- From: "Weddington, Eric" <[EMAIL PROTECTED]> To: Raj Sharma <[EMAIL PROTECTED]>; avr-gcc-list@nongnu.org Sent: Tuesday, May 20, 2008 1:06:25 PM Subject: RE: [avr-gcc-list] Order of variables placed in .data and .bss sections > -----Original Message----- > From: > [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] > org] On Behalf Of Raj Sharma > Sent: Tuesday, May 20, 2008 11:21 AM > To: avr-gcc-list@nongnu.org > Subject: [avr-gcc-list] Order of variables placed in .data > and .bss sections > > Dear all, > > Is there a way to force some order in the way variables > (global/static) are placed in .data and .bss sections ? For > example, let my program has 2 initialized global variables g1 > and g2 and 5 uninitialized global variables u1,u2,u3,u4 and > u5. g1 and g2 are first placed in program memory after .text > section and __do_copy_data copies them to the starting > address in SRAM. u1 through u5 are not explictitly stored in > program memory but __do_copy_bss places them just after g1 > and g2 in SRAM and zeroes them out. I want to know if I can > somehow specify the order of these variables, say g1 > followed by g2; then u3,u4,u5,u1,u2. > > I noticed that the order in which the variables are > declared/defined in C file or assembly file does not > correspond to the way they are placed in SRAM. > > Thanks in advance, > Raj Hello Raj, In theory it can be done, but you will have to use -fdata-sections, and a customized linker script. You may also have to either, customize the startup code in avr-libc, or have some custom code right after startup that takes care of the .data initialization and .bss clearing yourself. Why do you need to do this anyway? I am working on incremental compiling/linking and I need the techniques to preserve maximum similarity between the old and new versions of the executable image. Thanks, Raj
_______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list