Перейти к содержанию
    

PCIe core

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

XILINX во всех своих примерах для PCIe с использованием DMA применяет стороннюю корку от "Northwest Logic" - "DMA Back-End Core". Лицензию на ее XILINX не дает... Из множества примеров, просмотренных мной, не один не являлся полным... - в каждом частично отсутствует часть файлов. Конечно можно немножко попыхтеть и догенерировать недостающие файлы, но....

Я решил по-быстрому проверить имеющуюся "DMA Back-End Core". Из различных проектов "выдрал" packet_dma v1_08, как full так и eval. В "core gen" я сгенерировал PCIe - endpoint gen2 4x, запустил сгенерированный пример(на kc705) - все работает. Втянул в проект корку "DMA Back-End Core"(full) и прикрутил ее к endpoint - при синтезе сразу выдало ошибку об отсутствии лицензии.... Заменил "DMA Back-End Core"(full) на "DMA Back-End Core"(eval) - синтез прошел. Залил в ПЛИС... и получил непонятный результат.... Линк по PCIe устанавливается (вижу по светодиоду) но ПС не стартует -похоже что какой-то конфликт на PCIe и БИОС не работает... (не работает клава, нет видеосигнала с видеокарты). Стоит мне заресетить плату - ПС начинает запускаться!!!

 

В чем может быть дело? Кто может помочь? А-то TLP-пакет самому разбирать(собирать) не хоч. - да и не так уж просто это. Корка из EDK мне не очень подходит(я ее уже проверил и протестировал) - на ее основе строить систему реального времени не совем удобно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

) но ПС не стартует -похоже что какой-то конфликт на PCIe и БИОС не работает... (не работает клава, нет видеосигнала с видеокарты). Стоит мне заресетить плату - ПС начинает запускаться!!!

давайте поточнее.

после включения ПК - висяк. далее нажимаете ресет на ПК (на материнской плате) - и всё грузится? Или не так?

напонятно где и как вы "плату ресетите" и что вообще происходит.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

где и как вы "плату ресетите"
Я, так понял, что свою плату.

Но, конечно, информация очень сумбурная.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, согласен - о ресете платы сказал не совсем понятно и не правильно... Я ножку "PROGRAM_B" в "0" садил...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

BIOS проводит энумерацию устройств, видит в том числе и вашу PCIe корку.

Далее он пытается выделить вашей плате запрашиваемые ресурсы (BARs, i/o regions).

Если вы записали туда что-то некорректное типа 0xFFFFFFFF (либо по незнанию ничего там не конфигурировали), то BIOS не может выделить такой большой кусок памяти, и тупо виснет.

 

как-то примерно так.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...