본문 바로가기
개발Study/WindowsCE6.0

WindowsCE6.0 Driver 2 - build 및 OS에 포함시키기

by happy90 2015. 1. 2.
SMALL

앞에서 정리한 내용대로 driver폴더트리를 맞추고 폴더내용을 채우고 나면 OS에 등록하기 위한 과정이 필요하다.

1. 드라이버를 OS에 등록

먼저, OS에게 이 드라이버가 OS의 일부라고 알려주기 위해 registry에 드라이버를 등록해준다.

registry라는 단어를 많이 들어봤을 것이다.

windows의 registry는 H/W, S/W에 관한 모든 data들을 기록하는 database의 역할을 한다.

그러므로 driver도 여기에 등록해주어야 한다.

DRIVERS폴더와 같은 경로에 FILES라는 폴더가 있다.

이 폴더 내에 있는 platform.reg에 내용을 적어주면 된다.

driver 등록시 registry 내용 입력하기 :

 예를 들어 buzzer드라이버를 등록하는 경우이다.

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\BUZZER]

    "Dll" = "BUZZER.Dll"

    "Prefix" = "BUZ"

    "Index" = dword:1

    "Order" = dword:6

맨 윗줄의 []안의 내용은 레지스트리의 key를 입력하는 부분이다.

빌드하여 등록하는 드라이버이므로 BuiltIn에 들어간다고 생각하자.

다음으로 value를 하나하나 살펴보자.

Dll        => 드라이버파일의 이름이다. 드라이버를 빌드하면 DLL파일로 결과물이 나온다.

Prefix    => 드라이버의 호출명이라고 하겠다. 알파벳3글자로 지정한다.

Index    => 같은 Prefix를 가진 드라이버들은 Index로 구분을 한다.

Order    => OS부팅시 드라이버가 초기화되는 순서이다.

이렇게만 설명하면 Prefix와 Index의 개념은 잘 안잡힌다.

Prefix와 Index는 붙여서 사용하며, 이 둘을 붙였을 때 다른 드라이버와 중복이 되지 않아야 한다.

 위 드라이버의 경우 이름은 'BUZ1'이 되는 것이다. 어플리케이션이나 다른 소스에서 호출할 때  'BUZ1'을 입력하여 호출한다.


2. 드라이버를 OS에 포함

registry에 등록했는데 실제 빌드된 드라이버 파일이 OS에 포함되지 않았다면 등록을 해도 소용없다.

platform.bib파일에 빌드된 드라이버 파일을 OS에 포함시켜달라고 입력한다. bib파일은 OS에 포함시키는 파일들을 입력하는 녀석이며, 마찬가지로 FILES에 들어있다.

내용은 그냥 드라이버파일의 경로만 적어주면 된다.


위 과정까지 마치고 OS를 빌드하면 드라이버가 완전히 등록되는 것을 확인할 수 있다~!


LIST

댓글