This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F2809: Logic of compiler/linker for global variable with size 32 and 33

Part Number: TMS320F2809
Other Parts Discussed in Thread: TEST2

Tool/software:

Hi champs,

I am asking this for our customer.

The user finds the RAM size allocated for global variables (that is .ebss) seems to increase a lot when size increase over 32.

That is, 

#define SIZE 33

uint16_t test1[SIZE]

uint16_t test2[SIZE]

uint16_t test3[SIZE]

......

.ebss increase linearly when SIZE increases below 32, say 30, 31, 32.

.ebss increase linearly when SIZE increases over 32, say 32, 33, 34.

But it seems .ebss increase a lot when SIZE is changed from 32 to 33.

Questions:

1. Does it make sense for our compiler/linker?

2. Can the user avoid this and/or optimize .ebss allocation size if the user has to use SIZE 33?