Обзор возможностей Qt Creator 4.13 и QBS 1.17 для программирования микроконтроллеров

Здравствуйте, товарищи программисты «железячники» и все кто им сочувствует. Я хотел бы продолжить обзор возможностей IDE Qt Creator в связке с системой сборки QBS в части программирования микроконтроллеров.

Ранее я уже писал про улучшения в предыдущих версиях:


Кому эта тема интересна, добро пожаловать по кат.
Буквально сегодня, тихо и незаметно, вышел релиз Qt Creator 4.13, в котором добавлены некоторые улучшения для работы с микроконтроллерами (в простонародье — «baremetal» устройствами). В этот релиз Qt Creator интегрирована сборочная система QBS 1.17 в которой также есть новые улучшения.

Улучшения в Qt Creator


  1. Добавлена поддержка новых архитектур и компиляторов

    Все новые архитектуры и компиляторы приведены ниже в таблице в разделе, посвященному QBS.

    Примечание: Их количество совпадает для QBS и QtC для каждой новой версии.

  2. Добавлена поддержка отладчика J-Link в интеграцию Keil MDK

    Теперь для работы с отладчиком из Keil MDK можно выбрать не только такие поставщики как Simulator и St-Link, но и новый поставщик — J-Link.

    Для этого необходимо как обычно создать новое 'bare-metal' устройство (не буду писать как это делается), перейти на страницу «Tools → Options → Devices → BareMetal» и добавить новый поставщик «uVision JLink»:

    w7bv5e4tmjuto9lonsbzpvqrccs.png

    Далее необходимо в поле «Tools file path» указать путь к файлу «tools.ini», который обычно находится в корневой директории с установленным Keil MDK, для того чтобы активировать возможность выбора целевого устройства и драйвера отладчика:

    qmodehziifm-adchg85nnumlfli.png

    Примечание: Выбор пути к файлу 'tools.ini' является обязательным шагом, т.к. этот файл содержит всю конфигурацию Keil MDK.

    Теперь можно выбрать целевой драйвер отладчика (у нас он один для выбранного провайдера — это «J-Link/J-Trace Cortex»):

    s9tljb9i6a_euzk_e0qf6icfh9c.png

    Всё, теперь можно выбирать целевое устройство и отлаживать его.

  3. Добавлена поддержка новых микроконтроллеров от NXP и Nordic Semiconductor в интеграцию Keil MDK

    Теперь можно работать не только с ARM микроконтроллерами от STMicroelectroncs, но и с микроконтролерами S32 от NXP и всей линейкой микроконтроллеров от Nordic Semiconductor.

    Все доступные производители и типы целевых устройств отображаются в окне выбора целевого устройства:

    nct2qk5gkevye2dbslw9c-ff_mu.png

    Остается только выбрать желаемое целевое устройство и отлаживать его.

    Примечание: Для этого необходимо заранее установить соответствующие пакеты «Software Device Pack» в Keil MDK.

  4. Добавлено отображение периферийных регистров в интеграцию Keil MDK

    Теперь можно посмотреть и отредактировать содержимое периферийных регистров микроконтроллера. Для настройки их отображения ничего особенного не требуется, достаточно только выбрать целевое устройство. При этом, автоматически выбирается нужный файл описания периферии, путь к которому находится в конфигурации целевого устройства:

    6f8jw0p43lnerzlgv4jbesejhd0.png

    Примечание: Также есть возможность выбрать какой-либо иной файл описания периферии.

    Чтобы просмотреть содержимое регистров, необходимо запустить отладку, открыть окно периферийных регистров «View → Views → Peripheral Registers»:

    5sud3da7e-itjichwh5tzd0ilva.png

    После этого в правом окне отобразится пустая вкладка периферийных регистров:

    a-c1-1koe8dwrlbyczjxuber8rg.png

    Теперь можно выбрать желаемую группу регистров из всех доступных, просто кликнув правой клавишей мыши по пустому содержимому вкладки и в меню «View Groups» выбрать группу, например «RCC»:

    9tle5ot57jhts5te0xobb62caxq.png

    в которой отобразятся все имеющиеся регистры, значения которых (помеченные как RW) можно будет поменять.


Также исправлена работа с точками останова при использовании отладчика от Keil MDK.

Улучшения в QBS


Добавлена поддержка и авто-определение новых архитектур и компиляторов.

Свойство qbs.architecture имеет следующие новые значения:


Также текущая версия QBS содержит много исправлений и улучшений (наконец-таки создали минимальный докер-контейнер с CI для проведения авто-тестов для разных компиляторов и архитектур для bare-metal).

Что дальше


Для QtC и отладчика Keil MDK планируется добавить фичу отображения и редактирования памяти (она сейчас там отключена). Также, возможно, добавится и новый поставщик (отладчик) от Texas Instruments.

Для QBS и QtC планируется добавление новых компиляторов и архитектур.

На этой ноте я заканчиваю свое повествование, всем спасибо, кто уделит внимание этому обзору.

© Habrahabr.ru