Question
SDIO DMA hang
Posted on February 29, 2016 at 08:08
Hello,
I'm trying to modifiy my project to work with DMA on the SDIO interface. Without DMA the system works fine. Then I modified my Cube settings to DMA and set the access functions to Write_DMA and Read_DMA. Now the system starts up and after the 7th access to HAL_SD_CheckReadOperation() systems hangs on:while((__HAL_SD_SDIO_GET_FLAG(hsd, SDIO_FLAG_RXACT)) && (timeout > 0)){ timeout--; }Accesses are:- f_mount, find_volume, check_fs, move_window, SD_read, BSP_SD_ReadBlocks_DMA -> ok- f_mount, find_volume, check_fs, move_window, SD_read, BSP_SD_ReadBlocks_DMA -> ok- f_mount, find_volume, check_fs, move_window, SD_read, BSP_SD_ReadBlocks_DMA -> ok- f_open, folow_path, dir_find, move_window, SD_Read, BSP_SD_ReadBlocks_DMA -> ok- f_read, SD_Read, BSP_SD_ReadBlocks_DMA -> ok- f_read, get_fat, move_window, SD_Read, BSP_SD_ReadBlocks_DMA -> ok
- f_read, SD_Read, BSP_SD_ReadBlocks_DMA -> ok- f_read, SD_Read, BSP_SD_ReadBlocks_DMA -> failInterrupt is fired in according to the accesses.I searched all the forum around but has no clue. #dma #sdio #sd #fatfs #stm32