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.
C2000 Team,
I am looking at dual-CPU debug on F28377D launchpad. I am using the blinky program from C2000Ware v1.0.6.0.
1) For CPU1, there are two flash configurations of the project: STANDALONE, and DEBUG. What is the difference between these two and why? All I see as a difference is that STANDALONE calls
IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
to have CPU2 proceed through its bootROM whereas DEBUG does not. But if so, how does the DEBUG version get CPU2 running?
2) I've noticed in CCSv8.3 that if I have both CPUs connected to the emulator, and execute a CPU reset on CPU1, CCS throws a timeout error and both CPUs immediately become disconnected. Why?
3) Given (2) above, after a debug sequence, how do I cleanly reset (start over again with debug)?
Thanks and regards,
David
Hi David,
As you know in debug if user loads the code on CPU then CCS force the PC to entry point and run from there. In that case IPC boot command from CPU1 is not needed and if used, it'll not work because there will be no acknowledgement from CPU2 code in BOOTROM (PC already points to application so BOOTROM will not run).
2) I've noticed in CCSv8.3 that if I have both CPUs connected to the emulator, and execute a CPU reset on CPU1, CCS throws a timeout error and both CPUs immediately become disconnected. Why?
This is a CCS issue and has been fixed in a patch. Please see below note.
"For CCS8.x, you can check for updates in CCS and install the “CCSv8 Service Release Windows 8.3.1.00004” package."
Please try this and let us know if you still see this issue.
Regards,
Vivek Singh
Hi Vivek,
The reset issue with CPU1 was fixed with the CCSv8.3.1.00004 update package. Thank you.
On the first question, I would expect to be able to use the same flash code whether I am running with the debugger or not. With the debugger connected and using jump-to-flash bootmode, wouldn't the following procedure work where CPU1 is sending the IPC command to CPU2 to direct the bootmode:
CCS reset CPU2
CCS reset CPU1
Run CPU2. CPU2 stops at ESTOP0 in bootROM. Hit Run again. CPU2 enters IDLE waiting for IPC interrupt.
Run CPU1. CPU1 releases CPU2 to complete bootROM.
The above seems to work OK with the Blinky example STANDALONE configuration flashed.
Regards,
David