STM32N647: OpenOCD halt/debug fails with UNDEFINED while CubeIDE works
@tarek-bochkati is already working on this.
Since Jan 6, 2026.
Assessment
This issue has not been assessed yet.
Description
Dear ST Support Team,
I am reporting a debug issue on STM32N647 where debugging works correctly in STM32CubeIDE, but fails when using OpenOCD (ST fork) with ST-LINK.
Summary
On STM32N647 (Cortex-M55, TrustZone), OpenOCD is able to connect to the target and enumerate the core, but any attempt to halt/pause/step the CPU results in an UNDEFINED debug reason. The same hardware, firmware, and debug authentication state work correctly when debugging with STM32CubeIDE using ST-LINK.
Hardware
- MCU: STM32N647X0HxQ
- Debug probe: ST-LINK (V2J46S7)
- Target voltage: ~3.3 V
Software / Tools
- STM32CubeIDE: Debug works normally (halt/step/breakpoints OK)
- ST-LINK Server: API v3, FW 2.1.1
- OpenOCD: 0.12.0+dev-00623-g0ba753ca7 (STMicroelectronics fork)
- VS Code + cortex-debug 1.12.1
Project / Boot Mode
- Boot mode: Internal SRAM boot
- Program under debug: FSBL
- Debug mode: load and run
- Debug Authentication: OPEN (confirmed, since CubeIDE debugging works)
OpenOCD Behavior
OpenOCD connects successfully:
- SWD/DAP connection OK
- Cortex-M55 detected
- Registers and memory can be read
However, when GDB connects or when “Pause” is issued:
halted due to undefined
undefined debug reason 8 (UNDEFINED)
VS Code / cortex-debug then reports:
Received readMemory request while busy (SCB fault registers)
Returning dummy thread-id / stack frame to workaround pause button not working
Halt, step, and breakpoints never work. Changing reset configuration, SWD speed, or OpenOCD options does not change the behavior.
Questions
- Is OpenOCD (ST fork) officially expected to support full halt/step debugging on STM32N647?
- Is there a known limitation or missing Secure Debug / TrustZone handling in OpenOCD for STM32N6?
- Is there a recommended OpenOCD configuration, patch, or restriction note for STM32N647?
I can provide full OpenOCD logs, CubeIDE screenshots, and configuration files if needed.
- Dominant language
- C
- Stars
- 202
- Forks
- 57
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from STMicroelectronics/OpenOCD
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
-
Difficulty 3/5 1-2 days Newbie friendliness 67/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
STMicroelectronics/OpenOCD#42 · 9 comments · 5 reactions ·
All issues in STMicroelectronics/OpenOCD
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
bradcypert/plum#53 ·
-
Component: GLib
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Status: Opened
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
nextbsd/nextbsd-userland#285 ·