Disable touchGFX access to external flash temporarily
Hello all,
I am developing a touchGFX application on STM32F7 with the frame buffer stored on an external QSPI flash.
While app is running, I need to write data to this external memory but, to allow the flash write, I have to exit the memory-mapped mode. On this configuration the GUI task can not access the frame buffer so I have tried to block its execution. I have implemented it this way:
1- System starts: QSPI flash configured in memory-mapped mode (GUI task working fine)
2- Disable LCD and DMA interrupts and exit memory-mapped mode
3- Write flash
4- Enter memory-mapped mode and enable LCD and DMA interrupts
Since the data is received from modbus communications, I repeat steps 2-4 on each message reception until I have written all data on external flash. This solution works sometimes but others the GUI task seems to crash and the screen is not refreshed anymore.
My question is: what is the correct way to block GUI task (or frame buffer access) so that it could continue its normal function once I have finished writing the external flash?
Thank you in advance.
