cancel
Showing results for 
Search instead for 
Did you mean: 

workflow for touchgfx

platedknt
Associate

Hi there,

I am quite new to this embedded platform.

 

I am trying to work on enabling uart7 on the STM32H7S78-Discovery kit, while working on this display GUI using touchgfx designer 4.26.0. After scouring through some videos it is recommended to open up .ioc configuration file using STM32cubeMX to enable the peripheral (e.g uart7). However after generating code and using STM32cubeIDE to flash the H7S78 discovery kit the screen goes blank after reset button was pushed. Could you advice what is the right workflow with touchgfx -> STM32cubeIDE and STMcubeMX (to enable peripherals) -> back to touchgfx to further add/change touch buttons etc

1 ACCEPTED SOLUTION

Accepted Solutions

There are two projects to compile and upload to the board for STM32H7Sx devices:

mALLEm_0-1766593557785.png

Upload the Boot, then upload the Appli to your board.

 

 

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.

View solution in original post

4 REPLIES 4
mƎALLEm
ST Employee

Hello @platedknt and welcome to the ST community,

As you are using a discovery board, I recommend to start with TouchGFX designer by selecting the board: 

1- Select the board:

mALLEm_0-1766590805605.png

2- Give a name to your project and click Generate:

mALLEm_1-1766590899700.png

3- The project will be generated with this :

mALLEm_2-1766591001669.png

4- Do what you need to do in the ToucghGFX GUI: adding buttons etc ..

5- Generate the code with CubeMx

6- Compile the code with the selected IDE: for example: CubeIDE and uploead the code for the first test to check the GUI on tyhe board.

7- To add USART or whatever functions, you need to go back to IOC file, configure that peripheral, generate the code then add the user code.

8- Redo the same thing from 6

To add GUI staff (adding more buttons): add buttons in TouchGFX designer, compile the project and debug.

So in summary:

- To add peripherals/change periph configs: you need to do that in CUbeMx and regenerate the code and recompile.

- To add GUI stuff: Use TouchGFX designer and regenerate the code in TouchGFX:

mALLEm_0-1766591634900.png

, compile and debug in your IDE.

Hope that helps.

 

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.
platedknt
Associate

Hi thanks for answering.

I am stuck at step 6 , 7 and 8 where after configuring that peripheral , I re-generated the code and switched to CUBEIDE to re-build and run the application. However the discovery kit turned blank even after reset button was pushed.

There are two projects to compile and upload to the board for STM32H7Sx devices:

mALLEm_0-1766593557785.png

Upload the Boot, then upload the Appli to your board.

 

 

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.
franticspider787
Associate

I had the same type of problem.

Look at how the interrupt priorities are set up in NVIC.

What worked for me is

SYS_TICK priority 3 (fairly high property). This is used by the HAL routines for timing.

TIM6 (the one I use for FreeRTOS) priority 5.

I also put UART as priority 5.

Priority 7 are the DMA and LTDC (the two used by touchGFX).

Not sure what I did, but CubeMX seems to occasionally change these without my knowing.

 

The blank screen I think is caused by FreeRTOS tick priority being set below TouchGFX and/or HAL tick lower then either of the others causing an inversion and blocking the HAL / FreeRTOS interrupt.