Цитата(Denis C @ Oct 14 2015, 14:07)

В принципе также настраиваю. Ваш драйвер не тормозит S2MM канал обнулением бита Start ? И кстати какая версия DMA используется (у меня 6.03а)?
Нет не тормозит, генератор трафика работает в непрерывном режиме TCOUNT = 0. Тормозит его TREADY, если закончились дескрипторы.
Версия DMA 7.1 (Vivado 2015.2).
Похоже, нашёл Вашу проблему, поймал ту ситуацию, что была в начале работы с DMA. При Cyclic = 0, если драйвер успевает вычитывать и обновлять дескрипторы, всё работает нормально. Если заканчиваются дескрипторы, то останавливается (Halted = 1) и выдаёт ошибку (SGIntErr = 1).
Эта проблема решается установкой бита Cyclic = 1. Но система работает немного отлично от режима описанного в даташите на DMA. Т.е. у меня используется кольцо дескрипторов, задаю начальный и конечный адрес. Когда дескрипторы заканчиваются DMA останавливается и ждёт (Idle = 1), в Tail Descriptor софт записывает уже обработанные дескрипторы - DMA продолжает работу. Получается, DMA по кругу гоняет дескрипторы, бит Cyclic установлен, а DMA останавливается если Current == Tail.
В Tail Descriptor всегда записываем дескриптор из кольца, немного не соответствует описанию работы в документе, но работает. Может у Вас такая же ситуация?