api lauterbach t32-удаленный T32_Init() возвращает -1[T32_ERR_COM_RECEIVE_FAIL]

#python #remote-access #trace32 #lauterbach

#python #удаленный доступ #trace32 #lauterbach

Вопрос:

Использование T32-удаленного API для автоматизации тестирования. Лаутербах подключен через Ethernet

config.t32:

 RCL=NETASSIST
PACKLEN=1024
PORT=20000

; Environment variables
OS=
ID=T32
TMP=<temp_path>
SYS=C:T32


; i.e. EtherNET
PBI=
NET                     
;TRACE32 HW
NODE=<IP>/<hostname>                ; hostname assigned to the TRACE32 device
CONNECTIONMODE=AUTOCONNECT

; Printer settings 
PRINTER=WINDOWS
  

Скрипт:

 self.t32_api.T32_Config(b"NODE=", b"localhost")
self.t32_api.T32_Config(b"PORT=", b"20000")
self.t32_api.T32_Config(b"PACKLEN=", b"1024")
self.t32_api.T32_Init()
  

Config возвращает 0, но T32_Init возвращает -1 [Ошибка получения ответа API].

для подключения Ethernet к T32 мне не хватает какой-то конфигурации?

Комментарии:

1. Последняя версия TRACE32 также включает модуль Python, который может избавить вас от большой головной боли. Версия 1.0.0 будет выпущена с DVD 2020.09, но вы можете связаться python-support@lauterbach.com чтобы получить предварительную версию.

2. Вы могли бы попытаться проверить правильность настройки TRACE32 с помощью t32apicmd (<t32sys>/demo/api/capi/test).

3. @dev15 но <t32sys>/demo/api/capi/test полезен, когда подключение осуществляется через USB, а не через Ethernet. Пробовал выполнить: python memaccess.py вывод: не удается подключиться к TRACE32!

4. Подключено ли устройство через USB или Ethernet, не должно иметь значения. Вы подключаетесь не к блоку, вы подключаетесь к графическому интерфейсу.

5. @dev15. Так вы имеете в виду проблему в графическом интерфейсе? Поскольку я запускаю этот удаленный API из удаленной системы, используя IP-адрес. Мне было интересно, что это может быть какое-то значение параметра, которого мне не хватает

Ответ №1:

После нескольких экспериментов было обнаружено, что если мы выполняем из каталога demo / python, T32_start и его экземпляр должны держать его открытым. Если он открыт, то скрипт будет выполнен без каких-либо ошибок.

Если узел указан в config.t32, нет необходимости снова добавлять в код «localHost», будет работать.