Как настроить VS Code для построения и отладки проектов STM32 с использованием cubeMX - Windows 10
Я новичок в области программирования на STM32 и уже довольно давно пытаюсь найти подходящую IDE. Я знаю обо всех других IDE, таких как Keil и IAR, но стоимость покупки их просто для изучения очень высока для меня на данный момент.
Я начал использовать VS Code для растущего объема моей работы по разработке, и мне было бы неплохо использовать IDE для разработки STM32. За последние несколько дней я нашел много примеров того, как настроить среду IDE для создания проектов STM32, но все они, похоже, упускают важную информацию, необходимую для правильной компиляции проекта. Это довольно расстраивает,
Мне было интересно, есть ли кто-нибудь, кто мог бы указать мне полное руководство по настройке того, как настроить VS-код для работы с cubeMX и цепочкой инструментов arm, или, если вы чувствуете себя действительно добрым, пришлите мне пример проекта, который я могу использовать в качестве основы учиться у.
Просто некоторая справочная информация, я знаю, как использовать cubeMX для генерации базового проекта, а также соответствующий make-файл, у меня также установлена последняя версия GNU-Tools-Arm-Embedded.
Заранее спасибо за вашу помощь
4 ответа
- Установите набор инструментов GNU Arm Embedded и добавьте его папку bin в переменную среды PATH.
- Вам также понадобится
make
чтобы выполнить ваши make-файлы, скачайте Make for Windows. Самый простой способ - загрузить двоичные файлы и извлечь их где-нибудь в вашей системе. Добавьте это (C:\make-3.81-bin\bin
) к вашему PATH также. - Создайте проект STM32CubeMX и выберите
Makefile
как Toolchain/IDE. - На данный момент вы сможете построить сгенерированный проект, просто используя
make
в корневой папке проекта. - Если вы откроете проект в VS Code, вы можете создать его с помощью терминала или создать задачу VS Code для выполнения
make
команда. Вы также можете привязать свою задачу к горячей клавише, чтобы сэкономить время. - Для отладки проще всего установить расширение Cortex-Debug VS Code. Следуйте инструкциям для настройки сеансов отладки.
Некоторое время назад у меня был такой же вопрос, но я не нашел ничего, что мне действительно понравилось. Итак, я создал STM32 для VSCode, это расширение для VSCode, которое работает с файлами, сгенерированными STM32CubeMX, и настраивает для вас сборку и отладку.
Для этого есть библиотека скриптов Python, недавно она была выпущена с отличной документацией, и после тестирования я могу сказать, что она работает так, как рекламируется.
Процесс довольно прост:
- Экспортируйте файлы с помощью STM32CubeMX
- Откройте папку VSCode и сохраните ее как рабочую область.
- Скопируйте сценарии
"ideScripts" directory
в папку вашего проекта - Запустите update.py
Вот видео о том, как это работает:
@Bence Kaulics уже дал очень хороший ответ, на его основе я добавил свои недавние выводы.
-
make
Команда почему-то не работала у меня в VS Code Terminal. Чтобы решить эту проблему, я установил расширение Makefile Tools от Microsoft. - ссылка на инструкцию не работает, поэтому добавляю шаги как настроить отладку для J-Link.
-> Установите расширение Cortex-Debug. -> Загрузите и установите программное обеспечение J-Link от Segger. -> Получить файл SVD, если вы хотите увидеть периферийные регистры. -> Отредактируйте файл launch.json (см. код ниже). -> Установите исполняемый файл, пути и устройство.
{
"version": "0.2.0",
"configurations": [
{
"cwd": "${workspaceRoot}",
"executable": "./build/STM32F103RBT6_Test1.elf",
"name": "Debug Microcontroller",
"request": "launch",
"type": "cortex-debug",
"servertype": "jlink",
"serverpath": "C:/Program Files/SEGGER/JLink/JLinkGDBServerCL.exe",
"armToolchainPath": "C:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2021.10/bin",
"device": "STM32F103RB",
"interface": "swd",
//"serialNumber": "", // if Multiple Debuggers attached
"runToMain": true,
"svdFile": "${workspaceRoot}/device/STM32F103xx.svd",
}
]
}