This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to use BCACHE API's

Hi,

I am integrating a decoder to Codec Engine framework and have an application in ARM to call the decoder.

In CCS side ,the application which uses the XDM decoder ,does the cache operations using BCACHE API's (SETMAR,Invalidate etc).This is working fine.

How ever , am finding this a problem when i build with the application in Linux .I link the application using bios.DM420P .It builds fine but when it links it says all these BACHE symbols are undefined .Why is this happening ??

How do i use these API's in codec Engine framework.Shall i link them while lbuilding the server??

Please help me as it is very important for me to call these API's

thanks & regards,

Manoj

 

  • I don't recognize the device DM420.  Are you sure that's the device you're using?  Do you know if it has a 64x or 64x+ core?  Make sure your project build options match up properly, i.e. if it has a 64x+ core make sure you selected the 64x+ target option (-mv).

    As mentioned in your previous thread the Codec Engine will make cache coherence calls itself:

    https://community.ti.com/forums/p/4546/16701.aspx#16701

    You just need to indicate to the framework through accessMask how you have touched the input/output buffers.

  • Hi Brad,

    What  would happen if the DSP codec is using some local buffers which are not assigned by Application. We would want to use BCACHE APIs in that case to do some cache management. In such cases we need to add a bios library which supports these APIs for cache invalidation and writeback.

    In CCS, this works fine if we add the biosDM420.a64P library provided in the codec engine packages.

    But when we add the lib exclusively to link with the APP, it shows undefined reference to the BCACHE APIs.

    Do you say that we should not use BCACHE APIs in the codec? What if we have some local DSP buffers?

    Thanks,

    Ravi

  • There are several concepts build into the codec engine framework provided with our OMAP devices.  For example, codecs are required to be XDAIS/XDM compliant to fit into this framework.  XDAIS is a standard to allow multiple algorithms from different vendors to co-exist together; the way this is accomplished by having DSP algorithms ask the framework for resources rather than just take them.  The DSKT2 software module (part of the framework) is used by the DSP algorihms to get access to memory resources; DSKT2 module also encapsulates some of the BCACHE APIs.