Товарищи, нужна помощь. Я занимаюсь программированием только лишь первый год. Специализируюсь на программах по обработке звука. Я самоучка. Вот и возник вопрос. С помощью чего и как пишутся драйвера для железа? Заранее спасибо
Товарищи, нужна помощь. Я занимаюсь программированием только лишь первый год. Специализируюсь на программах по обработке звука. Я самоучка. Вот и возник вопрос. С помощью чего и как пишутся драйвера для железа? Заранее спасибо
Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.
14 июля 2009 в 22:02
а я занимался программирование дров так: сначала спаял USB устройство на ATmega32 с программным USB, а потом под него дрова делал, ибо, поскольку все, что девайс такой делает ты знаешь досканально, то дрова на него под DDK пишутся довольно быстро. а уж потом я стал разбираться с чужыми устройствами…Москва не сразу строилась…
13 июля 2009 в 23:02
Евгений Плюшкин Плюша Безымянников
хорошо сказал
13 июля 2009 в 23:00
спец защиты информации хорошая специальность. друг там учится. нравится. сам в этом году пойду.
13 июля 2009 в 23:00
>Складывается впечатление что Вы представляете програмирование дров чем то экстра-ординартным и недосягаемым…
нет. просто требуют опыта и знаний больших, чем 1 год и вопросов, на которые может ответить гугл за 1 минуту
13 июля 2009 в 20:00
Блин. Давите только не будем ссорится!
13 июля 2009 в 19:02
Ко всему вышесказанному остается добавить, что слово "экстраординарный" пишется слитно и без "т". =)
13 июля 2009 в 19:01
Я писал, что первый год этим занимаюсь? Вроде писал… У меня образования специального НЕТУ. Работаю исключительно с newAC КОМПОНЕНТАМИ
13 июля 2009 в 18:04
> он написал, что дрова не от хорошей жизни пишет
Складывается впечатление что Вы представляете програмирование дров чем то экстра-ординартным и недосягаемым…
13 июля 2009 в 17:04
Зачем же так резко? Бас я с самого начала не полюбил… Это вообще другая сена была. Мне конкретно нужно знать, как пишутся дрова!
13 июля 2009 в 16:05
он написал, что дрова не от хорошей жизни пишет. тем более сами вопросы такие показывают человека очень далеким от чего либо адекватного в плане программирования. это как н форуме автолюбителей спросить с какой стороны двигатель находится в копейке и он не дизельный ли… и тут же спросить как поменять коленвал.. ясно и понятно, что двиган запорет, ибо даже не представляет куда лезет. и пофиг на чем писать дрова, хоть на VB если ты знаешь что делаешь.
13 июля 2009 в 14:00
У человека возник вопрос как драйвера пишутся в общем.. а не конкнетно для аудио!
13 июля 2009 в 13:00
драйвера, что бы работать со звуком и только от того, что не хватило ума работать через bass …????ужас.
есть примеры для дельфей на bass.dll
есть даже bassplayer
есть форумы, по которым я учился, есть примеры
удаление гланд ректально – это видимо так теперь учат делать в вузах
13 июля 2009 в 12:05
написать драйвер не зная английского нереально. Мы подразумевали что собравшийся здесь народ вкурсе этого нюанса
13 июля 2009 в 12:04
блин, вы чо, все так хорошо знаете англ что можете читать книжки на англ?)
13 июля 2009 в 12:03
Еще… ну так для общего понимания работы ОС советую прочитать:
- Mark Russinovich: "Inside Windows 2000" – не смотря что 2000 – найдешьмного интересного и нового. //www.sysinternals.com
- Art Baker, Jerry Lozano "The Windows 2000 Device Driver Book"
Ну это уже устарело, но книга хорошая.
- Piter G. Viscarola & W.Anthony Mason "Window NT. Device Driver Development"
13 июля 2009 в 12:01
Кто еще чего знает?
13 июля 2009 в 12:00
Моё мыло: lexa.r4@mail.ru
13 июля 2009 в 12:00
> Какой нафиг подробно в ЗНТУ ? Товаришь Солдатов (не путать с автором книги, хотя оба стоят одинаково) – представляют из себя НОЛЬ без палочки!!! А на кафедре радиотехники программирование вообще никто не преподовал – потому как там никто в этом не шарит. Ну это так крик души!
меня лично учил Денека и еще один. Фамилии не помню. Оба на жизнь зарабатывают программированием и преподавали ради развлечения. вероятно это куда лучше чем ноль без палочки.
> Ничего сложного в программировании нет – даже намного проще чем писать user-mode приложения. Единственное что ответствености за код больше, т.к. малейшая неточность приводит к BSOD!
я всетаки склонен считать что ты заблуждаешся. драйвера писать для большинства сущесвенно сложнее поэтму средняя зарплата драйверописателя в разы выше зарплаты прикладника …
13 июля 2009 в 11:04
На 230101 "Вычислительные машины, комплексы, системы и сети" программирование драйверов практически не дают (КГТУ-КАИ)
13 июля 2009 в 11:03
2Cyber Max – блин, мне можно сказать, повезло по сравнению с вашей радиотехникой:) У нас в НГТУ на радиотехнике во втором семестре ANSI С, в третьем – С++, в четвертом системное программирование, а потом ЦУМП и асм:) Но всё равно я с этой радиотехники сваливаю на примата:)
2Алексей Тень }{А|{Е®А Рамашка – если хочешь много железа, то лучше по-моему что-нибудь наподобие 230101 Вычислительные машины, комплексы, системы и сети, а если бы учился, например, у нас в НиНо, то еще и210302 Радиотехника, и парочка смежных. А вот насчет всяких систем безопасности компьютеров, да защиты информации – ох не доверяю я этим специальностям. Где-то слышал, что в провинциях вообще таких быть недолжно, и в России на полных правах, такое существует только в ИТМО в Питере. Не знаю, конечно, как в Беларусии, но у нас от защитничков гонору много, а толку мало.
13 июля 2009 в 11:00
> в моем ЗНТУ для тебя были бы оптимальными специальности
> "радиотехника" или КИСС
Какой нафиг подробно в ЗНТУ ? Товаришь Солдатов (не путать с автором книги, хотя оба стоят одинаково) – представляют из себя НОЛЬ без палочки!!!А на кафедре радиотехники программирование вообще никто не преподовал – потому как там никто в этом не шарит. Ну это так крик души!
Современные драйвера пишут в 99% случаях исключительно на С. 1% оставляют для написания ассемблерных вставок или ассемблерных функций, но исключительно для специфического железа (видеокарты), обработчики для всех остальных устройств на С.
Для программированния под Windows нужен специальнй комплект DDK или WDK. Ничего сложного в программировании нет – даже намного проще чем писать user-mode приложения. Единственное что ответствености за код больше, т.к. малейшая неточность приводит к BSOD!
Для изучения советую скачать книгу Walter Oney: "Programming The Windows Driver model" – Русские аналоги типа Солдатова "Программирование драйверов" в топку – даже в руки не брать!
13 июля 2009 в 10:04
> Написание драйверов.
в моем ЗНТУ для тебя были бы оптимальными специальности "радиотехника" или КИСС. (Другие специальности с углубленным изучением схемотехники тоже подойдут) и те и другие подробно изучали железо и написание дров но с разными подходами к задаче
13 июля 2009 в 8:00
написал программу, нажал ф5, и морально кончил)
13 июля 2009 в 7:00
чувак, дай мне своё мыло я тебе книг сброшу про написание драйверов под Windows и Linux
13 июля 2009 в 6:00
у нас преподы еще у моей мамы преподавали…. крайне весело выслушивать второй год про рекурсию. Даже про наследование ничерта не говорят. То есть даже основ ооп нету. Не говоря уже про работу с железом. Когда я написал движок для портирования 3ds и отрисовки в опенгл препод ошарашено посмотрел и сказал приятно познакомится( видел меня первывй раз на сдаче зачета)
13 июля 2009 в 2:03
да-да, особенно если программировать графы какие-нить.=(
13 июля 2009 в 2:02
универ с лёгкостью может убить в тебе это наслаждение =) если попадется деревянный препод – ты возненавидишь программирование как предмет в универе =))
13 июля 2009 в 2:00
может быть и так, еслитебе интересно тупосидеть часами и тупо писать код и когда ты от этого получаешь удовольствие то может быть это твое, в противном случае скорее всего нет))
13 июля 2009 в 2:00
Балда! Нет профессии лучше, чем айтишная! Как админ тебе говорю! =)
13 июля 2009 в 2:00
Я кстати люблю сидеть часами кодить чего… Люблю я эту стихию… Это моё… Осталось подать документы
13 июля 2009 в 1:05
Бля. Может я не ту профессия выбрал? Может лучше идти в строители или же на газо-нефте? Подскажите…
13 июля 2009 в 1:04
Во подстава. Я ж с этим обязательно столкнусь. Пойду на спеца по защите информации. А там точно с железом работать
13 июля 2009 в 1:04
По опыту учебы в КГТУ могу сказать, что "защитнечги" тоже разные бывают. У нас из 3 групп по защите 2 получают по окончанию квалификацию манагера и только одна – инженера. Излишне говорить кто из них хоть что-то знает! =) Но железякам не учат практически никого =(
13 июля 2009 в 1:03
Учи С и обязательно Assembler, я сомневаюсь что будешь на нём что-то серьёзное писать, но для понимания он необходим.
13 июля 2009 в 1:03
Блин. Придется. А в универе научат? Ну если на программиста. Или всё самому?
13 июля 2009 в 1:03
Не научат. Точнее, у нас вот была лаба на третьем курсе, где писали дрова на ассембере для виртуального устройства, при этом дав задание "Напишите дрова и ниипёт". Ничего при этом не объяснили. Так что по манам придется =(
13 июля 2009 в 1:02
Ну ты загнул… Но, благо, я разобрался немного. Спасибо большое. Буду искать литературу… Или нафиг забросить это дело…
13 июля 2009 в 1:02
Судя по соседней теме //vkontakte.ru/topic-912_21883520 – если нужно просто забирать сигнал с аудиоплаты, тонужна просто библиотека для работы со звуком. А не программа, которая будет работать с одним звуковым чипом через свой драйвер.
13 июля 2009 в 1:02
Мыслишь правильно. Я это уже пробовал делать через bass.dll, но не получилось. Получилось только выводить диаграмму с микрофона через waveplayer. Так может подход будет похожим?
13 июля 2009 в 1:01
ANSI C, Assembler.
13 июля 2009 в 1:01
А чё-нить типа delphi? Я когда-то начинал учись С, но как-то не понравилось…
13 июля 2009 в 1:01
В хорошем случае производительжелезки выпускает мануал про неё, что-нибудь типа "somehardware data sheet", где пишет как работать с ней и что она вообще может. Если, например, это PCI-ное устройство, то там описываются регистры PCI (стандартные для всех PCI – устройств), их значение в контексте работы с этим устройством, описание регистров в областях PCI-ной памяти, порядка их программирования, разных режимов работы и т.д. Разобраться в том, как работает/должно работать железо – самое трудное в написании драйвера.
А дальше зависит от операционной системы. В линуксе это модуль ядра, на эту тему есть отличная книжка "Linux device drivers, 3rd edition". Язык C.
В винде – WDK