Raspberry Pi 2에서 Linux Kernel Module 작성하기Raspberry Pi/Raspberry Pi 활용2015. 10. 17. 22:20
Table of Contents
반응형
먼저 라즈베리파이2에 설치되어 있는 커널의 버전을 확인해보고
아래 명령으로 같은 버전의 커널 헤더가 있는지 확인해봤습니다.
sudo apt-cache search linux-headers-$(uname -r)
하지만 버전에 맞는 커널 헤더가 저장소에 없어서 따로 다운로드 받아서 설치했습니다.
sudo apt-get update
sudo apt-get install gcc-4.7 cpp-4.7 dkms
sudo dpkg -i linux-headers-3.18.11-v7+_3.18.11-v7+-2_armhf.deb
설치 후.. 간단한 모듈 프로그램을 작성해서 테스트해봅니다.
작성한 모듈 프로그램 소스코드입니다.
- #include <linux/init.h>
- #include <linux/module.h>
- #include <linux/kernel.h>
- static int __init hello_init(void)
- {
- printk(KERN_INFO "Hello world\n");
- return 0;
- }
- static void __exit hello_exit(void)
- {
- printk(KERN_INFO "Goodbye world");
- }
- module_init(hello_init);
- module_exit(hello_exit);
컴파일시 필요한 Makefile입니다.
- obj-m+=hello.o
- ARCH :=arm
- PWD := $(shell pwd)
- all:
- make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) ARCH=$(ARCH) modules
- clean:
- make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) ARCH=$(ARCH) clean
이제 컴파일을 해봅니다.
실행 결과입니다.
반응형
'Raspberry Pi > Raspberry Pi 활용' 카테고리의 다른 글
python으로 raspberry pi 2 제어 - 1. LED (0) | 2015.11.10 |
---|---|
Raspberry Pi 2에서 character device driver 예제 테스트 (0) | 2015.10.17 |
Raspberry Pi 2에서 NFS 사용하여 리눅스 컴퓨터의 디렉토리 공유하기 (0) | 2015.09.28 |
raspberry pi 2에서 bcm2835 데이터 시트를 사용할 수 있다는데... (0) | 2015.09.15 |
리눅스 문자 디바이스 드라이버 예제 (0) | 2015.02.22 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!