Where are the STM32 sources and tools?
Arduino IDE stores board packages and tools in its data directory. This is different from the directory that contains the Arduino IDE application.
The default Arduino data directories are:
~/.arduino15/on Linux~/Library/Arduino15/on macOS%LOCALAPPDATA%\Arduino15\on Windows 10 and 11
The examples below use <Arduino data directory> as a placeholder. First make sure you have installed the STM32 core using the
Arduino Boards Manager.
STM32 core source files
The STM32 core files can be found in:
<Arduino data directory>/packages/STMicroelectronics/hardware/stm32/<core-version>
Note
<core-version> depends on the STM32 core version installed through Boards Manager. A development package may use a version ending in -dev.
The core directory contains files such as cores/, libraries/, variants/, platform.txt, and boards.txt.
STM32 tool files
STM32 tool packages are installed below:
<Arduino data directory>/packages/STMicroelectronics/tools/
Common tool locations include:
STM32Tools/<version>/: upload tools and helper scripts.CMSIS/<version>/: ARM CMSIS headers and device support.CMSIS_DSP/<version>/: CMSIS-DSP sources and headers, when installed.CMSIS_NN/<version>/: CMSIS-NN sources and headers, when installed.STM32_SVD/<version>/svd/: STM32 System View Description files.xpack-arm-none-eabi-gcc/<version>/bin/: the Arm GCC compiler and tools, includingarm-none-eabi-gccandarm-none-eabi-gdb.xpack-openocd/<version>/bin/: OpenOCD and its support files, when installed.
Note
Tool package names and versions depend on the STM32 core release. Do not assume that all packages are installed for every board or core version.
Finding the installed versions
On Linux or macOS, list the installed STM32 packages with:
ls <Arduino data directory>/packages/STMicroelectronics/hardware/stm32
ls <Arduino data directory>/packages/STMicroelectronics/tools
On Windows, open the corresponding Arduino15\packages\STMicroelectronics directory in File Explorer or use PowerShell:
Get-ChildItem "$env:LOCALAPPDATA\Arduino15\packages\STMicroelectronics\tools"
The Boards Manager version determines the core directory name. The tool directories contain their own installed version names. Use the paths from the selected package when configuring the compiler, debugger, uploader, or SVD file.