cancel
Showing results for 
Search instead for 
Did you mean: 

Any totally working sample projects for NUCLEO-G071RB + X-NUCLEO-GFX01M2($AZ2)

Jiannong Zhou
Associate II

Hello,

I have posted some questions for this configuration - NUCLSEO-G071RB + X-NUCLEO-GFX01M02($AZ2). Now some sample projects are partially working.

  1. Created a new project with two page screen switching by ToughGFX Designer 4.21.1 with STM32G071RB NUCLEO AZ2 configuration.

(1). It can compiled and downloaded into the board and show 1st page graphic, but the touch panel does not work, cannot switch the screen by press the button on the screen.

(2). if any changes in STM32CubeMX - STM32G071RB_NUCLEO_AZ2.ioc and re-generated the code, it will cause compiling issue with this new code.

2.Tested X-CUBE-DISPLAY - en.X-CUBE-DISPLAY.3.0.0.zip. Selected GFX01M2_HelloWorld from X-NUCLEO-GFX01M2 and NUCLEO-G071RB. Compiled fine, but the project code hang at BSP_LCD_Init(). It could be caused by LCD type as I am using AZ2. but after re-configuration in STM32CubeMX. the project has compiling issues.

Questions,

  1. Do you have any sample project work fine with NUCLEO-G071RB + X-NUCLEO-GFX01M2 ($AZ2)?
  2. For the code generated by ToughGFX Designer 4.21.1, do you have any suggestion how to debug this no response of the touch button on the screen?
  3. The code generated by TouchGFX Designer 4.21.1 and generated by STM32CubeMX (included in the project with TouchGFX Designer, after reconfigured X-CUBE-DISPLAY and X-CUBE-TOUCHGFX) are compatible? it looks like the code structure generated by TouchGFX Designer and STM32CubeMX is some different.
  4. For HelloWorld sample project, I compared the difference for AZ2 is LCD controller - ILI9341 and ST7789V. ILI9341 should be correct part. But after selected this LCD controller. the HelloWorld project has compile issues. Do you have suggest how to fix this issue?

Thanks & best regards,

Jiannong

1 ACCEPTED SOLUTION

Accepted Solutions
Peter BENSCH
ST Employee

Well, about question 2 about the X-NUCLEO-GFX01M2 not responding to touch: what makes you think the display is a touch display?

The product description says:

...feature a 2.2" SPI QVGA TFT display as well as a 64-Mbit SPI NOR Flash memory for storing graphic images, texts and texture. The expansion boards also offer a joystick for GUI navigation.

You can create applications for it with TouchGFX, but these are pure display applications without touch for this simple X-NUCLEO.

Regards

/Peter

In order 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

6 REPLIES 6
Jiannong Zhou
Associate II

For Q1 (1). I should continue to add code to let the code work. And also I re-configure IO pin on NUCLEO-G071FRB board to use to drive DC motor. it looks like fine.

But For Q1(2). still have some problem if re-configure X-NUCLEO-GFX01M2 code.

Jiannong

Peter BENSCH
ST Employee

Well, about question 2 about the X-NUCLEO-GFX01M2 not responding to touch: what makes you think the display is a touch display?

The product description says:

...feature a 2.2" SPI QVGA TFT display as well as a 64-Mbit SPI NOR Flash memory for storing graphic images, texts and texture. The expansion boards also offer a joystick for GUI navigation.

You can create applications for it with TouchGFX, but these are pure display applications without touch for this simple X-NUCLEO.

Regards

/Peter

In order 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.
Jiannong Zhou
Associate II

@Peter BENSCH​ ,

Yes. you are right. I also found that this board is only LCD display without touch panel.

Thanks,

Jiannong

maplestream
Associate II

Hello Jiannong Zhou.

I am also testing with the NUCLEO-G071RB + X-NUCLEO-GFX01M2 ($AZ2) combination.

As you said, AZ1 and AZ2 of X-NUCLEO-GFX01M2 have different LCD and LCD Driver IC.

----------------------------------------------------

1. X-NUCLEO-GFX01M1
1.1 XNGFX01M1$AZ1
This product identification is based on board MB1642-DT022CTFT-B01.
The LCD used in this product is DT022CTFT with driver IC ILI9341V.

2. X-NUCLEO-GFX01M2
2.1 XNGFX01M2$AZ1
This product identification is based on board MB1642-TCXD022IB5-D01.
The LCD used in this product is TCXD022IBLON-5 with driver IC ST7789V.
2.2 XNGFX01M2$AZ2
This product identification is based on board MB1642-DT022CTFT-D01.
The LCD used in this product is DT022CTFT with driver IC ILI9341V.

----------------------------------------------------

However, AZ2's LCD and LCD Driver IC are the same as X-NUCLEO-GFX01M1.
So, if you use the two projects in the en.X-CUBE-DISPLAY.3.0.0.zip file (example), you can create a project for AZ2.

STM32CubeIDE\en.X-CUBE-DISPLAY.3.0.0\Projects\NUCLEO-G071RB\Applications\
- GFX01M1_HelloWorld
- GFX01M2_HelloWorld

The task basically uses the GFX01M2_HelloWorld project.

1. Copy 'lcd_io.c' and 'lcd_io.h' in the 'GFX01M1_HelloWorld\DISPLAY\Target folder to the GFX01M2_HelloWorld\DISPLAY\Target' folder. (overwrite)

2. Modify the following contents in 'en.X-CUBE-DISPLAY.3.0.0\Projects\NUCLEO-G071RB\Applications\GFX01M2_HelloWorld\Core\Inc\RTE_Components.h' file.
#define DISPLAY_LCD_COMP_ST7789V -> #define DISPLAY_LCD_COMP_ILI9341

3. In the folder 'en.X-CUBE-DISPLAY.3.0.0\Projects\NUCLEO-G071RB\Applications\GFX01M2_HelloWorld\STM32CubeIDE'
Open '.cproject' and '.project' files and modify all ST7789V related paths to ILI9341 paths.

4. Open the project with STM32CubeIDE.

5. Run the build

6. If there is no error after building, select 'en.X-CUBE-DISPLAY.3.0.0\Utilities\PC_Software\ExternalLoader\MX25L6433F_GFX01M2_STM32G0.stldr' for external loaders.

Then you can run the GFX01M2_HelloWorld project in your environment.

NUCLEO-G071RB + X-NUCLEO-GFX01M2 ($AZ2).jpg

good luck.
Regards.

 

TJack.2
Associate III

I'm trying to run GFX01M2_HelloWorld from X-CUBE-DISPLAY on a NUCLEO-G071RB with X-NUCLEO-GFX01M2($AZ2).

I understand that the supplied code does not support the $AZ2 model directly, due to it using a different controller chip from the earlier version, but the same as the GFX01M1.

Switching the chip type in CUBE-MX failed because it automatically removed the code for SPI1, which was still needed for the GFX01M2 board.

I have downloaded and unpacked the package, and imported and built the two projects GFX01M1 and GFX01M2 into CUBE 1.17.0 without errors. This loads and runs on the G071RB but as is to be expected, goes to error in initialising the display.

Following the above instructions to merge the GFX01M1 code into GFX01M2 led to the following build error:

make: *** No rule to make target '/home/puposet/Downloads/X-CUBE-DISPLAY/Drivers/BSP/Components/ILI9341/ILI9341.c', needed by 'Drivers/BSP/Components/ILI9341.o'. Stop.

I seem to be missing something.  Is there another step I need to do?

Let my brain stew long enough and it answers the question itself.

It's case sensitive.  The search-and-replace text in step 2 should be ili9341 not ILI9341.

That done, it now works.  Onward!