==================================Outline====================================
모듈 파라미터
장치 드라이버의 형식
----------------------------------------------------------------------------
//모듈을 위한 프로그래밍 시 코딩 파일의 이름을 'main'으로하면 에러가 난다.
모듈 파라미터
make up, down도 마저 작성한 후 모듈을 올리고 내려 본다.
//모듈 상태를 보는 명령어 ‘lsmod'
모듈 사용 시 인자를 선언하여 그 값을 바꿔줄 수 있다.
이를 사용하기 위해서는 아래의 매크로를 등록해야 한다.
module_param(name, type, perm);
name => 변수 이름type => 변수 타입perm => 퍼미션
int iNum과 문자열 “Hello"를 선언해주고 모듈 인자에 넣어 값을 변동한 뒤 출력해본다.
insmod smart.ko iNum=999
insmod smart.ko cpT="Hello"
//‘dmesg’로 출력할 수 있다..
[smart.c]
#include <linux/init.h> |
[makefile]
obj-m = smart.o |
장치 드라이버의 형식
Unix방식을 물려받은 linux는 모든 장치들을 파일로 관리한다.
노란색 폴더가 장치를 의미한다.
장치 드라이버의 형식
장치 드라이버는 3개로 나눈다.
c: c for character : 데이터 전송 단위 1byte(크기가 고정되어 있지 않다)
ex) 마우스, 키보드
b: b for block: 블록은 데이터 크기가 고정되어 있다. 데이터를 보낼 때 고정된 크기만큼 보낸다.
ex) 하드드라이브
n: n for network: ???
Q: 하드드라이브가 일정한 크기(블록으)로 조각나 있는 이유?
'Busan IT > 로봇제어' 카테고리의 다른 글
PWM을 사용한 LED dimming, 스크래치 (0) | 2015.10.20 |
---|---|
교재 훑어보기, 라즈베리파이2와 파이선을 활용한 코딩 (0) | 2015.10.20 |
linux 커널 프로그램 작성 #1 (0) | 2015.10.15 |
라즈베리파이 커널 업데이트 내용 확인 (0) | 2015.10.15 |
ARM 레지스터, gcc kernel 업데이트 (0) | 2015.10.15 |