VEDA 복습/리눅스, 리눅스 프로그래밍

VEDA 48일차 - 리눅스 드라이버

잡학다식을꿈꾼다 2025. 5. 27. 01:33
반응형

 

기본 : 유저 모드와 커널 모드로 분리되어 있다. > 커널 모드는 하드웨어 자원에 대한 권한이 있다. 

어플리케이션(유저 모드)은 시스템 자원이 필요할 때 커널에 요청한다.

 

리눅스 드라이버 동작 원리

 

라즈베리 파이 SoC

ripi 1 BCM835

ripi 2 BCM836

ripi 3 BCM837

ripi 4 BCM711 <= 현재 사용 중

ripi 5 BCM712

 

리눅스 커널의 특징 : 모놀리틱 커널

1. micro architecture kernel :

    구조적(well defined), 체계적, 관리에 용이

2. monolitic architecture kernel :

    비구조적, 성능을 위한 최적화로 코드가 이상해짐(보기 어려워짐, 시대적 한계), 모듈(module)의 등장(비구조적인 시스템을 보   

    완 in kernel), 모듈 형태로 드라이버를 제작한다.

 

드라이버도 종류 별로 있다. => 드라이버는 각 장치에 접근한다.(실행 환경에 대한 부분 중요***)

 

드라이버 제작시 고려할 점

1) 드라이버는 커널에서 동작한다 > 잘못 메모리에 접근하면 큰일난다.

2) 콜백 함수를 제공해야 한다 => file operation, interrupt service routine

3) 커널 기능을 이용해야 한다. => 메모리 할당, 인터럽트, 동기화

4) 제작 형태를 결정해야 한다.(커널 형태, 모듈 형태) 

 

치과 때문에 조퇴(다음 날 보충해서 내용 작성)

반응형