Hello,
I have a problem with the CMD linker command file for a C2802x project. In short, I don't know how to align an array to a 0x0100 byte boundary so it can be used as a buffer with circular addressing. I have already read the help files and done some experiments with the cmd files from example projects, but I can't make the array to get aligned properly. These are the relevant parts of the cmd file:
in the MEMORY block:
...
PAGE 1 :
/* For this example, L0 is split between PAGE 0 and PAGE 1 */
RAMM1 : origin = 0x000480, length = 0x000380 /* on-chip RAM block M1 */
DRAML0 : origin = 0x008900, length = 0x000700
L0L1RAM(RW) : origin = 0x008000, length = 0x800
...
in the SECTIONS block:
...
ddstab align(0x100)> L0L1RAM PAGE = 1
...
The C source includes a line like this:
//#pragma DATA_SECTION(sintab_fh, "ddstab");
Yet, the sintab_fh array lands on address 0x08980, not aligned to 0x0100. There is no error or warning in the build.
This is a test project that I just made to experiment with cmd files, so the rest of the CMD is just that of an example project. The directives habe been copied from an example project from the TI FIR library. In the CCS help files it is not clear at all what precisely is the format of the cmd file so I'm reduced to blind copy-pasting trial and error.
I hope somebody can point me to a good reference on linker command files.
Thank you!