large xmem array RCM6710

I need an xRAM circular buffer as big as possible to accumulate data that will be processed later. I tried to create a large char array like next:

unsigned char far buff[100000];

however I get an error that the size of the array can’t be more than 32767.

Then I tried to do something like:

unsigned char far buff[10][32000];

but I get another error that says the product of the dimensions can’t exceed 32767.

Is there a way around that? or only way is to create several arrays each not more of 32767 like next:

unsigned char far buff1[32000];
unsigned char far buff2[32000];

Thanks for your help.

If you have a look at the BACnet stack at you will see an example of this with a 2 dimensional array of 11 byte structures that is over 300KB in size. The example is in the trendlog.c file int the demo\object folder.

The only issues is that you cannot access the entries in the array using [x][y] notation, you have to use far pointers but other than that it works well.