Это старая версия документа!
VSCode Qbs
Qbs - это инструмент автоматизации сборки, предназначенный для удобного управления процессом сборки программных проектов на нескольких платформах. Qbs основан на языке QML. QML — это краткий, простой в освоении и интуитивно понятный язык. Его ядро является декларативным, но для большей гибкости его можно расширить с помощью фрагментов JavaScript.
Qbs создает приложения на основе информации из файла проекта. Каждый файл проекта определяет один проект, который может содержать несколько продуктов. Вы указываете тип продукта, например приложение, и зависимости продукта от других продуктов.
Тип продукта определяет набор правил, которые Qbs применяет для создания артефактов из входных файлов. Входные файлы можно разделить на группы, например, по их типу или назначению. Группу также можно использовать для присвоения свойств продуктам.
Ниже приведен пример минимального файла проекта, в котором указаны тип продукта, имя приложения, исходный файл и зависимость от модуля cpp:
Application { name: "helloworld" files: "main.cpp" Depends { name: "cpp" } }
Visual Studio Code предоставляет плагин qbs-community, который предоставляет точную информацию о ходе сборки и отображает дерево проекта, отражающее логическую структуру проекта. Кроме того, он может предоставлять информацию низкого уровня, например структуру файловой системы.
Для программирования микроконтроллеров STM32 в VSCode потребуется:
- Qbs - система сборки
- qbs-community расширение для VSCode для поддержки Qbs
- STM32CubeCLT - инструменты для сборки (компилятор, утилита для прошивки, отладчик, GDB - сервер)
- STM32CubeMX - генератор проектов для STM32
File → New Project, выбираем микроконтроллер:
Настраиваем цепь тактирования:
Выбираем Makefileв Toolchain/IDE:
Генерируем проект нажав кнопку GENERATE CODE. Открываем папку со сгенерированным проектом, копируем в нее содержимое шаблона проекта
Открываем папку проекта в VSCode и выбираем компилятор:
Во вкладке отладки выбрать тип загрузки прошивки:
При первом открытии, возможно, понадобится сборка проекта, что бы не возникала ошибка при прошивке микроконтроллера. Для сборки нужно нажать кнопку Сборка в нижней панели VSCode. При последующих запусках прошивки сборка будет производиться автоматически.
Для подключения сторонних библиотек нужно добавить в файле проекта хxx.qbs пути к библиотекам, например:
property stringList myIncludes:[ "lib/SSD1306", "lib/microrl ]
Для добавления своих определений их нужно поместить в список:
property stringList myDefines:[ "_USE_CTLR_C" ]
Список files содержит список файлов включенных в проект:
files:[ "*.ioc", "*_FLASH.ld", "**/*.c", "**/*.cpp", "**/*.h", "**/*.hpp", "**/*startup_**.s", ]
Для исключения файлов из проекта, их нужно внести в список excludeFiles, например:
excludeFiles: [ "MAKEFILE" ]


