HI.
I am running PDK demo in CCS 5.1.1.
- Project : qmInfraExampleProject
- CCS 5.1.1
- pdk_C6670_1_0_0_20
- 6670 EVM
TI original demo source runs in 6670 EVM. --> OK
But, I want to change descriptor pool memory from L2 to DDR3 or MSMC.
= modification =
1 Add DDR3 segment
SECTIONS
{
.init_array: load >> L2SRAM
.qmss: load >> L2SRAM
.cppi: load >> L2SRAM
.ddr3_data : load >> DDR3
cppiLocalHeap: load >> L2SRAM
}
2. not convert global address for DDR3
static UInt32 l2_global_address (UInt32 addr)
{
UInt32 corenum;
if (addr & 0xFF000000)
{
/* Address is already global, return */
return (addr);
}
/* Get the core number. */
corenum = CSL_chipReadReg (CSL_CHIP_DNUM);
/* Compute the global address. */
return (addr + (0x10000000 + (corenum * 0x1000000)));
}
3. place the descriptor pool memory at DDR3
- #pragma DATA_SECTION (hostDesc, ".ddr3_data");
- #pragma DATA_SECTION (monolithicDesc, ".ddr3_data");
4. result
[TMS320C66x_0] --------------------Transmitting packets----------------------
[TMS320C66x_0] Core 0 : Transmitting descriptor 0x@80000000
[TMS320C66x_0] Core 0 : Transmitting descriptor 0x@80000040
[TMS320C66x_0] Core 0 : Transmitting descriptor 0x@80000080
[TMS320C66x_0] Core 0 : Transmitting descriptor 0x@800000c0
[TMS320C66x_0] Core 0 : Transmitting descriptor 0x@80000100
[TMS320C66x_0] Core 0 : Transmitting descriptor 0x@80000140
[TMS320C66x_0] Core 0 : Transmitting descriptor 0x@80000180
[TMS320C66x_0] Core 0 : Transmitting descriptor 0x@800001c0
[TMS320C66x_0]
[TMS320C66x_0] -------------------------Queue status-------------------------
[TMS320C66x_0] Transmit Queue 800 Entry Count : 0
[TMS320C66x_0] Tx Free Queue 736 Entry Count : 0
[TMS320C66x_0] Rx Free Queue 737 Entry Count : 16
[TMS320C66x_0] Receive Queue 704 Entry Count : 8
[TMS320C66x_0] Tx completion Queue 1000 Entry Count : 0
[TMS320C66x_0]
[TMS320C66x_0] --------------------Receiving packets-------------------------
[TMS320C66x_0] Core 0 : Received descriptor 0x@80000200 of length : 0
[TMS320C66x_0] Error Core 0 : In data buffer Tx: X - Rx: X
[TMS320C66x_0] Error Core 0 : In data buffer Tx: X - Rx: X
[TMS320C66x_0] Error Core 0 : In data buffer Tx: X - Rx: X
What's WRONG ?