реклама на сайте
подробности

 
 
> Xilinx Microblaze + DMA(Scatter/Gather)
Denis C
сообщение Oct 6 2015, 21:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 9-06-06
Из: Saint-Petersburg
Пользователь №: 17 924



Здравствуйте! Хотелось бы спросить у знатоков о следующей ситуации:
Используется DMA в режиме Scatter/Gather. Отлаживаю канал S2MM. Софт написан на основе примера от Xilinx'а "xaxidma_multichan_sg_intr".
Завел к примеру 8 дескрипторов (1 дескриптор = 1 внешний AXI-stream пакет, кончающийся по сигналу TLAST).
Приходят 8 пакетов. После чего все дескрипторы становятся обработанными (post-processed). Если потом не освободить и не передать корке DMA новые дескрипторы, то естественно пропадает сигнал TREADY и еще неожиданно появляется ошибка-прерывание(флаг Err_irq в 14 бите регистра S2MM_DMASR) и после этого корка не работает без сброса.
Тем, что я не даю корке новые дескрипторы, я пытался эмулировать задержку дальнейшей обработки данных (некий Flow-control организовать). При этом я расчитывал, что корка просто не будет давать сигнал TREADY источнику данных.
Вопрос: как в данной ситуации правильно организовать flow-control S2MM в данном случае ? Ведь могут быть ситуации, когда записанные в память данные, потребитель обрабатывает с меньшей скоростью.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
doom13
сообщение Oct 10 2015, 07:35
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Denis C @ Oct 7 2015, 00:26) *
Если потом не освободить и не передать корке DMA новые дескрипторы, то естественно пропадает сигнал TREADY и еще неожиданно появляется ошибка-прерывание(флаг Err_irq в 14 бите регистра S2MM_DMASR) и после этого корка не работает без сброса.

В моём случае нормально работает: закончились дескрипторы - DMA остановился (состояние IDLE), добавили новые дескрипторы - работает дальше (использую свой драйвер).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 15:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01336 секунд с 7
ELECTRONIX ©2004-2016