Для изменения настроек плагина необходимо задать новые параметры в окне настроек модуля (см. Описание интерфейса, пункт 2) и нажать «OK» или «APPLY»:
Рис. 36
Описание настроек:
1. Путь к утилите mstn-m100-client.exe.
2. Путь к исполняемому файлу OpenOCD.
3. Путь к OpenOCD скрипту JTAG эмулятора, используемого для загрузки.
4. Строка, передающаяся в консоль, для запуска GDB сервера.
5. Путь к файлу лога в режиме «общения» с платой при запуске с помощью плагина NetBeans (Ctrl+ЛКМ, см. Описание функционала пользовательских кнопок плагина, п. 2.b).
6. Путь к утилите mstn-sigint-gen.exe.
7. Настройка «подробности» уведомлений в окне NetBeans «MSTN monitor».
8. Запись лога взаимодействия с платой.
9. Отключение меток времени в файле лога.
Описание оконного интерфейса плагина для
взаимодействия с платой
Оконный интерфейс плагина создан для предоставления дополнительных возможностей в работе с платой и отладке программ, выполняющихся на Плате.
Как было представлено выше, MSTN GUI представляет собой панель, разделенную на области (панели инструментов), в которых сгруппированы элементы управления выполнением программы:
Рис.37 Панели инструментов MSTN GUI
Описание некоторых панелей приведено ниже.
Watch Panel
Watch Panel. В данной области Вы имеете возможность отслеживать значения переменных в реальном времени с заданной частотой и записывать лог их значений в файл. Переменные, значения которых имеется возможность отслеживать и изменять, должны иметь тип int32_t (32bit signed integer) и глобальную видимость (должны быть объявлены вне тела функции и не иметь модификатора static).
Контроль значения переменных
Для контроля значения переменной в таблице Watch Panel необходимо:
1. Объявить в проекте MSTN переменную типа int глобально:
Рис. 38 Объявление переменной
2. Собрать проект:
Рис. 39 Сборка проекта
3. Загрузить проект на плату:
Рис. 40 Загрузка проекта на плату
4. Установить соединение с платой:
Рис. 41 Установка соединения с платой
5. Ввести имя переменной в ячейку столбца «Name» и нажать клавишу «Enter». Если имя переменной введено верно, то при нажатии «Enter» автоматически будет найден адрес переменной и активирован режим мониторинга:
Рис. 42 Добавление переменных для отслеживания
Частоту считывания значений переменных можно настроить, изменив количество секунд между считываниями в столбце «Update Time (sec)»:
Рис. 43 Изменение частоты обновления значения
Изменение значений переменных
Для изменения значения переменной введите новое значение в ячейку столбца «New value» и нажмите «Enter»:
Рис. 44 Изменения значения переменной
Логгирование
Для записи значений в лог-файл активируйте логгирование:
Рис. 45 Активация логгирования
В директории проекта будет создан текстовый файл «mstn_var_log.txt», в который будет вестись запись значения переменной с меткой времени и именем переменной, разделенных пробелом:
Рис. 46 Файл лога значений
Рис. 47 Структура файла лога
Для быстрого доступа к файлу нажмите на кнопку «Open Var Log» панели «Other» окна MSTN GUI:
Рис. 48 Быстрый доступ к файлу лога
Для очистки файла лога нажмите на кнопку «Clear Var Log»:
Рис. 49 Очистка файла лога
USB Attached Interrupts
Панель «USB Attached Interrupts» предназначена для вызова обработчиков прерываний на плате, зарегистрированных с помощью функции «USB_AttachInterruptFromUsb()»:
Рис. 50 USB Attached Interrupts panel
При вызове функций на плате в них передается значение типа «uint32_t», взятое из ячейки столбца «Args». Спустя секунду после вызова плагин вычитывает значение возврата из функции обработчика, после чего помещает значение возврата в ячейку «Results» вызванного обработчика.
Send Request
Панель «Send Request» предназначена для вызова обработчиков прерываний на плате, зарегистрированных с помощью функции «USB_AttachRequestHandler()»:
Рис. 51
При вызове функций на плате в них передается ссылка на структуру, содержащую все данные, введенные в соответствующие ячейки панели. Спустя секунду после вызова плагин вычитывает объект «pRequestAnswer», переданный в функцию-обработчик, после чего помещает значение поля «bAnswerValue» структуры, в ячейку «bAnswerValue».