วันนี้กำลังทำ Term Project เกี่ยวกับ RTAI อยู่ครับ เด๊วจะอัพลงเรื่อยๆ
สร้างไฟล์ hello.c
#include <linux/kernel.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
int init_module(void) // entry point
{
printk("Hello world!\n");
return 0;
}
void cleanup_module(void) // exit point
{
printk("Goodbye!\n");
return;
}
สร้างไฟล์ Makefile
EXTRA_CFLAGS += -I/usr/realtime/include -D_IN_RTAI_
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
เปิด cmd
พิมคำสั่ง make เพื่อคอมไพล์ hello จะได้ไฟล์ชื่อ hello.ko
พิม insmod hello.ko
พิม lsmod ดูลิส แล้วจะเห็นว่ามี hello.ko ในนั้นด้วย
พิม dmesg จะมี Hello world! อยู่บรรทัดสุดท้าย
พิม rmmod hello.ko จะเป็นการเอา hello.ko ออกจากเคอร์เนล
พิม lsmod ดูลิส แล้วจะเห็นว่าไม่มี hello.ko แล้ว
ไม่มีความคิดเห็น:
แสดงความคิดเห็น