TouchGFX 4.16.0 D-Cache flush causes HardFault...
TouchGFX 4.16.0 generated code can/will crash in HardFault if D-Cache is not enabled.
This happens at least in those CPUs where there is data cache (STM32F7...).
This behaviour is something new that was introduced in 4.16.0 version.
This change is undocumented and not mentioned in changelog.txt for 4.16.0.
When updating a working design from 4.15.0 to 4.16.0, made the system fail (crash in HardFault).
The problem was resolved by enabling data cache in CubeMX (enable CPU DCache).
The problem is in TouchGFXGeneratedHAL::flushFrameBuffer() invalidating D-Cache even when not used.
There is nothing in STM32CubeMX or TouchGFX designer that would warn about this.
I suppose this change was done to achieve some increased performance and cache coherency.
What about systems that don't use or need data cache, will they still crash?
Maybe this behaviour (data cache flush/invalidate) should be optional?
