Hi,
I would like to use EDMA3 in WinCE6 (DM6446 ARM environment) but EDMA3 is used by DM6446 DSP running codecs/algorithms (e.g. mpeg4 encoder).
EDMA configuration in my codec server (cs) is:
// in codec.cfg
var DMAN3 = xdc.useModule('ti.sdo.fc.dman3.DMAN3');
DMAN3.numPaRamGroup[GROUP_0] = 48; // number of PaRAM sets for scratch group 0
DMAN3.numPaRamGroup[GROUP_1] = 0; // number of PaRAM sets for scratch group 1
DMAN3.numTccGroup[GROUP_0] = 32; // number of TCCs assigned to scratch group 0
DMAN3.numTccGroup[GROUP_1] = 0; // number of TCCs assigned to scratch group 1
// in server.cfg:
utils.importFile("codec.cfg");
DMAN3.heapInternal = "L1DHEAP";
DMAN3.heapExternal = "DDRALGHEAP";
DMAN3.idma3Internal = false;
DMAN3.scratchAllocFxn = "DSKT2_allocScratch";
DMAN3.scratchFreeFxn = "DSKT2_freeScratch";
DMAN3.paRamBaseIndex = 80; // 1st EDMA3 PaRAM set available for DMAN3
DMAN3.numQdmaChannels = 8; // number of device's QDMA channels to use
DMAN3.qdmaChannels = [0,1,2,3,4,5,6,7]; // choice of QDMA channels to use
DMAN3.numPaRamEntries = 48; // number of PaRAM sets exclusively used by DMAN
DMAN3.tccAllocationMaskL = 0; // bit mask indicating which TCCs 0..31 to use
DMAN3.tccAllocationMaskH = 0xffffffff; // assign all TCCs 32..63 for DMAN
DMAN3.debug = false;
DMAN3.trace = false;
I see in my configuration:
1. QDMA channels are not shared because all available QDMA channel (=8) are allocated for DSP
2. PaRAM sets are shared because ARM can use PaRAM sets on position 0..79 freely
3. TCCs are shared because ARM can use TCC0..TCC31 freely.
My question is about "normal" DMA channels.
64 DMA channels are existing on DM6446 SoC but I cannot see any parameters or sharing options for that in my configuration files nor DMAN3 interface.
How can I share/allocate DMA channels because I would like to use EDMA3 in ARM and DSP in the same time?
This question is for DSP configuration (e.g. server.cfg) and ARM environment also (I am new in configuring and using EDMA3).
Peter