Дык алгоритм банальный. 1) Написать заготовку (драйвера, функций,
etc), следуя описанию из спецификации. 2) Когда появится девайс и
возникнет реальная потребность - отладить заготовку на нем. 3)
выдать готовый результат заказчику. По моему небольшому опыту
программирования больше времени занимает разработка интерфейса
драйвера, продумывание и создание сопутствующих структур данных, а
не собственно отладка функций.