工具/软件:Code Composer Studio
我看到 DSS 发生了一些崩溃、我想知道它是否与从多线程应用程序访问 DSS 调用有关。 我使用以下调用打开了详细日志记录:
com.ti.ccstudio.scripting.environment.ScriptingEnvironment.instance().traceBegin("myfilename_"+时间戳+".log"); com.ti.ccstudio.scripting.environment.ScriptingEnvironment.instance().traceSetFileLevel(com.ti.ccstudio.scripting.environment.TraceLevel.ALL);
当事情发生故障时,日志文件突然结束,而没有关闭的日志标记。 详细的日志消息并非都以相同的顺序显示(尽管大多数消息都是这样)、我们也看到序列号在文件中按不同的顺序记录。
我们正在调试具有多个内核的(新)器件。 我们使用 runAsync()从主线程启动所有内核,然后为每个内核设置一个 halt 监控线程。 HALT-Monitor 线程在调试会话上为各自的内核调用 waitForHalt()。 当一个内核暂停时、其监控线程会向主线程发送信号、而主线程会暂停其他内核、并调用其他内核的调试会话中的 halt ()。 我们这样做是因为我们不知道哪个内核将首先停止、并且我们希望在一个内核到达断点后停止所有内核。
总之,我正在寻找的确认是,通过主线程的 runAsync ()独立启动多个内核,然后从多个线程调用 waitForHalt (),然后在主线程的所有内核上调用 halt (),对于 DSS 来说是安全的。
谢谢!