Группа: Участник
Сообщений: 13
Регистрация: 17-10-06
Пользователь №: 21 403
Всем доброго времени суток!!! 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 и БИОС не работает... (не работает клава, нет видеосигнала с видеокарты). Стоит мне заресетить плату - ПС начинает запускаться!!!
давайте поточнее. после включения ПК - висяк. далее нажимаете ресет на ПК (на материнской плате) - и всё грузится? Или не так? напонятно где и как вы "плату ресетите" и что вообще происходит.
--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
BIOS проводит энумерацию устройств, видит в том числе и вашу PCIe корку. Далее он пытается выделить вашей плате запрашиваемые ресурсы (BARs, i/o regions). Если вы записали туда что-то некорректное типа 0xFFFFFFFF (либо по незнанию ничего там не конфигурировали), то BIOS не может выделить такой большой кусок памяти, и тупо виснет.
как-то примерно так.
--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.