Trace32: Как программно получить месяц и год истечения срока действия ключа обслуживания, используя t32ap inet? - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь получить ключ истечения срока действия ключа обслуживания и год JTAG lauterbach программно. Я использую t32ap inet для этого. Есть ли способ прочитать информацию о техническом обслуживании, используя API?

1 Ответ

3 голосов
/ 28 апреля 2020

Вы можете получить дату своего ключа обслуживания с помощью функции ПРАКТИКА LICENSE.DATE(<idx>), где idx - это номер прикрепленного серийного номера, который отображается в окне LICENSE.LIST. Обратите внимание, что один кабель отладки, подключенный к PowerDebug, может иметь до 5 серийных номеров и, следовательно, до 5 ключей обслуживания.

Чтобы получить idx для исполняемого в данный момент исполняемого файла PowerView используйте функцию ПРАКТИКА LICENSE.getINDEX().

Соединяя их вместе, вы получите: LICENSE.DATE(LICENSE.getINDEX())

Вы можете проверить это с помощью команды PRINT в PowerView:
PRINT LICENSE.DATE(LICENSE.getINDEX())
Вы должны получить строку в виде ГГГГ / ММ, например, 2020/07

Чтобы использовать функцию PRACTICE через удаленный API, используйте функцию API T32_Cmd () вместе с командой TRACE32 EVAL, а затем получите результат через функцию API T32_EvalGetString ().

Например, C / C ++ :

char mdate[4096];    
T32_Cmd("EVAL LICENSE.DATE(LICENSE.getINDEX())");
T32_EvalGetString(mdate);
printf("End Date: %s\n", mdate);

Я совсем не разбираюсь в Visual Basic c. NET, но я думаю, что это должно выглядеть так:

Dim mdate As String   
T32.Cmd("EVAL LICENSE.DATE(LICENSE.getINDEX())");
T32.EvalGetString(mdate);
Log("End Date: " + mdate)

Новые версии TRACE32 поддерживают также немного более приятную API-функцию T32_ExecuteFunction ().

...