Help аз USB устройства/драйвери

2 отговора 49 прегледа
#1

Help аз USB устройства/драйвери

Имам едно устройство на USB. Цялото чудо се управлява от един чип, за който имам цялата необходима информация - какви регистри има, кой за какво служи и т.н. С хардуера проблеми няма...

Дайте съвет как да напиша драйвер или някаква програма (за Windows) която да работи с това устройство. Ако има и готови примери още по-добре. Всяка помощ е добре дошла.

Благодаря предварително.

Отговор
в отговор на Dian #2

Re: Help аз USB устройства/драйвери

ami w DDK-to.
to tam si pishe.

Отговор
в отговор на Dian #3

Re: Help аз USB устройства/драйвери

Да, всичко го има в DDK-я, само че докато го изчетеш ще побелееш.
Аз пиша в момента точно такъв драйвер (всъщност проектът е по-голям: фърмуера, драйвера и потребителския интерфейс). Разполагам с 5-6 книги по въпроса, но не съм в БГ, така че няма как да ти услужа с тях. Но ето с каква информация разполагам (събрана за 3 месеца работа над драйвера):
1) Трябва да имаш инсталирани OS (аз съм под Win2000 pro и ти я препоръчвам), 98DDK, NTDDK, Visual C++, MSDN (с пълния help за SDK и usb примерите за VC98).
2) В целия интернет има само една (но за сметка на тожа възможно най-добрата!!!!) книга (говоря за e-book) за драйвери, която е на MS Press и се казва Programming the Microsoft Windows Driver Model - автор Walter Oney. Книгата е страхотна и ако не си прочел поне нея, нищо няма да напишеш.
3) За драйверите има още няколко (в случай, че можеш да си ги набавиш):
(a) The Windows 2000 Device Driver Book by Art Baker, Jerry Lozano
(b) Writing Windows WDM Device Drivers by Chris Cant
5) За самия USB има следните две книги:
(a) USB Complete by Jan Axelson
(b) USB by Example by John Hyde
6) Информация и примери на драйвери има на следните сайтове:
[линк], [линк], www. [линк], а за самия USB на [линк] (там има дискусионен форум, на който има много интерсни неща, а и можеш да зададеш въпроси, стига да знаеш какво да питаш и да не си досаден)
7) Ето какво допълнително мога да ти кажа аз: самото писане на драйвера не е чак толкова сложно (след като си прочел литературата по въпроса), сложно е пускането му, защото си в kernel-mode и системата се дъни едва ли не на всяко пускане. Има начин да пускаш драйвер с два компютъра (на единия ти е развойната среда, а на другия само пробната версия на драйвера) с изпозлването на WinDbg, но е много досаден. Друг начин е да изпозлваш DbgView (на SysInternals) и да слагаш много диагностични печати (с KdPrint) в тялото на драйвера, така че да знаеш винаги (преди да забие) откъде си минал и в какво състояние си бил. Най-добрият възможен дебъгер е SoftIce, естествено, но трябва да го имаш в пълния му вид. Има и много driver-builder-и: на Jungo, на bsquare, на Thesycon, на NuMega (същите дето поредлагат и SoftIce) и още, но те струват много пари и не вярвам да опреш до услугите им.
Това е, надявам се информацията да ти е полезна.
Успех.

Отговор