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.
I have worked on this issue with the CCS group, reaching the conclusion that the problem is more likely to be related to the boot firmware in the F28379D.
This is the original post, which demonstrates the steps on how to reproduce the issue. In summary, when the cores are grouped, CCS is unable to resume and suspend execution without generating an error on the first attempt. https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/559771
Here are some of the conclusions and questions directly from the customer, who is well versed in the bootloader process of the C2000 devices:
void WaitBoot(void)
{
// sysctl_wdog_enable(); //- for debug
if(((OTP_BOOT_CONFIGURE_WORD & 0xFF000000) >> 24) == 0x5A) //CHECK if key match fails
{
if(((OTP_BOOT_CONFIGURE_WORD >> 8) & 3) == 0x1)
{
c1brom_enable_pie_in_boot(1);
}
}
else
{
sysctl_wdog_enable();
}
// If the emulator stops here
// a) change EMU_KEY to 0x55AA
// b) write the appropriate boot mode to EMU_BMODE
// c) perform a debugger reset, and run
asm(" ESTOP0");
for(;;)
{
}
}
Thank you!
Lenio,
whenever CPU1 is reset, CPU2 is also reset. So the correct way to debug this is do a debug Reset and restart on CPU1, and while CPU1 is waiting at main() in application, do a debug reset and restart on CPU2 so now both the CPUs are at respective main()s and now you can run both of them.
So the debug Reset of CPU1 has to happen before CPU2 always. You cannot expect CPU2 to be still running while CPU1 goes into reset.
Now for running one core after other it depends on the application. CPU2 application cannot run before CPU1 application has configured the system resources as needed, so as long as there is a ready to run signal from CPU1 application to CPU2 application and as long as CPU2 application waits for this signal from CPU1 application you can run the cores in any order. But if not then CPU1 application has to run before CPU2 application.
Hope this helps.
Best Regards
Santosh Athuru