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

 
 
> Короткие TLP
otv116
сообщение Jan 22 2015, 14:20
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 25-04-05
Пользователь №: 4 466



Изучаю PCIe на ките альтеры с Cyclone-IV. В качестве основы для прошивки использую то, что генерит бесплатный IP compiler for PCI Express.
Написал простейший драйвер под WinXP, который мапит бары в user space и отдает эти виртуальные адреса приложению Win32 (вернее, приложение у драйвера их запрашивает). DMA не использую.
В приложении я просто делаю записи по этим адресам. Указатели объявил типа __int64 *.
В ПЛИСине с помощью SignalTap смотрю, что из корки сыпется в обработчик TLP.
Вот что мне не понятно:
Если я делаю запись по виртуальному адресу, например : *pBuffer = 0xBEEFCAFEDEADFACE, то вижу, что из корки летит 2 TLP. Один со старшей частью, а второй с младшей.
Если в указатель буду пихать больше данных, например с помощью memcpy, то из корки прилетит столько TLP, сколько 32-битных слов я запишу в указатель.
Я расчитывал, что все данные будут в одном единственном TLP.
Подскажите, в какую сторону копать?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:13
Рейтинг@Mail.ru


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