Skip to main content
TStum.1
Associate II
February 26, 2020
Solved

Problem with TouchGFX Designer Template for STM32H7B3I DK

  • February 26, 2020
  • 16 replies
  • 7113 views

Hello,

I have a the following problem:

I create a blank UI template for the STM32H7B3I DK with TouchGFX Designer 4.13.0.

Then, I create a small UI consisting of 1 background box, 1 button, 1 image and 3 interactions. The behavior of the interactions is that when the button is pushed, interaction1 hides image 1, then interaction2 waits 1000ms and then interaction3 shows image1 again.

This works basically. However, after some time (can be minutes, can be seconds), the UI hangs and the button is not responsive anymore. I debugged the application with STM32CubeIDE and found that the software hangs in the following function at line 8 "configASSERT(0);" :

bool STM32TouchController::sampleTouch(int32_t& x, int32_t& y)
{
 TS_State_t TS_State = { 0 };
 
 /* This should never fail !! */
 if (BSP_TS_GetState(0, &TS_State) != BSP_ERROR_NONE)
 {
 configASSERT(0);
 }
 
 if (TS_State.TouchDetected)
 {
 x = TS_State.TouchX;
 y = TS_State.TouchY;
 
 return true;
 }
 
 return false;
}

I tried 2 different ways of loading the application to the board: directly with TouchGFX Designer and with STM32CubeIDE. The behavior is the same for both ways.

I did not change anything in the software, it is generated like this by TouchGFX Designer.

I attached my test application to this message.

Has anybody experienced a similar situation or does anybody have a clue what is going wrong here?

Thank you very much in advance for your help. If you need more information, just ask.

This topic has been closed for replies.
Best answer by VRote.1

Hi Thorsten,

i've got an e-mail from ST with this hint:

Change in main.c:

(...)

void SystemClock_Config(void)

{

RCC_OscInitTypeDef RCC_OscInitStruct = {0};

RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};

/** Supply configuration update enable

*/

HAL_PWREx_ConfigSupply(PWR_DIRECT_SMPS_SUPPLY);

/** Configure the main internal regulator output voltage

*/

-> __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);

(...)

For me it works!

16 replies

VRote.1
VRote.1Best answer
Associate II
March 25, 2020

Hi Thorsten,

i've got an e-mail from ST with this hint:

Change in main.c:

(...)

void SystemClock_Config(void)

{

RCC_OscInitTypeDef RCC_OscInitStruct = {0};

RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};

/** Supply configuration update enable

*/

HAL_PWREx_ConfigSupply(PWR_DIRECT_SMPS_SUPPLY);

/** Configure the main internal regulator output voltage

*/

-> __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);

(...)

For me it works!

TStum.1
TStum.1Author
Associate II
March 25, 2020

Hi Volker,

thank you for this hint.

It solves my problem as well. I tested it for the last 4 hours without any error.

Thank you very much for your help!

Hari.52
Associate
February 22, 2021

Hi,

I'm facing the same issue. program suddenly strucks at configASSERT(0)

Can some one explain how to debug the issue

Thanks in advance

Romain DIELEMAN
ST Employee
February 22, 2021

Hi,

Are you working on the STM32H7B3 discovery board like the person in this post ? Did you start you project from the corresponding application template available in TouchGFX Designer ? What version of TouchGFX are you using ?

/Romain

Hari.52
Associate
February 23, 2021

Yes, I'm working on the same board. Started project from the template created by the TouchGFX 4.16.0 designer