Название: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32) Отправлено: arhiv6 от Сентябрь 28, 2016, 12:17 Добрый день. Использую QtCreator для разработки под STM32. Не хватает некоторых возможностей отладки. Что сейчас есть: просмотр локальных переменных + можно добавить переменные для наблюдения ("вычисляемые выражения"), кое-какой просмотр ассемблерного кода ("уровень инструкций"). Из этого: отладка при работе с МК работает с глюками (http://electronix.ru/forum/index.php?showtopic=128753), ассемблер можно посмотреть только при запущенной отладке. Чего не хватает: просмотра памяти, просмотр ассемблерного листинга скомпилированного проекта (без запуска МК), просмотр регистров ядра а в идеале и периферии.
Собственно, вопросы: возможно уже появились плагины для QtCreator, ориентированные на помощь программистам МК? Или кто-нибудь ведёт разработку подобного? Интересна любая информация (анонс в блоге, репозиторий на гитхабе). P.S. Во вложениях - скриншоты из других IDE, поясняющие, чего не хватает. Название: Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32) Отправлено: __Heaven__ от Сентябрь 28, 2016, 13:28 Не знаю, как там на МК, но на ПК имеются просмотр памяти и регистров
Название: Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32) Отправлено: arhiv6 от Сентябрь 29, 2016, 10:59 Да, действительно есть. Вчера попробовал - можно смотреть содержимое памяти, даже вроде менять можно. Из минусов: нет поиска и при каждом перезапуске программы окно закрывается. В принципе - по минимуму всё есть. Дальше - вопросы повышения удобства работы с этим. Например - просмотр состояния конфигурационных регистров периферии - сейчас для этого необходимо найти в памяти нужный адрес, прочитать оттуда 4 байта и сидеть с калькулятором и даташитом - высчитывать что в каких битах записано и как же по факту настроена периферия. Облегчить это можно было бы с помощью использования CMSIS-SVD (http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php) (описания регистров микроконтроллеров в XML - вот пример (https://github.com/MaJerle/stm32f429/blob/master/00-STM32_SVD/STM32F100xx.svd)) - к данным регистров можно было бы обрашаться не по адресу в памяти а по символическому имени (см. приложенный файл). Но, попробовал поискать - для QtCreator'a никто такого плагина ещё не сделал...
Кто имеет опыт разработки плагинов - сложно такой написать самому? Название: Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32) Отправлено: kuzulis от Сентябрь 29, 2016, 11:56 Цитировать Кто имеет опыт разработки плагинов - сложно такой написать самому? Не особо сложно наверное. Тут главное желание, знание предметной области (хорошо продумать как прикрутить эту фичу к разнобразному множеству МК, чтобы не только для одного STM оно было доступно), ну, и усидчивость. :) Название: Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32) Отправлено: arhiv6 от Сентябрь 29, 2016, 12:17 хорошо продумать как прикрутить эту фичу к разнобразному множеству МК В том-то и дело, что CMSIS-SVD - это стандарт, разработанный ARM-ом, его сейчас все производители МК стараются придерживаться. Даже заголовочные файлы для МК с описанием регистров периферии генерируются из SVD-фалйов.Название: Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32) Отправлено: Гурман от Сентябрь 29, 2016, 12:53 Qt-плагины для ARM и для x86 пишутся и работают почти одинаково (в данный момент отлаживаю приложение с плагинами, которое предназначено для x86 и ARM, Linux и Android). Заметная разница есть только в том, что плагины для ARM не поддерживают функционал QtDesigner (есть и ещё нюансы, но они специфичные). То есть, приходится делать условную трансляцию, и всё что предназначено в плагине для QtDesigner вырезать в ARM-варианте. Если плагин не используется в дизайнере, то он одинаково будет работать во всех целевых ОС, разницы нет.
Ну и нюанс - по-умолчанию разные комплекты на одной станции собираются в разные каталоги. То есть, если сброка делается для x86/Linux, ARM/Android и x86/Android (как у меня сейчас), то все плагины лягут в разные каталоги. Это придётся учитывать в проекте основного приложения при его сборке - плагины то ведь надо из разных каталогов брать, в зависимости от платформы. Название: Re: Ищу информацию о плагинах, облегчающих разработку под ARM (STM32) Отправлено: kuzulis от Июль 04, 2019, 19:14 Подниму тему.
Вот тут создали баг репорт: https://bugreports.qt.io/browse/QTCREATORBUG-18729 по поводу возможности выбора SVD файла для отображения значений регистров периферии для MCU. И "как-бы" идет обсуждение как лучше все это реализовать. Я (мы) там предлагаю (ем) сделать UI примерно как в IAR EW IDE. В общем, кому не трудно, пишите свои предложения туда. ЗЫ: Я не спец как там это все в GDB работает, поэтому могу только морально поддерживать. :) |