This is from the ti.catalog.c6000.ITI8168.xdc included in EZSDK 05_01_01_80:
readonly config ti.catalog.c6000.ICacheInfo.CacheDesc cacheMap[string] = [
['l1PMode',{desc:"L1P Cache",
base:0x10E00000,
map : [["0k",0x0000],
["4k",0x1000],
["8k",0x2000],
["16k",0x4000],
["32k",0x8000]],
defaultValue: "32k",
memorySection: "L1PSRAM"}],
['l1DMode',{desc:"L1D Cache",
base:0x10F00000,
map : [["0k",0x0000],
["4k",0x1000],
["8k",0x2000],
["16k",0x4000],
["32k",0x8000]],
defaultValue: "32k",
memorySection: "L1DSRAM"}],
['l2Mode',{desc:"L2 Cache",
base:0x10800000,
map : [["0k",0x0000],
["32k",0x8000],
["64k",0x10000],
["128k",0x20000],
["256k",0x40000]],
defaultValue: "0k",
memorySection: "IRAM"}],
];
The following is memory map for C674x DSP (from this document (page 35)):
Notice address in red don't match with c674x Device settings from the PDF. They seem to be off by 0x1000 0000
Any function that is set to run in DSP IRAM (via link.cmd) and is configured with EZSDK XDC tool results in DSP segfault.
DSKT2 scratch values don't get updated properly with DMA into external memory or vice versa. In Page 26, memory map as viewed by EDMA controller will be off by 0x3000 0000, without address translation:
Looks like DEMMU should handle this address translation automatically when I pass address values into EDMA controller through ACPY3/DMAN3.
- If so, how do I configure DEMMU properly so DMA transfers using ACPY3 work?
- What should I change so I can use IRAM properly, as XDC tool set defaults are wrong?
- Is there a sample DSP ".cfg" file I can use to get things working.
I am using codec engine, so DSP server with correct settings shown would be ideal.
RV