Отправка внешнего скрипта из скрипта Trace32 PRACTICE II? - PullRequest
1 голос
/ 21 июня 2011

Можно ли отправить внешний (Python) скрипт из Trace32, используя его язык сценариев PRACTICE II?

Ответы [ 2 ]

2 голосов
/ 23 сентября 2014

Для будущих гуглеров, таких как я, вот как использовать c-API Lauterbach для выполнения команд PRACTICE из Python. Приложение TRACE32 должно быть открыто перед запуском скрипта. Вы также должны добавить 5 строк (включая две пустые строки) в файл config.t32:

#You must have an empty line before

RCL=NETASSIST
PACKLEN=1024
PORT=20010

#and after these three parameters

По крайней мере, значение параметра PORT является произвольным, но оно должно совпадать в вашей конфигурации и скрипте. Он определяет порт UDP, через который будет доступен API. Этот код демонстрирует, как вы можете использовать API в Python:

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 находится в каталоге, указанном в сценарии. Лаутербах предоставляет больше документации для этого API. Посмотрите в папке demo \ api \ capi и этот документ http://www2.lauterbach.com/pdf/api_remote.pdf

1 голос
/ 22 июня 2011

Используйте OS.Screen для создания сеанса командной строки.

...