Part Number: CCSTUDIO
Tool/software: Code Composer Studio
Hello TI!
I have been developing my own .js script to load and run programs on RVP-TDA3 board. The script basically connects to the board and the M4, DSP1, DSP2 cores. After that programs are loaded and traces are extracted upon completion. All is well so war. The problems appear when I try to run the same script again. This does not seem to be possible without a power off and on of the board and the JTAG (XDS200). It is usually not the same problem every time but I have seen two of them quite often. The first one is where the debugger cannot set CIO breakpoints since they already exist. And the second is when the debugger cannot connect to the DSP1 core with the reason that it is hang.
I will attach the startup sequence and the tear down sequence of the script.
Is there something that I'm missing from these processes?
Thanks in advance!
Regards,
Enver
// Init stage.
var env = ScriptingEnvironment.instance();
var server = env.getServer("DebugServer.1");
server.setConfig(configurationPath);
var sessionM4 = server.openSession(".*Cortex_M4_IPU1_C0");
var sessionDSP1 = server.openSession(".*C66xx_DSP1");
var sessionDSP2 = server.openSession(".*C66xx_DSP2");
sessionM4.target.connect();
if (!sessionM4.target.isConnected())
{
env.traceWrite(" [E] Target disconnected.");
java.lang.System.exit(1);
}
sessionM4.target.halt();
sessionM4.target.reset();
// Call GEL function
sessionM4.expression.evaluate("GEL_Reset()");
sessionM4.expression.evaluate("GEL_AdvancedReset(\"CPU Reset\")");
sessionM4.expression.evaluate("GEL_AdvancedReset(\"System Reset\")");
sessionM4.expression.evaluate("OnTargetConnect_API()");
sessionM4.expression.evaluate("DSP1SSClkEnable_API();");
sessionM4.expression.evaluate("DSP2SSClkEnable_API();");
.
.
.
.
env.traceWrite(" [I] sessionM4.target.halt()");
sessionM4.target.halt();
env.traceWrite(" [I] sessionDSP1.target.halt()");
sessionDSP1.target.halt();
env.traceWrite(" [I] sessionDSP2.target.halt()");
sessionDSP2.target.halt();
env.traceWrite(" [I] sessionDSP1.target.disconnect();");
sessionDSP1.target.disconnect();
env.traceWrite(" [I] sessionDSP2.target.disconnect();");
sessionDSP2.target.disconnect();
env.traceWrite(" [I] sessionM4.target.disconnect();");
sessionM4.target.disconnect();
env.traceWrite(" [I] sessionDSP1.terminate();");
sessionDSP1.terminate();
env.traceWrite(" [I] sessionDSP2.terminate();");
sessionDSP2.terminate();
env.traceWrite(" [I] sessionM4.terminate();");
sessionM4.terminate();
env.traceWrite(" [I] server.stop();");
server.stop();
env.traceWrite(" [I] reader.close();");
reader.close();
env.traceWrite("java.lang.System.exit(1);");
// env.traceEnd();
java.lang.System.exit(1);