2022-03-10 05:47 AM
Hi everyone! I'm having some problems with DMA+SDMMC+FATFS.
The nonDMA version works succesfully. But when I want to use DMA I have problems.
My MCU - stm32F765vi. My peripherals initialization looks like
The problem is that f_mount returns an error that makes it impossible to work.
Going further, the find_volume function is called in the f_mount function. Then the code stops at this point, after which an error is returned.
Value of fmt = 3.
I also tried to use separate RX and TX, but the error appears in the same place.
Studying the forums and documentation didn't help me, so I would appreciate any help!
2022-03-10 11:04 AM
On the F7's I recommend you use DTCM RAM for all DMA buffering, it's not Cached, so less headaches there. If you used cache memory and DMA you want to make sure you're buffers are at least 4-byte aligned, preferably 32-byte, so the use of DCache Invalidate/Clean by Address work effectively, and without collateral damage.
2022-03-10 10:33 PM
I'm new in programming on stm32. This is my pet project to improve my skills. Could you explain me in more detail how to make it work from the box?
I thought the problem was in the generated code that I can't change or in the init settings that I showed in the screenshots.
2024-04-17 11:52 PM
Hi I am facing the same problem did you manage to solve it?