Other Parts Discussed in Thread: SYSBIOS
Hi, I have a DM8168 and I want to DMA data from main memory (DDR) into L1 memory in my IUNIVERSAL codec..
1) How do I configure L1 as SRAM? Can I configure all of L1P and L1D for my algorithm or will this cause problems if some of it needs to be used as normal cache for the C674x? Presumably I need to modify my codec server config.bld file?
2) How do I allocate/access memory from the L1 SRAM area in my codec? At present my codec can happily DMA (using ECPY) to and from main memory. I just need to work out how to do this between main memory and L1.
Here's some of my codec server config.bld in case it's useful:
var mem_ext = [
["DDR3_HOST", {
comment: "DDR3 Memory reserved for use by the A8",
name: "DDR3_HOST",
base: 0x80000000,
len: 0x16C00000,
}
],
["DDR3", {
comment: "DDR3 Memory reserved for use by the C674",
name: "DDR3",
base: 0x99500000,
len: 0x00C00000,
}
],
["DDRALGHEAP", {
comment: "DDRALGHEAP: off-chip memory for dynamic allocation",
name: "DDRALGHEAP",
base: 0x98000000,
len: 0x01400000,
}
],
["DDR3_SR2", {
comment: "DDR3 Memory reserved for use by SharedRegion 2",
name: "DDR3_SR2",
base: 0xB3D00000,
len: 0x0BC00000,
}
],
["DDR3_SR1", {
comment: "DDR3 Memory reserved for use by SharedRegion 1",
name: "DDR3_SR1",
base: 0x9A100000,
len: 0x00100000,
}
],
["DDR3_SR0", {
comment: "DDR3 Memory reserved for use by SharedRegion 0",
name: "DDR3_SR0",
base: 0x9F700000,
len: 0x00200000
}
],
];
/* platform instances used by this package */
Build.platformTable["ti.platforms.evmTI816X"] = {
externalMemoryMap: mem_ext,
l1DMode:"32k",
l1PMode:"32k",
l2Mode:"128k",
codeMemory: "DDR3",
dataMemory: "DDR3",
stackMemory: "DDR3"
};
Thanks,
Ralph
P.S.
Gunjan said in this post that he'd managed to get DMA into L1 going using ECPY for the DM8168 (which is exactly what I want to do) but didn't describe how.