I would like to use the linker to partition the DDR, and assign memory blocks to these partitions. For example, I would like to assign buffers A, B, and C to a 1MB area that starts at address 0x80000000, and buffers D and E to a 1MB area that starts at address 0xa0000000.
My current application is based on the example found in C:\ti\pdk_C6678_1_1_2_6\packages\ti\drv\pcie\example\sample. I added the following lines to the linker config file (C:\ti\pdk_C6678_1_1_2_6\packages\ti\drv\pcie\example\sample\pcie_sample.cfg):
---------------------------------------------------------------------------------------------------------
Program.sectMap[".ac3PoolSec"] = "DDR3";
---------------------------------------------------------------------------------------------------------
In my "C" code, to place a buffer in the ".ac3PoolSec" section, I use the following:
---------------------------------------------------------------------------------------------------------
#pragma DATA_SECTION(fileBuf, ".ac3PoolSec")
#pragma DATA_ALIGN(buf, 256)
unsigned char buf[0x1000];
---------------------------------------------------------------------------------------------------------
But, this places all buffers at the low address area of the DDR (address 0x80000000). I would like to partition the DDR, and place buffers in any partition. How do I break up the DDR into partitions, and place buffers into those partitions?