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.

C6Accel with custom thread doing IO on omapl138

Other Parts Discussed in Thread: OMAPL138

Hello,

I'm currently using an Omapl138 with DSPlink to do this kind of processing:

UPP -> DSP processing -> GPP -> SATA.

I want to provide to my customer a way to let them launch their custom algo once they get data on GPP.

I think c6accell is the way to go.

But how to integarte C6accell in parallel of my current app?

I see two ways, (I have no experience with codec server so perhaps I'm completely wrong...) :

 

1/ integarte a codec server in parallel of my current tasks.

But how I will be sure C6accell codec server will not interfere with my dsplink current communication? (And moreover I will surely want to use CMEM so even more complex...)

As C6accell will only be used as customer code acceleration, can I isolate the C6accel server from my data grabbing app?

 

2/ Integarte my current code into an xdais codec and put it into C6accel.

But how to manage UPP SIO into the codec, not sure it was designed for that.

I read some interesting info in a document from DSPbridge telling that the good way to do is to put some node thread doing IO and xdais task being feed by these I/O thread. But how to handle this with C6accell?

 

Any help welcomed!

Regards,

Pep

  • Pep,

    Quick question: are you using Linux on the ARM side? Your use case sounds a little different from what I'm used to, so I want to avoid making any false assumptions.

    If I understand your application correctly, it sounds like you have the following sequence:

    1. Read in data from uPP to DSP
    2. Process data on DSP
    3. Send data to ARM via DSPLINK
    4. Process data on ARM
    5. Send out data from ARM via SATA

    If this is correct, then you may want to consider C6Run instead of C6Accel.  Running peripheral I/O on the DSP is generally not allowed under the auspices of the Codec Engine.  Also, C6Accel is primarily intended to make it easier to use TI-standard DSP libraries from an ARM application.  It sounds like you're more interested in quickly partitioning your own application code to run on the ARM and DSP.  In this case, C6Run is the better choice.

    Does what I'm saying make sense to you?  If so, I can forward this post to a C6Run expert to give you a better idea how to proceed.

  • Hi Joe,

    Having read a lot of documentation, I've started to play with C6accel.

    You have exactly described what i was wanting to do. But on top of that I wanted to permit my users to use C6accel wrapped lib.

    The problem is:

    A/ I got my current app that is not C6accel compatible (UPP->DSP->DSPLINK->GPP linux->SATA)

    B/ I want to integarte a codec server because it will permit to my customer to use som DSP computation on  linux side.

    So, I was wondering how to do this..

    Either interating my currrent app into C6acell (with as you said some I/O issue regarding codec way of thinking) or run my app and a server in parallel...

    -> Is it really forbidden to do I/O in a codec?

    -> Is it possible to run an app in parallel of a codec server?

     

    Here is my thinking as of today :)