D810, 105.0 mm f/2.8 - PCI 기반 디바이스 |
최근 하드웨어 사용이 좋아지며 고성능 PC를 서버급 데이터 처리하는 도구로 활용하는 일이 빈번해졌다. 그런데, 문제는 고사양 Graphic 카드를 원하는 대로 이용하기 위해서는 내가 사용하는 OS에 맞도록 Device Driver(디바이스 드라이버)를 새로 개발해야 되는 상황도 생긴다는 것이다. 특히 Windows 용 Device Driver는 지원하는데, 나는 Linux OS를 사용해야 한다면 어떨까?
D810, 105.0 mm f/2.8 - 고사양 CPU가 이중화되어 있는 PC |
"OS에 대한 배경지식을 잘 몰라도PCI/USB에 대한 기본 지식만 있으면비교적 쉽게 Wizard처럼 IDE(통합개발 툴) 환경에서 디바이스 드라이버(Device Driver) 개발이 가능하다."
과거 맨땅에(?) 디바이스 드라이버를 개발했던 개발자라면 깜짝 놀랄 일이다. 이스라엘 기반의 정고(Jungo) 사의 WinDriver 소프트웨어를 이용하면 비교적 쉽게 디바이스 드라이버를 개발할 수 있다.
WinDriver IDE(통합 개발 툴)의 스크린 캡처 |
D810, 105.0 mm f/2.8 - PCI 기반 디바이스 |
WinDriver 소프트웨어를 실행하고 PC에 USB 혹은 PCI 기반의 Device Driver를 연결하면, 자동으로 WinDriver 소프트웨어가 이를 인식하고 화면에서 Device Driver를 선택할 수 있도록 도와준다.
X-Pro2, Leica Summicron M 50mm F2 |
이제 Device 의 상세 설정(Configuration)을 하고, Target OS(대상 운영체제)를 선택하면 Windows 기반인 경우 Visual Studio 기반으로 예제 코드 및 바로 Build 가 가능한 프로젝트 파일을 만들어 준다. Linux의 경우, GCC로 Build가 가능한 Make 파일을 생성해 준다.
X-Pro2, Leica Summicron M 50mm F2 |
우리의 예시는 Windows 환경에서 개발하므로 Visual Studio 그리고 내가 사용하고 개발 Tool 버전을 선택한다. 그리고 OK.
"OS에 지식 없이
WDD(Windows Device Driver) SDK에 대한 지식 없이
WinDriver 통합 개발 툴에서 설정을 통해서
Device Driver를 만들 수 있는 Project를 생성해 준다."
아마 과거 직접 Device Driver를 개발해본 개발자라면, 이쯤이면 감동이 밀려올 것이다.
더욱 좋은 일은 우리 기업 내부에서 사용할 목적이 아니라, 배포를 위한 Device Driver를 개발한다면 WHQL Ready 인증을 받아야 한다. WinDriver로 개발된 Device Driver 와 관련된 Code는 Windows Hardware Quality Labs (WHQL) ready 인증을 바로 받을 수 있는 코드를 생성해 준다. 우리가 Application과 Interface(인터페이스) 할 코드만 WHQL ready 인증을 염두에 둔다면 인증을 받는 것 또한, 시간을 크게 절약할 수 있다.
D810, 105.0 mm f/2.8 |
D810, 105.0 mm f/2.8 |
0 comments:
Post a Comment