하드웨어
이번 강좌에는 저번의 회로를 구성한 것으로 GPIO 디바이스 드라이버의 가장 기본적인 모듈 적재와 모듈 제거를 하는 부분을 작성해보겠습니다.
1. 준비조건
- 작업 디렉토리는 /home/falinux 로 임의로 설정한다.
- 커널 소스가 있는 위치는 /home/falinux/kernel/linux-2.6.29 이다.
- 디바이스 드라이버 소스 위치는 /home/falinux/gpio 로 한다.
- 크로스 컴파일러가 설치되어 있어야 한다.
설치가 되어있지 않다면 아래의 주소에서 다운로드 받아서 설치하면 됩니다.
http://ftp.falinux.com/toolchain_ramdisk/recommendation/gcc-4.3.2/
arm-linux-gnueabi-4.3.2.tar.gz
2. 소스 작성
1) dev-gpio.h
#ifndef _DEV_GPIO_H_ |
2) dev-gpio.c
#ifndef __KERNEL__ |
3) Makefile
# |
3. 컴파일하기
root@tsheaven:gpio# make |
4. EZ-S3C6410 보드에 Test 하기
nfs 가 연결되어 있다면 nfs에서 바로 모듈을 적재하면 됩니다.
만약 nfs 시스템이 구축되어 있지 않다면 zmodem으로 다운로드 하면 됩니다. 명령은 lrz 입니다.
[모듈 적재하기]
[root@falinux gpio]$ insmod dev-gpio.ko |
[모듈 적재 확인 하기]
[root@falinux gpio]$ lsmod |
[모듈 제거하기]
[root@falinux gpio]$ rmmod dev-gpio.ko Unregister S3C6410 GPIO Ver 1.0 Ok |
다음 강좌에는 LED를 제어하는 나머지 코드를작성하도록 하겠습니다.