如何从Trace32的PRACTICE II脚本中调度外部脚本?
可以通过Trace32的PRACTICE II脚本语言来调用一个外部的(Python)脚本吗?
2 个回答
2
为了帮助未来的搜索者,像我一样,这里介绍如何在Python中使用Lauterbach的c-API来执行PRACTICE命令。在运行你的脚本之前,必须先打开TRACE32应用程序。你还需要在你的config.t32文件中添加5行代码(包括两行空行):
#You must have an empty line before
RCL=NETASSIST
PACKLEN=1024
PORT=20010
#and after these three parameters
至少PORT参数的值是可以随意设置的,但它必须在你的配置和脚本中保持一致。这个参数定义了API可用的UDP端口。 下面的代码展示了如何在Python中使用这个API:
from ctypes import *
node = (c_char_p('NODE='),c_char_p('localhost'))
port = (c_char_p('PORT='),c_char_p('20010'))
plen = (c_char_p('PACKLEN='),c_char_p('1024'))
mydll = cdll.LoadLibrary(r'C:\T32\demo\api\capi\dll\T32api.dll')
error = mydll.T32_Config(*node)
error = mydll.T32_Config(*port)
error = mydll.T32_Config(*plen)
error = mydll.T32_Init()
error = mydll.T32_Attach(1)
#Try a PRACTICE command
cmd = c_char_p('DATA.DUMP 0xFF800000')
mydll.T32_Cmd(cmd)
确保T32api.dll文件在脚本指定的目录中。Lauterbach还提供了更多关于这个API的文档。可以查看demo\api\capi文件夹以及这份文档 http://www2.lauterbach.com/pdf/api_remote.pdf
1
使用 OS.Screen 来创建一个命令提示符的会话。