Всем доброго времени суток
Обнаружил интересную проблему. Пока не могу её объяснить.
Есть промышленный компьютер PCE-5127: http://www.advantech.ru/products/1-2JKP2L/...2d422d678e.aspx
Есть плата с контроллером PCI Express на Virtex 5, используется контроллер DS_DMA: http://ds-dev.ru/projects/ds-dma
При работе канала DMA происходит считывание блока дескрипторов размером 512 байт из ОЗУ и запись данных в ОЗУ. Блок дескрипторов защищён контрольной суммой. В процессе чтения проверяется таймаут на чтение. При превышении таймаута или при ошибке CRC происходит повторное чтение блока дескрипторов.
Процесс чтения блока дескрипторов происходит по разному в Windows XP и Windows 7;
XP: чтение происходит за 200-400 тактов (250 Мгц), не происходит ошибок Completion Timeout и ошибок CRC
Windows 7: время чтения не стабильное 200 - 800, а иногда происходят очень длительная задержка и срабатывание таймаута. И как следствие иногда возникают ошибки CRC.
На других компьютерах с Window 7 чтение происходит достаточно стабильно и без ошибок.
Собственно вопрос - кто-нибуть сталкивался с подобным поведением процесса чтения ?