crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Настройка QtCreator для отладки железяки
Roman_L
  опции профиля:
сообщение 11.10.2011, 9:59
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 5.8.2010
Пользователь №: 1934

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени суток!

Есть желание использовать удобную и привычную IDE в проекте с железкой. Прикрутить toolchain удалось, а с отладкой пока никак. На сколько я знаю Creator поддерживает GDB для отладки приложений. GDB цепляется к openOCD и всё вроде бы должно быть, проблема в том, что всё это надо корректно совместно запустить. Интуитивно уверен что это возможно, но где куда крутить неясно.

Может кто-то тюниговал Creator для нестандартного использования, поделитесь опытом!

ЗЫ: линукса на железке нет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 11.10.2011, 19:49
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


1. По идее не железке должен быть GDB сервер (или как там его).
2. На железке должно находится само отлаживаемое приложение (бинарик)
3. Далее надо на железке запустить GDB сервер с указанием имени/пути к отлаживаемому бинарю и номер IP порта
4. Запустить креатор на хост машине и в его меню "отладка" выбрать пункт типа "подключиться к удаленному серверу" (или как-то так)

Я могу и ошибаться конечно, но об этом где-то в гугле было написано, хотя, подойдет ли этот метод - ХЗ (наврядли).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Roman_L
  опции профиля:
сообщение 12.10.2011, 8:29
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 5.8.2010
Пользователь №: 1934

Спасибо сказали: 0 раз(а)




Репутация:   0  


1. Программа OpenOCD является GDB-сервером. Цепляется через jtag. Связка железка+адаптер+openOCD+gdb работает как надо.
2. Приложение залито и работает.
3. Да-да, GDB запускаю с указанием бинарника и цепляю к GDB-серверу. (смущает фомулировка "на железке")
GDB-сервер (в моём случае openOCD) запущен. А вот подсунуть ему бинарник с прошивкой нельзя. Да и зачем, если он может стянуть её с кристалла, это во-первых, а во-вторых - она ему и не нужна.
4. А тут то как раз самое интересное. Приимущественно всегда QtCreator пытается запустить программу на хосте, за исключением, возможно, одного пункта "запустить и подключить к удаленному приложению..." - 2.0.1 (в новом креаторе появилось также "подключиться к удаленной сессии CDB"). Вот думаю какое колдунство надо применить, чтобы креатор видел запущенный софт на камне и пользовал отладчик.

В гугле может быть написано. Ткните носом, я пока не видел)

И куда делись "настройки запуска" на вкладке "проекты"!?!?! Это тоже могло помочь.

Отставить панику, всё на месте =)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Roman_L
  опции профиля:
сообщение 13.10.2011, 8:25
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 5.8.2010
Пользователь №: 1934

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вкратце, Qt Creator удалось подцепить к openOCD. Всё оказалось достаточно просто.
Меню "Отладка" -> "Запустить и подключить к удалённому приложению..."
Отладчик указываем из toolchain'а.
Локальная программа указываем на .elf файл. (компиляю под Cortex M3 отечественного производства)
Хост и порт - там, где запущен openOCD. в моём случае localhost:3333
Архиеткрура ARM появляется после подключения toolchain'а. (я пользую yagarto)
Системный корень - папка с проектом (насколько надо - ХЗ)
галку я не ставлю. а gdb-сервер (openOCD) запускаю руками.
Хотя по идее можно запускать из пункта Скрипт запуска сервера.

Ко всему openOCD умеет заливать прошивку в кристалл, но мой камень не поддерживается.
Поэтому в настройках запуска программы я указал "программатор" и теперь по ctrl+R оно заливает прошивку в камень.

Из минусов: работает немного не стабильно.
Чуствуется что не для того предназначено.
Кривовато ставит брекпоинты.
Думаю это openOCD шалит.

Спасибо kuzulis. Был прав.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2024, 0:48