반응형
디바이스 파일에 간단한 파일 처리 함수를 사용하여 하드웨어를 제어
디바이스 파일은 /dev 디렉토리에서 관리

디바이스 파일 생성
sudo mknod /dev/디바이스파일명 파일형태(c, b) 주번호 부번호

해당 디바이스 파일은 문자 디바이스 드라이버(c)에 주 번호 10, 부 번호 235인 디바이스 파일이다
응용 프로그램이 디바이스 파일을 open() 함수로 열면 커널은 해당 디바이스 파일에서 주 번호를 얻어 이 번호가 처리하는 디바이스 드라이버를 찾음
응용 프로그램과 디바이스 드라이버가 연결되면 부 번호가 처리하고자 하는 실질적인 디바이스를 찾음
디바이스 파일 삭제
sudo rm -r /dev/디바이스파일명
파일 입출력 함수
스트림 파일 입출력 함수 : 중간 처리용 버퍼가 존재하고 해당 버퍼는 FILE 구조체를 통해 관리됨 / 파일에 데이터를 읽거나 쓰는 경우 파일에 직접 전달되지 않고 버퍼를 통해 사전 처리됨
입출력 처리가 효율적이지만 디바이스 파일에 사용하기엔 적합하지 않
저수준 파일 입출력 함수 : 디바이스 파일을 다룰 때 사용 / 쓰기 함수를 이용하면 파일에 데이터가 즉시 기록
| 저수준 파일 입출력 함수 | 기능 |
| open() | 파일이나 장치를 염 |
| close() | 열린 파일을 닫음 |
| read() | 파일에서 데이터를 읽어옴 |
| write() | 파일에 데이터를 씀 |
| lseek() | 파일의 쓰기나 읽기 위치를 변경함 |
| ioctl() | read(), write()로 다루지 않는 특수한 제어를 함 |
| fsync() | 파일에 쓴 데이터와 실제 하드웨어의 동기를 맞 |
반응형
'임베디드 > Linux BSP' 카테고리의 다른 글
| 리눅스에서 한글 글자가 깨질 때 (0) | 2024.03.11 |
|---|---|
| 디바이스 드라이버 제어 방식 (0) | 2024.03.07 |
| 디바이스 드라이버 (1) | 2024.03.05 |
| NFS 파일 공유 시스템 (1) | 2024.02.06 |
| 크로스 컴파일러 (0) | 2024.02.05 |