cancel
Showing results for 
Search instead for 
Did you mean: 

Question about monitoring the framebuffer and TouchGFX data path

jung
Associate

MCU: STM32H725
FLASH: Internal SDRAM:

External The driver used is the one used in H735-DK.

I am experiencing an issue where some images (pixels) are not displayed correctly on the LCD and I am trying to debug it.

I have two questions:

  1. How to verify if data has been correctly stored in the framebuffer (0x90000000)?

    • In debug mode, after the screen appears, I paused the operation and checked the framebuffer address (0x90000000) using the memory monitor provided by STM32CubeIDE. I would like to confirm if this method is correct.
    • For Box widgets, I confirmed that data is stored in the framebuffer address using the above method. However, for Text widgets, data was not found in the framebuffer address.
    • I used the method mentioned above because it seems that the pause function during write in the memory monitor is not working for SDRAM using MDMA
  2. I would like to know the data path from the framebuffer through TouchGFX to LTDC.

    • Before exporting data via H/W RGB interface, I want to ensure the data is correct. I want to know the points where data can be checked from the framebuffer to the RGB interface and the data path.

 

image.png

1 ACCEPTED SOLUTION

Accepted Solutions

Hello @jung ,

The method you're currently using for debugging is correct. The reason for not seeing the Text widget in the framebuffer might be because of pausing while writing to the buffer (as you mentioned yourself). To avoid this situation, try to put a break point before the function beginFrame in TouchGFXGeneratedHAL.cpp or after endFrame() in the same file. At those points we know the writing is done, and the framebuffer is intact. 
For your second question, there is no direct path from TouchGFX to LTDC, TouchGFX fills the framebuffer and then sends a pointer to the framebuffer to LTDC to read the data from, so you just need to evaluate the data in the framebuffer.
I hope this helps, don't hesitate to ask more questions

Mohammad MORADI
ST Software Developer | TouchGFX

View solution in original post

1 REPLY 1

Hello @jung ,

The method you're currently using for debugging is correct. The reason for not seeing the Text widget in the framebuffer might be because of pausing while writing to the buffer (as you mentioned yourself). To avoid this situation, try to put a break point before the function beginFrame in TouchGFXGeneratedHAL.cpp or after endFrame() in the same file. At those points we know the writing is done, and the framebuffer is intact. 
For your second question, there is no direct path from TouchGFX to LTDC, TouchGFX fills the framebuffer and then sends a pointer to the framebuffer to LTDC to read the data from, so you just need to evaluate the data in the framebuffer.
I hope this helps, don't hesitate to ask more questions

Mohammad MORADI
ST Software Developer | TouchGFX