|
Altera PCIE Bar Expansion |
|
|
|
Nov 18 2013, 09:22
|

Местный
  
Группа: Свой
Сообщений: 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. Может у них так баг какой?
|
|
|
|
|
 |
Ответов
|
Dec 2 2013, 07:22
|

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

|
Разобрался с Bar Expansion в мегакорке PCI Express от Альтеры. Вообщем, у компонента pcie, созданного в Qsys, отсутствует возможность настроить и разрешить использовать Bar Expansion. У компонента pcie, созданного в megawizard'ом, такая возможность имеется. В результате, в проекте удалось вычитать POST BIOS'ом через pcie из BAR-EXP содержимое подключенной к ПЛИС флешки. Это факт. По той информации, которую удалось найти в интернете, пришел к выводу, что POST BIOS после того, как прочитает Option ROM (а точнее скопирует ее в ОЗУ), запрещает дальнейшее ее использование. Вот ссылки для ознакомления (кому интересно): http://perscom.ru/index.php/pci-pci-x/94--...pansion-rom-pci Цитата: Далее чтение ПЗУ запрещается (записью в поле Expansion ROM Base Address) и вызывается процедура инициализации модуля (по адресу 3). http://www.rulit.net/books/apparatnye-inte...239558-218.htmlЦитата: Далее POST, по возможности, запрещает работу (отображение в область UMA) исходного модуля ПЗУ и продолжает свой путь к вызову процедуры начальной загрузки. http://forum.sources.ru/index.php?showtopic=322712&st=15Поэтому то в линуксе (lspci) я и видел, что bar-exp disable.
|
|
|
|
|
Jan 19 2016, 07:16
|
Группа: Новичок
Сообщений: 3
Регистрация: 19-01-16
Пользователь №: 90 095

|
Цитата(novartis @ Dec 2 2013, 10:22)  Разобрался с Bar Expansion в мегакорке PCI Express от Альтеры. Вообщем, у компонента pcie, созданного в Qsys, отсутствует возможность настроить и разрешить использовать Bar Expansion. У компонента pcie, созданного в megawizard'ом, такая возможность имеется. В результате, в проекте удалось вычитать POST BIOS'ом через pcie из BAR-EXP содержимое подключенной к ПЛИС флешки. Это факт. По той информации, которую удалось найти в интернете, пришел к выводу, что POST BIOS после того, как прочитает Option ROM (а точнее скопирует ее в ОЗУ), запрещает дальнейшее ее использование. Вот ссылки для ознакомления (кому интересно): http://perscom.ru/index.php/pci-pci-x/94--...pansion-rom-pci Цитата: Далее чтение ПЗУ запрещается (записью в поле Expansion ROM Base Address) и вызывается процедура инициализации модуля (по адресу 3). http://www.rulit.net/books/apparatnye-inte...239558-218.htmlЦитата: Далее POST, по возможности, запрещает работу (отображение в область UMA) исходного модуля ПЗУ и продолжает свой путь к вызову процедуры начальной загрузки. http://forum.sources.ru/index.php?showtopic=322712&st=15Поэтому то в линуксе (lspci) я и видел, что bar-exp disable. Здравствуйте! Могли бы Вы прислать или опубликовать исходники простейшего проекта Quartus, демонстрирующую работоспособность PCIe Expansion ROM? Заранее благодарен.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|