Trace32:如何使用 t32apinet 以编程方式获取维护密钥到期月份和年份?

Trace32: How get programmatically get maintenance key expiry month and year using t32apinet?

我正在尝试以编程方式获取劳特巴赫 JTAG 的维护密钥到期月份和年份。为此,我正在使用 t32apinet。有没有办法使用 api?

读取维护信息

您可以通过 PRACTICE 函数 LICENSE.DATE(<idx>) 获取维护密钥的日期,其中 idx 是显示在 LICENSE.LIST window。请注意,插入 PowerDebug 的一根调试电缆最多可以有 5 个序列号,因此也有最多 5 个维护密钥。

要获取当前 运行 PowerView 可执行文件的 idx,请使用 PRACTICE 函数 LICENSE.getINDEX().

将两者放在一起得到:LICENSE.DATE(LICENSE.getINDEX())

您可以在PowerView中使用PRINT命令进行测试:
PRINT LICENSE.DATE(LICENSE.getINDEX())
您应该得到一个 YYYY/MM 形式的字符串,例如2020/07

要通过远程 API 使用 PRACTICE 函数,请将 API 函数 T32_Cmd() 与 TRACE32 命令 EVAL 一起使用,然后通过 [=48] 获取结果=] 函数 T32_EvalGetString()。

例如在 C/C++:

char mdate[4096];    
T32_Cmd("EVAL LICENSE.DATE(LICENSE.getINDEX())");
T32_EvalGetString(mdate);
printf("End Date: %s\n", mdate);

我根本不熟悉 Visual Basic .NET,但我想它应该是这样的:

Dim mdate As String   
T32.Cmd("EVAL LICENSE.DATE(LICENSE.getINDEX())");
T32.EvalGetString(mdate);
Log("End Date: " + mdate)

新版本的 TRACE32 还支持更好的 API 函数 T32_ExecuteFunction()。