cancel
Showing results for 
Search instead for 
Did you mean: 

[STM32H735 | TouchGFX | hyperRAM | NOR Flash | 7in 1024x600 LVDS LCD panel | GT911 TS] LCD glitch problem

JKim.51
Associate II

Hello

Environment : [STM32H735 custom bd | TouchGFX | hyperRAM | NOR Flash | 7in 1024x600 LVDS LCD panel | GT911 TS]

When refresh framebuffer, screen is glitch such like attached video clip.

Please let me help... 🙂

4 REPLIES 4
JKim.51
Associate II

I fixed the problem.

Just adjust pixel clock and porch.

GS1
Senior III

Hi,

just a question: we are currently ramping up a similar system with TouchGFX, HyperRAM, TFT-Panel 800x480 and GT911TS on an STM32H7A3 system.

I use Keil MDK-ARM Compiler. How did you configure the Target Setup for the HyperRAM?

HyperRAM needs to be initialized before it can be used. However when I setup the RAM area as "default area", the CPU directly goes into HardFault and I can't start anything - even when "No Init" is selected.

When I uncheck the RAM area not as "default" RAM area, I get the linker error:

Error: L6406E: No space in execution regions with .ANY selector matching touchgfxgeneratedhal.o(TouchGFX_Framebuffer).

Any recommendations very welcome!

BR GS

The scatter file can define where things go in memory. You can use the attribute directives to tell the linker where to put things. Floor plan where things need to be placed.

The external memory needs to be physically functional before you touch it. In the CMSIS model this is expected to be done in SystemInit() prior to __main() being called. The HAL seems to drop this on it's head, but you need to be acutely aware of what happens, in what order. Hard Faults are indicative of you placing the Cart in front of the Horse.

Watch where you're putting the stack.

Check the .MAP file to understand what's getting placed where.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hello Tesla DeLorean,

thank you for your input!

Actually I found a solution, which now allows me to initalize HyperRAM before being used.

An Option in CubeMX for TouchGFX configuration allows to select "Buffer Location" to be "By Address" instead of "By Allocation". At least now my processor firmware can be debugged and does not immediately run into Hard Fault. Now I can go ahead with the system ramping-up... (More trouble to be solved in the next days for sure ...)

BR GS.