Programing

장치 드라이버 작성을 시작하려면 어떻게해야합니까?

lottogame 2020. 11. 22. 18:51
반응형

장치 드라이버 작성을 시작하려면 어떻게해야합니까?


재미있을 것 같아서 디바이스 드라이버 작성법을 배우고 싶습니다. Mac OS X Macbook을 사용하지만 Ubuntu 컴퓨터 (Mac Min에서 실행)도 있습니다. 나는 C에 꽤 익숙하고 현재이 책을 읽고 있다 . Mac Dev Center 와 같은 온라인 링크를 찾았습니다 . 재미있을 거라서하고 있어요. 제가 작성한 소프트웨어 덕분에 하드웨어가 작동하는 것을 보면 정말 만족 스러울 것 같습니다.

내가 원하는 것은 몇 가지 팁이나 조언 및 지침이며, 드라이버가없는 장치 목록에 대해 아는 사람이 있거나 이미 지원되는 드라이버를 작성할 수 있습니까? 가치 제공). 시작하기에 좋은 장치는 무엇입니까? 내가 씹을 수있는 것보다 더 많이 물고 있습니까? 저는 저수준 프로그래밍이나 어셈블리 또는 어떤 노력이 필요한지 두려워하지 않습니다. 정말 도전하고 싶어요!


Linux의 경우 O'Reilly Linux Device Drivers 책을 선택하거나 온라인에서 PDF를 읽을 수 있습니다. 제 생각에는 주제에 대한 더 나은 텍스트 중 하나입니다.

Linux 커널 모듈 프로그래밍 가이드 는 또 다른 좋은 리소스입니다.

Linux Kernel에 관한 책을 고를 수도 있습니다. 이 목적을 위해 Robert Love의 Linux Kernel Development (2nd Edition) 사본을 가져 왔습니다 ( 3 판 진행 중).


장치 드라이버를 작성하는 것은 매우 간단 할 수도 있고 거의 임의로 복잡 할 수도 있습니다. 예를 들어, 저는 장치 드라이버의 버그 하나를 해결하는 데 거의 3 년이 걸린 프로젝트에 참여했습니다. 물론, 우리는 그것을 찾는 동안 수십 개의 다른 버그를 제거했습니다. 코드가 엄청나게 향상되었습니다. 수정은 8 줄 패치로 밝혀 졌는데, 그 비용은 보수적으로 약 백만 달러였습니다.

하지만 그에 대한 부수적 인 프로젝트로 칩 데이터 시트에서 이더넷 드라이버를 1 주일 만에 작성하고 디버깅하는 데 일주일이 더 걸렸습니다. 그 이후로 만질 필요가 없었습니다.

일반적으로 운전자가 얼마나 많은 일을 할 것인지 말할 방법이 없습니다. GPU 드라이버는 수억 달러의 비용이들 수 있고 단일 LED 드라이버는 최대 2 시간의 작업 비용이 듭니다.


Linux 장치 드라이버 개발을 원하신다면 무료로 구할 수있는 O'Reilly 책 Linux Device Drivers, Third Edition을 꼭 읽어 보시기 바랍니다.

드라이버를 작성할 수있는 지원되지 않는 하드웨어 부분을 찾으려면 Linux 메일 링리스트 에 문의하십시오 . USB 3.0 장치일까요? ;)


Mac의 경우 Mac OS X Internals 책을 살펴볼 수 있습니다 . 생각하고 무겁지만 읽는 것은 재미 있습니다. 대부분 PowerPC 기반 Mac에 관한 것이지만 Intel 기반 Mac에 대한 부록이 있습니다. Linux의 경우 Linux Device Drivers, 3rd Edition을 살펴보십시오. 더 가볍고 (온라인 무료 PDF :) 실제로는 장치 드라이버 지향적이며 더 나은 시작일 수 있습니다.

참고 URL : https://stackoverflow.com/questions/2222763/how-should-i-get-started-on-writing-device-drivers

반응형