Обзор возможностей 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»:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Улучшения в QBS

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

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

Компилятор Имя архитектуры Значение свойства
Keil C251 80251 (aka MCS251) mcs251
Keil ARMCLANG ARM arm
Keil C166 C16x, CX16x c166
IAR AVR32 avr32
IAR SuperH sh
IAR RISC-V riscv
IAR ColdFire (aka M68K) m68k
IAR Renesas M32C m32c
IAR Renesas R32C r32c
IAR Renesas M16C/M8C r16c
IAR National Semiconductor CR16/M8C cr16
GCC Renesas V850 v850
GCC Renesas M32C m32c
GCC Renesas M32R m32r
GCC Renesas RX rx
GCC RISC-V riscv
GCC XTENSA (ESP8266/32) xtensa
GCC ColdFire (aka M68K) m68k
GCC National Semiconductor CR16/M8C cr16
GCC SuperH sh

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

Что дальше

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

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

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

ссылка на оригинал статьи https://habr.com/ru/post/516686/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *