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

 
 
> Хитрая ошибка USB драйвера, Драйвер работает,но иногда сбоит
Alexander Zhukov
сообщение Jul 9 2008, 11:57
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 9-07-08
Пользователь №: 38 834



Дано: Взят пример из DDK - bulkusb драйвер, скомпилирован и установлен - работает все ОК. (Создаются 4 pipe - 2 bulk - in/out, 2 service in/out).
Поправлено в исходном - только PID и VID (ну и GUID) устройства. В качестве железки - контроллер (M16C62) через USB контроллер (PDIUSBD12 - Philips) - для него взят стандартный код, поставлявшийся на сайте производителя (где то в глубине).
Проблема:Если передавать данные блоками больше чем 2*256 байт - то при разворачивании других приложений во время передачи ряда таких блоков (перемежаются передачи по sevice и по bulk) - приложение в винде ловит принятие 0 байт и затыкается. Если блоки по 512 байт или меньше (256) - то все отлично. Если во время передачи не трогать другие приложения (а спокойно смотреть на бегущий прогресс-бар - кстати - вызывается это дело из Дельфей через интерфейсную dll-ку) - то все тоже ок.
Вопрос: Хотя бы подскажите где можно начать копать? Где есть какие таймеры/ограничения по времени реакции в драйвере (или это чей-то буфер у железа затыкается)?
Само приложение больно здоровое, на Дельфях и отчасти коммерческая тайна smile но всю работу оно ведет через интерфейсную dll -
DLL-доступа (http://zhaw.newmail.ru/USbLink6.rar) - тут dll-ка доступа, у которой вызываются сначала InitUSB, потом SendServiceBuffer/CheckServiceBuffer , потом уже собс-но данные о которых разговор передаются с помощью последовательного вызова SendServiceBuffer, CheckServiceBuffer и двух или более вызовов CheckBulkBuffer (первый вызов 256 байт, остальные >512).
Драйвера (http://zhaw.newmail.ru/drivers.rar) Код железки могу тоже выложить - если оно надо (там просто некоторая специфика - код под контроллер М16С62....)
В момент передачи скачка загруженности не наблюдается, но по ощущениям некоторое подтормаживание есть (как проседание фпс-а в шутерах....), если открывать/закрывать вин-эксплорер - то все нормально - не срывается (ну или что нить такое же легкое).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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