AnsweredAssumed Answered

How in PVP MemPipe change the size of the DMA(SSDD API)?

Question asked by qian on Nov 6, 2012
Latest reply on Nov 8, 2012 by Prashant


   I use the the CCES installation directory under the PVP convolution example .

   (X:\Analog Devices\CrossCore Embedded Studio 1.0.0\Blackfin\drivers\pvp\Convolution)

  DMA (DMA43) IPF1 corresponding to the width of one byte .

  How to change the width of the DMA to improve efficiency ?

  I did not find the corresponding API function .


I tried the following changes , but OPF3 (DMA42) interrupts can not be triggered .

    /* Open stream for Convolution Input */
    if((eResult = adi_pvp_OpenStream (
                                  ghMemPipe,                /* Pipe in which the stream to be opened */
                                  ADI_PVP_STREAM_MEMORY,    /* Stream to be opened */
                                  ADI_PVP_STREAM_DIR_IN,    /* Stream direction is input */
                                  CONVInStreamMem,          /* Memory required for stream operation */
                                  ADI_PVP_STREAM_MEM_SIZE,  /* Size of the given memory in bytes */
                                 /* BYTES_PER_PIXEL*/ 4,          /* Size of each element in bytes */
                                  &ghCONVInStream            /* Pointer to the Stream Handle */

                               )) != ADI_PVP_SUCCESS)
        REPORT_ERROR("Failed to open the CONV input stream 0x%08X\n", eResult);
        return FAILURE;

/* Submit buffers to input stream*/
if((eResult = adi_pvp_SubmitBuffer(
                        ghCONVInStream,                 /* Handle to the stream */
                        &CONVInBuf[0],                  /* Pointer to the buffer */
                        CONV_IN_NUM_ELEM/4                /* Number of CONVOLUTION input elements */
                        )) != ADI_PVP_SUCCESS)
     REPORT_ERROR("Failed to submit input buffer to input stream 0x%08X\n", eResult);
     return FAILURE;



Thank you.