cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F746G Discovery: What is the difference between CU2 and CU4 in the end?

Jackiii1989
Associate III

Hi there,

I have a STM32F746G Discovery board on which I have developed an application. The application was running fine, there was some strange behaviour, probably some minor bugs, but it looked good.

 

When I bought a new identical board and flashed the application, the display literally showed some random noise, like this:

WhatsApp Image 2024-08-21 at 4.25.33 PM.jpeg

I flashed the examples from TouchGFX to see if it made a difference, but I got the same result. My old board is DK32F746G$U2, which works fine, but the new one is DK32F746G$CU4, which renders everything wrong. 

I found a STM post on this link: STM32F746G_Discovery touch screen buttons stop wor... - STMicroelectronics Community, that says there may be different display built-in:

1. CU1 uses - HT043C

2. CU2 uses - GJX043A6 -40D Y

I have no clue what the display is used for CU4 as I could not find any information about it. 

How do I solve this? 
Thanks for the help!!!



1 ACCEPTED SOLUTION

Accepted Solutions

Hello @Mohammad MORADI ESFAHANIASL,

 

You have hit the nail on the head. Now it works!

The problem why the draw function threw an error was probably that it could not get the fonts, texts and the image from the external memory, and with no data it cannot update the framebuffer. Maybe it would be cool to print out some text so the user could see the problem.


What was missing was the quad spi driver, which was not the latest, and the W25Q128J QSPI memory header with all the register definitions.

 

If someone else has the same problem, this is what you need to do:

  1. Copy the latest stm32746g_discovery_qspi.c/stm32746g_discovery_qspi.h files to Drivers-> BSP -> STM32F746G-Discovery (The version I had: Release v2.1.0 ).
  2. Create a folder named w25q128j in Drivers-> BSP -> Components and copy the file w25q128j.h into the folder. (The version I had:: Release v1.0.0).
  3. Define the USE_STM32746G_DISCO_REVC03 symbol in the preprocessor.


Thanks for the help!!!!

 

 

View solution in original post

11 REPLIES 11

Hello @Jackiii1989,

Thanks for reporting this issue. We will investigate it as soon as possible.

Best regards,

Mohammad MORADI
ST Software Developer | TouchGFX
Jackiii1989
Associate III

Hello @Mohammad MORADI ESFAHANIASL ,

 

Are there any updates? Or do you need more information from my site?

Hello Mr. MORADI

As my colleague has already explained, a few months ago we programmed and tested the software on the STM32F746G-DISCO. Everything we have programmed and tested so far works PERFECTLY! Now, for our proof of concept, we have ordered 4 pcs.  STM32F746G-DISCO for our proof-of-concept and found out that they do NOT work because they are the CU4 version. We CAN'T order CU2 or CU4, it comes from our distributor, what they have in stock already.

The packaging does NOT show CU4 or CU2.

WE URGENTLY NEED your support. our customer is waiting for the proof-of-concept.

 

best, Kivi
Engineering Manager

Andrew Neil
Evangelist III

Is it really CU2 and CU4 ?

Are you sure it's not C02 and C04:

AndrewNeil_0-1725371891813.png

Have you checked the Bill of Materials (BoM).

 


@Kivi wrote:

they do NOT work because (sic?) they are the CU4 version.


It might be coincidence ...

Hello,


@Andrew Neil wrote:

Is it really CU2 and CU4 ?

Have you checked the Bill of Materials (BoM).


It depends on which description you are looking at. If you look at the board, the description is DK32F746G$CU4, which corresponds to MB1191-F746NGH6-C03 Board Schematic. On the back of the board there is a QR code and the schematic number, which corresponds to the schematic description that ST has on their site. In the first post I made a picture of the board. You can see the description number.

The DK32F746G$CU2 corresponds to the schematic MB1191-F746NGH6-C01.

Yes, we looked in the BoM and I noticed two differences; from version MB1191-F746NGH6-C01 to MB1191-F746NGH6-C03 the LCD driver and the flash memory have been changed. My first instinct would be that the driver is not compatible with the current SW.


 

 

 


@Andrew Neil wrote:

@Kivi wrote:

they do NOT work because (sic?) they are the CU4 version.


It might be coincidence ...


Probably not at this point, as we have already tested it on 3 DK32F746G$CU4 boards. Either we are really unlucky with the DK32F746G$CU4 boards, or there is a configuration problem, or some other problem we are not aware of.

We are using TOUCHGFX version 4.24.0.

 

Jackiii1989
Associate III

Hello,

 

We are getting closer to the problem.

 

 

I thought that if the code worked on the DK32F746G$CU2 then it should not cause any problems on the DK32F746G$CU4. However, after running the code in the debugger on the DK32F746G$CU4, we saw that a hard fault was called.
Here is the stack trace:

Jackiii1989_0-1725528534831.png

This is probably not possible as the binary is probably being called. Is there any way to debug the code further?


Thanks for the help!!!

Hello @Jackiii1989 and @Kivi

Unfortunately, we have not made any progress yet. But, I can give you some clues while we get the time to update the TBS. 

As you mentioned, the difference is only in the display and QSPI Flash, and based on the hardfault you have encountered, it is a good guess that the flash is causing the issue rather than the display. 

Please download the latest firmware package for the STM32F7 family, and navigate to Drivers-> BSP -> STM32F746G-Discovery. Then, use stm32746g_discovery_qspi.c and stm32746g_discovery_qspi.h to update the same files in your project. 

QSPI driversQSPI drivers
Let us know if you make any progress.

Mohammad MORADI
ST Software Developer | TouchGFX