Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Linux 2.6.12內核上加載一個簡單的模塊

Linux 2.6.12內核上加載一個簡單的模塊

日期:2017/2/7 16:57:57      編輯:Linux教程

運行環境:linux-2.6.12

編譯環境:arm-linux-gcc(3.4.1)

運行平台:AT91RM9200


一、編寫模塊程序testmodule.c

 

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>

static int hello_init(void)
{
    printk("Hello! This is the first test module!\n");
    return 0;
}
static void hello_exit(void)
{
 printk("Module exit! Bye Bye!\n");
    return;
}

module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("GPL");
 


二、編寫Makefile

 

obj-m := testmodule.o
KDIR := /src/linux-2.6.12
PWD := $(shell pwd)
default:
 $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
#################################################
 


注意:"$(MAKE)"前面要空一個"Tab"

KDIR 為內核的路徑,這個內核要與AT91RM9200運行的內核先同(編譯器也要相同的,要不運行不了)。


三、編譯

在linux下執行:make CC=/src/3.4.1/bin/arm-linux-gcc

/*注釋:/src/3.4.1/bin/arm-linux-gcc 為交叉編譯環境的路徑*/

生成testmodule.ko


四、運行

1、將testmodule.ko通過串口或者網口下載到AT91RM9200的板子上


2、執行:chmod +x testmodule.ko修改模塊的屬性將其設為可執行文件


3、執行:insmod testmodule.ko

Hello! This is the first test module!

執行:rmmod testmodule.ko

Module exit! Bye Bye!

Copyright © Windows教程網 All Rights Reserved