The compiler has placed gv_CFI in ZI (.bss) and the '#pragma arm section rwdata=...' does not affect it (because it's ZI not RW). The other four have been placed in RW (because they are small) and are affected by the #pragma. You'll probably find it easier to use __attribute__((section("..."))) instead of '#pragma arm section ...' for controlling data sections; see the manual [url="http://infocenter.arm.com/help/topic/com.arm.doc.dui0491a/Caccache.html"]infocenter.arm.com/.../url].Searching the infocenter.arm.com Knowledgebase Articles also turns up [url="http://infocenter.arm.com/help/topic/com.arm.doc.faqs/ka3947.html"]infocenter.arm.com/.../url]
#pragma arm section rwdata ="cellular_ram"u8 gv_CFI[256]={0};/* MAN ID DID1,DID2,DID3*/u16 gv_DIDR;...#pragma arm section rwdata[...]I want to put gv_CFI and the ohter 4 u16 var together in a fix place.But, after link finished. I check the MAP file. I found this:[color="#FF0000"] gv_CFI 0xa802fe58 Data 128 init.ptl(.bss) [/color] gv_DIDR 0xa01ff000 Data 2 init.ptl(cellular_ram) ...the gv_CFI is placed wrong.....How can I deal with this ? Why the linker split it from the other four? They are all .bss. why??
#pragma arm section rwdata ="cellular_ram"u8 gv_CFI[256]={0};/* MAN ID DID1,DID2,DID3*/u16 gv_DIDR;...#pragma arm section rwdata
Build 821 has the same prb.
I want to put gv_CFI and the ohter 4 u16 var together in a fix place.