cancel
Showing results for 
Search instead for 
Did you mean: 

GFX01M2 and unsupported X-Nucleo boards in TouchGFX

Al-E-Bags
Senior

Hi,  much trepidation here as I'm new to STM32 and new to this forum too.  

Looking through the entire inventory of STM microcontroller products, one could be forgiven for becoming a little confused over the 'right choice' or combination of hardware and software packages for a particular project.  I am a little confused!

Here is where I am with my efforts so far. I am - as part of my project development - trying to configure a GFX01M2 X-Nucleo diplay expansion board to run on an STM32F303RE Nucleo board.  Following various tutorials online, I am reasonably sure that I have produced a working hardware configuration via CubeMX v6.8.0 (I'm using this version presumably to keep compatability with X-CUBE-DISPLAY v3.0.0 Middleware). I have also configured X-CUBE-TOUCHGFX for this particular display expansion board.

My next step is to create the most basic of GUI's so I can test for a working setup of the boards.   To this end, I have used the STM32G071RB as a template/substitute MCU.  At this stage, I'm looking for no more than displaying some text on the display.  

My intuition suggests that i need to combine parts of the generated code from TouchGFX into my (hopefully correct) project for the F303RE via CubeIDE.  I'm at a bit of a loss as to how to achieve this, or, even if this is the correct approach to the solution.  Can somebody help me out and point me in the right direction.   Thanks!    

 

          

1 ACCEPTED SOLUTION

Accepted Solutions
GaetanGodart
ST Employee

No problem ! :smiling_face_with_smiling_eyes:

 

I think you are also looking at the wrong guide, we have an old guide talking about tgfx.exe but this is not the process anymore.

 

I think your next steps are :

  1. Upgrade all your software (STM32CubeMX, STM32CubeIDE, STM32CubeProgrammer and TouchGFX) and firmware
  2. Open TouchGFX Designer and create an empty project using a STM32G071RB nucleo + GFX01M2 to be able to look at what a working TBS similar to the one you want to create would look like
  3. Follow our TBS creation guide : board-bring-up/board-introduction 

 

Don't hesitate if you have questions. Maybe it would be more appropriate to create a new topic for those specifis questions.

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)

View solution in original post

14 REPLIES 14
GaetanGodart
ST Employee

Hello @Al-E-Bags ,

 

The GFX01M2 screen and the STM32F303RE Nucleo board are compatible so it should be able to work.

I think you are missing some steps.
Have you looked at our documentation for board bring up : board-introduction 

What you could try is to do the same steps you have done for the F303 but for the G071 and then compare your G071 project with a G071 project created from TouchGFX Designer. Every difference between the provided project and the project you have created will also be missing in your F303 project.

You can also check some guides such as this one : [Youtube] How to integrate TouchGFX in a custom board 

 

Hope this helps. :smiling_face_with_smiling_eyes:

If this comment answers your question, I invite you to select it as "best answer".

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)
Al-E-Bags
Senior

Hi and thank you for responding to my query. I'll be sure to take an in-depth look at the 'board bring up' document you have suggested.  At first glance, there looks to be quite a lot of useful information there. 

STM32 is an entirely (well not entirely) new architecture for me so, struggling a bit.  It's good to find this community forum!

My pleasure!

Do not hesitate to create a new topic if you have a specific question or to comment this topic.

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)

Hi Gaetan. I have a couple of questions regarding the F303RE and the G071.  I'm specifically trying to 'match' the F303 to the G071 .ioc files in CubeMX.  There are differences in the pinouts of the MCU's, most of which I have managed to resolve however, I notice that in the X-CUBE-DISPLAY V.3.0.0 middleware (in the 'platform settings' tab), the configuration options are different on both despite being the same ST7789V driver as can be seen in the screenshots I have attached below.  Can you help me out with this?  I would like to know if there is a solution.  

Screenshot 2.pngScreenshot 1.png   

The screenshot on the right is from the G071*.ioc file.  The LCD_TE and the LCD_TE HSync Timer options are unavailable to the F303RE (on the left). 

Thanks for your time.

GaetanGodart
ST Employee

Hello @Al-E-Bags ,

 

I have created a new project using a STM32G071 nucleo that you are using as an example.
I have opened the ioc file.
I can see the x-cube-display middleware, but it is not set up for me :

GaetanGodart_0-1725354145635.png

Am I missing something?

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)

Hi Gaetan.  Which version of the IDE/CubeMX are you using?  To have compatibility with X-CUBE-DISPLAY v.3.0.0, I think the latest versions of each you can use is v6.8.0 for CubeMX and v1.12.1 for CubeIDE.  At least this is what I believe to be correct (and is what I am using). Is the option 'greyed-out'?  I found that by clicking X-CUBE-DISPLAY, I have the option to configure access to the relevant display expansion boards, drivers etc. Once configured there will be a green tick against the X-CUBE-DISPLAY option and further configuration can be accessed by the tabs in the .ioc interface.

Screenshot 5.png

Hope this helps.  Thanks for helping me out!

 

Al-E-Bags
Senior

...first, you would need to download and install the X-CUBE-DISPLAY pack via the Help menu in the IDE.  Find the pack under 'Manage Embedded Software Packages' menu item.  Sorry, I forgot to mention this in my post.

GaetanGodart
ST Employee

Hello @Al-E-Bags ,

 

STM32CubeMX version : 6.12.0
TouchGFX version : 4.24.0

Here is what I have done in order to try to have a working example to get inspired from :

  1. Create a new project directly from TouchGFX Designer
  2. Select STM32G071RB + GFX01M2
  3. Generate code from TouchGFX Designer
  4. Open folder
  5. Open .ioc file

From there, the X-CUBE-DISPLAY is greyed out.
I install it directly from STM32CubeMX.
Then it is still greyed out, I look at what is selected and this is what I see :

GaetanGodart_0-1725450380642.png

I do not understand how you managed to have a working example that uses X-CUBE-DISPLAY.

The example created directly from TouchGFX Designer is a working example and it doesn't seem to use X-CUBE-DISPLAY.

SO my questions are
How did you end up with a working example that uses X-CUBE-DISPLAY for the STM32G071RB + GFX01M2 ?
Shouldn't you just not use X-CUBE-DISPLAY?

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)

Hi Gaetan.

I attach a screenshot of CubeMX at versions 6.8.0 and 6.12.0 together on my desktop.  As you look at it,  V6.8.0 is at the right hand side of the screen.  V6.12.0 at the left.  On the left (v6.12.0), notice the red 'cross' icon in the dropdown box on the X-CUBE-DISPLAY line where as on the right side (v6.8.0) there is no such icon.  Essentially, you can not use X-CUBE-DISPLAY V3.0.0 in CubeMX at versions higher than v6.8.0.  Version 6.8.0 of CubeMX will allow cofiguration of GFX01M1, GFX01M2 and GFX02Z1 display expansion boards and their appropriate drivers and buses. 

The yellow warning triangle appear on the configuration screen on the right (v6.8.0) because as yet, there are no SPI buses enabled in the ioc file.  If I were starting from scratch, I would set SPI1 and SPI2 from the 'Connectivity' tab in the ioc to Full Duplex first, prior to setting the X-CUBE-DISPLAY options.

Screenshot 8.png 

  Once you have this configuration, you should be good to go. 

The F303RE that I am using for the GFX01M2 display needs to be configured for the diplay as there is no support for it in TouchGFX.   As far as I know...and I am no expert by any means, using X-CUBE-DISPLAY via the version of CubeMX I am using is the only means I have found to be able to do this.   

Hope this helps.