바로가기 메뉴
본문 바로가기
주요메뉴 바로가기
ETRI소식 상상을 현실로, 진화하는 ICT세상, 고객과 함께 ICT미래를 열어가겠습니다.

연구개발보도자료

ETRI,디바이스 드라이버 제작도구 개발

ETRI, 디바이스 드라이버 제작도구 개발
- H/W 연결하는 퀵드라이버(QuickDriver) S/W 개발
- 통합 솔루션으로 세계최초, 외산대비 성능,효율 우수


그동안 임베디드 시스템의 필수 소프트웨어인 디바이스 드라이버의 개발이 어려웠는데, 개발의 전 과정을 지원하는 S/W가 개발되어 앞으로는 이 분야의 연구개발이 활기를 띌 전망이다.

ETRI(한국전자통신연구원, www.etri.re.kr 원장 임주환)는 2일, 리눅스용 디바이스 드라이버 제작도구인 ‘퀵드라이버(QuickDriver)’개발에 성공했다고 밝혔다. 따라서 개발경험이 적은 사람도 쉽게 개발할 수 있게 되었고, 개발경험이 많은 개발자들 역시 이 도구의 다양한 유틸리티를 개발시에 유용하게 사용할 수 있다고 밝혔다.

ETRI 임베디드S/W연구단(단장 김흥남)은 정보통신부 사업의 일환으로 개발된 퀵드라이버는, 응용 S/W와 H/W를 연결하고 제어하는 디바이스 드라이버 S/W의 개발을 도와주는 S/W 라고 밝혔다.

ETRI가 개발한 퀵드라이버의 주요 기능으로는 ▲ 프로그램 소스코드의 자동생성 기능 ▲ 사용자의 테스팅 지원기능 ▲ 오류 원인탐색의 디버깅 기능 ▲ 운영체제 API 올바른 사용여부 검증기능 ▲ 하드웨어 리소스 진단기능 ▲ 운영체제 API를 대화형으로 수행하는 쉘 기능 등이 있다.

그동안 임베디드 시스템 관련 연구개발은 개발비가 많이 들고, 시간도 많이 소요됨에따라 개발에 어려움이 많은 실정인데 이는 전체 연구개발시간 중 디바이스 드라이버 개발에 40%정도가 소요되고 있으며 운영체제의 오류 중 60%이상이 디바이스 드라이버에서 발생하고 있기 때문이었다.

특히 기존에는 새로운 하드웨어 장치를 만들 때 임베디드 시스템에서 사용시 별도의 디바이스 드라이버 프로그램을 개발해야할 뿐만 아니라 보드가 바뀌거나 새로운 장치 추가 시에도 어려움이 많았다.

하지만, ETRI가 개발한 툴인 퀵드라이버의 사용으로 앞으로는 디바이스 드라이버 프로그램 개발이 훨씬 효과적이고 연구개발 기간 역시 상당기간 단축될 수 있을 것으로 기대된다.

퀵드라이버는, 확장이 쉬운 통합 개발 환경이며 오픈소스인 이클립스 환경을 기반으로, 디바이스 드라이버 개발에 필요한 환경을 통합적으로 제공함을 큰 특징으로 꼽을 수 있다.

기존에 나와있는 외산제품의 디바이스 드라이버 개발 도구로는 이스라엘 정고(Jungo)사의 ‘커널 드라이버’와 미국 컴퓨웨어(Compuware)사의 ‘드라이버 스튜디오’와 마이크로소프트(Microsoft)사의 ‘드라이버 개발 키트’가 있는데 이들 제품은 특정의 일부문 지원만 가능, 개발자가 사용하기에는 불편한 점이 많았다.

그러나 ETRI에서 세계최초로 개발한 퀵드라이버는 “하드웨어의 테스팅과 소스코드 생성, 디바이스 모듈 테스팅과 검증 및 디버깅, 자동설치에 이르는 개발의 전 과정을 지원”하는 도구로서 향후, 외산 소프트웨어의 의존도를 크게 줄일수 있음은 물론, 임베디드 시스템 연구개발에도 박차가 가해질 전망이다.

ETRI 임베디드 S/W연구단 S/W개발도구연구팀장인 임채덕 박사는 “퀵드라이버의 개발로 임베디드 소프트웨어 개발의 기술적인 장벽이었던 디바이스 드라이버 개발이 쉬워졌으며, 이로인해 임베디드 소프트웨어 개발 활성화에 크게 기여할 것” 이라고 말했다.

ETRI는 현재 개발한 퀵드라이버에 대해 국제특허를 출원한 바 있으며 기술이전도 활발히 추진 중에 있다. 또한 동 기술은 12월 1일부터 서울 코엑스 태평양홀에서 개최되는 “소프트엑스포/디지털콘텐츠 페어 2005” 행사에 전시하여 일반에게도 공개하고 있다.

[용어설명]

● QuickDriver : ETRI에서 개발한 리눅스용 디바이스 드라이버 개발 도구로 통합 개발 환경 도구, 소스 코드 자동 생성 도구, 검증 도구, 테스트 도구, 개발 유틸리티 도구 등의 도구들로 구성되어 있음

● 리눅스 (Linux) : 무료로 배포되고 있는 컴퓨터의 기본 운영체계로서, 소스코드가 공개되어 있기 때문에 원하는 기능을 추가할 수 있고, 어느 하드웨어로도 포팅이 가능함. 따라서, 임베디드 시스템의 플랫폼으로 많은 관심을 받고 있으며, ETRI에서는 Qplus 라는 이름의 리눅스 기반 임베디드 SW 플랫폼을 개발한 바 있음

● 디바이스 드라이버 (Device driver) : 컴퓨터에 부착된 주변 장치를 인식하고 제어하기 위한 프로그램. 임베디스 시스템의 경우에 시스템이 특정한 장치를 사용하기 위해서는 디바이스 드라이버가 필수적으로 필요함

● 이클립스 (Eclipse) : 플랫폼 독립적이고, 다양한 언어를 지원하는 통합 개발 환경으로 Java 로 작성되었으며, 확장이 용이함

● API (Application Programming Interface ; 응용 프로그램 인터페이스) : 운영 체계나 다른 응용프로그램이 처리를 요구할 수 있도록 미리 정해진 특별한 함수

● KernelDriver : Jungo 사의 디바이스 드라이버 개발 도구

● Platform Builder : 마이크로 소프트사의 윈도우즈 CE 운영체계 상에서 동작하는 소프트웨어를 개발하기 위한 도구

● Esto : ETRI에서 개발된 통합 개발 환경으로 이클립스 환경 하의 표준형 Esto, 나노형 Esto 등이 있으며 상용버전인 비주얼 에스토가 있음

● 임베디드 소프트웨어 : 일반적인 컴퓨터가 아닌 각종 전자제품이나 정보기기 등에 설치되어 있는 마이크로프로세서에 미리 정해진 특정한 기능을 수행하는 시스템을 임베디드 시스템이라 하고 여기에 내장된 S/W가 임베디드 S/W임

TOP