Цитата(Dr.Alex @ Apr 13 2015, 19:49)

Тоже не помню чтобы были проблемы с чтением (ДМА), но может быть просто забыл.
Тут не совсем понятно в чем проблема. Проект, действительно, не маленький - разбираться очень долго.
Я бы отметил две причины, которые следует устранить:
- бывают плохие карты (фэйковые, бракованные, изношенные и т.п.);
Советую попробовать разные карты. Но раз поллингом работает, значит не оно.
- бывают медленные карты (чтение может прерываться);
Таймаут действует для ожидания данных. От момента передачи команды на чтение до появления признака готовности данных.
Чтобы порция не дочитывалась стабильно, это что-то другое.
В DMA есть битик DMA_SCR_PFCTRL, который можно (и нужно) установить только при обмене с SDIO.
Вообще, флаги ошибок о многом могут рассказать.