Здравствуйте. У меня возникла проблема при освоении PCIe ядра для Virtex6 ML605.
Я изучил документацию xapp1052.pdf, xapp1022.pdf, ug517.pdf, ug379.pdf. Скачал xapp1052.zip, xapp1022.zip и программу PciTree.exe.
Прогрузил флеш на плате проектом примером с PIO-после перезагрузки плата не определилась системой. потом попробовал прогрузить примером который был в xapp1052.zip (пример с BMD). увидел плату с помощью PCITree. затем установил драйвер pcie_demo.sys из xapp1052.zip запустил соответсвующее приложение PCIe_Perf.exe. Оно показало что транзакции чтения и записи совершаются, показало скорость транзакций. Но я не понял что дальше мне делать с этим BMD. Мне нужно осуществлять передачу данных через шину в ПЛИС, их там обрабатывать, и отправлять обратно по шине. Поковырял с Chipscope различные шины в BMD во время транзакций записи и чтения, но куда подключится для получения данных так и не нашёл.
Далее я попытался установить драйвер xilinx_pcie_block.sys из xapp1022.zip согласно документации xapp1022.pdf. Система WindowsXP SP3 перестала загружаться. Загрузка стала возможна только в безопасном режиме, в котором с помощью программы MET.exe из xapp1022.zip я смог записать и прочитать регистры как описано в xapp1022.pdf.
Если кто то сталкивался с похожими проблемами помогите пожалуйста их решить.
И если можно ответьте пожалуйста на несколько вопросов:
1. В чём принципиальное различие между BMD и PIO.
2. возможно ли с помощью драйвера в xapp1052.zip полноценно использовать ядро в режиме DMA(чтение и запись по адресам) система Windows.если кто то знает где можно найти драйвер(Windows) для работы с PCIe с описанием буду ОЧЕНЬ благодарен.
Заранее огромное спасибо!