https://webnautes.tistory.com/555
호스트 - 우분투 설치된 피시
타겟 - 라즈베리파이
KDIR 한 이유 :
#include <linux/module.h>
#include <linux/init.h>
#include <linux/version.h> 땡겨오려고 ..
(가) Hello world 모듈 - 호스트(우분투)에서 작업.
#include <linux/module.h>
#include <linux/init.h>
#include <linux/version.h>
static int __init hello_init(void)
{
printk(KERN_ALERT "Hello, world\n");
return 0;
}
static void __exit hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_AUTHOR ("RHO");
MODULE_DESCRIPTION ("RHO_ps.c");
MODULE_LICENSE ("GPL v2");
Makefile
#linux kernel source
KDIR = /home/sss/linux
obj-m := hello.o
default:
$(MAKE) ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -C $(KDIR) M=$$PWD modules
clean:
$(MAKE) -C $(KDIR) M=$$PWD clean
%make
make[1]: Entering directory ‘/usr/src/linux-2.6.10’
CC /home/ld33/src/misc-modules/hello.mod.o
CC[M] /home/ldd3/src/misc-modules/hello.o
Building modules, stage 2
MODPOST
CC /home/ld33/src/misc-modules/hello.mod.o
LD[M] /home/ld33/src/misc-modules/hello.ko // ko 파일 생성됨
make[1]: Leaving directory ‘/usr/src/linux-2.6.10’
%su
//아래 작업은 타겟에서 함
root# insmod ./hello.ko // insert module
Hello, world
root#rmmod hello // remove module
Googbye, cruel world
'임베디드 > KERNEL' 카테고리의 다른 글
-fstack-protector-strong’ 오류 (0) | 2020.12.18 |
---|---|
test_app (0) | 2020.12.17 |
크로스 컴파일러 환경 (0) | 2020.12.10 |
디바이스 드라이버 분석 설계 . host, target (0) | 2020.12.10 |
kernel (0) | 2020.12.07 |