2025-05-24 11:33 AM
Hello,
I am attempting to use an STM32H735G-DK development kit to drive an LCD and eventually use TouchGFX to build a menu for a proof of concept I'm working on. I was able to very quickly get a working screen using TouchGFX example board setup for this development kit but I want to use a larger LCD in the future with a custom PCB and I've never brought up an LCD panel before so I am following the bring up guide at https://support.touchgfx.com/docs/development/board-bring-up/board-introduction to make sure I understand all the settings and the process for bringing up the board. Steps 1 and 2 in the guide go well but step 3 is where it stops working properly where it wants you to set up a frame buffer in internal memory and point the LTDC at this location for what you put there to be displayed. I am able to get the background color of the entire screen to change and I can see a black box in the upper left corner where I create a small window the size of my framebuffer. I can even go to the framebuffer's location in internal memory and see the information I told it to put there (an entirely red window). I also opened the LTDC peripheral registers in my IDE (Keil) and I can see the L1CFBAR register is pointing to the framebuffer's location. However, the window is not displaying the information that is in that memory location, just all black.
I have seen multiple posts on this forum where people have this problem but then the solution is never given, the post is just abandoned. Here is an example: https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/unable-to-get-ltdc-working-on-stm32h735g-dk/m-p/641145
I am attaching my CubeMX file as well as my main.c and stm32h7xx_it.c files to show my setup and modifications that section 3 of the guide tell you to make. Is there a step I'm missing? Is there a command that needs to be run to make the LTDC refresh the screen so it displays information that has changed in the framebuffer?