No interrupt in SDcard with DMA on STM32L476 and CubeMX
Hi, I have an unsolved issue with SDcard.
The project is based on STM32L476, the IDE is Atollic and configuration is made by STM32CucbeMX (as I do with all my designs).
Without DMA (no DMA template in FATFS and no configured DMA channels) the SDcard works. When I use the DMA (see screenshot), the very first read operation stucks and after the 30s timeout I get an error.
I have investigated inside the code and I have the evidence that there is not any interrupt after the HAL_SD_ReadBlocks_DMA(). This is the cause of the timeout. The function itself returns no error, so it believes the data transfer is running, but it is not.
The interrupts are so configured:
The CubeMX is version 6.2.1. and the STM32L4 packages are updated.
My opinion is that there is some error in libraries or in the Cube generated code. I have seen other (rare) posts about a similar issue suspecting a libray error.
This is very imbarassing for me because I have an important design that is waiting for the SD card working at full speed.
Without DMA, as I told, the SDcard works but the writing speed is too low and I must run the interface at very low frequency to avoid writing errors. I suppose that read/write operations via DMA will give me the needed speed, but this interrupt problem keeps all the things in stall.
Is there some idea about the non-working interrupt?
Thank you very much
