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.

Request syslink FrameQ sample



Hello, All..

We are using device DM814x and we have a use case like bleow :

Receive encoded data from network(By ARM side ) -> Send encoded data to DSP(with MessageQ in Syslink) ->

Data Decode(By DSP) -> Send decoded data to ARM(with FrameQ in Syslink) -> Display decoded data.

 

Regarding Syslink solution,

There are some FrameQ samples in EZSDK. But I can't find FrameQ samples which is FrameQ written by DSP / read by ARM.

At currently I'm not familier with Actually and we have very tight schedule to implement syslink.

So it is hard to me make an applicaiton from offered sample on EZSDK. 

Please offer to me the sample FrameQ written by DSP / read by ARM.

  

Thank You.

  • Hi Jaheo,

    If you are able to run the existing syslink/FrameQ sample in the product, you can simply modify the sample to open FrameQ as a writer from the DSP (RTOS) side, and copy the writer logic to the DSP side of the sample, and open FrameQ as reader on the ARM HLOS side. Everything should work. The creation of the FrameQ could be on either side, so you can keep the existing logic (creating the FrameQ on the ARM hlos side and modify the rest of the sample app to swich the reader & writer roles.

    Murat

     

  • Hi all,

    I would like to modify the SysLink's FrameQ example in the following way as Murat supposed:

    1. the FrameQ buffer manager and the frameq creating is on Cortex A8 (same as example)
    2. The VPSS M3  opens the frameq instance as a WRITER
    3. The VIDEO M3, DSP and A8 open the frameq instance as a READER
    The first step runs without any error, but on coprocessor side the frameQ_open calling returns FrameQ_E_INVALIDARG, independently of open mode (reader/writer). The messageQ and the notiyf modules run seamlessy.
    Code listing on VPSS M3 side:

    FrameQ_Handle frmQWriterHandle;
    FrameQ_ShMem_OpenParams frmQOpenParams;

    FrameQ_NotifyParams frmQNotifyParams;

    frmQOpenParams.commonOpenParams.name = "FrameQ";

    frmQOpenParams.commonOpenParams.openMode = FrameQ_MODE_WRITER;
    frmQOpenParams.commonOpenParams.cpuAccessFlags =
    (FrameQ_FRAMEBUF0_CPUACCESS | FrameQ_FRAMEBUF1_CPUACCESS |
    FrameQ_FRAMEBUF2_CPUACCESS | FrameQ_FRAMEBUF3_CPUACCESS |
    FrameQ_FRAMEBUF4_CPUACCESS | FrameQ_FRAMEBUF5_CPUACCESS |
    FrameQ_FRAMEBUF6_CPUACCESS | FrameQ_FRAMEBUF7_CPUACCESS);

    do 
    {
        status = FrameQ_open (&frmQOpenParams, &frmQWriterHandle);
        if (status < 0)
        {
            log ("ERROR:FrameQ_open failed for writer. status: %d \n", status);
            Task_sleep(100);
        }
    } while ((frmQWriterHandle == NULL) || (status < 0));

    What's wrong?

  • Lajos:

       The parameters to FrameQ_open() look fine.

       Can you turn on SysLink debug trace to see what is going on?

    http://processors.wiki.ti.com/index.php/SysLink_UserGuide#Trace.2C_debug_and_build_configuration

       Also, what does the FrameQ_create() code look like on the A8 side?  (You mention an EZSDK sample, is it this one?:  ./component-sources/syslink_2_10_03_20/packages/ti/syslink/samples/rtos/ti81xx/frameq_ti814x/FrameQAppArm.c 

    Thanks,
    - Gil