ARM-Linux模塊編譯與加載
運(yùn)行環(huán)境:linux-2.6.12
本文引用地址:http://butianyuan.cn/article/201611/317166.htm編譯環(huán)境:arm-linux-gcc(3.4.1)
運(yùn)行平臺(tái):S3C2440
1.編寫(xiě)模塊程序Module.c
#include
#include
#include
static int hello_init(void)
{
printk("Hello, SmallBox! This is the first test module!n");
return 0;
}
static void hello_exit(void)
{
printk("Small.BoxBye Bye!n");
return;
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
2.編寫(xiě)Makefile
obj-m +=Module.o
KDIR:=/home/smallbox/hyh24x0_2.6.12/
PWD=$(shell pwd)
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -rf *.o
注意:"make前面要空一個(gè)"Tab"
KDIR為內(nèi)核的路徑,這個(gè)內(nèi)核要與S3C2440運(yùn)行的內(nèi)核相同(編譯器也要相同的,要不運(yùn)行不了)。
/home/smallbox/hyh24x0_2.6.12/是arm-linux下的內(nèi)核
3.編譯
在linux下執(zhí)行:make
/*注釋:/usr/local/arm/3.4.1/bin/arm-linux-gcc為交叉編譯環(huán)境的路徑*/
生成Module.ko
4.運(yùn)行
①將Module.ko通過(guò)串口或者網(wǎng)口下載到S3C2440的板子上
②執(zhí)行:chmod +xModule.ko修改模塊的屬性將其設(shè)為可執(zhí)行文件
③執(zhí)行:insmodModule.ko
Hello, SmallBox! This is the first test module!
執(zhí)行:rmmodModule.ko
Small.BoxBye Bye!
評(píng)論