Как получить данные из «строки состояния» из приложения TRACE32 через сценарии cmm? - PullRequest
0 голосов
/ 07 марта 2019

Строка состояния внизу приложения T32 выводит сообщения об ошибках, такие как фатальные ошибки, ошибки связи и т. Д. Он состоит из нескольких полей, таких как курсор, режим, ...

См. «Строка состояния» на стр. 23 из http://www2.lauterbach.com/pdf/ide_user.pdf

Мне нужно получить состояние после открытия приложения t32 и на основании этого выполнить определенные действия. Поэтому, пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 08 марта 2019

Чтобы получить подробную информацию о состоянии цели и / или отладчика из сценария PRACTICE (он же «cmm-script»), используйте функции PRACTICE.Эти функции описаны в http://www.lauterbach.com/pdf/ide_func.pdf и http://www.lauterbach.com/pdf/general_func.pdf. (материал, который вы ищете, находится в general_func.pdf)

Вот функции, которые возвращают значения из Строка состояния :

  • Адрес в левом углу обычно является счетчиком программы.Вы можете получить его с помощью функции PP() и символа рядом с программным счетчиком с помощью sYmbol.NAME(PP()).
  • Если вы щелкнете по элементу со связанным адресом, строка состояния покажет этот адрес вместосчетчик команд.Вы получите адрес, который был выбран последним с TRACK.ADDRESS() и его символ с sYmbol.NAME(TRACK.ADDRESS())
  • Если у вас есть многоядерный сценарий SMP, следующим полем будет номер ядра.Показывает текущее выбранное логическое ядро.Вы можете получить номер с помощью функции CORE().
  • . Если у вас активная осведомленность об ОС, то в следующем поле отображается активная задача.Вы получите его имя с помощью функции TASK().
  • Поле «Отладка» немного сложнее.Я не думаю, что есть функция, которая возвращает эту строку напрямую.Однако SYStem.Up() возвращает FALSE в случае «отключения системы» (что означает, что отладчик не подключен к целевому ядру) и STATE.RUN() возвращает TRUE, если целевое ядро ​​работает.
  • Поле рядом с«Отладка» показывает состояние регистратора трассировки.Вы можете получить состояние в виде числового значения с помощью Trace.STATE().
  • Существует небольшое поле, называемое «Отладочная деятельность».Он красный, если отладчик выполняет какую-либо операцию запуска / остановки, не запрошенную явно.Например, временная остановка для обновления дампов памяти или при выполнении некоторого алгоритма на целевом оборудовании для программирования флэш-памяти или доступа к памяти, определенной пользователем.К сожалению, похоже, нет функции для получения этого состояния.
  • В поле перед последним отображается режим отладки, для которого установлен Ассемблер, Язык высокого уровня или смешанный режим с ассемблером и HLL.Показанная строка доступна также через DEBUGMODE().
  • В последнем поле отображается системный режим.Связанными функциями являются SYStem.MODE() и SYStem.Up().

Сообщения типа «выходы приложения, сообщения об ошибках, фатальные ошибки» отображаются не в «строке состояния», а в « строке сообщения». ": В нижней части главного окна TRACE32 у вас есть командная строка (обычно начинающаяся с B: :), под ней есть« Строка сообщений »(с отображением ошибок и других сообщений) и под софт-клавишами (помогая вамкоманды поиска) и, наконец, «Строка состояния».

Почти все сообщения, отображаемые в «Строке сообщений», также отображаются в окне AREA.(команда AREA).Вы можете получить последнюю строку окна AREA с помощью функции AREA.LINE(A000,0), где «A000» - это имя AREA по умолчанию, а 0 - последняя строка AREA.

...