Как получить обратную связь от T32 после запуска сценариев cmm?
Я запускаю сценарий 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
2 ответа
TRACE32 "API для удаленного управления и доступа JTAG" позволяет вам общаться с работающим приложением TRACE32.
Чтобы включить API для вашего приложения TRACE32, просто добавьте следующие две строки в файл начальной конфигурации TRACE32 ("config.t32"). Пустые строки до и после двух строк являются обязательными.
RCL=NETASSIST
PORT=20000
Использование API описано в файле api_remote.pdf в формате PDF, который находится в папке PDF вашей установки TRACE32, или вы можете скачать его с http://www.lauterbach.com/manual.html
Вы можете найти примеры использования удаленного API с Python по адресу http://www.lauterbach.com/scripts.html (просто найдите на странице "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" и тем самым проверить, достиг ли ваш скрипт своего конечного состояния.
Другой подход заключается в написании лог-файла из вашего скрипта PRACTICE ("vi_chip_cmd_line.cmm") с помощью команды TRACE32. APPEND
и прочитайте файл журнала из вашего скрипта Python.
Пожалуйста, проверьте вашу установку T32 для демонстрации того, как использовать T32 API (demo/api/python). Имейте в виду, что это не будет работать без действующей лицензии. Также важно, что если вы используете Python внутри 32-битного Cygwin на 64-битном хосте, вам нужно загрузить 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()
Затем вы можете использовать команды / методы, предложенные Хольгером:
T32_GetPracticeState()
получить текущее состояние работы ПРАКТИКИ. И / или установить переменную внутри вашего скрипта
Var.Assign \state=1
Var.Assign \state=2
....
а затем опросить его с помощью T32_ReadVariableValue()