Tool/software: TI-RTOS
To whom it may concern,
I would like to move NDK frame buffers to DDR3 so a larger buffer can be used. I tested this on K2GEVM, with NIMU_BasicExample_evmK2G_c66xExampleProject (and an ARM equivalent) from both pdk_k2g_1_0_12 (NDK 3.40.1.01) and pdk_k2g_1_0_10 (NDK 2.26.0.08). The ways I moved .far:NDK_PACKETMEM from L2SRAM to DDR3 are either
(1) change L2SRAM to DDR3 of the line
Program.sectMap[".far:NDK_PACKETMEM"] = {loadSegment: "L2SRAM", loadAlign: 128};
in helloWorld.cfg,
or (2) create an empty linker command file with the following contents:
SECTIONS
{
.far:NDK_PACKETMEM > DDR3
}
Either way will succeed in the compilation and the .far:NDK_PACKETMEM section in *.map file does move from L2SRAM to DDR3. But once I run the program, the DDR3-version won't work. The print in NetworkOpen() and NetworkIPAddr(), called by NC_NetStart(), does show the IP address. But I'm not able to either ping the IP or get an echo on UDP port 7.
I also tried to move not only .far:NDK_PACKETMEM but also other NDK related sections from L2SRAM to DDR3, but none of the attempts make the program run properly.
I checked the NDK User's Guide and Reference Guide but found nothing special related the the DDR3 restriction.
I searched the E2E forum. All successful attempts of moving .far:NDK_PACKETMEM from L2SRAM to DDR3 are not using K2G. And the ways they do it doesn't seem to be anything special.
Could you please try to reproduce this issue and let me know what's the proper way to do this?
Thanks,
YW