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

 
 
> Почему PCIe может повесить windows?, virtex-5 pcie аппаратный блок
dmitry-tomsk
сообщение Oct 1 2010, 17:48
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Столкнулся с проблемой отладки PCIe аппаратного блока Virtex-5. Свой контроллер осуществляет чтение из памяти PC по pcie - отправляет mrd запросы, ждёт cpld ответы. Если обмен типа - запрос передачи блока (размер до 1 мбайта, не влияет), затем ожидание окончания, затем следующий запрос - всё нормально. Если ожидания нет и чтение идёт непрерывно - виснет винда, а обмен идёт! Чипскоп показывает непрерывный поток cpld в ответ на mrd запросы. Конфигурация блока - completion streaming, до 32 запросов на чтение перед получением первого ответа. Где можно поискать ошибку? Уже и идей то не осталось, всё проверил. За состоянием буферов на материнке следил чипскопом, в нуле только non-posted data, причём всегда. Передача данных в память PC спокойно идёт на полной скорости (mwr запросы).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vmp
сообщение Oct 4 2010, 07:41
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070



Может быть вы просто занимаете всю полосу пропускания памяти или контроллера? В результате процессору нет возможности читать из памяти команды и данные, что выглядит как "зависание".
Если после "зависания" остановить обмены, система отвиснет?
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Oct 4 2010, 07:59
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(vmp @ Oct 4 2010, 10:41) *
Может быть вы просто занимаете всю полосу пропускания памяти или контроллера? В результате процессору нет возможности читать из памяти команды и данные, что выглядит как "зависание".
Если после "зависания" остановить обмены, система отвиснет?

PCIex1 никак не может занять всю полосу, кроме того передача из устройства в память РС на полной скорости и непрерывно заисания не производит. Была идея, что кто-то пытается прочитать из устройства, например, регистр состояния, а входной буфер занят. Вот драйвер в ОС и ждёт ответа, но ведь это должно контроллироваться враппером или самим блоком PCIe V-5. Да и как это проверить?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 22:56
Рейтинг@Mail.ru


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