新聞中心

ARM-Linux模塊編譯與加載

作者: 時(shí)間:2016-11-10 來(lái)源:網(wǎng)絡(luò) 收藏
在linux下加載一個(gè)簡(jiǎn)單的模塊方法以及步驟:

運(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!



關(guān)鍵詞: ARM-Linux模塊編譯加

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉