cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H745XI6 – Unable to read device ID from ROM table after disabling BCM7 (boot CM4 only)

Pranith
Associate

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.
Screenshot 2026-03-03 111451.png

Problem After Applying

After applying the option bytes, I can no longer connect via ST-LINK.

STM32CubeProgrammer shows:

Screenshot 2026-03-03 115542.png
Error: Unable to read device id from ROM table
Error: ST-LINK error (DEV_CONNECT_ERR)
Error: Cannot identify the device

Even in:

  • Under Reset mode

  • Hardware reset mode

  • Hot Plug mode

  • 50 kHz SWD frequency

Connection always fails.
Screenshot 2026-03-03 121643.png

What I Have Already Tried

  • 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

  • I also even tried with J-link  
  • Target voltage is ~3.2V
  • access port is also changed from 0  --> 1

Still, device ID cannot be read.

Important Details

  • 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

My Questions

  1. Can disabling BCM7 alone prevent SWD from reading the ROM table?

  2. Is it possible that option byte corruption occurred?

  3. Is there any recovery method other than under-reset connection?

  4. 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.

 

1 ACCEPTED SOLUTION

Accepted Solutions
mƎALLEm
ST Employee

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.

access port.png

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.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

View solution in original post

1 REPLY 1
mƎALLEm
ST Employee

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.

access port.png

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.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.