Description
Describe the problem
Unable to debug simple Blink.ino program on Nucleo F446RE board.
Pressing Debug → Start Debugging open empty template for launch.json instead of normally preconfigured and reproducible file.
It is unclear what user should write in the fields on launch.json file
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
"version": "0.2.0",
"configurations": [
{
"cwd": "${workspaceRoot}",
"executable": "./bin/executable.elf",
"name": "Debug with OpenOCD",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
"configFiles": [],
"searchDir": [],
"runToEntryPoint": "main",
"showDevDebugOutput": "none"
}
]
}
to get OpenOCD working with STM32.
To reproduce
- Download latest Arduino IDE 2.0.3, extract and launch it.
- In Arduino IDE go to File → Preferences and set
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
as additional board URL for stm32duino. - In Boards Manager add STM32 MCU based boards by STMicroelectronics.
- Select Nucleo-64 board and set Tools → Board part number to Nucleo F446RE.
- Set Tools → Debug symbols and core logs to Symbols Enabled (-g).
- Set Tools → Optimize to Debug (-Og).
- Try to debug the program.
Expected behavior
Arduino IDE has preconfigured launch.json for well known and mature stm32duino framework.
Debugging is possible using OpenOCD software and embedded ST-Link hardware.
Arduino IDE version
Version: 2.0.3
Date: 2022-12-05T09:27:52.215Z
CLI Version: 0.29.0 [76251df9]
Operating system
Linux
Operating system version
Debian 11 bullseye (stable)
Additional context
The debugging of STM32F446RE on Nucleo-64 F446RE is actually possible using VSCode with vscode-arduino, cortex-debug and marus25.cortex-debug-dp-stm32f4 extensions by openocd
from Debian repository and STM32F446x.svd
file from marus25.cortex-debug-dp-stm32f4 extension.
I hope someone will post fully-reproducible instruction to setup Arduino IDE 2.x for STM32 debugging.
Issue checklist
- I searched for previous reports in the issue tracker
- I verified the problem still occurs when using the latest nightly build
- My report contains all necessary details