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.

FFTC example for single core

Good time of day to you all.

I'am new at C66x multicore family. 

My task is to use FFTC instead of DSP FFT library function. So now I'am tryng to understand the process on the example of FFTC_Multicore_exampleProject from the pdk_C6670_1_1_2_6.

As I understand the program launches simultaneously on all 4 cores and spaming the same messages into the console. So my question is can I run and debug it only on one core? Or at least let 0 core initialize the FFTC and 1 core do the process and then stop. Maybe there is already exist example of such type?

My guess is that I need to erase the part concerning the IPC and sync between the cores but in this case the program is just failing (Also not an option for using only 0 and 1 cores). Also I tried to hardcore the core number in my StartupFnx but then the code just freezing after "FFTC Multi Core Example Start" string.

Void myStartupFxn (Void)
{
MultiProc_setLocalId (CSL_chipReadReg (CSL_CHIP_DNUM));
}

I will be appreciative if someone can help me with this matter. Thank you in advance.

  • Hi,

    Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com).

    Single core FFT example is not available in software package. Peripheral experts will help you for your testing.

    Thanks,
  • Thank you for your answer,

    Although I have found an example where the calculations are performed only on one core. In the same PDK there is an example called  FFTC_Simple_testProject. It has several tests and two of them performed on the single core with different descriptors.

    But the problem I have remains the same. The FFTC driver initializes at all 4 cores, and without it the example just don't launch. Is there any way to avoid such resources waist? Maybe I get something wrong, but why initialize the driver at 4 cores and do the calculation only on one... My guess that this goes from unification, basically to have a possibility to run the multicore test cases in the same project, but I don't know how to change it and not crush the project. 

    Thank you in advance.

  • Look at the "FFTC_Simple_testProject" (found in the test folder) for single core usage. You would still have to modify the "Ipc.procSync" to "Ipc_ProcSync_NONE" in the fftc_test.cfg file . Refer to the IPC module documentation for details.

  • Dear Sudhanand Dayalan,

    Thank you for the help, it worked as I wanted. I think in the future I will switch this feature on and off in the code.