Hello e2e-Community,
Is there an example for IPC MessageQ which runs from flash?
Of course, there is the Generic Example in CodeComposer - it runs perfectly as it is with the debugger and everything. But which steps do I have to do to get run from flash, when I just power-on the device with no debugger plugged in? (Or with the debugger configured like this: http://processors.wiki.ti.com/index.php/Concerto_Dual_Core_Boot#Debugging_Flash_Dual-Core_Boot )
To me, it seems like the M3 gets stuck in the IpcMgr-Startup in the function Int IpcMgr_Module_startup(Int phase) in line 197 of the file IpcMgr.c:
/* wait for C28 state to be sync start */
while (*startReadAddr != SYNCSTART);
Whereas the c28 does not really come alive at all - perhaps the IPC-Command from the M3 to the c28 for the Flash-Boot is missing? ... I can't even pause the c28 in the debugger in this mode..
Is there any trick to it? Do I have to enable "Boot from flash" in either of the SysBios-Config-Files? I tried it, nothing worked - perhaps I missed some combination? If I enable the function "initiate boot of the c28 processor" in the m3-SysBios-Config, I get stuck at the concertoInit_Boot_bootC28()-function..
I would be very happy if someone could help me - I've been trying for days already ... :(
Thank you,
Philipp L.
/edit: Seems like I can answer myself :)
When I put the M3's FlashInit() and the IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH); in a Startup function which is called before the module initializations, and when I add some wait time with for-loops here and there, it WORKS!! Both cores start up, and IPC seems to work, too ..
Can anyone tell me: Is this the right way to do it?
/edit2: Seems like with this trick, the m3 starts up, but the c28 somehow does not really start up - can't really see it in the debugger -.- The m3 is sending ipc-messages, but the c28 does not really do something, I guess ..
Any thoughts?