Transfer error on SAI4 DMA STM32H723ZE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-06-28 11:39 PM
Hi There,
I'm looking for help with the SAI4 for this device. I have setup the DMA for SAI4A which is linked to BDMA Channel 2. I have defined my buffers within the D3 domain and have enabled the event on the BDMA channel to request number 15 (sai4_a from the reference manual) I still get a transfer error upon starting the DMA transfer. I have watched the training videos on BDMA,DMA and the DMAMUX, but I still think I am missing a step.
I am also having a similar issue on the TIM23_CH2 using DMA but I think if I can find my error on the SAI4 it will be a similar solution for the Timer.
Kind regards,
Kline
Solved! Go to Solution.
- Labels:
-
DMA
-
SAI
-
STM32H7 Series
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-06-30 05:24 AM
Thanks for the feedback.
It was a memory access issue. I had defined my dma buffers in the correct D2 and D3 sections but this was done in the RAM.ld file which wasn't being used by the project. I defined the sections in the Flash.ld and DMA started working.
I have both SAI and TIM23 working with the DMA now.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-06-28 11:46 PM
Read our and check/post the DMA registers content.
JW
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-06-29 12:12 AM
Thanks for the quick reply.
The BDMA registers are not displayed in my SFRs window. Here is the DMAMUX3 which I presume is DMAMUX2 just labelled incorrectly.
Kline
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-06-29 06:49 AM
BDMA should have registers like CM0AR0 which show memory addresses.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-06-29 07:02 AM
> The BDMA registers are not displayed in my SFRs window
Then read it out using any other means, in program, suitably displaying it (e.g. transmitting through USART into some terminal program, or storing it to memory and then displaying using the debugger).
My guess is, that the memory register points to memory region not accessible by DMA, e.g. DTCM.
JW
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-06-30 05:24 AM
Thanks for the feedback.
It was a memory access issue. I had defined my dma buffers in the correct D2 and D3 sections but this was done in the RAM.ld file which wasn't being used by the project. I defined the sections in the Flash.ld and DMA started working.
I have both SAI and TIM23 working with the DMA now.