STM32H750 Sharing use of hardware JPEG decoder and DMA2D between my app and TouchGFX
Hi,
I'm using TouchGFX to develop an application, using mostly static screens. But I have a requirement to produce a runtime splash screen and idle screen from user-supplied images read from SD card or stored in flash. I can do this without too much problem, and have it working with either BMP or JPEG images from both sources.
But to use the hardware acceleration peripherals (JPEG and DMA2D) I have had to disable their use in the TouchGFX configuration.
- For the JPEG hardware, the TouchGFX-generated code contains the fixed-name callbacks such as HAL_JPEG_DataReadyCallback, HAL_JPEG_GetDataCallback etc. Obviously there are linker errors if we both implement these functions and I can't see a way to 'hook into' their generated functions. If I disable JPEG hardware in TouchGFX, does that only affect its performance when using video? And what is the performance hit over software support?
- For the DMA2D, the graphics application stops after I have used DMA2D (in a different configuration to that used by TouchGFX perhaps?). I've tried re-configuring the peripheral to the same as the MX_DMA2D_Init() function generated in main.c. This did not help. Is there a way to use this peripheral without impacting TouchGFX? If I disable TouchGFX from using it, what is the performance hit and what is the effect?
- Is it maybe possible to perform any JPEG conversion during boot time, before the peripherals are configured for TouchGFX, and thus 'share' the peripherals that way?
