我正在通过命令行运行T32 CMM脚本(放入python包装器)但是我想知道T32的状态是否脚本已成功运行或是否有错误,我该如何反馈来自T32?
cd C:\T32\bin\windows64
Config.t32:
RCL=NETASSIST
PORT=20000
PACKLEN=1024
; Environment variables
OS=
ID=T32
TMP=C:\Users\jhigh\AppData\Local\Temp
SYS=C:\T32
PBI=
USB
; Printer settings
PRINTER=WINDOWS
用法: -
t32marm.exe -s c:\Temp\vi_chip_cmd_line.cmm \\Filerlocation\data\files
答案 0 :(得分:2)
用于远程控制和JTAG访问的TRACE32“API”允许您与正在运行的TRACE32应用程序进行通信。
要为TRACE32应用程序启用API,只需将以下两行添加到TRACE32启动配置文件(“config.t32”)即可。两行之前和之后的空行是必需的。
RCL=NETASSIST
PORT=20000
PDF api_remote.pdf中描述了API的用法,该文件位于TRACE32安装的PDF文件夹中,您也可以从http://www.lauterbach.com/manual.html下载
您可以在http://www.lauterbach.com/scripts.html找到有关如何使用Python的远程API的示例(只需在页面中搜索“Python”)
要检查您的PRACTICE脚本(“vi_chip_cmd_line.cmm”)是否仍在运行,请使用API函数 T32_GetPracticeState();
我还建议使用Var.NEWGLOBAL int \state
在脚本的开头创建一个人工变量。在脚本测试期间,将变量“\ state”设置为使用Var.Set \state=42
增加的值。通过TRACE32命令EVAL Var.VALUE(\state)
和API调用 T32_EvalGet(),您可以获得变量“\ state”的当前值,通过这样做,您可以检查脚本是否已达到最终状态状态。
另一种方法是使用TRACE32命令APPEND
从PRACTICE脚本(“vi_chip_cmd_line.cmm”)编写一个日志文件,并从Python脚本中读取日志文件。
答案 1 :(得分:1)
请检查您的T32安装以获取有关如何使用T32 API(demo / api / python)的演示。请记住,没有有效的许可证,它将无法运行。同样重要的是,如果在64位主机上使用32位cygwin内的Python,则需要加载32位DLL。
配置:
RCL=NETASSIST
PORT=20000
PACKLEN=1024
Python脚本:
import platform
import ctypes
# Adjust the path / name to the DLL
t32api = ctypes.CDLL("./t32api64.dll")
t32api.T32_Config(b"NODE=",b"localhost")
t32api.T32_Config(b"PORT=",b"20000")
t32api.T32_Config(b"PACKLEN=",b"1024")
t32api.T32_Init()
t32api.T32_Attach(1)
t32api.T32_Ping()
t32api.T32_Cmd(b"AREA")
t32api.T32_Exit()
然后您可以使用Holger建议的命令/技术:
T32_GetPracticeState()
获取当前的PRACTICE运行状态。和/或在脚本中设置变量
Var.Assign \state=1
Var.Assign \state=2
....
然后使用 T32_ReadVariableValue()
进行轮询