Skip to main content
Visitor II
July 8, 2016
Question

SDIO DMA usage

  • July 8, 2016
  • 2 replies
  • 973 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.

    2 replies

    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

    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

    Graduate
    September 9, 2024

    Access denied for provided link.