Difference between revisions of "STM32 development and debugging using VSCode"
Line 65: | Line 65: | ||
== Starting a project with STM32CubeMX == | == Starting a project with STM32CubeMX == | ||
+ | When starting [[STM32CubeMX]] we can select "Access to MCU Selector": | ||
+ | [[File:STM32CubeMX New Project.png|400px]] | ||
== Miscellaneous Links == | == Miscellaneous Links == | ||
* [https://github.com/lbthomsen/vscode-stm32 Simple Blink Project with VSCode Config] | * [https://github.com/lbthomsen/vscode-stm32 Simple Blink Project with VSCode Config] |
Revision as of 03:13, 31 March 2022
ST provide an IDE (Integrated Development Environment) for STM32 development. As a beginner's environment to learn embedded programming on STM32 MCUs this IDE is not half bad.
Prerequisites
This example is developed on a standard Debian desktop system. On an Ubuntu system it should be almost the same.
Toolchain
The toolchain refers to the compiler and the tools to manipulate binary images. On Debian those are available in the standard repository:
$ sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi
GNU Debugger (GDB)
The GNU Debugger (GDB) is also available:
$ sudo apt install gdb-multiarch
OpenOCD
To communicate with the actual STM32 MCU a JTAG/SWD tool is necessary. Fortunately the standard OpenOCD in Debian support STM32/ST-Link:
$ sudo apt install openocd
STM32CubeMX
STM32CubeMX can be downloaded directly from ST's Website.
Visual Studio Code
The final prerequisite will be VSCode itself. On a Debian system, the easiest way to install VSCode is to use the repository provided by Microsoft. In my case, I've added the repository:
lth@ncpws04:~$ sudo cat /etc/apt/sources.list.d/vscode.list deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main
Having that added, installation becomes a simple matter of:
$ sudo apt update && sudo apt install code
After installing VSCode a few extensions need to be installed. Those are:
- C/C++ Extension
- Cortex-Debug
- Makefile Tools
Starting a project with STM32CubeMX
When starting STM32CubeMX we can select "Access to MCU Selector":