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.

[dsplink] why these functions: CHNL_allocateBuffer() and CHNL_freeBuffer()

Hi all,

        I am using dsplink 1.65.00.02/03 on a custom dm6467 board.  I want to do a system design that how to exchange message and data between the arm linux kernel and the dsp side. So I face a basic question: how many APIs will allocate the pool memory ? I found that on ARM linux side, these APIs will allocate the pool memory:


        POOL_alloc

        CHNL_allocateBuffer

        MSGQ_alloc

 

and on DSP/BIOS side, these APIs will allocate the pool memory:

 

        POOL_alloc

        MSGQ_alloc

 

There is no CHNL_allocateBuffer on DSP side. and on the ARM linux side, the API CHNL_allocateBuffer can't specify a POOL ID, but the other two must specify a POOL ID.

So I don't know why to design CHNL_allocateBuffer()?  And I changed the LOOP example's source code, using POOL_alloc() instead of CHNL_allocateBuffer(), using

POOL_free() instead of CHNL_freeBuffer(), the result is the same as the origin code, no obvious errors found.