2019-03-03 05:56 AM
Hi,
I'm debugging this problem for the major part of my weekend now, and could use a hint pointing me in the right direction, in order to not also spend the remaining part of the weekend on debugging.
After quite some struggle getting TouchGFX to work with CubeMX and TrueStudio, I get the software compiled. I configured all TouchGFX-parameters and enabled both LTDC and DMA2D interrupts in CubeMX. I already tested the LCD with manually copying a TouchGFX-generated image from the flash to the frame buffer using DMA2D, after the initialization-functions from the CubeMX-generated code, which works and displays as expected. My conclusion is, that LTDC and DMA2D are configured correctly.
When touchgfx::HAL::getInstance()->taskEntry() is called, TouchGFX enables the interrupts by calling STM32F7HAL::enableInterrupts(), and then disables them using void STM32F7HAL::disableInterrupts() shortly after, without any changes to the framebuffer. Inbetween LTDC_ER_IRQHandler() fires three times, even though only because of a line interrupt. Then, nothing happens any more.
Any ideas on what the problem could be?
Best regards,
Max
2019-03-03 09:20 AM
Sorry, I found the problem. Actually, two different problems. One was the manual copying of the image, which triggered an external DMA interrupt that TouchGFX choked on, the second was just too little heap. I increased it from the CubeMX default 0x400 (I think) to 0x4000, and TouchGFX is actually drawing a screen.
2019-03-04 02:06 PM
Hi @MaxMax,
Glad you found the problem. Anything we should dig deeper into or are you happy?
Best regards,
Martin
2019-03-07 12:59 AM
Hi Martin,
thank's a lot for the offer. The issue was just too little heap and a slight mix up of things on my side, so from my side there is no need to dig deeper. :smiling_face_with_smiling_eyes:
2019-03-07 01:16 AM
Sounds good :)