Russian Qt Forum
Ноябрь 25, 2024, 07:09
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt-инструментарий
>
Ищу информацию о плагинах, облегчающих разработку под ARM (STM32)
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32) (Прочитано 7243 раз)
arhiv6
Гость
Ищу информацию о плагинах, облегчающих разработку под ARM (STM32)
«
:
Сентябрь 28, 2016, 12:17 »
Добрый день. Использую QtCreator для разработки под STM32. Не хватает некоторых возможностей отладки. Что сейчас есть: просмотр локальных переменных + можно добавить переменные для наблюдения ("вычисляемые выражения"), кое-какой просмотр ассемблерного кода ("уровень инструкций"). Из этого: отладка при работе с МК работает с
глюками
, ассемблер можно посмотреть только при запущенной отладке. Чего не хватает: просмотра памяти, просмотр ассемблерного листинга скомпилированного проекта (без запуска МК), просмотр регистров ядра а в идеале и периферии.
Собственно, вопросы: возможно уже появились плагины для QtCreator, ориентированные на помощь программистам МК? Или кто-нибудь ведёт разработку подобного? Интересна любая информация (анонс в блоге, репозиторий на гитхабе).
P.S. Во вложениях - скриншоты из других IDE, поясняющие, чего не хватает.
«
Последнее редактирование: Сентябрь 28, 2016, 12:26 от arhiv6
»
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32)
«
Ответ #1 :
Сентябрь 28, 2016, 13:28 »
Не знаю, как там на МК, но на ПК имеются просмотр памяти и регистров
Записан
arhiv6
Гость
Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32)
«
Ответ #2 :
Сентябрь 29, 2016, 10:59 »
Да, действительно есть. Вчера попробовал - можно смотреть содержимое памяти, даже вроде менять можно. Из минусов: нет поиска и при каждом перезапуске программы окно закрывается. В принципе - по минимуму всё есть. Дальше - вопросы повышения удобства работы с этим. Например - просмотр состояния конфигурационных регистров периферии - сейчас для этого необходимо найти в памяти нужный адрес, прочитать оттуда 4 байта и сидеть с калькулятором и даташитом - высчитывать что в каких битах записано и как же по факту настроена периферия. Облегчить это можно было бы с помощью использования
CMSIS-SVD
(описания регистров микроконтроллеров в XML -
вот пример
) - к данным регистров можно было бы обрашаться не по адресу в памяти а по символическому имени (см. приложенный файл). Но, попробовал поискать - для QtCreator'a никто такого плагина ещё не сделал...
Кто имеет опыт разработки плагинов - сложно такой написать самому?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32)
«
Ответ #3 :
Сентябрь 29, 2016, 11:56 »
Цитировать
Кто имеет опыт разработки плагинов - сложно такой написать самому?
Не особо сложно наверное.
Тут главное желание, знание предметной области (хорошо продумать как прикрутить эту фичу к разнобразному множеству МК, чтобы не только для одного STM оно было доступно), ну, и усидчивость.
Записан
ArchLinux x86_64 / Win10 64 bit
arhiv6
Гость
Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32)
«
Ответ #4 :
Сентябрь 29, 2016, 12:17 »
Цитата: kuzulis от Сентябрь 29, 2016, 11:56
хорошо продумать как прикрутить эту фичу к разнобразному множеству МК
В том-то и дело, что CMSIS-SVD - это стандарт, разработанный ARM-ом, его сейчас все производители МК стараются придерживаться. Даже заголовочные файлы для МК с описанием регистров периферии генерируются из SVD-фалйов.
Записан
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32)
«
Ответ #5 :
Сентябрь 29, 2016, 12:53 »
Qt-плагины для ARM и для x86 пишутся и работают почти одинаково (в данный момент отлаживаю приложение с плагинами, которое предназначено для x86 и ARM, Linux и Android). Заметная разница есть только в том, что плагины для ARM не поддерживают функционал QtDesigner (есть и ещё нюансы, но они специфичные). То есть, приходится делать условную трансляцию, и всё что предназначено в плагине для QtDesigner вырезать в ARM-варианте. Если плагин не используется в дизайнере, то он одинаково будет работать во всех целевых ОС, разницы нет.
Ну и нюанс - по-умолчанию разные комплекты на одной станции собираются в разные каталоги. То есть, если сброка делается для x86/Linux, ARM/Android и x86/Android (как у меня сейчас), то все плагины лягут в разные каталоги. Это придётся учитывать в проекте основного приложения при его сборке - плагины то ведь надо из разных каталогов брать, в зависимости от платформы.
«
Последнее редактирование: Сентябрь 29, 2016, 19:25 от Гурман
»
Записан
2^7-1 == 127, задумайтесь...
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32)
«
Ответ #6 :
Июль 04, 2019, 19:14 »
Подниму тему.
Вот тут создали баг репорт:
https://bugreports.qt.io/browse/QTCREATORBUG-18729
по поводу возможности выбора SVD файла для отображения значений регистров периферии для MCU. И "как-бы" идет обсуждение как лучше все это реализовать. Я (мы) там предлагаю (ем) сделать UI примерно как в IAR EW IDE. В общем, кому не трудно, пишите свои предложения туда.
ЗЫ: Я не спец как там это все в GDB работает, поэтому могу только морально поддерживать.
«
Последнее редактирование: Июль 04, 2019, 19:16 от kuzulis
»
Записан
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...