cancel
Showing results for 
Search instead for 
Did you mean: 

Can I use TouchGFX for my STM32F413ZH based Custom Hardware? If yes How?

BG.3
Associate III

Hi there!

I am using a STM32F413ZH-based custom board, I was looking into the option of GUI applications and found TouchGFX. But I don't know how to use that and integrate it with my custom board. Please tell me how to integrate TouchGFX on my STM32F413ZH-based custom board. If it can't be used, then let me know about any other applications.

14 REPLIES 14
RhSilicon
Lead

As far as I know there are specific models for using graphics, F4x9 etc. I use an STM32F407 with SPI display but in very simplified mode, low performance.

STM32_GFX.png

https://www.st.com/content/dam/AME/2019/developers-conference-2019/presentations/STDevCon19_1.4_STM32TouchGFX.pdf

I haven't used touch GFX in a while, and likely things have changed.

However, TouchGFX and similar programs rely on being able to write data to a specific pixel.  If it's not a supported ST board, you're in the soup for making it so.

Now this does not mean that I understand the specific drivers in TouchGFX, but in general you need:

  1. A way of initializing the board, and likely clearing the screen
  2. A way of writing a specific pixel
  3. a way of reading a specific pixel

Different graphics programs may need more or less, but that is the minimum you need.

Generally, you need to provide a method for doing the above, which can involve having access to low level SPI drivers (HAL will work, but you may need one chip on one interface).  These low level drivers depend on how your chip interfaces, how much graphics memory it has, how to access the registers on the control chip, and so on.

Many other programs (emWin, STemWin, uGFX, and so on, including what I have written) effectively do the same.  There are more methods of writing to a display, but what I've mentioned are the simplest.  Again, what kind of display, what kind of interface, and the display chip, all play a part.

 

Thanks for your response Mr.Harvey.

By the way, seems like even STM32F413H-Disco board also will not compatible with TouchGFX.(correct me if I am wrong) I will definitely consider your points. But I need some more specific advise on application / library perspective. What would be effective for beginner stage. I thought TouchGFX. If it is not even suitable for STM32F413H-Disco board, will STemWin be good? or anything else?

 

 

 

1.5MB Internal FLASH, 16 MB External FLASH, 320 KB Internal RAM, 1 MB External RAM

Probably not ideal, but probably adequate. Will depend on your screen size and connectivity.

I'd expect STemWin would port

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Sorry.. I missed to mention that my screen resolution is 240x320.

For 320 * 240, you need about 300K worth of pixels, which if you maintain full 32 bit color (ARGB) is about 300K of 32 bit memory.  While the processor does not have it, you have external memory that does.  The parallel method of connecting the board to the display is what's on the board, so you'd be using a memory mapped LTDC configuration.

There's no demo for STemWin for that specific board, but you might want to look to see if one of the available demos might run. 

For TouchGFX, there may be a demo, but I don't know.

Bear in mind that all of the demos generally use BSP drivers.

I'm not going to be an expert on TouchGFX, and I'm awaiting a response from ST on how to get STemWin up and running (I have some very particular questions). 

Of the two, TouchGFX is more the current product and is likely better supported.  STemWin has perhaps more of a cross platform capability.

 

Harvey missinform about not existed LTDC usw. But back to your q and ideas. 

TouchGFX is compatible with F413, but only on SPI displays. I see no problem use it.

BG.3
Associate III

I have not found any samples. could you please help me on that?

TouchGFX is package , that you need add in MX IDE into your project and use it.

Prepared examples is for learn , not for LEGO players. In designer create part you can find F41 and see example for F412G ...