책을 읽는 것과

사랑을 하는 것에는


정답이 없는 것이 아닐까?


그래서 그런지 좋다.

'Life > A sentense of the day' 카테고리의 다른 글

처한 상황  (0) 2018.06.06
맥주 한 잔의 마법  (0) 2018.06.06
근묵자흑  (0) 2018.05.23
다음에  (0) 2018.05.02
피아  (0) 2018.04.10

먹을 가까이 하는 사람은 검게 마련이다.


조심하다가도 한순간 방심하면 묻는다.

왠만하면 묻는다.

멀리하자.


'Life > A sentense of the day' 카테고리의 다른 글

맥주 한 잔의 마법  (0) 2018.06.06
정답이 없다  (0) 2018.05.28
다음에  (0) 2018.05.02
피아  (0) 2018.04.10
  (0) 2018.04.09

Kernel Module Programming

Module 기본 구조

#include <linux/module.h>

#include <linux/kernel.h>


int init_module(void)

{

printk("<1>Hello world\n");

return 0;

}


void cleanup_module(void)

{

printk(KERN_ALERT "Bye World\n");

}

※ init_module()은 모듈 추가(insmod) 시, cleanup_module()은 모듈 삭제(rmmod) 시 호출 됨


아래와 같이 헤더로 linux/init.h 를 포함하고, module_init/module_exit 함수를 통해 init_module()/cleanup_module() 함수의 이름을 자유롭게 설정할 수 있다.

#include <linux/module.h>

#include <linux/kernel.h>

#inlcude <linux/init.h>


int my_init(void)

{

printk(KERN_ALERT"Hello World\n");

return 0;

}


void my_exit(void)

{

printk(KERN_ALERT"Bye World\n");

}


module_init(my_init);

module_exit(my_exit);


Device 를 시스템에서 사용하기 위해서는 우선 디바이스 노드를 만들어야 한다.

$ sudo mknod /dev/<device_name> <major_num> <minor_num>

$ sudo chmod 666 /dev<device_name>




참조: https://www.joinc.co.kr/w/Site/Embedded/Documents/LinuxKernelModuleProg 

'Programming > Linux Kernel' 카테고리의 다른 글

cross kernel debugging  (0) 2020.06.19
Linux kernel module compile from linux source  (0) 2019.01.17
Kernel Version Check  (0) 2018.05.23
Kernel 프로그래밍 - printk  (0) 2017.06.20

+ Recent posts