Tool/software: TI C/C++ Compiler
Hello Team,
One of my customer is using CCS with TMS320F28035 for his Solar grid connect inverter application where he is looking for combining multiple non-contiguous SRAM section for data RAM i.e. for .ebss as his RAM usage is increasing. I have gone through spru513n section 8.5.5.6 and spraa46a.pdf for automatic splitting the section and allocation by CCS. So I have imported default Example_28035_Flash in CCS7.2 and done below change:
In Example_2803xFlash.c I have declared below two Array totaling 1200 bytes (2 array so that one array could be fit in one section as my one section RAML2/RAMM1 is of 1024 bytes in TMS320F28035).
unsigned char Tempdata[400];
unsigned char Tempdata1[800];
Now I have changed 28035.cmd as below:
.ebss : { * (.ebss) } >> (RAML2 | RAMM1) PAGE = 1
But this example hasn't got compiled and gave me error as below:
________________________________________________________________
>> Compilation failure
makefile:151: recipe for target 'Example_28035_Flash.out' failed
"../F28035.cmd", line 136: error: program will not fit into available memory.
run placement with alignment/blocking fails for section ".ebss" size 0x52c
page 1. Available memory ranges:
RAML2 size: 0x400 unused: 0x3f8 max hole: 0x3f8
RAMM1 size: 0x400 unused: 0x400 max hole: 0x400
.ebss : { * (.ebss) } >> (RAML2 | RAMM1) PAGE = 1
error: errors encountered during linking; "Example_28035_Flash.out" not built
gmake: *** [Example_28035_Flash.out] Error 1
gmake: Target 'all' not remade because of errors.
**** Build Finished ****
____________________________________________________________________
I have discussed this issue with Team and got below feedback:
All the global variables in a given file or .obj is being attempted to fit in a single RAM Block only (even though there can be multiple variables in the same file).
I can understand that one Array should completely filled in one section but one obj file /one c file is only fitting in one section might not be acceptable to many customers..There are lot of customers who work in single file /some specific work in one file which might create issue with this.
Please advise what setting should I done for making CCS automatic splitting of .ebss section for getting fitted in different non-contiguous SRAM section.
Regards,
Vikas Chola