Other Parts Discussed in Thread: UNIFLASH
Hi,
I am running into an inconvenience that I hope I can get some help with.
I am using the TMS320F280039 MCU with the XDS200 USB Debugger.
When I start a debugging session in CCS 12.7.0.00007 the system will hang at the OnTargetConnect() Gel Step. If I hit cancel the connection session continues and I can start debugging. I've added prints to the Gel Script and it appears that the following line is never evaluating to true.
while(!(*(int *) (MEMCFG_BASE + MEMCFG_O_DXINITDONE) == 0x3)); /* Wait for InitDone Status */
Can someone explain why the M0/M1 RAM initialization would not occur successfully? It is also worth nothing that I do have the JTAGLock enabled as well and the SecureFlash Configured.
I've attached the entire OnTargetConnect function from the f280039.gel file.
Thanks,
-Colin
OnTargetConnect()
{
*(int *)(MEMCFG_BASE + MEMCFG_O_DXINIT) = 0x0003; /* RAM INIT FOR M0/M1 Memory */
while(!(*(int *) (MEMCFG_BASE + MEMCFG_O_DXINITDONE) == 0x3)); /* Wait for InitDone Status */
*(int *)(MEMCFG_BASE + MEMCFG_O_LSXINIT) = 0x00FF; /* RAM INIT FOR LS1..LS7 Memory */
while(!(*(int *) (MEMCFG_BASE + MEMCFG_O_LSXINITDONE) == 0xFF)); /* Wait for InitDone Status */
*(int *)(MEMCFG_BASE + MEMCFG_O_GSXINIT) = 0x000F; /* RAM INIT FOR GS0.GS3 Memory */
while(!(*(int *) (MEMCFG_BASE + MEMCFG_O_GSXINITDONE) == 0xF)); /* Wait for InitDone Status */
GEL_TextOut("\n\nRAM initialization done\n\n");
if (GEL_IsInRealtimeMode()) /* If in real-time-mode */
{
}
else /* Put device into C28x Mode */
{
C28x_Mode();
}
f280039_Memory_Map(); /* Initialize the CCS memory map */
/* Check to see if CCS has been started-up with the DSP already */
/* running in real-time mode. The user can add whatever */
/* custom initialization stuff they want to each case. */
if (GEL_IsInRealtimeMode()) /* Do real-time mode target initialization */
{
}
else /* Do stop-mode target initialization */
{
GEL_Reset(); /* Reset DSP */
}
}