Forums

Problem with SDK and Two Codec DMA on 56585

Started by Louis Loving January 14, 2004
Problem with SDK and Two Codec DMA on 56585

Does anyone have any experience using DMA for two codecs with a DSP56858?  I can get the first Codec working fine but when I try to add a second, I cannot get it to work.

Stepping through essidmadrv.c, I notice that the section of code below does not appear to be executable in the debugger.  This leads me to believe they #ifdefs are defined but they are in bsp.h below.  If I try to redefine  BSP_DEVICE_NAME_ESSI_1_RX_DMA in appconfig.h, the compiler complains of multiple definitions.

Any ideas?

----essidmadrv.c-------
#else if (defined(BSP_DEVICE_NAME_ESSI_1_RX_DMA)  || \
          defined(BSP_DEVICE_NAME_ESSI_1_TX0_DMA) || \
          defined(BSP_DEVICE_NAME_ESSI_1_TX1_DMA) || \
          defined(BSP_DEVICE_NAME_ESSI_1_TX2_DMA))
    
    if (pHandle->EssiAddress == &ArchIO.ESSI1)
    {
       if (essidma1Created == true)
       {
           return (UWord16) 0;
       }
       essidma1Created = true;
    }
    else

----bsp.h-----------
#define BSP_DEVICE_NAME_ESSI_0_TX0_DMA    ((const char *)61)   /* ESSI0 TX0 DMA */
#define BSP_DEVICE_NAME_ESSI_0_TX1_DMA    ((const char *)62)   /* ESSI0 TX1 DMA */
#define BSP_DEVICE_NAME_ESSI_0_TX2_DMA    ((const char *)63)   /* ESSI0 TX2 DMA */
#define BSP_DEVICE_NAME_ESSI_1_RX_DMA     ((const char *)64)   /* ESSI1 RX DMA */
#define BSP_DEVICE_NAME_ESSI_1_TX0_DMA    ((const char *)65)   /* ESSI1 TX0 DMA */
#define BSP_DEVICE_NAME_ESSI_1_TX1_DMA    ((const char *)66)   /* ESSI1 TX1 DMA */
#define BSP_DEVICE_NAME_ESSI_1_TX2_DMA    ((const char *)67)   /* ESSI1 TX2 DMA */
#define BSP_DEVICE_NAME_CODECDMA_0        ((const char *)68)   /*CS4218 Codec*/
#define BSP_DEVICE_NAME_LCD                        ((const char *)69)   /* TDC1 LCD */
#define BSP_DEVICE_NAME_KEYPAD                 ((const char *)70)   /* TDC1 Keypad */
#define BSP_DEVICE_NAME_IDC                         ((const char *)71)   /* IDC */
#define BSP_DEVICE_NAME_CODECDMA_1        ((const char *)72)   /*Codec*/
#define BSP_DEVICE_NAME_CODEC_1               ((const char *)73)   /*Codec*/

Thanks,
Louis