cancel
Showing results for 
Search instead for 
Did you mean: 

X-cube-display example on Nucleo-U575ZI-Q with X-NUCLEO-GFX02Z1

ASimo.3
Associate II

I am attempting to get the display example running on a nucleo board. I am following this document:

um2787-getting-started-with-the-xcubedisplay-stm32cube-expansion-package-stmicroelectronics.pdf

I am getting the following issues and I don't know how to resolve them:

0693W00000WIKiRQAX.pngI tried to click the resolve button but it resulted in more yellow triagles and this when I closed the component selector.

0693W00000WIKhYQAX.pngThe document doesn't describe what to do if it doesn't go as planned. It also describes the setup for a different Eval board. However it states both in the start of the document and on the webpage for the display expansion that this should work for the nucleo board. I'm fairly new to STs tools so I have no idea how to resolve these. Any help is greatly appreciated.

1 ACCEPTED SOLUTION

Accepted Solutions
ASimo.3
Associate II

I wanted to come back and update this for anyone who found there way here. Don't waste your time with the simple examples, TouchGFX is much more complex and requires a bit of C++ knowledge, but has way more functionality, Also the examples there work! With the nucleo and the display eval boards.

https://www.st.com/en/development-tools/touchgfxdesigner.html

View solution in original post

10 REPLIES 10
Ghofrane GSOURI
ST Employee

Hello @ASimo.3​ 

Thank you for raising this question

0693W00000WIPDiQAP.pngFirst ,you need to resolve dependencies

Example :Here you need to enable the FMC

Go to Connectivity--> FMC -->NAND FLASH --> select NCE Chip Select

Data /Address 8 bits

0693W00000WIPEqQAP.pngSecond

0693W00000WIPFeQAP.pngActivate the OSPI

Go to Connectivity --> Mode :Single SPI

Clock :Port1 CLK

Chip Select :Port1 NCS

Data[3:0] :Port1IO[1:0]

0693W00000WIPHfQAP.png 

Then check that all dependencies are resolved

0693W00000WIPIOQA5.pngYou will find below the file ioc

Thx

Ghofrane

Hi Ghofrane,

Thanks for getting back to me so quickly. I am still having some issues. First your IOC file is for CubeMX v6.7 which doesn't seem to be available to the public yet. The highest I can download is 6.6.1. if I try and open your IOC it just tells me I need an update.

I also tried to follow your resolution steps manually. Some of it was successful. My default config for the Nucleo board used PC2/AN3 I had to turn it off before it would stop with dependency issues.

I still have 1 problem.

0693W00000WIRMrQAP.pngIt doesn't give me any options to change those configs and if I try and continue to generate code anyway I get this:

Main Config: These peripherals still have some not configured or wrong parameter values:

[STMicroelectronics.X-CUBE-DISPLAY.2.2.0, Verify the Platform Settings Tab ]   

Thanks,

Avery

Ghofrane GSOURI
ST Employee

Hello @ASimo.3​ 

After choosing your board

1-Go to Pinout-> Clear Pinout

2-Try to do the steps mentioned above again that may help you to overcome the issue.

If that doesn't work i need you to provide your file ioc and i will chick it for you

I will be waiting for your feedback

Thx

Ghofrane

Ghofrane,

Even with the Clear Pinout step I get the same errors. Here is my IOC:

Thanks,

Avery

Ghofrane GSOURI
ST Employee

Hi @ ASimo.3

I did a little change in the configuration based on the dependencies.

You will find below your file ioc with the required change.

Please take a look and please don't hesitate to ask if you need help

Ghofrane

Ghofrane,

I am still getting this warning:

0693W00000WIaqlQAD.png 

I also found that using your IOC I couldn't get it to actually generate code. It would claim to but the project would be empty.

SO I tried a few things. First I uninstalled and reinstalled everything ST on my PC just to make sure it was not a SW issue, still didn't work. So then I opened two instances of cubeMX and copied every setting from your IOC to a new project. That gave me the same error as above, but did generate code. However it doesn't build:

0693W00000WIarKQAT.png 

I suspect it has something to do with these:

0693W00000WIarjQAD.pngHowever they are currently greyed out and do not have options.

Thanks,

Avery

Ghofrane GSOURI
ST Employee

Good morning @ASimo.3​ 

Actually the issue that you encountered is related to this

0693W00000WId6WQAT.pngSo i did this

PF1->Input

PF2->Input

PF3->Input

PF4->Input

PF5->Input

PC2->output

0693W00000WId7FQAT.pngThen i generated the code and everything was working just fine

0693W00000WId7tQAD.pngYou will find below the file ioc after modification

Ghofrane

Ghofrane GSOURI
ST Employee

Hello @ASimo.3​ 

If your issue is resolved, please close this post by clicking the "Select as Best" button on the previous answer. This will help other members of the community find this response more quickly.

Thanks for your contribution and do not hesitate to raise any issues or feedback.

Ghofrane

Ghofrane,

I appreciate your help, however I am not close to having this resolved. I have a lot of irons in the fire right now, but I did get the chance to spend some time on this yesterday. Here is what I discovered.

First I discovered there are several variants of the display board. 

I seem to have: X-NUCLEO-GFX02Z1 XNGFX02Z1$AZ1 variant, which has a display with the ILI9341 driver.

The pinouts for the different variants is described in the UM2905 user manual for the display eval board, they are way off from the IOCs we have been passing pack and forth.

Excerpts from the docs

0693W00000WIpHlQAL.png 

0693W00000WIpIUQA1.png 

I was able to create a IOC that worked and has what I believe to be the correct pins for the LCD, memory chip, and joystick, it generates code that compiles. It is attached!

When I run the code with the debugger, it does Init the LCD, however the example code is empty.

The doc states it should load something from memory and display it on the screen, there are no lines of code to do such thing.

From main0693W00000WIpK1QAL.pngThe app display code only has init:

0693W00000WIpLEQA1.pngI tried putting some of my own code in the "process" function and thus far all I can do is get the display to blink on and off. The wrapper functions in ldc_io.x are not the full set from the driver library and besides digging through code I have been unable to find documentation on either thing.

Do you know of a code repository that might have the full example in it. or at least some examples of how to use the library?

Regards,

Avery