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

 
 
> PCI-E и mSGDMA от Altera, Проблемы с программированием mSGDMA
NeStor46
сообщение Aug 4 2014, 20:47
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 29-07-14
Пользователь №: 82 403



Доброго времени суток всем!

Наверное, кто-то разбирался с альтровским mSGDMA и сможет помочь немного разобраться.
При написании драйвера под Windows для платы PCI-E дошел до организации транзакций чтения и записи с использованием mSGDMA и сел. Немного не понятно, как работает этот самый mSGDMA с конфигурацией Memory-Mapped to Memory-Mapped.

Допустим в драйвер поступил запрос на чтение. Выполнив необходимые программные действия дело доходит до программирования устройства и собственно нашего mSGDMA. Заносить в дескрипторы необходимо адреса и длину элементов SGL(scatter-gather list), сформированного ОС, т.е. большое число буферов малой длины (4кБ), или же просто записать в дескриптор mSGDMA адрес откуда читать и длину читаемых данных, а дальше он сам разберется что и как ему делать?
Запуск dma передачи начинается автоматически, как только данные из дескриптора передаются в дескрипторное FIFO при установке контрольного бита Go? а как только передача выполняется выставляется прерывание, которое сообщает о выполнении операции? и нужно ли что-то настраивать, чтобы эти прерывания генерировались?

Пока нашел только пример драйвера для Linux, описывающий работу с этим mSGDMA, но еще не совсем в нем разобрался. Здесь есть и описание управляющего регистра дескриптора для разных видов передачи http://lxr.free-electrons.com/source/drive...tera_msgdmahw.h , но не знаю применимы для они для dma в pci-e.

Откликнитесь, кто-нибудь, пожалуйста. Вопросов, пока много, а понимания мало. Буду благодарен за любую консультацию.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:52
Рейтинг@Mail.ru


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