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.

Erro in FFTC_txClose

Other Parts Discussed in Thread: TMS320C6670, SYSBIOS

Hi,

I'm using the TMS320C6670 to process a FFT in your coprocessor. I changed the FFT_Multicore_example_Project to use a single core to transmit and receive data from FFTC.

But, I found a problem when I want to use the Fftc_txClose() function. In execution of this function the console prints this message:

ti.sysbios.heaps.HeapMem: line 339: assertion failure: A_invalidFree: Invalid free

My configuration of tx is:

      memset (&txCfg, 0, sizeof (txCfg));
       txCfg.txQNum                =   (Fftc_QueueId) txQNum;
       txCfg.bManageReqBuffers     =   1;
       txCfg.bEnableDftSizeListCfg =   1;
       txCfg.maxDftSizeListLen        =    pFFTAppCfg->numBlocks;
       txCfg.fftQCfg               =   pFFTAppCfg->fftcQCfg;
       txCfg.bSharedMode           =   1;
       txCfg.descType              =   Cppi_DescType_HOST;
       txCfg.cppiNumDesc           =   1;
       txCfg.bPSInfoPresent        =   0;
       txCfg.bufferSize            =   pFFTAppCfg->numInputSamples * FFTC_SAMPLE_SIZE * pFFTAppCfg->numBlocks;

And rx is:

        memset (&rxCfg, 0, sizeof (rxCfg));
        rxCfg.useFlowId                            =    -1;
        rxCfg.bManageRxFlowCfg                  =   1;
        rxCfg.rxFlowCfg.drvCfg.descType         =   Cppi_DescType_HOST;
        rxCfg.rxFlowCfg.drvCfg.cppiNumDesc      =   2;
        rxCfg.rxFlowCfg.drvCfg.bufferSize       =   (pFFTAppCfg->numOutputSamples * FFTC_SAMPLE_SIZE + 4) * pFFTAppCfg->numBlocks + 4;
        rxCfg.rxFlowCfg.drvCfg.bPSInfoPresent   =   0;
        rxCfg.rxFlowCfg.drvCfg.psLocation       =   Cppi_PSLoc_PS_IN_DESC;
        rxCfg.cppiRxQNum                        =   -1;
        rxCfg.bBlockOnResult                    =   1;
        rxCfg.bUseInterrupts                    =   1;
        rxCfg.bManageAccumList                  =   1;      /* Let driver do the Accum Management */
        rxCfg.accumCfg.drvCfg.bEnablePacing        =    0;        /* Disable pacing */
        rxCfg.accumCfg.drvCfg.intThreshold        =    1;        /* Set interrupt threshold to 1 */
        Fftc_getDeviceAccumulatorConfig (CSL_FFTC_A, &rxCfg.accumCfg.drvCfg.accChannelNum, &rxCfg.cppiRxQNum);

All the program is working fine, but when try to close the tx the problem occurs.

Any idea about this problem?

thanks

Marcus