Запуск отладки в среде NetBeans




Для запуска отладки в среде NetBeans, выполните следующие действия:

1. Переключите конфигурацию проекта в режим «Debug»:

 

Рис. 80

2. Перейдите к «Свойствам» проекта. Для этого выберите название проекта и нажмите правой клавишей мыши по нему. В открывшемся окне выберите «Свойства». Убедитесь, что в строке «Additional Options» для вкладок «C Compiler» и «C++ Compiler» свойств проекта, приготовляемого к отладке, присутствует опция «-gdwarf-2»:

Рис. 81

3. Убедитесь так же, что там же установлен уровень оптимизации «O0».

4. Убедитесь, что в проекте NetBeans указан верный путь к .gdbinit и символьному файлам (Свойства проекта->Отладка):

Рис. 82

5. Добавьте директории файлов исходного кода, использующиеся в проекте, в свойство «Source dirs»:

Рис. 83

6. Подготовка GDB сервера.

a. Если Вы используете ПО от SEGGER:

i. Выполните действия, описанные в главе Подготовка отладки с использованием SEGGER-J-Link GDB Server.

ii. Измените файл C:\Intec\MSTN\M100\Other\gdbinit.gdbinit так, чтобы его содержимое было таким:

Рис. 84

b. Если Ваш выбор openOCD – выполните действия из главы Подготовка отладки с использованием openOCD). Затем:

i. не меняя настроек по умолчанию плагина MSTN, кликните по кнопке «Start GDB Server»:

Рис. 85

ii. Измените файл C:\Intec\MSTN\M100\Other\gdbinit.gdbinit так, чтобы его содержимое было таким:

Рис. 86

iii. Дождитесь в консоли NetBeans MSTN monitor уведомления о том, что GDB Server запущен:

Рис. 87

7. Пересоберите проект.

8. Залейте полученную прошивку на плату.

9. Откройте выпадающее меню инструмента Debug и активируйте пункт «Attach Debugger»:

Рис. 88

10. В появившемся окне «Attach»:

a. В качестве отладчика (Debugger) выберите gdbserver:

Рис. 89

b. В строке Target введите «ext:3333» если Вы используете openOCD или «ext:2331» если Вы используете J-Link GDB Server. Так же выберите необходимый проект для отладки:

Рис. 90

11. NetBeans установит соединение с GDB сервером, после чего активируется панель инструментов «Debug»:

Рис. 91

12. Остановим выполнение программы:

a. Нажмите на левую кнопку паузы (это стандартная кнопка NetBeans):

Рис. 92

b. Ничего не произошло? Всё верно, так и задумано. Дело в том, что на платформе Windows среда разработки NetBeans не может стандартными средствами посылать сигнал останова в отладчик. Поэтому модуль расширения MSTN предоставляет свою кнопку паузы:

Рис. 93

c. Теперь нажмите на кнопку паузы от MSTN:

Рис. 94

d. Готово, выполнение программы на плате остановилось:

Рис. 95

13. Вы можете устанавливать свои точки останова (не более 6-ти активных одновременно) перед началом отладки или во время сеанса отладки, когда выполнение программы приостановлено:

Рис.96

14. Нажмите на кнопку «Continue», чтобы продолжить выполнение программы:

Рис. 97
Вы можете пользоваться всеми инструментами отладки, предоставляемыми NetBeans (учитывая ограничение встроенной кнопки паузы). Подробнее см. по ссылке.

15. Готово! Вы умеете запускать отладку по интерфейсу JTAG в среде NetBeans.

 


Примечание: если Вы, в процессе отладки, нажмете на кнопку паузы от плагина MSTN ранее, чем хотя бы один раз нажали на встроенную кнопку паузы NetBeans, появится окно с уведомлением:

Рис. 98

В этом случае Вам необходимо выбрать действие «Discard and Pause»:

Рис. 99

Отладка остановится с возможностью продолжения.

Чтобы в дальнейшем это уведомление не всплывало – хотя бы один раз (за весь сеанс отладки) нажмите на кнопку паузы по умолчанию:

Рис. 100


 

Описание утилиты mstn-m100-client.exe

Утилита mstn-m100-client.exe (далее «Утилита») предназначена для взаимодействия с платой MSTN-M100 (далее «Плата»), на которой установлено ПО, созданное с использованием библиотеки libMSTN-M100.a.

Утилита (версии 1.2.0) имеет следующий функционал:

1. Обновление пользовательской микропрограммы с помощью предустановленного на Плате загрузчика от Intec по интерфейсу USB.

2. Перезагрузка платы.

3. Стирание пользовательской микропрограммы.

4. Синхронизация времени часов на Плате с текущим локальным временем на ПК.

5. Прием и передача сообщений пользовательскому ПО на Плате.

6. Отображение списка подключенных к ПК плат MSTN-M100.

7. Передача аргументов функции main на Плату.

8. Запись лога.

Работа с Утилитой ведется из оболочки командной строки. Выбор режима работы (текущей цели запуска) осуществляется запуском Утилиты с одной или несколькими опциями командной строки. За один запуск Утилиты может выполнена одна или несколько целей. Допускается комбинирование нескольких целей после одного символа «-».

Опции командной строки (регистр символов основной опции не важен) и их предназначение:

Опция Результат
Нет Вывод версии утилиты
 
-r (-R) Перезагрузка Платы
   
-e (-E) Стирание пользовательской микропрограммы
 
-d + Путь к файлу микропрограммы (*.bin) Загрузка образа микропрограммы на плату и переход к его выполнению
   
--ltsync Синхронизация времени на плате с временем на ПК
   
-l (-L) Отображение списка плат, в настоящее время подключенных к ПК. Это блокирующая цель - при её наличии не будет выполнено никаких других целей, если таковые заданы.
-t (-T) Переход в режим «диалога» с пользовательской микропрограммой, присутствующей на Плате. Символы «>>>» в начале строки означают приглашение к вводу, поступившее от пользовательского ПО на плате.
 
--sn= Соединение или выполнение других действий с платой, имеющей заданный серийный номер. Если таковой не будет найдено – подключение не будет произведено.
   
-v (-V) Опция увеличивает количество выводимых сообщений (подробный лог операций).
-p (-P) Может использоваться с опциями -d (загрузка прошивки). При использовании опции -p сразу после загрузки прошивки на плату выполнение утилиты завершится, но плата не будет переведена в состояние выполнения. Для запуска выполнения необходимо или вручную перезагрузить плату (нажатием на кнопку RESET) или запуском утилиты с опцией перезагрузки (-r).
   
--log=filename Дублирует вывод платы, приглашение к вводу и пользовательский ввод в указанный файл (создает его, если он отсутствует).
--distime При её использовании в выводе утилиты (и в файле лога, если он ведется) отсутствуют метки времени.
-с (-С) Может использоваться совместно с опцией –t для того, чтобы при ведении диалога с Платой, её интерфейс управления оставался «занятым». Может быть полезен при одновременном общении с двумя платами (например с использованием Утилиты и модуля NetBeans)
--bargs=”args” Используется для передачи аргументов функции main на плату. Максимальная длина строки аргументов составляет 59 символов.
 
Пример совмещения нескольких целей при вызове:
   
-h (--help) Вывод справки.
               

 

Утилита по завершении работы возвращает «0» если действие выполнено успешно, в случае ошибки – не «0».

Коды ошибок:

  Значение Тип ошибки
EXIT_DONE   Успешно
EXIT_ERASE_DONE   Не используется
EXIT_FILE_LARGEST   Размер файла прошивки слишком большой
EXIT_DEVICE_NOT_FOUND   Устройство MSTN не найдено
EXIT_FILE_DONT_OPEN   Файл не найден или его расширение не «.bin»
EXIT_WRITE_ERROR   Ошибка записи прошивки
EXIT_DEVICE_DONT_ANSWER   Устройство MSTN не отвечает в течение длительного времени
EXIT_USER_CANCEL   Не используется
EXIT_DEVICE_QUERY_FAIL   Ошибка во время обмена данными с устройством MSTN
EXIT_USER_DEVICE_IN_BOOT_MODE   Устройство MSTN в загрузочном режиме («диалог» невозможен)

 


 

 

Начало работы с платой в Arduino IDE

В качестве одной из популярных рабочих сред, где может проводиться работа с платой MSTN-M100, является Arduino IDE. Среда разработки Arduino IDE состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста (консоли), панели инструментов с кнопками часто используемых команд и нескольких меню.

1. Скачайте среду разработки Arduino IDE. На официальном сайте представлены версии для установки на операционные системы: Windows, Linux и MacOS. Установите Arduino IDE на компьютер или скачайте portable-версию (portable-версия работает, не требуя установки).

Рис. 101 Загрузка программной среды Arduino IDE

2. Запустите пример

3. Перейдите во вкладку «Файл» и выберите «Настройки».

4. В открывшемся окне в поле «Дополнительные ссылки для Менеджера плате» введите https://gitlab.com/mstn-m100/mstn-arduino/raw/master/package_MSTN100_index.json. Данная ссылка позволяет в дальнейшем подключить плату MSTN-M100.

Рис.102 Установка ссылки для Менеджера плат

  1. Перейдите во вкладку «Инструменты» и выберите «Плата». После чего перейдите в «Менеджер плат…».

Рис. 103 Выбор платы

6. Во всплывающем окне выберите вариант «MSTN» и нажмите «Установка». Данное действие позволит Arduino IDE определять плату и загружать пользовательскую программу на неё. В случае появления ошибки «CRC поврежден» провести установку повторно.

Рис. 104 Установка платы в Менеджер плат

  1. Подключите плату MSTN-M100 к компьютеру при помощи USB – micro-USB кабеля
  2. Перейдите во вкладку «Инструменты» и выберите «Плата». Среди предложенных вариантов выберите «MSTN». В случае если среди предложенных вариантов нет «MSTN», то повторите пункт 6.

Рис.105 Выбор платы

  1. Запустите проверку пользовательской программы. После чего загрузите программу на плату MSTN-M100.

Рис. 106 Проверка и загрузка программы на плату

  1. При успешной загрузке программы на плату светодиод начнет мигать с периодичностью в 1 секунду.

 

Начало работы с платой в Keil

Keil uVision — это среда разработки для микроконтроллеров с ядром ARM Cortex-M. Использование данной среды обусловлено большой популярностью и простотой в работе. Если в ранее рассмотренных средах загрузка программы на плату проводилась при использовании USB-разъема, то в Keil загрузка будет проходить при помощи JTAG разъема, а в качестве отладчиков будут использоваться J-Link и ST-Link. Использование данных отладчиков вызвано их популярностью и доступностью. Ниже будут приведены инструкции при работе с каждым из отладчиков.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: