Russian Qt Forum
Ноябрь 24, 2024, 07:25
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt-инструментарий
>
Удаленная отладка stm32 BareMetal
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Удаленная отладка stm32 BareMetal (Прочитано 9635 раз)
kamil
Гость
Удаленная отладка stm32 BareMetal
«
:
Ноябрь 19, 2015, 17:30 »
Есть некоторый код, для микроконтроллера stm32, который хорошо было бы отлаживать в qt creator'e. Проект использует cmake для сборки, и пока неплохо работает в связке с qt creator. Пока можно компилировать и заливать на плату. Осталось сделать последний шаг - отладку.
Вроде бы сделал как в туториолах в интернетах, но что-то он не так работает. Приведу тут все настройки.
openocd server:
device:
gdb client:
stm32 kit:
project:
Но в данном случае при вызове дебага или при нажатии на F5 ничего не происходит, ни ошибок, на сообщений, только в Application output:
Код:
Debugging starts
Debugging has finished
И все. При этом если запустить openocd вручную:
И подключиться к нему по Debug->Start Debugging->Attach to Running Debug Server:
То он нормально соединяется и отлаживает нормально. Что я делаю не так?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Удаленная отладка stm32 BareMetal
«
Ответ #1 :
Ноябрь 19, 2015, 18:48 »
Никто не проверял работу с CMake (по крайней мере я). Оно точно работало с QBS и фейковым QMake, но про CMake никто не заявлял. Как вариант, попробуй PIPE режим.
UPD: Посмотри что выводится в Debugger View (QtCreator->Window->Views->Debugger View или как-то так).
UPD2: И выложи-ка минимальный CMake проект (просто с main.cpp и стартап файлом без использования всякой периферии и прочего). Если будет время - я могу посмотреть.
«
Последнее редактирование: Ноябрь 19, 2015, 19:02 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
kamil
Гость
Re: Удаленная отладка stm32 BareMetal
«
Ответ #2 :
Ноябрь 20, 2015, 02:24 »
Цитата: kuzulis от Ноябрь 19, 2015, 18:48
Никто не проверял работу с CMake (по крайней мере я). Оно точно работало с QBS и фейковым QMake, но про CMake никто не заявлял. Как вариант, попробуй PIPE режим.
UPD: Посмотри что выводится в Debugger View (QtCreator->Window->Views->Debugger View или как-то так).
UPD2: И выложи-ка минимальный CMake проект (просто с main.cpp и стартап файлом без использования всякой периферии и прочего). Если будет время - я могу посмотреть.
Тут выложил простейший компилируемый проект из одного main.c:
https://drive.google.com/folderview?id=0By2N30gBjyToVzE5bUxNeWtHdFk&usp=sharing
Что выводит Debugger View пока не могу - пока платы нет под рукой. Завтра выложу результ.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Удаленная отладка stm32 BareMetal
«
Ответ #3 :
Ноябрь 21, 2015, 13:12 »
Что-то у меня вообще ничего не работает с stm32f4discovery (креатор крешится), даже с QBS.. Возможно что-то поломали.. или это из-за того что у меня Windows 10.. я вообще без понятия в чем дело...
UPD: Даже старые версии креатора (3.4.x) тоже крешатся..
Записан
ArchLinux x86_64 / Win10 64 bit
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Удаленная отладка stm32 BareMetal
«
Ответ #4 :
Ноябрь 21, 2015, 18:19 »
Цитата: kamil от Ноябрь 19, 2015, 17:30
Но в данном случае при вызове дебага или при нажатии на F5 ничего не происходит, ни ошибок, на сообщений, только в Application output:
Код:
Debugging starts
Debugging has finished
Зайдите на вкладку настройки параметров проекта (Project) -> подзакладка запуска (Run) -> конфигурация запуска
и выберите запуск вашего проекта через сервер GDB или аппаратный отладчик.
И все будет работать. По крайней мере у меня в linux все работает с последним креатером и CMake.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Удаленная отладка stm32 BareMetal
«
Ответ #5 :
Ноябрь 23, 2015, 14:31 »
Сейчас проверил с QtCreator 3.6.x (самосборный) в связке с QBS на Windows 8.1 x32 - все работает...
UPD: И также все работает в QtCreator 3.5.1 (оффициальный) на Windows 8.1 x32 хосте.
UPD2: А по поводу CMake примера - я даже не смог его открыть (я вообще не использую CMake, поэтому не знаю/забыл как там надо). Я просто скачал все файлы и папочки (main.c , CMakeLists.txt и tools/) и попробовал открыть.. Креатор спросил о выборе генератора, я выбрал "Unix generator (ARM)", и жмакнул на "Run CMake"... оно мне выдало сто-пицот ошибок.
Итого: CMake в топку! Нет времени разбираться что там и как (жуйте кактус сами).
«
Последнее редактирование: Ноябрь 23, 2015, 14:52 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
kamil
Гость
Re: Удаленная отладка stm32 BareMetal
«
Ответ #6 :
Ноябрь 23, 2015, 15:44 »
Цитата: kuzulis от Ноябрь 23, 2015, 14:31
Сейчас проверил с QtCreator 3.6.x (самосборный) в связке с QBS на Windows 8.1 x32 - все работает...
UPD: И также все работает в QtCreator 3.5.1 (оффициальный) на Windows 8.1 x32 хосте.
UPD2: А по поводу CMake примера - я даже не смог его открыть (я вообще не использую CMake, поэтому не знаю/забыл как там надо). Я просто скачал все файлы и папочки (main.c , CMakeLists.txt и tools/) и попробовал открыть.. Креатор спросил о выборе генератора, я выбрал "Unix generator (ARM)", и жмакнул на "Run CMake"... оно мне выдало сто-пицот ошибок.
Итого: CMake в топку! Нет времени разбираться что там и как (жуйте кактус сами).
Да, Cmake входит в голову не сразу. Ничего страшного, разжую.
Записан
kamil
Гость
Re: Удаленная отладка stm32 BareMetal
«
Ответ #7 :
Ноябрь 23, 2015, 15:53 »
Цитата: Old от Ноябрь 21, 2015, 18:19
Цитата: kamil от Ноябрь 19, 2015, 17:30
Но в данном случае при вызове дебага или при нажатии на F5 ничего не происходит, ни ошибок, на сообщений, только в Application output:
Код:
Debugging starts
Debugging has finished
Зайдите на вкладку настройки параметров проекта (Project) -> подзакладка запуска (Run) -> конфигурация запуска
и выберите запуск вашего проекта через сервер GDB или аппаратный отладчик.
И все будет работать. По крайней мере у меня в linux все работает с последним креатером и CMake.
Да, точно. Теперь все работает.
Только правда крашится при попытке остановится или приостановится, но с этим постараюсь разобраться сам.
UPD: если у кого тоже будет крашится: надо зачекать Tools->Options...->GDB Extended->Use asynchronus mode to control the inferior.
UPD2: может кто знает, можно ли автоматически закрывать gdb сервер автоматически, после завершения отладки? А то сейчас openocd остается запущенным и подключенным к контроллеру после остановка отладки.
«
Последнее редактирование: Ноябрь 23, 2015, 16:18 от kamil
»
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Удаленная отладка stm32 BareMetal
«
Ответ #8 :
Ноябрь 23, 2015, 16:56 »
Цитировать
может кто знает, можно ли автоматически закрывать gdb сервер автоматически
Неа, еще не реализовано... хотя в Linux оно останавливает openocd (как-то само собой работает). Попробуй PIPE режим, как вариант.
Записан
ArchLinux x86_64 / Win10 64 bit
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Удаленная отладка stm32 BareMetal
«
Ответ #9 :
Ноябрь 23, 2015, 19:34 »
Цитата: kamil от Ноябрь 23, 2015, 15:53
UPD2: может кто знает, можно ли автоматически закрывать gdb сервер автоматически, после завершения отладки? А то сейчас openocd остается запущенным и подключенным к контроллеру после остановка отладки.
Под linux все закрывается. И при запуске openocd в режиме tcp/ip, и через пайпы.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Удаленная отладка stm32 BareMetal
«
Ответ #10 :
Ноябрь 29, 2015, 19:02 »
Цитировать
может кто знает, можно ли автоматически закрывать gdb сервер автоматически
Вот, я вроде пофиксил:
https://codereview.qt-project.org/142408
Если повезет, то будет в 3.6.
Записан
ArchLinux x86_64 / Win10 64 bit
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...