434 views
in System Integration by
Hi, I'm jeonghan

I'm using the stm32h750XB(480Mhz) and Custom 8" LCD(NOT stm32 evaluation discovery board) to describe our GUI.

we are using external Flash Memory, and Small-Business Embedded Wizard.

the problem is,

we don't add a lot of animation with GUI but when we change a Dialogue, CPU Load is almost 80%.

we expect smooth screen change but it's not. it is not suitable for our application.

we are using FreeRTOS but now the EwGUI() task is the only one that cpu is now scheduling.

my question is

1. stm32h750 with Embedded wizard can properly describe a GUI ? I'm not sure that this problem is caused by us or hardware specification. stm32h750 can't handle a 8" LCD?

2. another problem is a watermark. we download .lib files from download center and copied those files to our build environment. but still, watermark is alive. how can I delete the watermark?

 

I will attach my screen. ( I remove my image. thanks )

thank you

1 Answer

0 votes
by
 
Best answer

Hi jeonghan,

welcome to the forum!

In principle STM32H750 with 480MHz is a powerful platform that makes it possible to create fancy GUI applications with high framerates at a lower CPU load. But as always: This depends on many different factors....

The bring-up and configuration of a custom specific hardware is always a complex task. If the resulting graphics performance is low, it can be caused either by the hardware, its configuration or the GUI application. So we have to discuss about the different aspects.

Let me ask you a couple of questions:

1.) Your hardware: I assume you are using your own (custom specific) hardware, correct? Let me know more details about the external SDRAM and the external Flash memory (type, size, configuration, performance).

2.) Your display: What is the resolution in pixel of the display? How is it connected?

3.) Your configuration: Please let me know the entire console output that you get during start-up of the application. Are there further error messages?

4.) Your application: Have you tried a simple animation (e.g. moving rectangle by effect)? What framerates and CPU load values do you get?

Concerning the watermark: Please copy the content of the AddOn package into the same folder of the Build Environment. Some libraries are then overwritten. That's all. Please make sure that you are using the licensed color format within the Profile - the attribute PlatformPackage should refer to the corresponding color format.

Best regards,

Manfred.

by

than you for your help.

1.) Your hardware: I assume you are using your own (custom specific) hardware, correct? Let me know more details about the external SDRAM and the external Flash memory (type, size, configuration, performance).

SDRAM : MT48LC4M32B2B5-6AXIT 
https://www.digikey.com/en/products/detail/micron-technology-inc/MT48LC4M32B2B5-6A-XIT-L/4072497
external Flash Memory : MT25QL512ABB8ESF-0AAT
https://kr.mouser.com/ProductDetail/Micron/MT25QL512ABB8ESF-0AAT?qs=rrS6PyfT74da2PZ8DoLIJg%3D%3D

is this information can be the answer ?

 

2.) Your display: What is the resolution in pixel of the display? How is it connected?

our display's resolution is 1024 x 600 and it's connected with I2C communication.

The configuration of I2C commu's speed mode is Standard Mode, Speed Frequency is 100KHz.

is this configuration could effect on CPU load or FPS ?

 

3.) Your configuration: Please let me know the entire console output that you get during start-up of the application. Are there further error messages?

I can't catch your exact intention, but I will attach my stm32cubeIDE build output log and embedded wizard build log. as you see, there are no errors.

in here I can't upload pictures more than one. I will put my blog to attach screenshots.

 

https://blog.naver.com/jh_january/222558422270

 

4.) Your application: Have you tried a simple animation (e.g. moving rectangle by effect)? What framerates and CPU load values do you get?

after I received your answer, I tried it. I will upload this video file on the youtube.

 

https://youtu.be/KZeS_dg3XMM

 

and I found that images that has a very big(bitmap code size is 10000 lines) bitmap size trigger high CPU load. is it right?

a big bitmap image and low i2c frequency has a correlation ?

also, if you see the video, FPS between dialogue change is almost 10 FPS. how can we handle this ? I mean, how can we rise FPS between screen change if we are in a low CPU load.

 

thank you for your help.

jeonghan 

by

Hi jeonghan,

let me ask more detailed....

Concerning 1: Is the SDRAM connected via 16 bit or 32 bit data bus?

Concerning 2: I assume the display is not only connected via I2C - it is connected additionally via 15/16/18 or 24 bit RGB interface?

Concerning 3: I do not mean the messages from the compiler.... Please let me know the entire console output that you get during start-up of the application. Are there further error messages? For more details click on this link. Additionally, you can send me your ewconfig.h file.

Concerning 4: According to video, the performance looks not so bad.... Can you just use a simple rectangle animation - e.g. by using this test project.

Best regards,

Manfred.

by

Concerning 1: Is the SDRAM connected via 16 bit or 32 bit data bus?
-> We connected SDRAM via 16 bit data bus.

Concerning 2: I assume the display is not only connected via I2C - it is connected additionally via 15/16/18 or 24 bit RGB interface?
-> yes, we are using SN75LVDS83ADGG to display RGB. and this is connected via 24 bit RGB interface.

Concerning 3: I do not mean the messages from the compiler.... Please let me know the entire console output that you get during start-up of the application. Are there further error messages? For more details click on this link. Additionally, you can send me your ewconfig.h file.
->

I want to send my ewconfig.h, can I get your e-mail ?

Concerning 4: According to video, the performance looks not so bad.... Can you just use a simple rectangle animation - e.g. by using this test project.
-> 
https://www.youtube.com/watch?v=TFD0CLFRDFo

we tested your example code and FPS is good.

but we found that bitmap that has a big pixel data causes high CPU load. is that right?

by

Thanks for providing the additional information.

It seems to me that the memory bandwidth is the limiting factor. Although the resulting performance looks not so bad.

The following facts are causing a high system load:

  • SDRAM memory bus with 16bit
  • High display resolution with 1024 x 600 pixel
  • RGB888 color format

Please consider that the LTDC has to read this huge amount of data every frame from SDRAM, while CPU and DMA2D are accessing data in parallel.

What can you do to improve the GUI performance:

  • Reduce bitmaps to a minimum size
  • Avoid full screen animations / reduce the size of animations
  • Use RGB565 color format instead of RGB888 in order to reduce the memory bandwidth

Best regards,

Manfred.

by
I checked your all mentions.

 

we didn't expect that SDRAM memory bandwidth. and we will change our circuit to use memory bus as 32 bit.

 

bitmap size also will be reduced.

 

thank you for your help.

 

Best regards,

jeonghan

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...