cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with connecting STM32H755ZI-Q

david027
Visitor

I am new to using stm32 MCUs and I was following a youtube tutorial on how to set up a debugger for dual core MCUs. Before changing some settings I was able to start the debugger without any errors. Now when I try to run the debugger I get this error window popup:

'Launching file_CM4 Debug' has encountered a problem. 

Error in final launch sequence:

Failed to start GDB server

 

When I click on details I get:

Error in final launch sequence:

Failed to start GDB server
Failed to start GDB server
Error in initializing ST-LINK device.
Reason: (4) No device found on target.

 

I also noticed that when I plug the controller in the USB port and open NOD_H755ZIQ in This PC, it has 4 files (it had 3 files before). New file is called FAIL.TXT and it says: 

The interface firmware FAILED to reset/halt the target MCU

 

This is the youtube tutorial that I followed : https://www.youtube.com/watch?v=jI1k6p-fduE

 

Can anyone help me with this?

Is it possible to fix this problem or do I need to buy a new board? 

Thanks in advance.

 

3 REPLIES 3
TDK
Guru

Connect with STM32CubeProgrammer and ensure the CM4 core is enabled in option bytes (BOOT_CM4).

If you feel a post has answered your question, please click "Accept as Solution".
mƎALLEm
ST Employee

Hello @david027 and welcome to the community,

You've started with a relatively complex STM32 with dual core! This is not easy for someone new on STM32 MCUs.

Meanwhile, what board are you using? ST board? if yes, which one? if NUCLEO-H755 it needs to be set to DIRECT SMPS.

or custom board? If yes, what is the power configuration?

The debug is a bit tricky mainly because CM4 enters the low power mode:

mALLEm_0-1742304740005.png

I suggest you to comment out these lines on CM4:

 

  HAL_PWREx_ClearPendingEvent();
  HAL_PWREx_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFE, PWR_D2_DOMAIN);

 

And for CM7 comment out these lines:

 

  timeout = 0xFFFF;
  while((__HAL_RCC_GET_FLAG(RCC_FLAG_D2CKRDY) != RESET) && (timeout-- > 0));
  if ( timeout < 0 )
  {
  Error_Handler();
  }

 

 

timeout = 0xFFFF;
while((__HAL_RCC_GET_FLAG(RCC_FLAG_D2CKRDY) == RESET) && (timeout-- > 0));
if ( timeout < 0 )
{
Error_Handler();
}

 

Please refer also to this article.

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.

Thanks for reaching out. I am using NUCLEO-H755ZI-Q. I don't think that commenting out the parts of the code will help because i have no way of uploading that code to the board. I have read the article which you provided and i think it could work because i remember changing the SupplySource in RCC Mode and Configuration from PWR_DIRECT_SMPS_SUPPLY to PWR_LDO_SUPPLY. I have also read the comments under the article where someone mentions that i need to make some modifications before running the board at 480MHz, when i started the project i set the timer in clock configuration to the maximum frequency of 480 MHz without any modifications.

 

I would like to try the "Solution 1" from the article but I am scared of causing permanent damage to the board.

Can you please explain the "Solution 1" in more detail, and sorry if I am being annoying