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

 
 
> Altera PCIE Bar Expansion
novartis
сообщение Nov 18 2013, 09:22
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Добрый день, встала задача разобраться с Bar Expansion в мегакорке PCI Express от Альтеры. Использую отладочную плату Stratix IV GX Development Kit.

Во-первых, в Qsys (и в SOPC) Bar Expansion не доступен для настройки, его просто нету как параметра у компонента pcie. Это же написано в user_guide на PCI Express от Альтеры. (Не спроста ли????)

Пошел другим путем. Сгенерил компонент PCIE бычным мегавизардом. Bar Expansion у него доступен. Устанавливаю ему Enable и 4КБт размер (По идеи в Bar Expansion как минимум младший бит должен стать 1 - enable).
Компилирую проект, загружаю. Под линуксом смотрю lspci и вижу, что у моей платы Bar Expansion disable и 4КБт размер. Почему disable - не понятно.

Ковыряю дальше. У компонента pcie есть интерфейс LMI, позволяющий достучаться до конфигурационного пространства.
Пытаюсь просмотреть его путем перекидывания информации из конфигурационного пространства в память, которую видно в In System Memory Content Editor.

В итоге: включаю комп, оставляю его на этапе выбора операционки. Смотрю, что в конф. пространстве.
device id - тот что я задал,
vendor id - тот что я задал,
Bar0 = 0x00000008,
Bar1 = 0x00000008,
...
Bar Expansion = 0x00000000 - Bar Expansion ПУСТОЙ.


Дальше загружаю линукс. Линукс выделает моим барам адреса в памяти:
device id - тот что я задал,
vendor id - тот что я задал,
Bar0 = 0xFC000008,
Bar1 = 0xFC004008,
...
Bar Expansion = 0x00000000 - Bar Expansion ПУСТОЙ.

С помощью lspci вижу, что адреса в барах, вычитанные LMI совпдают с теми, что выдает lspci.
А вот Bar Expansion, выдаваемый LMI, пустой, а lspci показывает, что ему все таки присовен адрес 0xFC960000, он disable и размер 4КБт. Почему так?

Есть у кого то успешный опыт работы с Altera PCIE Bar Expansion.
Может у них так баг какой?




Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
novartis
сообщение Jan 20 2016, 17:35
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Цитата
Правильно ли я понял, что базовый адрес rom expantion в памяти флешки равен 0? (по смещению 0 будет храниться 55h)

Да

Цитата
Хотелось бы подробнее узнать как подцепить корку PCIe к флешке или внутренней памяти ПЛИС - получается нужен преобразователь из Avalon ST в MM?

Тут два варианта.
1. Вы используете Qsys. Контроллер флешки у вас получается будет Avalon MM. Или внутреннюю память будете использовать, она тоже будет Avalon MM в Qsys.
Так как pcie корка сгенерена мегавизардом, вам придется написать свой компонент для Qsys, в котором обвяжете pcie корку, прикрутите к ней Avalon MM.

2. Вы не используете Qsys. Контроллер флешки у вас хоть какой.
Пишите некий костыль для стыковки этого контроллера флешки с коркой pcie.
Если внутреннюю память задействуете, то тоже будете состыковывать с коркой pcie.

Тут заковыка в том, что у pcie корки выход то Avalon ST, но напрямую данные от другого источника Avalon ST туда подавать нельзя.
В корку нужно засовывать пакеты в соответствии с форматом Transaction Layer Protocol в соответствии со спецификацией PCI Express.
Тоже касается и приходящих из корки пакетов - там вместе с данными присутствует заголовок пакета.
Почитать о формате пакетов можно здесь http://xillybus.com/tutorials/pci-express-...utorial-guide-1

То есть Биос будет пытаться читать ваш bar expantion.
По шине Avalon ST от корки к вам будут прилетать Read Request пакеты.
Вы их должны обнаружить (по полям Fmt и Type, а также Length=1, также адрес будет ссылаться на ваш bar expantion).
В ответ на этот запрос нужно вернуть Completion пакет с данными, а для такого пакета нужно самому собрать заголовок.

Отличие и достоинства Qsys варианта PCIE корки в том, что не нужно заморачиваться с заголовками.
Но в нее не заложили bar expantion, поэтому придется пыхтеть над заголовками pcie пакетов.




Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th August 2025 - 21:50
Рейтинг@Mail.ru


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