리눅스버전 3.19.4
커널에 자원 처리를 요청하는 방법은 시스템 호출 과 파일입출력을 이용하여 드바이스 드라이버를 사용하는 방식
/usr/src/linux-3.19.4/include/linux/types.h 의
15 typedef __kernel_dev_t dev_t;12 typedef __u32 __kernel_dev_t;
진입점 (entry point, entrance) IT용어사전, 한국정보통신기술협회
진입점 [entry point, entrance, 進入點] (용어해설)
1. 어떤 프로그램이나 서브루틴의 시작주소. 즉 제어를 서브루틴으로 옮기기 위해 분기하는 주소이다.
2. 어떤 서브루틴을 호출 했을 때 그 안에서 제일 먼저 실행되는 명령어
- 커널에 모듈 삽입/제거 명령어
Insmod
- sys_create_module(모듈을 위한 메모리 공간 할당 받음)
- get_kernel_syms(모듈 링크위한 커널 심볼테이블 작업)
- sys_init_module(코드 복사, 모듈의 초기화함수 호출) - rmmod는 내부적으로
- delete_module 호출 → 사용수 카운트가 0 이면
- cleanup_module 호출
/usr/src/linux-3.19.4/Documentation$ vim devices.txt
linux-3.19.4/include/uapi/linux/major.h 에 디바이스에대한 major 즉 주번호 들이 정의되어 있다.
실제 사용중인 주번호는 "cat /proc/devices" 를 통해서 확인 가능
root@li:/usr/src/linux-3.19.4/include/uapi/linux# cat /proc/devices
Block devices: |
참고
리눅스 디바이스 드라이버-유영창
심볼 테이블 http://kirari83.tistory.com/entry/EXPORTSYMBOL
플랫폼디바이스 드라이버 http://blog.naver.com/sigsaly/100102042663
'리눅스커널 > Device Driver' 카테고리의 다른 글
USB 인사이드 muosys.egloos.com (0) | 2016.05.16 |
---|---|
PS/2 키보드 LED제어 (0) | 2015.05.13 |
문자디바이스 드라이버와 file_operations (0) | 2015.05.12 |
IOCTL (0) | 2015.05.12 |
platform_driver (0) | 2015.04.23 |