0

我正在通过命令行运行如下的 T32 CMM 脚本(放入 python 包装器)但是我想知道 T32 的状态是脚本运行成功还是有错误,我如何从 T32 获得反馈?

cd C:\T32\bin\windows64

配置.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

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

3

TRACE32“用于远程控制和 JTAG 访问的 API”允许您与正在运行的 TRACE32 应用程序进行通信。

要为您的 TRACE32 应用程序启用 API,只需将以下两行添加到您的 TRACE32 启动配置文件(“config.t32”)。这两行之前和之后的空行是强制性的。

RCL=NETASSIST
PORT=20000

API 的用法在 PDF api_remote.pdf 中进行了描述,该文件位于 TRACE32 安装的 PDF 文件夹中,或者您可以从http://www.lauterbach.com/manual.html下载它

您可以在http://www.lauterbach.com/scripts.html找到有关如何将远程 API 与 Python 一起使用的示例(只需在页面上搜索“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 命令从您的 PRACTICE 脚本(“vi_chip_cmd_line.cmm”)中写入一个日志文件,APPEND并从您的 Python 脚本中读取该日志文件。

于 2017-01-12T16:49:05.863 回答
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()轮询它

于 2017-01-13T18:08:23.707 回答