Skip to main content
mmetzger
Associate II
July 8, 2016
Question

SDIO DMA usage

  • July 8, 2016
  • 3 replies
  • 990 views
Posted on July 08, 2016 at 16:09

I'm trying to get the SDIO system working with DMA. The system works in the configuration without DMA.

Now I set the read and write operations in the ''sd_diskio.c'' to DMA, by adding _DMA to the starting commands BSP_SD_WriteBlocks_DMA and BSP_SD_ReadBlocks_DMA.

Now all the interrupts for SDIO and DMA fire several times but the my system stops at

HAL_SD_CheckReadOperation in line:

  /* Wait until the Rx transfer is no longer active */

  while((__HAL_SD_SDIO_GET_FLAG(hsd, SDIO_FLAG_RXACT)) && (timeout > 0U))

  {

    timeout--;  

  }

from hsd->SdTransferErr I got SD_RX_OVERRUN

any idea, what is wrong?

Best regards

Marco

#sdio-dma-error
This topic has been closed for replies.

3 replies

slimen
Visitor II
July 11, 2016
Posted on July 11, 2016 at 11:00

Hi,

Would you mind giving more information about the STM32Cube_FW package and which version you are using ?

May be, you can refer to ST provided examples:

STM32Cube_FW_F4_V1.12.0\Drivers\BSP\STM32469I_EVAL\stm324x9i_eval_sd.c

STM32Cube_FW_F4_V1.12.0\Drivers\BSP\STM32469I_EVAL\stm324x9i_eval_sd.h

Regards

Radek RIPA
ST Employee
July 21, 2017
Posted on July 21, 2017 at 14:55

Please check this topic:

https://community.st.com/0D50X00009bMM7JSAW

Best regards

Radek

Associate
September 9, 2024

Access denied for provided link.