Tool/software: Code Composer Studio
hi~
i have 2 dsp (tmdsevm6678LE).
i was tested hyplnk_evmc6678_C66BiosExampleProject.
in example, .cinit is L2SRAM
it's OK.
and, i was tested image_processing_evmc6678l example ( 8core ipc only test)
in example, .cinit is MSMCSRAM
it's also OK
between hyplnk example and ipc example, .cinit is diferent
so i tested hyplnk_evmc6678_C66BiosExampleProject with .cinit = "MSMCSRAM"
using core is only 0.
1. dsp1 and dsp2 run is ok
2. dsp1 and dsp2 run all cores. <<<<<<<<<<<<<< Fatal error detected
-----------------------------------------------------------------------------------------------------------------
void EVM_init(void)
{
platform_init_flags init_flags;
platform_init_config init_config;
uint32_t core;
if ( DNUM == 0u) {
platform_uart_init();
platform_uart_set_baudrate(115200);
(void)platform_write_configure(PLATFORM_WRITE_UART);
memset(&init_flags, 0x00, sizeof(platform_init_config));
memset(&init_config, 0x00, sizeof(platform_init_config));
if (platform_init(&init_flags, &init_config) !=Platform_EOK) {
platform_write("Platform failed to initialize, errno = 0x%x \n", platform_errno);
}
platform_write("Enable Master Core-%d\n",DNUM);
platform_write("hyplnk test with .cinit=MSMCSRAM\n");
#if 1
DEVICE_REG32_W(DSCR_KICK0, DSCR_KICK0_KEY);
DEVICE_REG32_W(DSCR_KICK1, DSCR_KICK1_KEY);
for( core = 1u; core < 8u; core++) {
DEVICE_REG32_W(BOOT_MAGIC_ADDR(core), (uint32_t)&_c_int00);
platform_delay(1u);
}
for( core = 1u; core < 8u; core++) {
DEVICE_REG32_W(IPCGR(core), 1);
platform_delay(1000);
}
#endif
}
}
-----------------------------------------------------------------------------------------------------------------
and then, hyperlink run only core0
-----------------------------------------------------------------------------------------------------------------
//int main(void)
Void hyplnk_main(UArg a0, UArg a1) // 20201113 thread...
{
hyplnkRet_e retVal;
uint32_t token;
uint32_t i;
int iteration = 0;
hyplnkExampleDataBuffer_t *dataBufPtr;
#ifndef __ARMv7
uint8_t mar;
#if 1 // 20201113 test by JC
if (CSL_chipReadDNUM() != 0) <=== only run core 0
return;
#endif
TSCL = 1;
#endif
printf("[%s:%d] entry...(DNUM:%d)\n",__func__,__LINE__,DNUM); // 20201113 dbg by JC
#ifdef infraDMA
Qmss_Result localRegion,remoteRegion;
#endif
#if defined (SOC_C6678)
CSL_BootCfgUnlockKicker();
#endif
-----------------------------------------------------------------------------------------------------------------
Is it possible to use hyplnk only in a specific core?
What should I do to enable all the core and make hyplnk work?
my code is below...