Как я должен начать при записи драйверов устройств? [закрытый]

67
задан Bjorn 8 February 2010 в 15:49
поделиться

4 ответа

Для Linux вы можете поискать книгу O'Reilly Linux Device Drivers или почитать PDF онлайн. На мой взгляд, это один из лучших текстов по данной теме.

Руководство по программированию модулей ядра Linux - еще один хороший ресурс.

Вы также можете найти книгу, посвященную ядру Linux. Я взял для этой цели Linux Kernel Development (2nd Edition) Роберта Лава (3rd Edition на подходе).

35
ответ дан 24 November 2019 в 14:44
поделиться

Запись драйвера устройства может быть довольно простой, а может быть почти произвольно сложной. Например, я участвовал в проекте, в котором шестерым из нас потребовалось почти три года, чтобы решить ОДИН баг в драйвере устройства. Конечно, мы удалили десятки других ошибок во время поиска... код значительно улучшился. Исправление оказалось патчем из восьми строк, который, консервативно, стоил около миллиона долларов.

Но, как побочный проект к этому, я написал ethernet-драйвер из спецификации чипа за неделю и потратил еще неделю на его отладку. С тех пор не нужно было прикасаться к нему.

Нет способа сказать в общем, сколько будет работать драйвер; драйвер для GPU может стоить сотни миллионов, драйвер для одного светодиода стоит максимум пару часов работы.

27
ответ дан 24 November 2019 в 14:44
поделиться

Если вы хотите заняться разработкой драйверов устройств для Linux, свободно доступная книга O'Reilly Драйверы устройств Linux, третье издание представляет собой должны прочитать.

Чтобы найти неподдерживаемое оборудование, для которого вы могли бы написать драйвер, спросите в списках рассылки Linux . Может какое-нибудь устройство USB 3.0? ;)

4
ответ дан 24 November 2019 в 14:44
поделиться

Попробуйте использовать AJAX AsyncFileUpload. Он хорошо работает, если используется в вопросе он предназначен для использования (обработать событие UployingComplete).

http://www.asp.net/AJAX/AjaxControlToolkit/Samples/AsyncFileUpload/AsyncFileUpload.aspx

-121--2282007-

Нет пути переименовать процедуру, если ее не удалить и не создать снова. В любом случае:

  • Если у вас много процедур, вам придется использовать ПАКЕТЫ s вместо PROCEDURE s. Таким образом, необходимо изменить только PACKAGE BODY .
  • Если проблема заключается в повторном создании грантов, можно легко создать скрипт, запросив DBA _ TAB _ PRIVS (да, также содержит привилегии для процедур).
-121--3390937-

Для Mac вы можете ознакомиться с Mac OS X Internals book. Это мысленно и тяжело, но весело читать. В основном речь идет о маках на базе PowerPC, но имеется приложение о маках на базе Intel. Для Linux посмотрите на Драйверы устройств Linux, 3-е издание - он легче (бесплатные PDF-файлы онлайн:) и действительно ориентирован на драйверы устройств, может быть лучшим началом.

2
ответ дан 24 November 2019 в 14:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: