Hi Andy,

 

See comments below...

 

________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Andy Ngo
Sent: Wednesday, January 24, 2007 3:31 PM
To: davinci-linux-open-source
Subject: Linking/mapping data to IRAM or L1SDRAM on the DSP

 

Hi all,

 

Thanks to all who responded about the small footprint filesystem; they
were all very helpful.  I have a new question:

 

I want to improve the performance of the CE Server on the DSP side; I
know there are L1 and L2 caches and the 

actual amount can be configured in the *.tcf file of the CE server.  

 

1) Do I have to activate these caches in my DSP code or are they already
set up to run automatically by the CE 

Server initialization routine?  

 

[vw] Once you have set up the cache modes in the *.tcf file, they will
be set and activated during initialization.

 

 

2) Also, I may want to use some of the L2 cache as IRAM or some of the
L1 cache as L1SDRAM (I know how to 

configure these in the *.tcf file) but I don't know how to declare my
data to map to these fast memory regions.  

For example, let's say my encoder codec has an array and I want fast
access to it, it is declared as follows:

 

 

            XDAS_Int32 myArray[100];   // 400 bytes

 

How do create a link file to force "myArray" to link to the beginning
L1SRAM?  The DVEVM codecs / servers 

examples automatically generate all the link files (*.cmd) in
package/cfg, so I'm assuming it has to be done 

somewhere in one of the *.bld, *.cfg, or *.tcf files, am I correct?  Can
anyone please give me some pointers on how to 

link data to IRAM or L1SDRAM?

[vw] One way to do it is to request this memory from the framework
through the IALG interface. First make sure L1DSRAM has a heap segment
defined with the same length as L1DSRAM, and label it L1DHEAP (the
all.tcf file in CE examples shows you how to do this.) Request memory
from space "IALG_DARAM0" in the memTab entry in your codec's algAlloc
function, then for the DSKT2 module (which manages memory for the
codecs/algorithms), map IALG_DARAM0 to L1DSRAM in your server's cfg file
by setting

DSKT2.DARAM0     = "_L1DHEAP";

This should ensure that the buffer you obtain in your codec's algInit
function will come from the beginning of L1DSRAM - assuming that no
other codec is requesting the same memory, that there is enough space,
etc.

Best regards,

Vincent

Thanks!

 

Regards,

Andy

_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to