2021-06-17 11:38 PM
Hi,
I have a custom board with STM32H7 & TouchGFX.
I'm using DMA triggered by interrupt to sample datas with my ADC.
Without DCache enable, it's working well. But TouchGFX fails if DCache is disabled (problem meet by others here: https://community.st.com/s/question/0D53W00000S752ySAB/touchgfx-4160-issue-when-dcache-is-disabled )
And if my DCache is enabled, my ADC DMA sampling fails if I move from one screen to an other. (the DMA appears to stop)
I was thinking not using DMA for ADC but it kinds of mess with the generated code.
Any ideas how I can keep both DMA with ADC & TouchGFX running ?
Thanks !
Solved! Go to Solution.
2021-06-21 06:01 AM
I'm sure that it may work like you said, but in the mean time I use the following workaround which fix the problem:
- keep DCache enabled in cubeMX
- disable DCache in main usercode (SCB_DisableDCache();)
thanks
2021-06-18 06:36 AM
How type DMA you use circular or restarted by trigger? Same core which one?
I use circular on F4 and dcache without troubles.
2021-06-19 08:46 AM
I use a circular DMA with sampling triggered by rising edge of timer. It's cortex m7 (stm32h7a3zi)
2021-06-20 01:55 AM
Try without trigger, set conversion time and continuos mode. If work porblem is timer...
2021-06-21 06:01 AM
I'm sure that it may work like you said, but in the mean time I use the following workaround which fix the problem:
- keep DCache enabled in cubeMX
- disable DCache in main usercode (SCB_DisableDCache();)
thanks
2024-08-19 07:02 AM - edited 2024-08-19 07:03 AM
I've same problem and what you suggest work, but, why appear this problem?
Thanks
A.R.