DMA1, 2 and DMAMUX - how to do it?
Hello,
I am porting a project from STM32F4 to STM32H7. This project uses DMA1 and DMA2 with timer 8 and DAC and it works fine on STM32F4 but I can't get DMA running on STM32H7.
Up to now I understood it this way that all I have to do is set the right DMAMUX channel to the desired request ID. So I have these lines:
for DMA2_Stream1 to be triggered by TIM8-UP:
DMAMUX1_Channel9->CCR = 51; // no sync, no event, no other stuff...
for DMA1 Stream5 to be triggered by DAC1 ch1:
DMAMUX1_Channel5->CCR = 67; In the DMA_Stream->CR I have to delete the channel selection used with STM32F4. All the rest s the same that works fine with F4.
I thought, from the things I read, that's all, but it doesn't work.
Now I read about domains and that DMA1 and DMA2 could not access all SRAM areas, escpeccially ITCM-RAM and DTCM-RAM, and Atollics ld-files puts everything in DTCM-RAM starting from 0x20000000. So I changed DMA sources to flash (transfer is from flash to peripheral) but still it doesn't work.
I am a bit suspicious that for DMAMUX there is no enable bit and no clock enable in an RCC register, at least I couldn't find anything.
So I would appreciate some help and explanations, maybe some example (without HAL if somehow possible).
Thank you very much
Martin
Thanks a lot