NUCLEO-F446RE “The interface firmware FAILED to reset/halt the target MCU"

Hi, I’m new to this, so bare with me :smiley:

I’m following the UM2421 - getting startet guide for the P-NUCLEO-IOM01M1, and everytime I connect the USB to my PC, I get the FAIL.txt where it says: The interface firmware FAILED to reset/halt the target MCU.
I have tried to reinstall the ST-LINK, update the firmware on the NUCLEO-F446RE, Checked the jumper positions (they are sat correct) , but everytime i get the FAIL.txt saying the same thing.

I have no idea what to do, so please if someone have a solution for this problem

1 Like

Well looking over the documentation for this, it looks like you aren’t actually supposed to use the ST-Link to flash anything, right? Does the serial port still show up? Does the eval tool still run OK?

Hi Jamie
The serial port and eval tool runs as before I tried to flash the F446RE through the eval tool and now also ST-Link Utility.

Same problem, I will wait for the solution as well.
Do the same thing and it does work for F429ZI but doesn’t for F446RE.

the microcontroller is bad, just change it.

Excuse me, do you mean change the new board or model or brand? hahaha

I had the same problem in custom boards when I tried to program them using DAPLink. The problem was caused because the MCU was locked, in my case, due to some flash security configurations I set. Unlocking it with an external debugger was the solution.
If an external debugger does not work either, maybe the problem is in your MCU as @wubaojun said.

In addition to this, you may try to unlock it using pyocd.

1 Like

I had a similar error message reported in the FAIL.TXT file located on the board’s virtual disk after I accidentally interrupted an ongoing program download to the chip:

The interface firmware FAILED to initialize the target MCU.

In addition, the chip got locked (I was not able to connect to it anymore) as reported above by David.

Performing the following steps fixed the issue:

  • Install the STM32CubeProgrammer to your host PC.
  • Launch the STM32CubeProgrammer and in the ST-LINK configuration window click on the refresh Serial number button (see in the picture below).
  • In the ST-LINK configuration window reduce the Frequency from 4000 to 1800 (see in the picture below).
  • In the ST-LINK configuration window change the Mode to Under reset (see in the picture below).

  • On the target board push the RESET button and, while holding down the RESET button, click on the Connect button in the STM32CubeProgrammer (see in the picture above).

  • Release the RESET button on the target board.

  • Once the chip is connected, initialize a Full chip erase by clicking on the ST-Link_Full_chip_erase button.

  • Check/modify the Option bytes as needed by clicking on the ST-Link_Option_bytes button.

  • Open the file containing the binary code and then download it to the chip.

3 Likes

Thank you so much for you input. I will try the different debugger.
Now I only try STM32CubeProgrammer as @hudakz advice but it still isn’t work.
I never used Python so I will study first.
PS. I already changed the MCU board for my project but I still keep this board because I would like to learn about this issue.
So if you have any method please feel free to comment.

Best regard,

Thank you so much for your solution, you make it easy to understand. _/_
I tried your method on my board but it still isn’t work.
Follow your step and after click the connect button I get these:
16:32:57 : ST-LINK SN : 066EFF545753845187085637
16:32:57 : ST-LINK FW : V2J38M27
16:32:57 : Board : NUCLEO-F446RE
16:32:57 : Voltage : 3.24V
16:32:57 : Error: No STM32 target found!
I still keep this board because I would like to learn about this issue.
So if you have any method please feel free to comment.

Best regard,

What a pity that it does not work!

  • Do you keep the RESET button on the board pressed when you click on the Connect button?
  • Try to reduce the frequency even more.