Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 156

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — СПб.: БХВ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interface2004.djvu
Предыдущая << 1 .. 150 151 152 153 154 155 < 156 > 157 158 159 160 161 162 .. 166 >> Следующая

Гпава 18. Хост-контроллер UCH
517
Если выполнение операции, заданной дескриптором передачи, не завершено в текущем кадре (например, данные не готовы для передачи), в следующем кадре операция повторяется. Когда операция завершена, дескриптор передачи помечается как обслуженный и удаляется из очереди: контроллер извлекает из него указатель на следующий дескриптор и переписывает его в заголовок очереди. Область, зарезервированная в дескрипторе передачи для программного обеспечения, в первую очередь предназначена для "сборки мусора": из обслуженных и ненужных дескрипторов можно сформировать очередь с целью повторного использования занимаемых ими участков памяти.
Каждая очередь дескрипторов передачи обычно формируется прикладной программой для работы с определенной функцией или конечной точкой функции. Если программа работает с несколькими конечными точками или в системе параллельно выполняется несколько прикладных программ, в списке будут присутствовать несколько очередей дескрипторов.
Глава 19
Инструменты
В разд. 9.5 мы уже рассматривали инструменты создания драйверов, а в этой главе мы опишем некоторые инструменты, облегчающие работу.
19.1. Средства Microsoft Visual Studio
Поставка Microsoft Visual Studio 6 включает несколько программ, которые могут оказаться полезными при разработке USB-устройств и драйверов.
19.1.1. Depends
Программа Depends (рис. 19.1) позволяет посмотреть внутреннее содержание DLL-модулей: импортируемые и экспортируемые функции, использование других модулей, версии модулей и т. д.
19.1.2. Error Lookup
Программа Error Lookup (рис. 19.2) отображает строковое значение ошибки по номеру ошибки.
19.1.3. GuidGen
Программа GuidGen (рис. 19.3) позволяет сгенерировать уникальный идентификатор GUID для ключа в реестре или для идентификатора драйвера (устройства).
Более простая консольная программа UUIDGEN создает один идентификатор при каждом запуске.
Глава 19. Инструменты
519
Dependency Walker - [ftserui2.dll]
¦?• &ё: edit У Wew,. ffiindow; Help
JSJXj
-a
- e)-
FTSEPUI2.DLL
SETUPAPI.DLL О MSVCRT.DLL H JlJ KERNEL32.DLL
-За] NTDLL.DLL Ш NTDLL.DLL JtI ADVAPI32.DLL СИ GDI32.DLL
ЛІ NTDLL.DLL Б .1 j KERNEL32.DLL ¦ 3 JU NTDLL.DLL iSJUSER32.DLL ¦iLSj KERNEL32.DLL
•¦¦•3"Al NTDLL.DLL O RPCRT4.DLL
Ordinalл і ¦¦» Hint Function Entry Poirtt I

Ordinal'4 - Hint Function Entry Point I
Щ 1 (0x0001) H 2 (0x0002) 6 3 (0x0003) gj 4 (0x0004) 0 (0x0000) 1 (0x0001) 2 (0x0002) 3 (0x0003) LibMain ParallelPortPropPageProvider PortsClassInstaller SerialPortPropPageProvider OX0OOO39C3 0x00004432 OX000039E5 0X000015BD
¦Module^: .'"'v Time Stamp • ¦SiZe"'*' Attributes Machine Subsystem :¦?¦¦! Debug
Ш ADVAPI32.DLL 06/19/03 12:05p 387,344 A Intel x86 Win32 console No 0«¦7CZDOO
Ш COMCTL32.DLL 08/29/02 8:14a 529,680 A Intel x86 Win32 GUI No 0**7 1-7 100_
Щ FTSERUI2.DLL 06/11/03 11:48a 48,625 A Intel x86 Win32 console Yes OxOOIOOO
Ш GDI32.DLL 08/05/03 4:14p 222,992 A Intel x86 Win32 console No 0*77F400
Щ KERNEL32.DLL 08/05/03 4:14p 711,440 A Intel x86 Win32 console No 0«7CS"700 ^
. .....^l
For Help, press Fl
Рис. 19.1. Программа Depends
^Error Lookup
Value: [ЗЗ Error Message
The process cannot access the file because another process has locked a portion of the file.
Modules...) Г?ЩЩ]| Close J Help j
Рис. 19.2. Программа Error Lookup
520
Часть V. Справочник
Choose the desired (otmat below, (hen select "Copy" to copy the results to the clipboard (the results can then be pasted into your source code). Choose 'Exit" when done.
Mew GUID
г GU)D Format
Exit
j <~ 1.IMPUEMENT_0LECREATE(...| f I Г g DEFINE_GUID(...)
iff Q.. static const struct GUID'»{.. J t
j C 4. Registry Format (ie. {xxxxxxx-xxxx.:. xxxx}) j
i - Result - ...... - - - ---- ---- - . - .
I //{E3A05ED2-EFCD-4e45-AB26-27BEC0CAB2AF} ! static const GUID «name>> » .
I {0xe9a05ed2. Oxetcd, 0x4e45, {Oxab, 0x26. 0x27. Oxbe, OxcO. Oxca, і OxbZOxaf}};
Среди утилит, входящих в состав Microsoft DDK (Driver Development Kit, комплект разработчика драйверов), есть утилиты, которые помогут в работе с USB-интерфейсом и созданием INF-файлов.
Программа DeviceTree (рис. 19.4) позволяет отобразить дерево драйверов и соответствующих устройств. Отображение дерева устройств производится с двух точек зрения: с точки зрения принадлежности объектов устройств драйверам (режим D) и с точки зрения взаимной подчиненности объектов устройств при выполнении нумерации устройств.
Для каждого драйвера отображаются список обрабатываемых кодов (рабочих процедур), размер, атрибуты драйвера и множество других параметров. Однако полнота информации оборачивается другой стороной — при построении дерева устройств программа может привести к сбою или аварийной перезагрузке компьютера (о чем программа честно предупреждает при старте).
Рис. 19.3. Программа GuidGen
19.2. Средства Microsoft DDK
19.2.1. DeviceTree
гпава 19. Инструменты
521
' DeviceTree V2.6 - Driver View -PSR's Device дж) Driver Fxplerer
Предыдущая << 1 .. 150 151 152 153 154 155 < 156 > 157 158 159 160 161 162 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100