2025-01-18 10:23 AM - last edited on 2025-01-20 01:19 AM by Andrew Neil
I am facing a persistent issue with the Nucleo H755ZI-Q board that is driving me crazy!
The issue I am having is :
Error: Unable to get core ID
Error: No STM32 target found! If your product embeds Debug Authentication, please perform a discovery using Debug Authentication
Encountered Error when opening C:\ST\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.2.0.202409170845\tools\bin\STM32_Programmer_CLI.exe
Error in STM32CubeProgrammer
Here's the setup and steps I've followed:
Chip Configuration:
Peripheral Configuration:
2. Debug Configuration:
And, Beside the MCU not able to finding it's target, after restarting the device I receive this,
The interface firmware FAILED to reset/halt the target MCU
I’ve rechecked the configurations multiple times and followed the guidelines for debugging and clock setup. Despite all efforts, the issue persists.
My Steps to Troubleshoot So Far:
I've lost the counts how many times I have factory reset my MCU. I’d greatly appreciate any guidance or solutions to resolve this issue. Could it be related to the power supply settings, debug interface, or something else entirely?
@TDK @Tesla DeLorean @Sara BEN HADJ YAHYA @SofLit
Solved! Go to Solution.
2025-01-20 12:37 AM - edited 2025-01-20 02:24 AM
Hello @Daniel_Ismail ,
The issue is due to a limitation in the new CubeMx version described in this thread. Refer to the solution.
Two defines of the power configs are generated by CubeMx for the same project:
You need to remove the define USE_PWR_LDO_SUPPLY from the project preprocessor and need to recover your board from the lock situation. Refer to the thread mentioned previously.
2025-01-18 12:03 PM
Generally it relates to SMPS/VOS settings, but you indicate those are set suitably.
Other things could be how the cores start, or you've got something that interferes with PA13/PA14 debug pins. Make sure SWD/JTAG has not been disabled/suppressed via settings.
I'd probably solder a right-angle jumper on the BT0/VDD pins of the NUCLEO pin header, and perhaps add a spinning delay in the Reset_Handler() to permit the core to be wrestled by the ST-LINK.
2025-01-18 12:46 PM
The voltage settings are suitably configured, and I haven’t made any changes in MXCube beyond what I’ve already mentioned in my post. To clarify, I haven’t written any additional code either, so nothing has been done that would intentionally affect PA13/PA14.
Regarding the suggestion to solder a jumper on BT0/VDD, could you please explain the purpose of this modification? I’d also appreciate more details on how adding a spinning delay in the Reset_Handler() would help and how to implement it effectively.
Thanks in advance for your guidance!
2025-01-18 02:47 PM
The BT0 jumper allows for two things, it enters ROM System Loader rather than your code, which provides a safe harbour to erase your broken code running in FLASH. Also if the board is bricked by using LDO rather than SMPS you can power cycle the board completely twice with the jumper on to clear the issue.
With the delay in Reset_Handler you are buying time allowing the debug to wrestle control before your code gets to run fully and change pins, etc.
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT SystemInit
IMPORT __main
movs r0, #0
delay subs r0, r0, #1
bne.n delay
LDR SP, =__initial_sp
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
2025-01-19 01:45 AM
However, when I use the MXcube to generate the code for the BSP or Nucleo-H755 board rather the chip, everything works fine. The issue is that we can't proceed with the Nucleo or BSP because we are designing a custom board that doesn't match the Nucleo board.
In our case, I have noticed that there's no delay in the Reset_Handler in the BSP code, so I don't think the issue is related to Reset_Handler. What could be causing the problem in our setup?
2025-01-19 09:51 AM
Well perhaps you're going to need to delta/diff the initialization code to understand what's different in the working vs non-working situations.
Use bisection methods to add/remove different parts of the code so you can focus in on the specific area that's the problem. The H7 can run from the 64 MHz HSI and bus settings it starts with, you don't need to change the clocks, bus or PLL settings for the part to continue running.
2025-01-20 12:37 AM - edited 2025-01-20 02:24 AM
Hello @Daniel_Ismail ,
The issue is due to a limitation in the new CubeMx version described in this thread. Refer to the solution.
Two defines of the power configs are generated by CubeMx for the same project:
You need to remove the define USE_PWR_LDO_SUPPLY from the project preprocessor and need to recover your board from the lock situation. Refer to the thread mentioned previously.
2025-01-20 10:05 AM
Thanks a bunch @SofLit !That solution worked perfectly! I had spent days trying to resolve this issue, and this approach finally fixed it as expected. I'll also add the spinning as suggested by @Tesla DeLorean delay to ensure the setup is even more robust. By the way, will the upcoming version include a fix for this issue?
2025-01-20 10:48 AM
@Daniel_Ismail wrote:
By the way, will the upcoming version include a fix for this issue?
I don't have this visibility but most probably in the next release.