cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H753 Custom Board – "Unable to get Core ID" After Flash Erase in CubeProgrammer

santhosh16
Associate III

Hey everyone,

I'm working on a custom board based on the STM32H753 MCU. I successfully programmed it using STM32CubeIDE initially, but ran into an issue when trying to re-flash it — I got the error:

"Unable to erase flash memory to reprogram it"

To work around this, I connected to the board using STM32CubeProgrammer and performed a full chip erase using the following settings (details below). I clicked Apply, and the flash erase appeared successful.

 


Screenshot from 2025-06-12 12-31-05.png

After erasing, I’m no longer able to connect to the board via either Cube IDE or Cube Programmer. I now get:

"Unable to get the core ID"


Screenshot (251).png

 

  • Debug Interface: ST-Link  external

  • Board was connecting and programming before the flash erase

  • Now completely unresponsive via SWD.

  • Does full flash erase wipe the area that contains the boot/configuration code, preventing debug access?

  • What hardware signals should I verify?

  • Is there a way to force the MCU into a recoverable mode
    I will also share the schematics

Screenshot from 2025-06-05 19-05-50.png

 

Note:

This is not exactly the same as my previous post where the MCU was never detected at sudden. In this case, it was working, but the issue started after a successful erase

 

1 ACCEPTED SOLUTION

Accepted Solutions

@TDK wrote:

If you set RDP 2, you can no longer access the chip with STM32CubeProgrammer. There is no way to recover the chip. It's done. Replace it with another chip.


ok fine as of now i set this as the solution since we have our development board in developing condition the protection is set to level 2. we're helpless to access the flash so for our case it might be the reason behind this.

View solution in original post

13 REPLIES 13
KDJEM.1
ST Employee

Hello @santhosh16;

 

Are you using STM32F410 or STM32H7? The two screenshots shared different devices.

KDJEM1_0-1749732440190.png

KDJEM1_1-1749732462129.png

If the RDP level is set to "CC" level 2 (device protection and intrusion prevention), the below rules apply:
• All debugging features are disabled.
• Like level 0, all read/write/erase operations from/to the user flash memory are allowed
since the debugger and the boot from RAM and System flash memory are disabled. Accesses to the other secured regions are also allowed.
• Booting from RAM is no more allowed

KDJEM1_2-1749732636659.png

 

KDJEM1_3-1749733107992.png

Which STM32Cubeprogrammer version are you using?

Please download the latest version of STM32CubeProgrammer

 

Thank you.

Kaouthar

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.

TDK
Super User

If the flash is erased and you can't connect, the hardware is likely damaged or the wiring between the chip and your programmer is bad. However:

 

If your screenshot, it looks connected to me. Says it's connected. Says memory has been read. Flash content is there and does not appear to be erased.

If you feel a post has answered your question, please click "Accept as Solution".

No, the above the "data read successfully" message you can find an issue of core id got erased. the flash content shown for an other board to check whether that board is getting connected.

Hi @KDJEM.1,

  • I'm using custom board with stm32h753 mcu and to show that what I've enabled i used the stm32f4 (just for an indication of what i have done). But the problem occurs in stm32h753 only.
  • from the explanation you have provided, i able to know that debugging is not possible to using st-link to a swd interface is useless. As you have mentioned

  •  Like level 0, all read/write/erase operations from/to the user flash memory are allowed
    since the debugger and the boot from RAM and System flash memory are disabled. Accesses to the other secured regions are also allowed.

         how can i access to user flash memory then and how to boot will occur without the access of system memory

         which have bootloader

  • I'm using the stm32 version2.19 which is latest.

Hello @santhosh16 ;

 

Thank you for updating post.

When the Flash level 2 protection is enabled, only boot from Flash memory is available. 

When level 2 is activated, the level of protection cannot be changed back to level 0 or level 1.

Please refer to RM0433 section 4.5.3 Readout protection (RDP) for more information about the RDP level. 

KDJEM1_0-1749810332170.png

Thank you.

Kaouthar

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.

TDK
Super User

Your post says you erased the flash, but your screenshot shows you set RDP level 2. Which one is it? They are very different operations.

If you feel a post has answered your question, please click "Accept as Solution".

Hello @TDK and @KDJEM.1 One of our collegue done this. By sending these screenshot he said that the core id is becomes zero after this. so we try to solve this from his point of view. From this post we came to know that we have just upgraded the protection level of the board. Now our board is in developing condition. Since it's impossible to set the rdp level again to 0 and connecting using st-link also not possible. then how to boot the flash in which protocol?.

If you set RDP 2, you can no longer access the chip with STM32CubeProgrammer. There is no way to recover the chip. It's done. Replace it with another chip.

If you feel a post has answered your question, please click "Accept as Solution".

but @KDJEM.1 said it can be booted from flash memory kindle help me with that process and also one of my colleague suggest to changing the boot0 pin to high and then reset might be works. I will try it and if it works then put that as the solution.