cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H723 : How to configure ADC->DMA->MDMA while DCache enabled

leon64
Associate II

I want the maximum processing speed from the STM32H723. So I enabled ITMC and DTCM cache. The project prcesses samples from 4 ADC inputs with ADC1. ADC1 is timer triggered and set up to use DMA in circular mode to transfer data to a buffer in D2 domain.

I to access these values from my code in ITCM, so I configured MDMA to copy the buffer to DTCM. Now because DCache is active I need to work with the MPU (memory protection unit) I studied the example from STM MDMA_LinkedList and copied the MPU configuration.

The MDMA is configured in BUFFER_TRANSFER mode and BURST_SINGLE without any linked item. MDMA complete and error callbacks are configured.

Now I can see that the MDMA initialized with HAL_MDMA_Start_IT, completes. I even see the values in the D1 buffer but .....it executes only once and both the DMA and MDMA freeze. I am at a loss as to what else I need to do to get it working. Help is very much appreciated.

1 REPLY 1
FBL
ST Employee

Hello @leon64​ ,

Similar issue is reported in this post.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.