工具/软件:Code Composer Studio
您好,我想知道函数ScriptAnalysisSession.ScriptActivity.getBufferByName()有什么作用? 该文档仅说明“按名称获取输出DVT缓冲区”,并且在提供的DVT或DSS示例中没有使用它。 有没有更多的解释。 我真正想做的是获取原始跟踪缓冲区数据的访问权限,我认为这可能是一个候选项。是否有办法做到这一点,而不是仅导出到CSV文件?
谢谢!
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.
工具/软件:Code Composer Studio
您好,我想知道函数ScriptAnalysisSession.ScriptActivity.getBufferByName()有什么作用? 该文档仅说明“按名称获取输出DVT缓冲区”,并且在提供的DVT或DSS示例中没有使用它。 有没有更多的解释。 我真正想做的是获取原始跟踪缓冲区数据的访问权限,我认为这可能是一个候选项。是否有办法做到这一点,而不是仅导出到CSV文件?
谢谢!
您好,Akria,
要获取原始跟踪缓冲区数据,您可以执行与正在执行的操作类似的操作,例如<CCS Install>\ccsv7\CCS_base\scripting\examples\DVTExamples\HardwareTraceAnalyzer\liveExamples\jsFiles\PCTrace_XDS560-js。
您不需要处理缓冲区,而需要处理名为‘跟踪查看器’的主数据提供方,请参见脚本中使用findDataProviderByName API的位置。
缓冲区(PC跟踪用例中不存在,但内存吞吐量 用例中不存在)是包含的数据,它为不同的视图(图形/已处理数据)提供数据,而不是原始数据。
拉尔夫
拉尔夫
感谢您花时间回复。 我觉得自己的解释不是很好。 我找到了你给我指出的例子,这很有帮助,但这并不是我想要做的。 问题是,我要运行的程序的长度使得将跟踪数据另存为csv在最后是不可行的,文件会太大(我说的时间很长)。 我真的很想在跟踪数据进入时将其提取出来(大致上,它不必是严格的实时),并进行一些我自己的筛选。 所以我真的想访问缓冲区,而不必等待程序结束,运行分析,然后写入csv。 我希望缓冲区会是这样的,但幸好您已澄清它们不是。 是否有办法完成我所描述的任务?
您好,Akria,
您的usecase是否可以自行停止CPU收集跟踪,然后重复该过程? 如果可以的话(将参考示例PCTrace_XDS560-js)
1.运行CPU一段固定的时间( dsC66_0.target.runAsynch(); Thread.sleep(x);) x是您可以轻松收集数据的时间(以毫秒为单位)
2.停止CPU ( dsC66_0.target.halt ();)
3.等待数据提供器获取解码的跟踪数据(.DataProvider.waitForEndData();)
4.发送到CSV (DataProvider.exportDataToCSV(<name>;) 名称是日志文件的名称。
现在,您只需在循环中重复步骤1-4,并将<name>的值更改为log_0.csv,log_1.csv等。
注意:当您停止CPU时,它会停止跟踪,重新运行将重置(即清除)缓冲区,因此每次运行之间只会捕获新数据。 。
拉尔夫
您好,Akria,
关于您的使用案例,您是否使用特定的设备和CPU?
遗憾的是,我们目前不支持跟踪数据的实时分析,并且假设您对C66x感兴趣,也不支持跟踪特定指令类型的执行(例如,跟踪每个寄存器分支)。 根据您计划如何处理数据,您可能会对“统计函数分析”功能感兴趣: http://processors.wiki.ti.com/index.php/Statistical_Profiling。 这仍然使用跟踪,但它是统计性质的,因此您可以跟踪较长的时间。
此致,
Jason Peck