#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», будет работать.