Здрасте всем!

Имеется 8051 совместимый МК с USB интерфейсом, поддерживающим 5 endpoints (1 control + 2 bidir). Хотелось бы написать для него драйвер для Windows XP, чтобы после подключения девайса в системе появлялось 2 виртуальных COM порта и плюс драйвер должен обеспечивать возможность обмена данными по USB с клиентской прогой на ПК еще и через драйвер напрямую. Т.е. фактически хотелось бы иметь 3 независимых канала связи с МК.
С USB и драйверописательством практически не знаком - только книжек пока обчитался

... в голове каша

Поэтому есть вопросы:
Вопорс №1 - возможно ли вообще реализовать задуманное с данным кол-вом поддерживаемых ендпоинтов в МК?
Вопрос №2 - достаточно будет написать 1 драйвер для всего этого или нужно несколько (отдельно для виртуальных компортов и отдельно для доступа напрямую)
№3 - каким должа быть прошивка в МК - это должен быть композитный ЮСБ девайс (COM port + COM port + user device)? К какому классу юсб девайсов он должен относиться?
№4 - может кто видел или имеет какой нибудь пример? В ддк нашел DDK\src\kernel\serial - драйвер COM порта. Вроде близко, но хотелось бы именно пример драйвера USB communication devices class (CDC).
Заранее спасибо.
