I use DSP 6670 with Windows 7 PC in my work. I need to use a turbo decoder for an LTE application, so I try to run tcp3d example from C:\ti\pdk_C6670_1_0_0_20\packages\ti\drv\exampleProjects\tcp3dExampleProject,
but the result is not as I expected .
I want to run TCP3D_A with core0 and TCP3D_B with core1 parallelly,
and I have modified the codes as follows:
static Int32 enable_tcp3d (void)
{ int CSL_PSC_PD_TCP3D;
int CSL_PSC_LPSC_TCP3D;
#ifdef SIMULATOR_SUPPORT
/* TCP3D power domain is turned OFF by default.
* It needs to be turned on before doing any TCP3D device register access.
* This is not required for the simulator. */
dspCoreID = CSL_chipReadDNUM();
if(dspCoreID==0)
{ CSL_PSC_PD_TCP3D=CSL_PSC_PD_TCP3D_A;
CSL_PSC_LPSC_TCP3D=CSL_PSC_LPSC_TCP3D_A;
}
else
{ CSL_PSC_PD_TCP3D=CSL_PSC_PD_TCP3D_B ;
CSL_PSC_LPSC_TCP3D=CSL_PSC_LPSC_TCP3D_B;
}
/* Set TCP3D Power domain to ON */
CSL_PSC_enablePowerDomain (CSL_PSC_PD_TCP3D);
/* Enable the clocks too for TCP3D */
CSL_PSC_setModuleNextState (CSL_PSC_LPSC_TCP3D, PSC_MODSTATE_ENABLE);
/* Start the state transition */
CSL_PSC_startStateTransition (CSL_PSC_PD_TCP3D);
/* Wait until the state transition process is completed. */
while (!CSL_PSC_isStateTransitionDone (CSL_PSC_PD_TCP3D));
/* Return TCP3D PSC status */
if ((CSL_PSC_getPowerDomainState(CSL_PSC_PD_TCP3D) == PSC_PDSTATE_ON) &&
(CSL_PSC_getModuleState (CSL_PSC_LPSC_TCP3D) == PSC_MODSTATE_ENABLE))
{
/* TCP3D ON. Ready for use */
return 0;
}
else
{
/* SRIO Power on failed. Return error */
return -1;
}
#else
/* PSC is not supported on simulator. Return success always */
return 0;
#endif
}
then I load the program both on core0 and core1 and start them at the same time.
It turns to have problems.How can I fix it?