Мне нужен небольшой совет для разработки пользовательского драйвера PCIe. Драйвер должен поддерживать как Windows CE 6.0, так и Windows Desktop (xp, 7 и 8 при готовности).
У нас есть большой опыт разработки драйверов для Windows CE, но нет для Windows Desktop. Я уверен, что мы можем разработать хороший, надежный драйвер Windows CE, но я думаю, что мы не сможем сделать то же самое для Windows Desktop без какой-либо внешней помощи. Я думаю, что у нас есть два варианта:
1) Используйте существующую инфраструктуру драйвера, такую как Jungo WinDriver, которая позволяет нам развить драйвер один раз и скомпилировать его для нескольких платформ. Это также имеет то преимущество, что большая часть разработки будет в пользовательском пространстве, поэтому она должна упростить процесс разработки.
2) Получите некоторую внешнюю помощь для установки хорошего драйвера Windows Desktop, где все сантехника завершена, и нам просто нужно добавить код, который связывается с нашей доской и выставить соответствующие IOControls. Возможно, переместите как можно больше кода в библиотеку пользовательского пространства.
Какими будут преимущества и недостатки каждого варианта? Вы порекомендовали бы альтернативные подходы?