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.

OMAPL138 changing DSPLINK memory map

Other Parts Discussed in Thread: OMAPL138

Hi,

I modified the readwrite examples to fit my project. I followed the http://processors.wiki.ti.com/index.php/Writing_DSPLink_Application_using_PROC_read_and_write_APIs to add 2M WRITEMEM and 2M READMEM, but get some errors.

I have a 5*4096 float array in the SampleMessage.

#define data_row 5
#define data_col 4096

typedef struct SampleMessage_tag {
MSGQ_MsgHeader msgHeader ;
Uint32 gppWriteAddr ;
Uint32 dspWriteAddr ;
Uint32 size ;
Uint32 scalingFactor ;
float data[data_row][data_col];
} SampleMessage ;

When I run the application, the MSQG_alloc failed and there is an assertion.

root@arago:~/omapl138/readwrite# ./readwritegpp_1 DSPLINK_POOL_SAMPLE.out 0xC400
0000 524288 1
============= Sample Application : READWRITE ==========
Entered RDWR_Create ()
Leaving RDWR_Create ()
Entered RDWR_Execute ()
Assertion failed ((DSP_FAILED (status) && (*bufPtr == NULL)) || DSP_SUCCEEDED (status)). File : /home/ran/ti-dvsdk_omapl138-evm_04_03_00_06/dsplink_1_65_01_05_eng/dsp8
Assertion failed (((*msg != NULL) && (DSP_SUCCEEDED (status))) || ((*msg == NULL) && (DSP_FAILED (status)))). File : /home/ran/ti-dvsdk_omapl138-evm_04_03_00_06/dspli0
MSGQ_alloc failed. Status: [0x8000800b]
PROC_write Failed. Status: [0x8000800b]
Leaving RDWR_Execute ()
Execute phase failed. Status: [0x8000800b]
Entered RDWR_Delete ()
Leaving RDWR_Delete ()
=======================================================

Thanks!

  • Hi Ran,

    Thanks for your post.

    There could be two possible cause for the issue posted by you.

    Cause 1: DSPLink was built using different kernel version than the one used on the target. This can happen if DSPLink was built on a different development machine than the one where the target version was present.


    Cause 2: Some Codec Engine and DVSDK releases include pre-built binaries of DSPLink for a specific kernel version. In case you are using a different kernel version, you would need to rebuild the DSPLink. Instructions for building DSPLink are documented as given below:

    http://processors.wiki.ti.com/index.php/Building_DSPLink#Building_DSPLink

    Kindly try out for the above suggestions appropriate to the possible cause.

    Thanks & regards,

    Sivaraj K

    -------------------------------------------------------------------------------------------------------
    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------
  • Hi Sivaraj,

    Thanks for your reply. I noticed that there is a default dsplink module loaded in the target and I unloaded it. Now the new module can be loaded to the target successfully. But I still have some error when I execute the application. I have an 5* 4096 float array in the SampleMessage. The MSGQ_alloc failed and there is an assertion.

    root@arago:~/omapl138/readwrite# ./readwritegpp_1 DSPLINK_POOL_SAMPLE.out 0xC4000000 524288 1
    ============= Sample Application : READWRITE ==========
    Entered RDWR_Create ()
    Leaving RDWR_Create ()
    Entered RDWR_Execute ()
    Assertion failed ((DSP_FAILED (status) && (*bufPtr == NULL)) || DSP_SUCCEEDED (status)). File : /home/ran/ti-dvsdk_omapl138-evm_04_03_00_06/dsplink_1_65_01_05_eng/dsp8
    Assertion failed (((*msg != NULL) && (DSP_SUCCEEDED (status))) || ((*msg == NULL) && (DSP_FAILED (status)))). File : /home/ran/ti-dvsdk_omapl138-evm_04_03_00_06/dspli0
    MSGQ_alloc failed. Status: [0x8000800b]
    PROC_write Failed. Status: [0x8000800b]
    Leaving RDWR_Execute ()
    Execute phase failed. Status: [0x8000800b]
    Entered RDWR_Delete ()
    Leaving RDWR_Delete ()
    =======================================================

    Sivaraj Kuppuraj said:

    Hi Ran,

    Thanks for your post.

    There could be two possible cause for the issue posted by you.

    Cause 1: DSPLink was built using different kernel version than the one used on the target. This can happen if DSPLink was built on a different development machine than the one where the target version was present.


    Cause 2: Some Codec Engine and DVSDK releases include pre-built binaries of DSPLink for a specific kernel version. In case you are using a different kernel version, you would need to rebuild the DSPLink. Instructions for building DSPLink are documented as given below:

    http://processors.wiki.ti.com/index.php/Building_DSPLink#Building_DSPLink

    Kindly try out for the above suggestions appropriate to the possible cause.

    Thanks & regards,

    Sivaraj K

    -------------------------------------------------------------------------------------------------------
    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------