Hello Tim,
I've just tested it on my CW for MGT v9.2 and I can place an initialized and uninitialized data into the separate custom sections:
my.lcf:
MEMORY {
...
MYMRAM: org = 0x10000000, len = 0x00100000
...
}
SECTIONS {
...
GROUP : { /* Add this entry */
.mymram_bss(BSS) : {}
.mymram_data(DATA) : {}
} > MYMRAM
...
main.c:
#pragma push //Store pragma context
#pragma section data_type sdata_type ".mymram_data" ".mymram_bss"
unsigned char GotoBSS[5][5];
unsigned char GotoDATA[5][5]={{1,1},{2,2}};
#pragma pop
void main()
{
unsigned char i=0;
GotoBSS[0][0] = i;
GotoDATA[0][0] = i;
while(1) { i++}
}
.MAP file
.mymram_data section layout
Starting Virtual File
address Size address offset
---------------------------------
00000000 000019 000074c8 000053a8 1 .mymram_data main.o
00000000 000019 000074c8 000053a8 4 GotoDATA main.o
.mymram_bss section layout
Starting Virtual File
address Size address offset
---------------------------------
00000000 000019 000074e4 000053c4 1 .mymram_bss main.o
00000000 000019 000074e4 000053c4 4 GotoBSS main.o
so seems the build tools allow you to add uninitialized data into a custom bss section.
Can you possibly try this easy example on your side?
Stan