본문 바로가기

디바이스 드라이버2

7.3 문자 드라이버 7.3 문자 드라이버7.3.1 디바이스 번호디바이스 번호는 dev_t 타입으로 표현한다. 예시)typedef __kernel__dev_t dev_t;typedef __u32 __kernel_dev_t;typedef unsigned int __u32; Major 번호디바이스의 주번호. 물리적인 디바이스를 구분하는데 사용된다. Minor 번호디바이스의 부번호. 부번호는 동일한 디바이스가 여러개인 경우, 이들 디바이들을 구분하는 용도로 사용한다. 즉, 같은 종류의 디바이스는 주번호가 동일하고, 부번호는 다르다. 7.3.2 디바이스 번호 할당 및 반납int register_chrdev_region(dev_t from, unsigned count, const char* name);디바이스 번호 고정할당name이란.. 2018. 7. 1.
7.1 디바이스 드라이버 7.1 디바이스 드라이버7.1.1 디바이스 드라이버 종류문자 디바이스 드라이버GPIO, 시리얼 등 문자 디바이스를 제어한다.open, close, read, write 등의 시스템콜을 이용해 액세스하고, 커널 상위 계층은 바이트 단위로 액세스한다. 블록 디바이스 드라이버HDD, SD 카드 등의 블록 디바이스를 제어한다. (파일시스템 포함)open, close, read, write 등의 시스템콜을 이용해 액세스하고, 커널 상위 계층은 블록 단위로 액세스한다. 네트워크 인터페이스 드라이버이더넷, 무선랜 등 네트워크 디바이스를 제어한다.read, write, recvfrom, sendto 등의 시스템콜을 이용해 액세스하고, 커널 상위 계층은 패킨 단위로 액세스한다. 7.1.2 디바이스 파일 만들기# mkno.. 2018. 7. 1.