请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
尊敬的 Ki:
它正在工作。
它以前不工作,因为我没有向 session.target.run() 函数提供 false 参数,因此它总是在等待停止发生。
我正在 与 C29xxCPU1 可执行文件一起运行批处理文件 (ccs2020\ccs\scripting\run.bat)、并与 debugSessionJS 脚本一起从 Windows 命令窗口运行该文件。
在 JS 脚本中、我使用 for-loop 从 符号地址连续读取、如下所示:
const addr = debugSession.primary.symbols.getAddress("sineValues");
let b = 0;
debugSession.primary.target.run(false);
for(i=1; i<=5000; i++)
{
b = debugSession.primary.memory.read(addr,1,16);
console.log(b);
}然而、当我看到所获得数据的图(我在可执行文件中输出了一组正弦值)时、读取并不是非常统一(不是值之间的固定间隙)、我认为这是预期行为、因为上述 for 循环代码是异步的、将以异步方式而不是以设定的速率执行读取:

您是否有任何建议/建议以设定的速率定期读取数据、而不是使用 for-loop 来读取数据?
调试会话可以在 CCS 中执行 Session.registers.read () 的速率是否有一定的最大限制?
我有一个想法是使用一些模块,如节点 JS: 子进程 Node.js v0.12.0 手册和文档的 child_process 模块的 exec-sync 函数 ,这将有助于同步执行上述代码。
但是否甚至可以使用 require ('child_process ') 导入模块?
我不确定,因为我已经尝试过一些其他模块 ,如 Require('net'),它在 JS 代码中抛出错误;也许我必须添加一些 env 变量,我不知道。
请告诉我您 对此的看法。
谢谢。此致、
Sumukh.