책을 읽는 것과
사랑을 하는 것에는
정답이 없는 것이 아닐까?
그래서 그런지 좋다.
'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 |
책을 읽는 것과
사랑을 하는 것에는
정답이 없는 것이 아닐까?
그래서 그런지 좋다.
처한 상황 (0) | 2018.06.06 |
---|---|
맥주 한 잔의 마법 (0) | 2018.06.06 |
근묵자흑 (0) | 2018.05.23 |
다음에 (0) | 2018.05.02 |
피아 (0) | 2018.04.10 |
먹을 가까이 하는 사람은 검게 마련이다.
조심하다가도 한순간 방심하면 묻는다.
왠만하면 묻는다.
멀리하자.
맥주 한 잔의 마법 (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
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 |