cancel
Showing results for 
Search instead for 
Did you mean: 

No ST-Link detected after disconnect

HispaEmo
Associate III

 

Hello ST Community,

I’ve been working on a project to enable TouchGFX on my STM32H735-DK, but instead of using the TouchGFX Designer, I decided to configure everything manually to display a pre-designed image on the screen.

The Issue

Initially, everything seemed to work fine—I could see the image on the screen as expected. However, I noticed a strange issue:

  • If I reboot my PC, the screen displays a blank white background instead of the image.
  • The problem persists only when the board is disconnected or powered off. Pressing the RST button on the board does not cause this issue.
  • Additionally, after disconnecting the board, the ST-LINK connection fails with the error:
    • Error: No device found on ST-LINK.

To fix this, I need to:

  1. Connect the board to STM32CubeProgrammer while holding the RST button.
  2. Modify the Option Bytes (specifically, reset the RDP level to Level 0).

Observations

I also have a test project generated using TouchGFX Designer, and I noticed the following:

  • To flash my manually configured project (manualGFX), I first need to load the test project.
  • This leads me to believe there’s a critical configuration in the manually configured project that I’m missing or misconfiguring.

I’ve already reviewed:

  • The power supply configuration.
  • Pins such as PA13 and PA14.
  • General setup information related to the board and TouchGFX.

Despite my efforts, I’ve been unable to resolve this. This issue is critical for me to understand, as it’s blocking further development.

Request for Help

I’m reaching out to the community for guidance and ideas:

  • Could there be specific settings (e.g., Option Bytes, boot mode, or memory configurations) causing this behavior?
  • Is there something specific in TouchGFX manual setups that needs to be handled differently compared to projects generated with TouchGFX Designer?

I would deeply appreciate your insights and suggestions! Your expertise could make a huge difference in resolving this.

Thanks in advance for your time and support!

Best regards,

Emo.

2 REPLIES 2
GaetanGodart
ST Employee

Hello @HispaEmo ,

 

I have downloaded your project, compiled it in STM32CubeIDE and flashed it using STM32CubeProgrammer but I only get noise on the screen. When I disconnect and reconnect the board, I get a white screen.
Since the issue only happens when doing a hard reset (loosing complete power on the board), I am wondering if the image is not stored in dynamic memory.

When you disconnect the board and then try to reconnect it, it should be possible. Sometimes, you have to change the connection settings like the reset mode but I also had issues reconnecting the board after flashing your program so there is a problem there.

You should not "generate code under root" :

GaetanGodart_0-1736777999575.png

Beside that, you could look at our board bring up guide and this video .

 

Regards,

 

Gaetan Godart
Software engineer at ST (TouchGFX)

Hi @GaetanGodart

Thank you so much for taking the time to test my project and for your detailed feedback.

To answer your question, yes, the image I am displaying is one of the default images provided by TouchGFX. However, the only way I’ve been able to successfully load and debug my manualGFX project is by first loading a project generated with the TouchGFX Designer. In my case, this is a simple red screen. After that, I can load manualGFX and even debug it to see the image.

The issue arises when the board is physically disconnected and then reconnected; that’s when the screen goes white, and the ST-Link loses its connection.

Observations:

  1. FMC Configuration: I followed the same video tutorial, but I didn’t configure the FMC.

  2. Differences in Load Logs: I noticed differences in the STM32CubeProgrammer logs when comparing a program generated with the Designer and my manualGFX project. Here is an example:

    • For the project generated with the Designer:
      Erasing memory corresponding to segment 0: Erasing internal memory sectors [0 1]
    • For my manualGFX project:
      Erasing memory corresponding to segment 0: Erasing internal memory sectors [0 2] Erasing memory corresponding to segment 1: Erasing external memory sectors [0 23]

    I’m not entirely sure why this difference occurs, but it seems significant.

  3. "Generate under root": Unfortunately, since I’ve already created this project, I cannot revert the "generate under root" setting through the .ioc file. I’d need to start a new project from scratch to address this.

Thank you again for your time and suggestions! I’m open to any further advice or ideas you might have regarding these observations.

Best regards,

Emo.