2026-03-02 11:11 PM
Hello,
I am working with a custom PCB using STM32H745XI6 (dual core CM7 + CM4).
I wanted to boot only the CM4 core.
So, in STM32CubeProgrammer --> Option Bytes --> User Configuration:
I unchecked BCM7 (CM7 boot disabled)
BCM4 remained enabled
I clicked Apply
The operation completed successfully
No mass erase warning
No security warning
No RDP Level 2 warning
RDP was never changed manually.
After applying the option bytes, I can no longer connect via ST-LINK.
STM32CubeProgrammer shows:
Even in:
Under Reset mode
Hardware reset mode
Hot Plug mode
50 kHz SWD frequency
Connection always fails.
Connect under reset (holding NRST manually)
BOOT0 high and low
Very low SWD frequency (50 kHz)
Hot Plug mode
Hardware reset mode
Different USB cable
ST-LINK V3SET firmware is detected correctly
Still, device ID cannot be read.
This is a custom PCB
VDD = 3.3V stable
ST-LINK V3SET is used
No RDP Level 2 was selected
No TrustZone configuration was intentionally enabled
The issue started immediately after disabling BCM7
Can disabling BCM7 alone prevent SWD from reading the ROM table?
Is it possible that option byte corruption occurred?
Is there any recovery method other than under-reset connection?
Could disabling CM7 boot block debug infrastructure on STM32H745?
Attached are screenshots of:
Option Bytes before change
Cube Programmer connection error with ST-Link_V_3 and J-link
NOTE: With J-Link the Device Id is Detected
Any help would be appreciated.
Thank you.
Solved! Go to Solution.
2026-03-02 11:59 PM - edited 2026-03-03 12:02 AM
Hello and welcome to the ST community.
That's a normal behavior. CM7 is accessible over Access port 0 while CM4 is accessible over Access port 3. If you disable CM7, the MCU target is no more accessible if debug access port = 0.
Set the Access port to 3 and you will restore the connection to your MCU target.
Please have a look at this article: How to enable/disable cores on dual-core STM32H7 using STM32CubeProgrammer
Hope I've answered your question.
2026-03-02 11:59 PM - edited 2026-03-03 12:02 AM
Hello and welcome to the ST community.
That's a normal behavior. CM7 is accessible over Access port 0 while CM4 is accessible over Access port 3. If you disable CM7, the MCU target is no more accessible if debug access port = 0.
Set the Access port to 3 and you will restore the connection to your MCU target.
Please have a look at this article: How to enable/disable cores on dual-core STM32H7 using STM32CubeProgrammer
Hope I've answered your question.