Abstract
Applications running under embedded systems require various device drivers designed for different types and versions of the OS to manage resources effectively. In this paper, an automated device driver generator system which can generate the device drivers to be used in newer versions the target OS is proposed. In the proposed system, the structures of device drivers of specific OS are designed in the templates and stored in a library, and the target device drivers are generated by adding codes to the stored templates. Once device drivers are generated, they are registered into the kernel. The experimental results show that data transfer time has been slightly increased when compared against manually created drivers for TFT-LCD driver, USB interface keyboard/mouse driver, and AC'97 controller drivers. The code size for the generated drivers after compilation has also been increased slightly when compared with manually designed device drivers.
어플리케이션에 맞춤화 된 다양한 임베디드 시스템은 리소스의 효율적인 관리를 위해 임베디드 OS의 종류와 버전에 맞는 디바이스 드라이버가 요구된다. 본 논문에서는 동일한 OS의 새로운 버전에 대해 확장성이 용이한 디바이스 드라이버 자동생성 시스템을 제시한다. 제안한 시스템에서는 특정 OS 고유의 디바이스 드라이버 구조를 템플릿으로 작성한 후 라이브러리화하며, 라이브러리에 저장된 템플릿을 기본골격으로 하여 시스템의 특성에 따른 코드를 추가하는 방법으로 디바이스 드라이버를 생성한다. 생성된 디바이스 드라이버를 커널에 등록하여 데이터 전송 시간을 비교한 결과 매뉴얼로 설계한 디바이스 드라이버에 비해 자동생성된 TFT-LCD 드라이버, USB 인터페이스 키보드 마우스 드라이버, 그리고 AC'97 컨트롤러 드라이버가 각각 경미한 증가를 보였다. 생성된 드라이버를 커널 컴파일 한 후의 코드 사이즈도 각각 경미한 증가를 보였다.