Part Number: TMS320F28375S
Tool/software: TI C/C++ Compiler
We ran into an issue with a data section pragma per below (F28375S, CGTv6.4.4)
Linker command simplified for example
MEMORY
{
PAGE 0 : /* Program*/
MEM1 : origin = 0x00b000, length 0x004000
PAGE 1 : /* Data */
RAM_STACKS: origin = 0x000002, length 0x0007FE
CLA_RAM: origin = 0x008000, length = 0x002000 /* CLA RAM LS0-3 */
}
SECTIONS
{
My_CLA_RAM : > CLA_RAM, PAGE =1
}
In a C file, a variable was declared as such
#pragma DATA_SECTION(sample,"CLA_RAM"); // Placed in CLA_RAM instead of MY_CLA_RAM
Uint16 sample =0;
In the *.h file included by the *.cla file,
extern Uint16 sample;
When placed in CLA_RAM per above, the variable "sample" was located at 0x000002, in the stacks area. No warning was issued. Of course, when placed in MY_CLA_RAM, no issues.
So just curious as to this placement in the stacks area and why no warning was issued. This caused a strange debug session with root cause being a variable in RAM which the CLA could not access.
Thanks,
Eric